软件工程实验报告模板Word格式.docx
《软件工程实验报告模板Word格式.docx》由会员分享,可在线阅读,更多相关《软件工程实验报告模板Word格式.docx(14页珍藏版)》请在冰豆网上搜索。
文档工具:
用于查看或更新模型元素的文档。
工具栏:
用于迅速访问常用命令。
框图窗口:
用于显示和编辑一个或几个UML框图。
日志:
用于查看错误信息和报告各个命令的结果。
1.2浏览器和视图
浏览器是层次结构,用于在Rose模型中迅速漫游。
在浏览器中显示了模型
中增加的一切,如参与者、用例、类、组件等。
浏览器中包含四个视图:
UseCase
视图、Logical视图、Component视图和Deployment视图。
点击每个视图的右键,
选择new就可以看到这个视图所包含的一些模型元素。
1.3框图窗口
在框图窗口中,我们可以浏览模型中的一个或几个UML框图。
改变框图中的元素时,Rose自动更新浏览器。
同样用浏览器改变元素时,Rose自动更新相应框图。
这样,Rose就可以保证模型的一致性。
五、实验步骤
1、编写需求分析说明书
对系统需求进行初步的整理与分析,是后续建模和设计工作的基础。
结果请放在附件中。
2、用UML语言对系统进行分析与建模(OOA)
2.1建立用例图usecasediagram
从用例图中我们可以看到系统干什么,与谁交互。
用例是系统提供的功能,
参与者是系统与谁交互,参与者可以是人、系统或其他实体。
一个系统可以创建
一个或多个用例图。
实例
图1顶层用例图1
该图以及下图图2显示的是顶层用例图。
在图中我们可以看到所有的成
员,包括有系统管理员,学生,教师三个参与者。
图2顶层用例图2
图3参与者为管理员用例图
该图显示的是系统管理员的用例图,在教务管理系统中,系统管理员应该具有登录,管理课程信息,管理学生信息,管理学生成绩,管理教师信息以及查询信息等功能。
而第二分支往下也应该实现更多的功能,如查询信息下应该包含删除学生信息,查询学生信息和查询教师信息。
管理学生信息中又包括了修改课程信息和增加学生信息,管理课程信息中包括了录入课程信息,修改课程信息,删除课程信息等。
图4参与者为教师用例图
上图为教师用例图,从上图可以看出,教师在教务管理系统中应该有登录、查询信息、选择课程、修改课程、删除课程,学生成绩管理以及个人信息修改等
功能。
其中查询信息应该包含个人信息查询,学生信息查询和课程信息查询。
学生成绩管理部分又包含了录入学生信息,修改学生成绩和删除学生成绩的功能。
同样的,在使用修改个人信息模块的功能时需要密码认证。
图5参与者为学生用例图
2.2建立活动图activitydiagram
活动图显示了从活动到活动的流。
活动图可以在分析系统业务时用来演示业务流,也可以在收集系统需求的时候显示一个用例中的事件流。
活动图显示了系统中某个业务或者某个用例中,要经历哪些活动,这些活动按什么顺序发生。
实例:
下图展示的事管理员增加学生信息、教师录入学生成绩以及学生选课这三个活动的活动图。
下面举一个例子加以分析:
在管理员曾家学生信息的活动中,管理员需要先登录系统,输入用户名及密码,如果登录出现错误,则系统直接返回登录页面重新登录,当管理员成功登录的时候,他需要选择要添加的学生的学号,然后确认添加该学生,再在该学号下输入需要添加学生的个人信息,然后选择是否继续添加学生,当所有学生都添加完之后,系统保存添加的信息并更新数据库,
这个时候管理员便可以退出系统了。
图6管理员添加学生活动图
图7教师录入学生成绩活动图
图8学生选课活动图
2.3建立类图classdiagram
类图显示系统之中类和类之间的交互。
在本次试验中,我构建了两个类图分别是以参与人员以及所有信息类构
建的。
在成员类图中,我给出了三个参与者的成员及其成员函数,如下:
(1)Administrator管理员:
【成员】:
姓名:
char,定义了管理员的姓名;
用户名:
char,用来定义管理员的用户名;
账号密码;
char,用来存放管理员的登录账号密码。
【成员函数】:
课程管理:
string(),用来实现管理员的课程管理功能;
用户登录:
string(),用来实现管理员用户登录的功能;
成绩管理:
string(),用来实现管理员查询学生成绩的功能;
学籍管理:
string(),用来实现管理员查询学生的个人信息的功能;
教师管理:
string(),用来实现管理员查询教师信息的功能;
信息查询管理:
string(),用来实现管理员综合查询信息的功能;
(2)Student学生:
char,定义了学生的姓名;
用户名/学号:
char,用来定义学生的用户名/学号;
char,用来存放学生的登录账号密码。
string(),用来实现学生用户登录的功能;
string(),用来实现学生综合查询信息的功能;
选课管理:
string(),用来实现学生选课的功能;
string(),用来实现学生成绩查询的功能;
个人信息管理:
string(),用来实现学生个人信息管理的功能;
(3)Teacher教师“
char,定义了教师的姓名;
char,用来定义教师的用户名;
char,用来存放教师的登录账号密码。
string(),用来实现教师用户登录的功能;
string(),用来实现教师综合查询信息的功能;
string(),用来实现教师选课的功能;
string(),用来实现教师录入学生成绩的功能;
string(),用来实现教师个人信息管理的功能;
图9人员类图
在第二个类中,我构建了整个教务管理系统的总的信息类图,具体如下:
(1)学生成绩管理
【成员】
学号/用户名:
string,用来存放学生的学号;
查询日期:
char,用来存放查询学生成绩的日期;
查询科目编号:
char,用来存放查询学生成绩科目的编号。
(2)管理员信息管理
管理员账号:
char,用来存放管理员的账号信息;
日期:
char,用来存放管理员信息管理的日期;
课程编号:
char,用来存放管理员修改课程信息的课程编码;
操作代码:
char,用来存放管理员操作课程的课程代码。
(3)教师信息管理
教师用户名:
string,用来存放教师的用户名信息;
char,用来存放教师信息管理的时间;
char,用来存放教师信息操作的代码。
(4)登录
char,从来存放用户登录的信息;
用户注销:
char,用来存放用户注销的信息;
退出系统:
char,用来存放用户退出系统的信息。
(5)学生信息管理【成员】
string,用来存放学生的用户名信息;
char,用来存放学生信息修改的日期;
char,用来存放学生信息修改的操作代码。
(6)学生选课管理
string,用来存放学生或教师的用户名;
选课日期:
char,用来存放选课的日期;
选课课程编号:
char,用来存放选课课程的代码。
(7)教师成绩录入管理【成员】
string,用来存放教师的用户名;
char,用来存放教师录入成绩的日期;
char,用来存放教师录入课程成绩的编号,
学生学号/用户名:
char,用来存放被录入成绩的学生的学号。
图10信息总类图
2.4.1序列图sequencediagram
序列图显示用例中的功能流程。
在Rationalrose软件中,在浏览器内的Logic视图中单机鼠标右键,选择
new→sequencediagram就新建了一张序列图。
也可以在浏览器中usecase视
图中选择某个用例,然后右击这个用例,选择new→sequencediagram。
在本次
的教务管理系统中,我制作了三张教务管理系统的序列图,分别是管理员添加学
生信息,学生选课以及教师录入学生成绩的序列图。
图11管理员添加学生顺序图
序列图展示的是每一个功能的实现按顺序呈现在顺序图中,每一张顺序图都
会有编号1,2,3,4⋯⋯等序号,按照序号实现每一小步的功能,最终就会实现整个活动乃至整个教务管理系统的功能。
如上图所示,我画的事管理员添加学生信息的顺序图,从图中我们不难发现,要实现管理员添加学生的功能,第一步首先是选择要先加的学生,然后是添加学生,再是确认添加,而这三步都是在管理员类实现的,接下来是创建学生对象,保存学生信息,根据学籍管理规则执行学籍管理添加规则,然后把符合规则的添加保存学生对象,家下来创建该学生的信息条,存入数据库便完成了管理员添加学生的功能。
下面两张图为教师录入学生成绩功能实现的顺序图和学生选课功能实现的顺序图,在这里就不一一分析了。
图12教师录入学生成绩顺序图
图13学生选课顺序图
2.4.3序列图和协作图之间的转换
在序列图中按F5键就可以创建相应的协作图;
同样,在协作图中按F5键就可以创建相应的序列图。
序列图和协作图是同构的,也就是说两张图之间的转换没有任何信息的损失。
在rationalrose软件中,在制作完管理员添加学生顺序图,教师录入学生信息的顺序图以及学生选课的顺序图之后,软件可根据顺序图自动生成相应的协作图,协作图显示的信息和序列图是相同的,只是协作图用不同的方式显示了出来,序列图显示的事对象和参与者随时间变化的交互,而协作图则不参照时间而显示对象与参与者的交互。
图14管理员添加学生协作图
图15教师录入学生成绩协作图
图14,、15、16分别为管理员添加学生信息协作图,教师录入学生成绩协作图和学生选课协作图。
图16学生选课协作图
2.5建立状态图statechartdiagram(可选,根据选定的课题选做)
状态图显示了对象的动作行为,显示对象可能存在的各种状态,对象创建时的状态,对象删除时的状态,对象如何从一种状态转移到另一种状态,对象在不同状态中干什么。
六、实验总结
1、对实验过程和自己的感悟进行小节
2、结合实验过程和内容对面象对象方法和结构化程序设计方法进行比较。
通过本次实验,我从具体的实践中感受到了结构化程序设计方法进行程序设
计的方法及过程。
结构化设计方法讲究的是自顶而下的“瀑布式“设计,使数据
结构的设计仅服从于当前功能实现的要求,为以后扩充和重用设置了巨大的障
碍。
面向对象方法结局了传统结构化方法中问题空间和解空间在结构上不一致的
问题,避免了从分析和设计到软件模块结构件的多次转换过程,使开发软件变得简介、高效、合理。
结构化方法中提高软件的结构化、模块化及可读性等基本思想是完全正确
的,但问题空间和解空间在结构上存在着不一致性,使大型信息系统的开发和设计面临许多困难,解决这一难题的关键在与分析、设计、实现一个系统的方法和过程应尽可能接近我们认识系统的方法和过程,即问题空间与解空间在结构上尽可能一致。
而面向对象方法首先强调来自域的对象,然后围绕对象设置属性和操作,它尽可能模拟了人类习惯的思维方式,更加贴合人类惯有的思考模式,把问题域的概念直接映射到对象和对象之间的接口,符合人们常用的思维方式、减少结构化方法的从问题域到分析阶段的映射误差。
面向对象方法鼓励开发者使用“对象”的观念去看待问题。
面向对象的方法的基本思想是自底向上设计库类,我们通常使用C++、VB、JAVA等编程语言,而结构化设计采用自顶向下的设计过程库,逐步求精,分而
治之,我们通常使用C,BASIC,FORIRAN等编程语言来实现。
在构建逻辑框图的时候,面向对象化往往使用对象模型图、功能模型图等,而结构化设计往往使用数据流图、系统结构图、实体关系图。
一个面向问题,一个面向过程。
在完成这次
结构化设计的过程中,我发现结构化设计功能的变化往往会危及整个系统,它的扩展性没有面向对象来的好,而面向对象中的类的层析结构体现了继承与发展的思想,在结构化设计中则是通过模块的层次结构来概括模块与模块之间的关系和功能。
通过了本次实验,我加深了对结构化设计的印象和对面向对象及结构化设计概念的理解,从用例图到顺序图到活动图到协作图到类图,每一部分都让我印象深刻,这次实验虽然工程浩大,也是我们之前从来没有接触过的大型实验课,在实验的过程中有过很多次的失败和修改,各种功能图也是一改再改,对软件rationalrose这个软件也有了深刻的了解,通过它来建立UML模型,使我在试验中收益不少。
也希望在今后的学习中能更多地接触到各种各样实践性强的试
验,让我们真切地学到更现实的知识,完成从书本到实践的转变。
附录:
需求说明书
需求规格说明
1引言
随着科技的进步,网络越来越成为人们生活中必不可少的一个部分。
计算机给人们带去
了极大的办公方面的方便,提供了人们极大的便利,本次项目的主题——开发教务管理系统
旨在改变原有人工进行教务管理的工作方式,使教务人员及操作者通过计算机,方便地进行
教务管理,随时添加、查询、修改、使工作人员从繁琐的纸质查表、填表、提交申请中解放
出来。
1.1编写目的
为了给项目做一个更好的解说及介绍,本需求规格说明书的撰写是必不可少的。
在本需
求规格说明书中,对教务管理系统做了详细的需求分析,用来指导整个开发阶段的流程,明确软件需求、安排项目规划与金福、组织软件的开发与后续的测试工作,通过编写需求规格说明书,让开发人员能够根据需求规格说明书来开发项目。
1.2背景及范围
项目的名称:
项目的背景:
项目任务提出者:
软件工程课负责老师范山岗
项目任务开发者:
项目用户:
南京邮电大学所有教务人员
实现此软件的计算机网络:
南京邮电大学计算机中心
项目与其他软件,系统的关系:
教务管理系统采用
rationalrose
作为开发平台,
能够在
Windows系列的操作系统中
与Internet
网良好兼容,且系统可维护性可移植性良好,
界面友善,充分考虑到教务管理的实际工作情况,能够满足用户对教务管理的所有需求。
1.3定义
用rationalrose开发平台构建UML系统模型。
2目标系统概述
2.1目标
进一步提高学校的信息化管理水平,方便学生、管理员、教师对个人基本信息及成绩的
查询,方便管理,降低学校信息管理软件的维护成本。
2.2.用户简介
本软件最终针对教师、管理员、学生,统筹资料管理及登录查询信息。
操作人员主要为本校学生和教职工管理人员。
2.3组织结构和职责
教务管理
系统
管理员
模块
学生模
块
教师模
管理
查询
选课
个人
学生
信息
选课管
课程
教师
成绩
理
修改
需求规定
3.1功能需求:
教学系统主要任务是能够改进和完善教务管理。
在教学模块中,有两三种用户角色:
管
理员,教师,学生。
该系统的功能需求包括管理员对功能的需求,教师对功能的需求和学生
对功能需求三个部分。
1、管理员对功能的需求
管理员权限最大,可以对教师、学生情况进行统一的管理,管理员对功能的需求如下:
1)学生信息管理:
包括查询学生信息及增加
/删减学生信息。
2)教师信息管理:
包括教师信息查询及增加
/删减教师信息。
3)课程信息管理:
包括录入课程信息、删除课程信息、修改课程信息。
4)学生成绩管理:
包括查看学生成绩及修改学生成绩。
5)信息查询管理:
包括查询学生信息、教师信息、课程信息。
2、教师对功能的需求
教师主要是对自己信息的查询,以及对学生成绩的录入。
1)修改个人信息:
包括个人信息的查看,密码修改,重新登入及退出。
2)学生成绩管理:
完成录入学生成绩,删除学生成绩,修改学生成绩。
包括选择课程、修改课程、删除课程。
4)信息查询管理:
包括查询学生信息,课程信息和个人信息。
3、学生对功能的需求
学生主要是对自己信息的查询,课程信息的查询。
1)课程信息管理:
包括选择课程,修改课程和退选课程。
2)个人信息管理:
完成修改个人信息。
3)查询信息管理:
包括已选课程查询,成绩查询,个人信息查询,考试安排查询。
3.2功能需求点列表
3.3系统性能需求
1)数据精度
要按照严格的数据格式输入,否则系统不给予响应进行处理。
查询时要保证查全
率,所有相应域包含查询关键字的记录都应能查到。
因为通常有文件的记录会有很多,所以
本系统采用了两种方法进行查询:
直接查询和模糊查询。
2)时间特性
本系统的数据库较小,所以程序在响应时间,数据更新处理时间上性能是比较突出的,
而且也正由于数据量相对较少,故在传输数据时间和系统运行时间上表现得让人满意。
3)适应性
由于本系统只在学校内部使用,因此系统只要保持与操作系统的接口即可。
只要操作系
统没有大的故障,程序一般是比较稳定的。
3.4系统运行需求
1)用户界面
用户为南京邮电大学学生及教职工,要求用户界面干净整齐,有条理,大方,用户体验度好。
2)硬件接口
基本的输入输出设备。
输入:
键盘、鼠标;
输出:
显示器。
3)软件接口
软件方面要求系统整体使用起来流畅度高。