软件工程 实验报告

合集下载

软件工程试验报告

软件工程试验报告

软件工程试验报告第一篇:软件工程试验报告实验项目名称:需求分析(所属课程:软件工程概论)1.实验目的1.选择要设计的系统,使用UML进行需求分析,了解所要完成系统的功能需求,性能需求,接口需求等。

2.学习实使用Rational Rose 或其它软件工程工具绘制用例图、活动图。

2.实验内容使用Rose 绘制系统的用例图。

1.Rational Rose介绍Rational Rose是基于UML而产生的,是软件开发过程中的不可或缺的一个建模工具。

(1)Rational Rose的特点:λ支持多种语言,如Ada、CORBA、Visual Basic、Java等;λ支持模型的Internet发布;λ可以生成简单、清晰且定制灵活的文档;λ双向工程保证了模型和代码高度一致;λ支持逆向工程,建立代码框架;λ支持多种关系型数据库的建模;λ从需求分析到测试,在整个软件生命周期中,都为团队开发提供强有力的支持。

(2)Rational Rose的作用λ整个开发团队可以使用用例图,来获得一个系统高层次的视图,并且可以协商项目的范畴;λ项目经理可以使用用例图和文档,把项目分解成便于管理的多个模块;λ系统分析员和客户在看到用例规格描述文档的时候,就可以明白系统将会提供什么样的功能;λ技术编写者在看到用例规格描述文档时,就可以着手编写用户手册和培训计划;λ系统分析员和软件开发者在看到时序图和协作图时,就可以明白整个系统的逻辑流程、对象以及对象之间的消息2.安装Rational Rose ①双击Rational Rose 2007的安装程序,进入安装界面;按照系统提示一步一步完成系统的安装。

其中在选择安装产品时,选择“Rational Rose Enterprise Edition”;并且在设置创建程序位置时,选择创建一个本地的应用程序而非网络的,即选择“Desktop installation from CD”。

②安装成功,进入Rational Rose界面,如图1-1所示。

软件课程设计实验报告(3篇)

软件课程设计实验报告(3篇)

软件课程设计实验报告(3篇)【导语】软件课程设计试验报告怎么写出亮点?整理了3篇优秀的《软件课程设计试验报告》通用版范文,有规范的开头结尾写法和标准的书写格式。

是您写出深受大家欢迎的综合报告抱负参考模板,盼望对您有所关心。

【第1篇】软件课程设计试验报告一、目的、要求通过该课程设计要使同学树立起剧烈的工程化意识,用工程化思想和方法开发软件。

切实体会出用软件工程的方法开发系统与一般程序设计方法的不同之处,同学在对所开发的系统进行软件方案、需求分析、设计的基础上,实现并测试实际开发的系统。

通过一系列规范化软件文档的编写和系统实现,使同学具备实际软件项目分析、设计、实现和测试的基本力量。

二、主要内容要求同学把握软件工程的基本概念、基本方法和基本原理,为将来从事软件的研发和管理奠定基础。

每个同学选择一个小型软件项目(内容参照《计算机综合实践指导》,宋雨等编著,清华高校出版社出版),根据软件工程的生命周期,完成软件方案、需求分析、软件设计、编码实现、软件测试及软件维护等软件工程工作,并按要求编写出相应的`文档。

详细的方法可以选用传统的软件工程方法或者面对对象的方法,开发环境和工具不限。

三、进度方案略四、设计成果要求1.至少提交4个文档,包括软件方案、软件需求规格说明书、软件设计说明书、软件测试方案,要求文档格式规范、规律性强(可参考《计算机综合实践指导》中给出的要求及格式)、图表规范;2.独自实现了系统的某些功能,基本达到了要求的性能,经过了测试,基本能运行。

五、考核方式(1)提交的文档规范,工作量大,文档规律性强、正确,按《计算机综合实践指导》标准考核(附《软件工程课程设计》试验报告评分表)占60%(2)系统验收、讲解、答辩占25% (3)考勤占15%软件课程设计试验报告【第2篇】应用软件课程设计报告计算机是一门技术性、工程性和应用性很强的学科,教育部高等学校计算机科学与技术教学指导委员会的进展战略讨论报告中也指出:计算机专业的人才应当被分为科学型、工程型、应用型三类,而绝大多数应当是工程型和应用型的。

软件工程数据流图实验报告

软件工程数据流图实验报告

软件工程数据流图实验报告篇一:软件工程实验报告篇二:软件工程实验报告模板软件工程实验报告姓名:冯巧学号:3080702205实验题目:实验室设备管理系统1、系统简介:每天对实验室设备使用情况进行统计,对于已彻底损坏的作报废处理,同时详细记录有关信息。

对于有严重问题(故障)的要即时修理,并记录修理日期、设备名、修理厂家、修理费用、责任人等。

对于急需但又缺少的设备需以“申请表”的形式送交上级领导请求批准购买。

新设备购入后立即对新设备登记(包括类别、设备名、型号、规格、单价、数量、购置日期、生产厂家、购买人等),同时更新申请表的内容。

12、技术要求及限定条件:采用C#语言设计桌面应用程序,同时与数据库MySql进行交互。

系统对硬件的要求低,不需要网络支持,在单机环境下也能运行,在局域网环境下也能使用。

方案实施相对容易,成本低,工期短。

一:可行性分析1、技术可行性分析计算机硬件设备,数据库,实验室设备管理软件与实验室设备管理系统的操作人员组成,能够实现实验室设备管理的信息化,提高工作效率,实现现代化的实验室设备管理。

系统需要满足实验室设备管理(包括对实验设备的报废、维修和新设备的购买)、实验室设备信息查询(包括按类别进行查询和按时间进行查询)、实验室设备信息统计报表(包括对已报废设备的统计、申请新设备购买的统计和现有设备的统计)。

这些功能框图如下图所示:2、经济可行性分析依据用户的现实需求、技术现状、经济条件、工期以及其他局限性因素等等因素,考虑到工期的长短、技术的成熟可靠、操作方便等因素,本方案具备经济可行性。

3、系统可选择的开发方案?方案A用C# 开发系统的特点是:开发工具与数据库集成一体,可视化,开发速度较快,但数据库能够管理的数2据规模相对较小。

系统对硬件的要求低,不需要网络支持,在单机环境下也能运行,在局域网环境下也能使用。

方案的实施相对容易,成本低,工期短。

?方案B:以小型数据库管理系统为后台数据库,该前台操作与数据库分离,也能够实现多层应用系统。

软件工程实习报告(三篇)

软件工程实习报告(三篇)

软件工程实习报告一、实习概况本次实习是我在某软件公司进行的为期三个月的实习。

实习期间,我被分配到了软件开发部门,参与了一个基于Java的项目的开发工作。

在这个项目中,我主要负责了功能模块的设计、编码和测试工作。

通过这次实习,我深入了解了软件开发的流程和方法,并学习到了许多实用的技术和工具。

二、实习内容1. 需求分析与设计在项目启动前,我参与了需求分析的工作。

通过与产品部门的沟通和确认,我明确了项目的功能需求和业务逻辑。

然后,我和团队成员们一起进行了系统设计。

我们使用UML建模工具进行了类图和时序图的绘制,以明确系统的结构和交互流程。

2. 编码与调试在需求分析和设计完成后,我开始了编码和调试工作。

我们项目采用了Java作为开发语言,所以我使用了Eclipse作为开发工具。

我根据需求文档和设计图,先编写了基础代码框架,然后逐步完善各个功能模块。

在编码过程中,我遵循了代码规范和设计原则,并积极参与了代码评审和重构工作。

3. 测试与集成在编码完成后,我进行了功能测试和集成测试。

我使用Junit进行了单元测试,并通过Mockito框架进行了模拟和验证工作。

在测试中,我发现了一些潜在的问题,并及时修复了它们。

在集成测试中,我与其他成员合作,测试了系统各个模块之间的交互和兼容性。

4. 文档编写与维护在实习期间,我还负责了部分文档的编写和维护工作。

我参与了用户手册和技术文档的编写,以便使用人员和开发人员可以更好地理解项目的功能和实现细节。

我还负责了项目的版本控制和文档管理工作,确保了项目资料的安全和可追溯性。

三、实习收获1. 技术能力的提升在实习期间,我得到了大量的实践机会,提升了自己的技术能力。

我学会了使用Eclipse进行项目开发,掌握了Java语言的常用库和框架,并熟悉了常见的设计模式和软件开发方法。

我还学会了使用Git进行版本控制和团队协作,以及使用Junit和Mockito进行测试和调试。

2. 项目管理和沟通能力的提升在实习期间,我参与了团队的讨论和决策,学会了如何与他人进行有效的沟通和协作。

软件工程实验报告总结

软件工程实验报告总结

软件工程实验报告总结(3篇)经过这学期软件工程实验的学习,深深感到用户需求对软件的重要性。

成功的软件产品是建立在成功的需求基础之上的,而高质量的需求来源于用户与开发人员之间有效的沟通与合作。

当用户有一个问题可以用计算机系统来解决,而开发人员开始帮助用户解决这个问题,沟通就开始了。

需求获取可能是最困难、最关键、最易出错及最需要沟通交流的活动。

对需求的获取往往有错误的认识:用户知道需求是什么,我们所要做的就是和他们交谈从他们那里得到需求,只要问用户系统的目标特征,什么是要完成的,什么样的系统能适合商业需要就可以了,但是实际上需求获取并不是想象的这样简单,这条沟通之路布满了荆棘。

首先需求获取要定义问题范围,系统的边界往往是很难明确的,用户不了解技术实现的细节,这样造成了系统目标的混淆。

其次是对问题的理解,用户对计算机系统的能力和限制缺乏了解,任何一个系统都会有很多的用户或者不同类型的用户,每个用户只知道自己需要的系统,而不知道系统的整体情况,他们不知道系统作为一个整体怎么样工作效率更好,也不太清楚那些工作可以交给软件完成,他们不清楚需求是什么,或者说如何以一种精确的方式来描述需求,他们需要开发人员的协助和指导,但是用户与开发人员之间的交流很容易出现障碍,忽略了那些被认为是认为是""很明显很明显""的信息。

最后是需求的确认,因为需求的不稳定性往往随着时间的推移产生变动,使之难以确认。

为了克服以上的问题,必须有组织的执行需求的获取活动。

需求获取活动要完成的任务或者步骤的过程如下:1、编写项目视图和范围文档系统的需求包括四个不同的层次:业务需求、用户需求和功能需求、非功能性需求。

业务需求说明了提供给用户新系统的最初利益,,反映了组织机构或用户对系统、产品高层次的目标要求,初利益它们在项目视图与范围文档中予以说明。

用户需求文档描述了用户使用产品必须要完成的任务,这在使用实例文档或方案脚本说明中予以说明。

软件工程实验报告

软件工程实验报告

实验一:基于UML的用例模型试验实验目的:1、掌握使用visio绘制用例模型2、掌握Ration Rose绘制用例模型的方法实验内容:1、使用vise绘制用例模型2、使用Ration Rose绘制用例模型的方法实验步骤:1、使用Visio绘制用例模型(1)启动Visio中的UML模型绘制开始时需要新建一个文件存放用例模型,首先选择“开始” 一“程序” -Microsoft office visio 2003选项进入Visio启动页面,在“类别”选项区域中才、选择“软件”项:然后在“模板”选项区域中选择UML模型图,即可打开制作UML模型的全部对彖图集,Vise提供了关于制作UML模型所需要的全部图表,支持开发人员进行面向对彖的分析和设计工作。

(2)保存UML模型通过选择菜单File…Save选项或者单机工具栏的Save按钮,来保存系统模型,保存的文件类型是-VSdo(3)新建立用例图(4)建立用例中的角色(5)建立用例(6)建立角色与用例、用例与角色之间的联系(7)建立活动图2、使用Rational Rose绘制用例模型(1)Rational Rose 的启动:选择"开始"---"程序” ---Rational Software---Rational Rose Enterprise Edetion选项,弹出对话框。

这个对话框用来设置本次启动的初始动作,分为New (新建模型)Existing (打开现有模型)和Recent (最近打开模型)三个标签。

(2)新建用例图在Browser窗I I内的树形列表中选中UseCase包并右击,在弹出的快捷菜单中选择New一UseCase Diagram选项。

此时出现New Diagram用例图名称并允许修改,将NewDiagrain更名为“医疗器材管理系统用例图”双击Biowgram窗I I内树形列表中的“医疗器材管理系统用例图”,在Diagram窗I I中出现“Use CaseDiagiain: Use CaseView/医疗器材管理系统用例图”,可以在该窗1 1中绘制用例图。

软件实训报告(15篇)

软件实训报告(15篇)

软件实训报告软件实训报告(15篇)随着社会一步步向前发展,需要使用报告的情况越来越多,我们在写报告的时候要避免篇幅过长。

那么什么样的报告才是有效的呢?下面是小编为大家收集的软件实训报告,希望能够帮助到大家。

软件实训报告1一、实习目的实习是大学生学习和事业中重要的里程碑,将所学的理论知识与实践结合起来,培养勇于探索的创新精神、提高动手能力,加强社会活动能力,严肃认真的学习态度,为以后专业实习和走上工作岗位打下坚实的基础。

认识实习是教学计划的重要部分,它是培养学生的实践等解决实际问题的第二课堂,它是专业知识培养的摇篮,也是对工业生产流水线的直接认识与认知。

实习中应该深入实际,认真观察,获取直接经验知识,巩固所学基本理论,保质保量的完成指导老师所布置任务。

学习工人师傅和工程技术人员的勤劳刻苦的优秀品质和敬业奉献的良好作风,培养我们的实践能力和创新能力,开拓我们的视野,培养生产实际中研究、观察、分析、解决问题的能力。

通过顶岗实习,拓宽了我的知识面,增加感性认识,把所学知识梳理归类,不断进行总结纠正。

增强了从书本学不到的人际交往能力,语言表达和沟通能力,并了解到当前工程业的现状和发展前景和随着时代发展的最新动态。

通过顶岗实习,大大激发了我向实践学习和探索的积极性,为今后从事的工作打下坚实的基础。

认识实习是我们工科学生的一门必修课,通过认知实习,我们要对机械设计制造及其自动化专业建立感性认识,并进一步了解本专业的学习实践环节。

通过接触实际生产过程,一方面,达到对所学专业的性质、内容及其在工程技术领域中的地位有一定的认识,为了解和巩固专业思想创造条件,在实践中了解专业、熟悉专业、热爱专业。

另一方面,巩固和加深理解在课堂所学的理论知识,让自己的理论知识更加扎实,专业技能更加过硬,更加善于理论联系实际。

再有,通过到工厂去参观各种工艺流程,为进一步学习技术基础和专业课程奠定基础。

这是我们即将走出校门,踏上社会的最后一次实习。

软件工程专业实习报告(共6篇)

软件工程专业实习报告(共6篇)

软件工程专业实习报告(共6篇)软件工程专业实习报告(共6篇)第1篇:软件工程专业实_报告软件工程专业培养适应计算机应用学科的发展,特别是软件产业的发展,具备计算机软件的基础理论、基本知识和基本技能,具有用软件工程的思想、方法和技术来分析、设计和实现计算机软件系统的能力,毕业后能在IT行业、科研机构、企事业中从事计算机应用软件系统的开发和研制的高级软件工程技术人才。

下面是为大家整理的软件工程专业实_报告,仅供参考,欢迎大家阅读。

软件工程专业实_报告(一)时间过的很快,转眼间已经实_将近5个月,其中有2个月是属于完全被流放的。

最先在内部系统组参与内部管理系统开发(struts+mysql+spring+hibernate),之后是去做网络交换机软件的脚本测试。

现在又回归内部系统,虽然在脚本组期间,编码能力被别人甩在后头,但至少具有了一些测试经验。

至少自己做的东西,是真正交付到了客户手上,到也稍微有些成就感。

一直以来,我都认为测试是脱离了软件工程范围的工作,不以为屑。

但在实际情况中,测试是既重要且难以精湛的。

其真正的压力,在于找不到bug,责任在你,而不在于编码人员。

一般的测试人员不懂编码,他们靠的是日以累计的经验总结和想象力。

而要做到高级测试工程师,则一定要懂编码,因为这是你完全掌握整个系统的方方面面具体运作的前提。

但占主导地位的,还是大型系统的集成测试经验。

实际项目中,编码时间一般只占30%左右,真正耗费时间的是IT阶段的找bug与对应bug,此阶段基本评定了coder的编码质量。

有些人,以为教学视频和代码看多,自己就懂的多,实际做起来,却不知从何下手,问题在那?如何定位?如何解决?通通跟一样能力有关,debug追踪能力,也称调试。

在项目组工作不愁源码资源,但问题是蛋糕摆在面前,你如何去消化?有位同事告诉我:代码看几遍都没用,要去抄,例如一个查询模块,在此基础上去做具体记录的历史记录查询模块,你可能会觉得很简单,但实际情况却往往报一堆异常,配置问题涉及到方方面面,以及数据库字段,传值问题等等,一大堆对于新人来说很郁闷的问题。

软件工程实验一

软件工程实验一

《软件工程》课程实验报告四、实验过程与结果性能需求1.系统处理的准确性和及时性系统处理的准确性和及时性是系统的必要性能。

在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足学院对信息处理的需求。

并且不能重复复两个学号的信息。

2.系统的开放性和系统的可扩充性学生信息系统在开发过程中,应该充分考虑以后的可扩充性。

比如数据在某个时间段的数据输入拥堵。

或者数据多的时候,应该确保系统有足够的空间给数据的输入和存储。

3.系统的易用性和易维护性学生信息系统针对的大部分是学生,因此系统应该更见简单,便捷。

UI界面应更加的简单易懂。

同时在维护数据的时候应该更加的方便。

这样避免了因为错误的操作而到导致数据的流逝。

2.3用户平台要求网络方面:此开发出的软件要适用于Internet网及校园内的局域网。

软件方面:支持windows系统及一些常用的办公软件如office等。

硬件方面:可以被个人电脑、平板以及功能强大的移动设备所使用。

一.业务逻辑1.1业务分解1.2业务流图A)学生信息管理:B)学业信息管理:C)学分建设:D)学生奖助信息管理:E)学生活动管理:F)素质测评:五、实验总结在本次实验,熟悉了需求分析的一般步骤,进一步弄清了业务需求、用户需求、功能和非功能需求之间的区别。

对于一个系统,我知道一开始从哪几个方面对系统进行评价。

通过画用例图,能更清新的看清使用者的操作流程,并认识到了用例图在软件或系统开发过程中的重要性,本次实验学到很多。

软件工程实验报告

软件工程实验报告

软件工程实验报告学号:姓名:专业:年月实验一:白盒测试一、实验目的巩固白盒测试知识,对于给定的待测程序,能熟练应用基本控制流覆盖方法设计测试用例;能够执行白盒测试过程,并撰写白盒测试分析报告。

二、实验内容白盒测试又称为结构测试、逻辑驱动测试或基于程序的测试,一般用来分析程序的内部结构。

测试规划基于产品内部结构进行测试,检查内部操作是否按规定执行,软件各个部分功能是否得到充分使用,则这种测试方法称为白盒测试方法。

白盒测试将被测程序看做一个打开的盒子,测试者能够看到被测源程序,可以分析被测程序的内部结构,此时测试的焦点集中在根据其内部结构设计测试用例。

白盒测试要求是对某些程序的结构特性做到一定程度的覆盖,或者说这种测试是“基于覆盖率的测试”。

测试内容包括语句覆盖测试、分支覆盖测试、条件覆盖测试、分支/条件覆盖测试、条件组合覆盖测试和基本路径测试。

三、程序代码要求:实现对不少于10个随机输入的数的冒泡排序算法。

#include<iostream>using namespace std;int main(){double a[100];int N;int i = 0, j = 0;cin >> N;//排序元素的个数for (i = 0; i <= N; i++){cin >> a[i];}for (i = 0; i < N-1 ; i++) {for (j = 0; j < N - 1 - i; j++){if (a[j] > a[j + 1]) {int tmp;tmp = a[j];a[j] = a[j + 1];a[j + 1] = tmp;}}}for (i = 0; i < N; i++){cout << a[i] <<" ";}cout << endl;return 0;}四、程序流程图五、测试内容(1)语句覆盖测试测试结果:①②测试结果分析:输入元素时需要输入的元素个数大于最初输入的元素个数。

软件工程(测试报告)(全文5篇)

软件工程(测试报告)(全文5篇)

软件工程(测试报告)(全文5篇)第一篇:软件工程(测试报告)《软件工程》课程设计报告系统测试报告课程设计题目:毕业生管理信息系统项目负责人:引言 1.1 编写目的在开发大型软件的漫长过程中,面对极其错综复杂的问题,人的主观认识不可能完全符合客观现实,与工程密切相关的各类人员之间的通信和配合也不可能完美无缺。

因此,在软件生命周期的每个阶段都不可避免地会产生差错。

尤其对于毕业生管理信息系统这类会影响学生工作的工程软件,必须尽量减少差错,以免造成严重的损失。

测试是“为了发现程序中的错误而执行程序的过程”。

测试的目的就是在软件投入生产性运行之前,尽可能多的发现软件中的错误。

目前软件测试仍然是保证软件质量的关键步骤,它是对软件规格说明.设计和编码的最后复审,也是必不可少的关键步骤。

1.2 背景开发软件名称:毕业生管理信息系统项目任务提出者:学校项目开发者:定义SQL SERVER: 系统服务器所使用的数据库管理系统(DBMS)。

SQL: 一种用于访问查询数据库的语言事务流:数据进入模块后可能有多种路径进行处理。

主键:数据库表中的关键域。

值互不相同。

外部主键:数据库表中与其他表主键关联的域。

ROLLBACK: 数据库的错误恢复机制。

1.3 参考资料软件需求工程 JAVA程序设计使用教程 2 测试概要2.1 需求概述学校为方便毕业生,需开发一个毕业生管理信息系统。

为便于学生输入及查询个人及毕业信息,要求:毕业生基本信息维护,毕业生就业信息维护,毕业生就业情况查询(不确定查询);按专业划分的就业情况统计,用户管理(含用户权限的设置)。

要求系统能有效、快速、安全、可靠和无误的完成上述操作。

并要求系统的界面要单明了,易于操作,服务器程序利于维护。

2.2 条件与限制必须在保证各硬件设备.软件系统齐备的情况下,资金充足,人员齐备,各方面互相配合,齐心协力,共同完成。

3 测试过程及发现3.1测试方案测试方案是测试阶段的关键技术问题。

软件工程实验(四个实验)

软件工程实验(四个实验)

武汉轻工大学软件工程实验报告院系:数学和计算机学院班级:软件工程1504姓名:赵佳璐学号:1508100065实验一结构化分析实验1实验目的:通过此实验了解结构化分析的特点和步骤,以及结构化分析所采用的基本图形工具。

2.实验内容:假设你在一所职业高中工作,负责该校信息系统的建设和维护。

财务科长请你研究用学校拥有的pc机生成工资明细表和各种财务报表的可能性。

3.实验要求:1.问题定义:请在这个阶段描述你需要解决的问题。

包括用户面临的问题和预期的项目规模。

最后生成一份问题定义报告书。

2.可行性研究:在这个阶段产生处理工资事务的大致过程,画出高层逻辑模型,并且画出相应的数据流图,建立数据字典。

3.对此系统进行成本效益分析。

4.实验步骤:4.1问题定义报告书1.项目名称:工资支付2.问题描述:该校一直由会计人工计算工资并编制财务报表,随着学校规模扩大工作量也越来越大。

目前每个月都需要两名会计紧张工作半个月才能完成,不仅效率低而且成本高。

今后学校规模将进一步扩大,人工计算工资的成本还会进一步提高。

3.项目目标:1)研究开发费用较低的新工资支付系统的可能性。

4项目规模:1)开发成本应该不超过7.2万元5.初步设想:1)用学校自己的计算机系统生成工资明细表和财务报表6.可行性研究:为了更全面地研究工资支付项目的可能性,建议进行大约历时两周的可行性研究。

这个研究的成本不超过4000元。

4.2可行性研究:1.处理工资事务的大致过程:1)每月月末教师把他们当月实际授课时数登记在课时表上,由各系汇总后交给财务科,职工把他们当月完成承包任务的情况登记在任务表上,汇总后交给财务科。

2)两名会计根据这些原始数据计算每名教职工的工资,编制工资表、工资明细表和财务报表。

然后,把记有每名教职工工资总额的工资表报送银行。

3)由银行把钱打到每名教职工的工资存折上,同时把工资明细表发给每名教职工。

2高层逻辑模型:3.数据流图:4.数据字典:1)名字:授课情况登记表别名:描述:记录每个教师的当月完成的课时及任务。

软件工程实践报告范文3篇

软件工程实践报告范文3篇

软件工程实践报告范文3篇软件工程实践报告《软件工程》实践报告准考证号:考生姓名:一.实验目的软件工程是一门实践性很强的计算机专业课程,该课程的任务是使我们掌握软件工程的基本概念、基本原理、实用的开发方法和技术。

了解软件工程各领域的发展动向;如何用工程化的方法开发软件项目,在开发过程中应遵循的流程,准则,标准和规范。

注重方法、技术的实际应用。

在上机实践考核中,为培养考生良好的学习与工作作风。

要求考生按一定的规范进行上机前的考核准备。

熟悉软硬伯环境。

上机调试和正确运行程序,以及提交实践考核报告。

上机实践考核的述记在机器环境上调试、运行程序和产生正确的结果,。

但准备阶段和整理实践报告也十分重要,只有做好充分的准备,熟悉机器及环境,尽可能的正确编码,才能高效率地利用机时。

在书写报告时,必须依照规定的格式整理好文档资料,为考生将来从事于软件开发和研制工作,打下一个坚实的基础。

二.实验环境1. 硬件环境:CPU:Pentium 1.8GHz 内存:512M硬盘:40G(局域网)2.软件环境:操作系统:Windows 2000开发工具:Microsoft Visual C++ 6.0 数据库: Microsoft Access三. 实践内容 3.1 需求说明书3.1.1 概述1. 项目背景科学技术日新月异的进步,让人类生活发生了巨大的变化,计算机技术的飞速发展,21世纪是信息的社会,而计算机在数据信息处理上有着很大优越性。

学生成绩管理是学校的一项重要工作,原有的人工管理存在这着很多不足,造成不足的原因是,在校学生人数众多,并且每个学生的信息过于复杂,从而工作量非常大,给查询、添加、修改、统计、删除成绩带来了不便。

因此,如何解决这些不足,使成绩管理更快捷、更方便,具有更高的效率也就成了一个关键问题。

随着科学技术的迅速发展学校成绩管理的自动化也越来越迫切,因此有必要开发成绩管理系统的软件系统来辅助学校的教学管理。

软件工程实验报告1_2

软件工程实验报告1_2

成绩:____实验报告
实验一:熟悉ROSE
专业名称:计算机科学与技术
班级学号:
学生姓名:
指导老师:
一、实验目的:
熟悉UML建模工具ROSE
二、实验步骤:
1、熟悉建用例图
2、熟悉建类图
3、熟悉建状态图
4、熟悉建顺序图
5、熟悉建协作图
6、熟悉建活动图
三、所用软件:
1、ROSE
2、word
四、预习内容:
ROSE工具软件的使用方法。

五、实验结果:
1建立用例图
关闭机器
2建立类图
3建立状态图
在第一层向上移动
do/ 到100r图
向下移动do/ 移动到100r层
空闲
do/ time=0
do/ 增加timer
上楼floor
到达
上楼floor 下楼floor
[ timer=0超时值 ] / 下楼(第一层)
到达4建立顺序图
5建立协作图
: 供货人6建立活动图
六、实验总结
通过这些图的建立,使我们学会了此软件的用法,了解了个元素之间的关系。

2022年软件工程实习报告集锦7篇

2022年软件工程实习报告集锦7篇

2022年软件工程实习报告集锦7篇软件工程实习报告篇1转眼间,到昆山已经两个多月。

不知不觉中我已经从一个在校生变成一个职员。

这跟在我们学校是完全不一样的。

除此之外,安博还制定严格的制度,这些使我们在安博的培训像职工在公司工作一样,让我们提早接触到公司的氛围。

来安博最重要的目的还是学技术,那就说说这里的教育情况吧。

安博实行的是上午授课,下午上机练习的制度。

我觉得我们这个班上午的授课经理非常好,他对java的理解非常透彻。

我在大学学半年的java,仅仅停留在表面上,对实质的内容根本都不解。

比如说==与equals的区别,方法的覆盖,变量的隐藏等等。

老师通过图的方式,给我们讲解它们在内存中的情况,使我们从本质上解这些东西。

他的这种授课方式,既生动又形象,彻底地将问题讲明白,我们接受起来轻松容易,也不容易遗忘。

除他的讲课方式以外,他还是一个非常幽默的人,坐在凳子上听四个小时的课,会很乏味的,他时不时的给我们说一些搞笑的事,或者开玩笑的话,使课堂气氛非常活跃。

他每讲完一个新知识点,都给我们留一点时间练习,加深对新知识的理解。

我们有什么问题,他都会很耐心的跟我们讲解,不管程度是好是坏,他都一样对待。

总之,听他的课就是一种享受。

他还把跟知识相关的材料发给我们,让我们有研究的空间。

有时还给我们一些面试题,让我们提早看,只有准备好去应聘才有机会。

昆山还给我们开一些素质课,讲解一些职场素质,如何为人处事,如何同面试官讲话,还要求我们在日常生活中也尽量做到。

在我们就业之前开这样的课,对我们这些即将踏入社会的大学生来说是非常重要的。

公司招聘员工,一看实力,二看素质,两者缺一不可。

总之在昆山的这段时间中,我学到很多。

时间虽短,但所学到的和知识的实用性很强。

所有的老师们都教给我们很多工作习惯、工作技巧、日常礼仪、职业素养和心态方面的东西。

使我们对今后的工作有新的认识,增添的极大的信心。

学会学习和团结我们学半个多月的基础知识,也该是用一用的时候。

软件工程实践实验报告要求(5篇范例)

软件工程实践实验报告要求(5篇范例)

软件工程实践实验报告要求(5篇范例)第一篇:软件工程实践实验报告要求实验一---姓名---学号加封皮软件工程实践编写实验报告的要求试验报告一利用Visio绘制DFD图根据所选系统,利用Visio绘制系统相关的DFD图。

实验学时:8学时实验要求:试验报告二 UML工具的使用学习Rational Rose、StarUML等工具,针对所选系统进行模型分析和设计,完成用例图、类图、序列图、状态图、活动图等图形的绘制。

实验学时:16学时实验要求:1.下载、安装Rational Rose、StarUML等工具软件,学习软件使用;1.可以采用结构化方法对所选系统进行需求分析;2.采用Visio绘制系传统的DFD图; 3.提交绘制的图形和实验报告。

2.绘制用例图、类图、序列图、状态图、活动图等图形针对所选系统进行模型分析和设计。

试验报告三软件源代码管理实验学时:4学时实验要求:学习基于系统工具进行源代码版本管理实验要求:1.下载、安装SVN、Trac等工具软件,学习软件使用;2.对所选系统的源代码进行版本管理。

试验报告四使用软件测试工具学习Webstress、NUnit等各类软件测试工具,及Test Manager 测试管理工具,针对所选系统实现情况,编写测试计划、设计测试用例,掌握软件自动测试方法。

实验学时:4学时实验要求:1.下载、安装Webstress、NUnit和Test Manager等工具软件,学习软件使用;2.运用NUnit工具软件进行白盒测试用例设计及自动测试;3.运用Webstress工具软件进行性能自动测试;4.了解T est Manager测试管理工具的使用方法。

第二篇:软件工程实验报告实验三:面向对象的系统对象模型实验一、实验目的1: 熟悉面向对象分析的基本方法,加深理解对象模型、动态模型和功能模型的意义和作2: 学习使用rose工具进行面向对象分析的方法3:理解对象模型、动态模型和功能模型在rose系统中的表示4:学习用例图、类图、关联图、顺序图、状态图的绘制方法,了解其各自的作用二、实验环境1.硬件环境P4以上的个人计算机环境,要求内存不少于128MB,硬盘不小于20G.。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

院系:计算机科学学院专业:计算机科学与技术年级: 2013级课程名称:软件工程组员:司少武(1135)兰少雄(1136)张宇(1133)纳洪泽(1132)指导教师:刘卫平2015年 12月 26 日聊天室1 前言即时消息系统的研究现状即时消息系统[1](Instant Messenger,IM)是一种在后 PC 时代兴起的,以Internet 网络为基础的,允许交互双方即时地传送文字、语音、视频等信息,能够跟踪网络用户在线状态的网络应用软件。

即时消息系统产生有着深刻的社会原因:人们都有渴望社交,获得社会尊重、实现自我的需求,这正是即时消息软件风行的原动力,而物质文明的日益发达所带来副作用,又使得人们习惯与周围的人保持距离,以致人们更愿意对陌生人敞开心扉,在网络中可以跨越年龄、身份、行业、地域的限制,达到人与人、人与信息之间的零距离交流。

从这点上讲,即时消息系统的出现改变了人们的沟通方式和交友文化,大大拓展了个人生活交流的空间。

本工程的主要内容随着互联网逐步普及,人们的生活和工作也越来越离不开信息网络的支持,而聊天室是人们最常见,最直接的网上交流的方式。

本聊天系统以聊天交流为主,为广大用户提供一个借助网络进行人际交往的平台,也是网络与现实最贴近的实用型网站。

本文所介绍的网络聊天系统是基于开放的JAVA应用程序开发设计的,其主要特性是能动态、实时的完成信息的传递,且具有高效的交互性,更有效的处理客户请求,且具有脱离数据库技术方法,易于维护和更新的特点。

2 需求分析本系统所要实现的主要功能是当用户聊天时,将当前用户名、聊天对象、聊天内容、聊天语气和是否私聊进行封装,然后与服务器建立Socket连接,再用对象输出流包装Socket的输出流将聊天信息对象发送给服务器端当用户发送聊天信息时,服务端将会收到客户端用Socket传输过来的聊天信息对象,然后将其强制转换为Chat对象,并将本次用户的聊天信息对象添加到聊天对象集Message中,以供所有聊天用户访问。

接收用户的聊天信息是由多线程技术实现的,因为客户端必须时时关注更新服务器上是否有最新消息,在本程序中设定的是3秒刷新服务器一次,如果间隔时间太短将会增加客户端与服务器端的通信负担,而间隔时间长就会让人感觉没有时效性,所以经过权衡后认为3秒最佳,因为每个用户都不可能在3秒内连续发送信息。

当每次用户接收到聊天信息后将会开始分析聊天信息然后将适合自己的信息人性化地显示在聊天信息界面上。

业务需求1. 与聊天室成员一起聊天。

2. 可以与聊天室成员私聊。

3. 可以改变聊天内容风格。

4. 用户注册(含头像)、登录。

5. 服务器监控聊天内容。

6. 服务器过滤非法内容。

7. 服务器发送通知。

8. 服务器踢人。

9. 保存服务器日志。

10.保存用户聊天信息。

系统功能模块服务器端1.处理用户注册2.处理用户登录3.处理用户发送信息4.处理用户得到信息5.处理用户退出客户端1.用户注册界面及结果2.用户登录界面及结果3.用户发送信息界面及结果4.用户得到信息界面及结果5.用户退出界面及结果性能需求运行环境:Windows All必要环境:JDK 以上硬件环境:CPU 400MHz以上,内存64MB以上3数据结构数据结构此系统数据库中储存信息采用字符指针储存,将用户的信息用字符的形式进行处理并储存。

逻辑结构逻辑结构:用户向服务器发送请求,服务器获取对方IP,若获取成功,用户向其发送消息,服务器将其处理并将其记录,然后将消息发给另一用户。

其E—R图如下所示:2将E-R图转化为关系模型,建立关系模型为:消息(内容,时间);记录信息(内容,储存信息);服务器(服务器IP);3功能模块划分结构框图程序流图(1)整个系统流程图如下:模块功能分析及外部设计模块功能分析:(1)发送消息:用户选择好友,如果好友在线,服务器便获取其IP地址,用户打开消息盒编辑需要发送的消息,然后发送,服务器接受此消息,并处理记录到记录表中,然后将其发送给好友。

(2)接收消息:好友发送的信息通过服务器处理并发送到本用户,如果设置为接收消息,则系统提示并可以打开查看此消息,否则服务器不将此消息发送到本用户。

(3)消息记录查询:用户向服务器发送查询请求,服务器作出响应并将最近消息记录发送到此用户。

外部设计:交互设计是面向最终用户的设计,是软件的外部设计,交互设计要求在研究软件技术问题的同时对人加以研究。

用户是什么样的人用户怎样与新的计算机系统进行交互用户怎样解释系统产生的信息用户对系统有哪些期望这些问题仅仅是需要在用户交互设计时必须询问和回答的问题。

作为点对点的聊天系统,作为服务使用者得用户和提供服务的聊天系统有着互动和交换信息的过程,用户有请求,系统就必须有应答,需要双方参与。

(1)当用户选择好友向其发送消息时,点击好友,向服务器发送请求,如果好友在线,服务器自动获取好友IP并建立双方的连接,进行聊天。

否则应该提示好友不在,不能聊天或发送离线信息。

(2)用户查询聊天信息时,向服务器发送查询请求,服务器作出响应并将相应记录发送到此用户界面。

通过对产品的界面和行为进行交互设计,让产品和它的使用者之间建立一种有机关系,从而可以有效的达到使用者的目标,而好的交互设计会使系统和使用者之间更好的交互,达到“愉悦地合作”,这是交互设计的最终目的。

4 详细设计类定义为客户端程序启动类,负责客户端的启动和退出。

为客户端程序登录界面,负责用户帐号信息的验证与反馈。

为客户端程序注册界面,负责用户帐号信息的注册验证与反馈。

为客户端程序聊天室主界面,负责接收、发送聊天内容与服务器端的亲密合作。

Windowclose 为的内部类,负责监听聊天室界面的操作,当用户退出时返回给服务器信息。

为客户端程序的一个小程序,实现的一个石英钟功能。

主要模块内部设计此点对点聊天系统主要包括以下模块:(1)发送消息;(2)接收消息;(3)查询消息记录。

每个模块的主要执行功能函数及算法如下。

模块1设计模块算法模块一:发送消息:发送消息函数:send messages(char *p,InetAdrress);发送消息后自动执行储存函数:memory messages(InetAdrress,char *p);流程图4.2.2模块2设计模块算法模块二:接收消息:接收消息消息函数: *receive messages(InetAdrress,char *p);接收消息后自动执行储存消息函数:memory messages(InetAdrress,char *p);流程图:4.2.3模块3设计模块算法模块三:消息记录查询:执行发送请求函数:*check notes(InetAdrress,char *p);删除记录函数:delete notes(InetAdrress);自动执行接收消息函数:*receive messages(InetAdrress,char *p);流程图:5 测试分析与截图在实现本系统的同时每设计一个模块,就实现模块测试,使其能实现该函数需要实现的功能,此阶段为白盒测试。

此阶段将此模块作为单独的一个实体来测试,而且比较容易实际检验模块正确性的测试方案,保证每个模块单元的正确运行,来确定编码和详细设计的错误。

然后集成测试。

集成测试阶段,先将单元测试成功的模块放在一起形成一个子系统来测试,以解决模块间的协调和通信问题。

然后将子系统测试通过的模块放在一起形成一个完整的系统测试,检验功能,来发现需求报告中的错误。

测试用例为了检验此系统的正确性,设计了以下的一些测试用例:(1)登录注册(2)发送和接收消息A:你好B:你好(3)保存聊天记录(4)保存聊天记录(5)保存服务器日志(6)服务器踢人不同的测试数据发现程序错误的能力差别很大,为了提高测试效率低测试成本,应该选择高效的测试用例,数据尽量少,做到尽可能完备的测试就可以了。

测试结果登录界面注册界面服务器聊天室聊天对所有人,私人聊天,系统提示信息。

聊天记录保存服务器日志保存服务器踢人时钟6 结束语Java面向对象程序设计是一门应用广泛并且实用性极强的高级程序设计语言。

通过本次课程设计,我们对面向对象的基本思想有了进一步的理解,对项目的各个阶段的任务也有了一定的了解。

设计开始阶段必须明确设计的目的与需求分析,总体设计要全面分析聊天室系统的架构。

通过这次设计,使我们认识到体系的架构是最重要的,只有准确的系统设计、很好的定义各个模块及模块之间的关系,才能在编码阶段更轻松的的实现。

通过这次课程设计,对我们的逻辑思维能力是一个很大的锻炼,它不仅加强了我们的系统思考问题的能力,而且还改变了我们以前不好的编程习惯,虽然花费了不少的时间,但是我们学到了丰富的知识。

另外,此次课程设计也提高了我们的团对合作精神,让我们明白不是不能一个人能单独完成,而是要集思广益,结合更多的人的创意思维。

让我们大家深刻的体会到理论与实际相结合的重要性与微妙之处。

对于不同的想法我们都会集中讨论并对好的意见加以借鉴,在这个讨论的过程中,还更正了不少我们各自自身对于某个知识点的误区。

这次程序设计也是一个毅力的考验过程。

有时候往往只是一个小小的错误,却要花出几小时甚至是一两天的时间才可能发现它。

所以在这个过程不能过于急躁,要很有耐心将程序反复调试。

Appimport .*;import .*;import .*;public class AppServer extends Thread {private ServerSocket serverSocket;private ServerFrame sFrame;private static Vector userOnline = new Vector(1, 1);private static Vector v = new Vector(1, 1);public AppServer() {sFrame = new ServerFrame();try {serverSocket = new ServerSocket(1001);.");(); dd(pnlLogin);lblServer = new JLabel("服务器(S):");lblUserName = new JLabel("用户名(U):");lblPassword = new JLabel("口令(P):");txtServer = new JTextField(20);("");txtUserName = new JTextField(20);pwdPassword = new JPasswordField(20);btnLogin = new JButton("登录(L)");("登录到服务器");('L');btnRegister = new JButton("注册(R)"); ("注册新用户");('R');btnExit = new JButton("退出(X)"); ("退出系统");('X');(null);(new Color(52, 130, 203));(50, 100, 100, 30);(150, 100, 120, 25);(50, 130, 100, 30);(150, 130, 120, 25);(50, 160, 100, 30);(150, 160, 120, 25);(50, 200, 80, 25);(130, 200, 80, 25);(210, 200, 80, 25);Font fontstr = new Font("宋体", , 12); (fontstr);(fontstr);(fontstr);(fontstr);(fontstr);(fontstr);(fontstr);(fontstr);(fontstr);;;;;;(lblServer);(txtServer);(lblUserName);(txtUserName);(lblPassword);(pwdPassword);(btnLogin);(btnRegister);(btnExit);Icon logo1 = new ImageIcon("images\\"); lblLogo = new JLabel(logo1);(0, 0, 340, 66);(lblLogo);setResizable(false);setSize(340, 260);setVisible(true);scrnsize = ();setLocation / 2 - () / 2,/ 2 - () / 2);Image img = ("images\\");setIconImage(img);(this);(this);(this);@SuppressWarnings({ "deprecation", "static-access" }) public void actionPerformed(ActionEvent ae) { Object source = ();if (btnLogin)) {if ().equals("")|| ().equals("")) {JOptionPane op1 = new JOptionPane();(null, "用户名或密码不能为空");} else {strServerIp = ();login();}}if (btnRegister)) {strServerIp = ();();new Register(strServerIp);}if (source == btnExit) {(0);}}@SuppressWarnings("deprecation")public void login() {Customer data = new Customer();= ();= ();try {Socket toServer;toServer = new Socket(strServerIp, 1001);ObjectOutputStream streamToServer = new ObjectOutputStream(toServer .getOutputStream());((Customer) data);BufferedReader fromServer = new BufferedReader(new InputStreamReader()));String status = ();if ("登录成功")) {new ChatRoom((String) , strServerIp);();();();();} else {(null, status);();();();}} catch (ConnectException e1) {(null, "未能建立到指定服务器的连接!");} catch (InvalidClassException e2) {(null, "类错误!");} catch (NotSerializableException e3) {(null, "对象未序列化!");} catch (IOException e4) {(null, "不能写入到指定服务器!");}}public static void main(String args[]) {new Login();}}import *;public class Register extends JFrame implements ActionListener {private JComboBox comboBox;private static final long serialVersionUID = 902180L;JPanel pnlRegister;JLabel lblUserName,lblGender,lblAge;JLabel lblPassword,lblConfirmPass,lblEmail,logoPosition;JTextField txtUserName,txtAge,txtEmail;JPasswordField pwdUserPassword,pwdConfirmPass;JRadioButton rbtnMale,rbtnFemale;ButtonGroup btngGender;JButton btnOk,btnCancel,btnClear;String strServerIp;final JLabel headLabel = new JLabel();Dimension scrnsize;Toolkit toolkit=();public Register(String ip){super("[HappyChat]聊天室注册窗口");strServerIp=ip;pnlRegister=new JPanel();().add(pnlRegister);lblUserName=new JLabel("用户名:");lblGender=new JLabel("性别:");lblAge=new JLabel("年龄:");lblPassword=new JLabel("口令:");lblConfirmPass=new JLabel("确认口令:");lblEmail=new JLabel("电子邮件:");txtUserName=new JTextField(30);txtEmail=new JTextField(30);txtAge=new JTextField(10);pwdUserPassword=new JPasswordField(30);pwdConfirmPass=new JPasswordField(30);rbtnMale=new JRadioButton("男",true);rbtnFemale=new JRadioButton("女");btngGender=new ButtonGroup();btnOk=new JButton("确定(O)");('O');("保存注册信息");btnCancel=new JButton("返回(B)");('B');("返回登录窗口");btnClear=new JButton("清空(L)");('L');("清空注册信息");(null);(new Color(52,130,203));(30,80,100,30);(110,85,120,20);(30,141,100,30);(110,146,120,20);(30,166,100,30);(110,171,120,20);(30,191,100,30);(110,196,60,20);(190,196,60,20);(30,216,100,30);(110,221,120,20);(30,241,100,30);(110,246,120,20);(246,166,80,25);(246,201,80,25);(246,241,80,25);Font fontstr=new Font("宋体",,12);(fontstr);(fontstr);(fontstr);(fontstr);(fontstr);(fontstr);(fontstr);(fontstr);(fontstr);(fontstr);(fontstr);(fontstr);(fontstr);;;;;lblConfirmPass .setForeground;;;;;;;;;(false);(false);(lblUserName);(lblGender);(lblPassword);(lblConfirmPass);(lblEmail);(lblAge);(txtAge);(txtUserName);(txtEmail);(pwdUserPassword);(pwdConfirmPass);(btnOk);(btnCancel);(btnClear);(rbtnMale);(rbtnFemale);(rbtnMale);(rbtnFemale);Icon logo = new ImageIcon("images\\");logoPosition = new JLabel(logo);(0, 0, 360,78);(logoPosition);(360,313);(true);(false);scrnsize=();()/2,()/2);Image img=("images\\");(img);btnOk .addActionListener(this);(this);btnClear .addActionListener(this);final JLabel label = new JLabel();("头像:");(30, 120, 60, 15);(label);comboBox = new JComboBox();(true);(new DefaultComboBoxModel(new String[] {"1", "2", "3"}));(110, 116, 47, 23);(new ItemListener() {public void itemStateChanged(ItemEvent arg0) {Icon logo = new ImageIcon("face\\"+().toString()+".jpg");(logo);}});(comboBox);;oString();if {(null,"用户名不能为空");return;}if {(null,"密码不能为空");return;}if(! {(null,"密码两次输入不一致,请重新输入"); return;}if {(null,"年龄不能为空");return;}int age=());if (age<=0||age>100){(null,"年龄输入不合法");return;}int Found_flag=0;for (int i=0;i< {if'@'){Found_flag++;}}if(Found_flag!=1){(null,"电子邮箱格式不正确,请重新输入");return;}try{Socket toServer;toServer = new Socket(strServerIp,1001);ObjectOutputStream streamToServer=new ObjectOutputStream ());((Register_Customer)data);BufferedReader fromServer=new BufferedReader(new InputStreamReader()));String status=();JOptionPane op=new JOptionPane();(null,status);if+"注册成功")){("");("");("");("");("");}();();}catch(InvalidClassException e1){(null,"类错误!");}catch(NotSerializableException e2){(null,"对象未序列化!");}catch(IOException e3){(null,"不能写入到指定服务器!");}}public static void main(String args[]) {new Register("");}}public ChatRoom(String name, String ip) {dd(pnlChat);Font fntDisp1 = new Font("宋体", , 12);String list[] = { "所有人" };btnCls = new JButton("清屏(C)");btnExit = new JButton("退出(X)");btnSend = new JButton("发送(N)");btnSave = new JButton("保存(S)");btnTimer = new JButton("时钟(T)");lblUserList = new JLabel("【在线用户列表】");lblUserMessage = new JLabel("【聊天信息】");lblSendMessage = new JLabel("聊天内容:");lblChatUser = new JLabel("你对:");lblUserTotal = new JLabel("在线人数:");lblCount = new JLabel("0");lstUserList = new txtMessage = new JTextField(170);cmbUser = new JComboBox(list);etScreenSize();Dimension fra=();if>{=;}if>{=;}( show();i nt delay = 1000;A ctionListener taskPerformer = new ActionListener(){public void actionPerformed(ActionEvent evt){repaint();};n ew Timer(delay, taskPerformer).start(); }public void actionPerformed(ActionEvent e) {();}public void paint( Graphics g ){Insets insets = getInsets();int L0 = /2, T0 = /2;int hh,mm,ss;String st;h=getSize().height;;(L0+30,T0+30,h-60,h-60);(L0+32,T0+32,h-64,h-64);r=h/2-30;x0=30+r-5+L0;y0=30+r-5-T0;ang=60;for (int i=1; i<=12; i++){x=(int)((r+10)*(RAD*ang)+x0);y=(int)((r+10)*(RAD*ang)+y0);(""+i,x,h-y);}x0=30+r+L0; y0=30+r+T0;Calendar now=();hh=;mm=;ss=;;(L0,T0,60,28);;if (hh < 10) st="0"+hh; else st=""+hh;if (mm < 10) st=st+":0"+mm; else st=st+":"+mm; if (ss < 10) st=st+":0"+ss; else st=st+":"+ss; (st,L0,T0+25);sdo=90-ss*6;mdo=90-mm*6;hdo=90-hh*30-mm/2;if (old_X > 0){(getBackground());(x0,y0,old_X,(h-old_Y));} else{old_M=mdo;old_H=hdo;};x=(int)((r-8)*(RAD*sdo)+x0);y=(int)((r-8)*(RAD*sdo)+y0)-2*T0;(x0,y0,x,(h-y));old_X=x;old_Y=y;if (mdo != old_M){line(g,old_M,(int)(r*,getBackground());old_M=mdo;}if (hdo != old_H){line(g,old_H,(int)(r*,getBackground());old_H=hdo;}line(g,mdo,(int)(r*,;line(g,hdo,(int)(r*,;}public void line(Graphics g, int t, int n, Color c) {int [] xp = new int[4];int [] yp = new int[4];xp[0]=x0;yp[0]=y0;xp[1]= (int)((n-10)*(RAD*(t-4))+x0);yp[1]=h-(int)((n-10)*(RAD*(t-4))+y0);xp[2]= (int)( n *(RAD* t )+x0);yp[2]=h-(int)( n *(RAD* t )+y0);xp[3]= (int)((n-10)*(RAD*(t+4))+x0);yp[3]=h-(int)((n-10)*(RAD*(t+4))+y0);(c);(xp,yp,4);}public static void main(String args[]){new Clock();}}。

相关文档
最新文档