软件工程上机实验报告.docx
《软件工程上机实验报告.docx》由会员分享,可在线阅读,更多相关《软件工程上机实验报告.docx(19页珍藏版)》请在冰豆网上搜索。
软件工程上机实验报告
学生管理系统
1、用例图绘制
1)用户需求
需求分析
1、为每个使用系统的人员设置权限。
只有通过权限验证的人才能使用系统。
2、学生可以使用该系统查询所学课程的成绩。
3、教师使用该系统完成学生成绩的录入、修改、显示和打印。
4、管理员使用系统输入学生信息、教师信息、班级信息和课程信息。
这里系统的参与者有三个,分别是:
参与者“学生”:
使用系统的目的是查询所学课程的成绩
参与者“教师”:
完成学生信息的录入、修改、显示和打印
参与者“管理员”:
输入学生信息、教师信息、班级信息和课程信息
2)用例图绘制
本人根据自己登陆到中南大学教务管理系统查询成绩的做法,做出以下的用例图。
由于用例图只是给出用户所看到的的系统的功能,一般不包括选择选项等细致的步骤。
所以本人的用例图与参考的报告有所不同。
而且本人设计的系统功能仅与成绩有关,所以用例图较简单。
至于管理员的用例由于后面有些功能是相近的鉴于篇幅有限,所以只是列举了管理学生和管理教师两个功能的扩展。
3)用例详细说明
学生查询成绩用例
1、简要说明:
本用例描述了学生查询课程成绩。
2、事件流
(1)、基本流
1)选择课程名称和学期
2)点击“确定”按钮
3)系统显示对应学期该课程成绩。
(2)、备选流
2a系统提示出错,点击“确定”按钮结束。
3、特殊需求:
无。
4、前置条件:
成功“登陆”系统
5、后置条件:
无。
6、扩展点:
无。
7、相关数据:
所学课程的成绩。
8、问题说明:
无。
老师查询成绩用例
1、简要说明:
本用例描述了教师查询课程成绩。
2、事件流
(1)、基本流
1)老师选择课程名称和班级
2)点击“确定”按钮
3)系统显示该课程成绩该班级的所有学生成绩。
(2)、备选流
2a系统提示出错,点击“确定”按钮结束。
3、特殊需求:
无。
4、前置条件:
成功“登陆”系统
5、后置条件:
无。
6、扩展点:
无。
7、相关数据:
所学课程的成绩。
8、问题说明:
无。
老师录入成绩用例
1、简要说明:
本用例描述了教师对课程成绩进行录入。
2、事件流
(1)、基本流
1)选择课程名称。
2)老师在列出的学生中对应的成绩输入框输入成绩。
3)老师点击“提交”按钮。
4)系统显示录入该课程成绩。
(2)、备选流
1a如果没有要选择的课程名称,给出提示,结束。
3a如果教师没有确认保存录入成绩,给出提示,结束。
2a老师点击“暂存”按钮,成绩会展示存储起来,下次登陆输入时不用再次输入。
3、特殊需求:
无。
4、前置条件:
成功“登陆”系统
5、后置条件:
无。
6、扩展点:
无。
7、相关数据:
所学课程的成绩。
8、问题说明:
无。
老师修改成绩用例
1、简要说明:
本用例描述了教师对学生的课程成绩进行修改。
2、事件流
(1)、基本流
1)选择课程名称和学期
2)点击“确定”按钮
3)系统显示该课程成绩该班级的所有学生成绩。
4)老师选中其中一个要修改成绩的学生,点击对应学生的“修改”按钮
5)老师在出现的输入框中输入该学生成绩。
6)老师在对应学生栏点击确定按钮。
7)系统提示修改成功。
(2)、备选流
3a系统提示出错,点击“确定”按钮结束。
6a系统提示“修改失败!
请重试或与管理员联系!
”,结束。
3、特殊需求:
无。
4、前置条件:
成功“登陆”系统
5、后置条件:
无。
6、扩展点:
无。
7、相关数据:
所学课程的成绩。
8、问题说明:
无。
老师打印成绩用例
1、简要说明:
本用例描述了教师打印课程成绩。
2、事件流
(1)、基本流
1)选择课程名称和学期
2)点击“确定”按钮
3)系统显示该课程成绩该班级的所有学生成绩。
4)老师点击“打印”按钮。
(2)、备选流
3a系统提示出错,点击“确定”按钮结束。
4a系统提示“打印失败!
请与管理员联系!
”,结束。
3、特殊需求:
无。
4、前置条件:
成功“登陆”系统
5、后置条件:
无。
6、扩展点:
无。
7、相关数据:
所学课程的成绩。
8、问题说明:
无。
管理员录入学生用例
1、简要说明:
本用例描述了管理员录入学生信息。
2、事件流
(1)、基本流
1)管理员点击录入学生信息功能按钮。
2)在跳转的界面上,完成对学生信息的录入工作。
3)点击“提交”按钮。
4)界面提示“提交成功”。
(2)、备选流
3a系统提示出错,点击“确定”按钮结束。
3、特殊需求:
无。
4、前置条件:
成功“登陆”系统
5、后置条件:
无。
6、扩展点:
无。
7、相关数据:
学生信息
8、问题说明:
无。
管理员编辑学生用例
1、简要说明:
本用例描述了管理员编辑学生信息。
2、事件流
(1)、基本流
1)管理员点击查询学生信息功能按钮。
2)系统跳转到学生列表界面,管理员在要修改信息的学生那栏点击“编辑”。
3)管理员在跳转到学生详细信息页面上,对学生信息进行修改。
4)点击“提交按钮”。
5)界面提示“提交成功”。
(2)、备选流
2a系统提示出错,点击“确定”按钮结束。
5a系统提示“提交失败!
请重新尝试或与管理员联系!
”,点击“确定”按钮结束。
3、特殊需求:
无。
4、前置条件:
成功“登陆”系统
5、后置条件:
无。
6、扩展点:
无。
7、相关数据:
学生信息
8、问题说明:
无。
管理员删除学生用例
1、简要说明:
本用例描述了管理员删除学生信息。
2、事件流
(1)、基本流
1)管理员点击查询学生信息功能按钮。
2)系统跳转到学生列表界面,管理员在要修改信息的学生那栏点击“删除”。
3)系统提示“确定要删除学生信息吗?
这操作不可撤销!
”
4)点击“确定”。
5)界面提示“删除成功”。
(2)、备选流
2a系统提示“加在页面出错!
”,点击“确定”按钮结束。
4a点击“取消”按钮,结束。
5a系统提示“删除失败!
请重新尝试或与管理员联系!
”,点击“确定”按钮结束。
3、特殊需求:
无。
4、前置条件:
成功“登陆”系统
5、后置条件:
无。
6、扩展点:
无。
7、相关数据:
学生信息
8、问题说明:
无。
管理员的其他用例,与上面提到的几个大同小异,所以本人直选几个典型的作为说明,其他用例这里就不列出了。
2、活动图的绘制
下图是学生查询成绩的活动图
下图为老师录入学生成绩的活动图,至于老师修改学生成绩和打印成绩等功能的活动图大同小异,这里就只给出一个活动图。
感觉原来参照的报告的活动图画的并不正确,功能的并列并非活动并列。
下图为管理员录入学生信息的活动图,步骤较少,所以较为简单。
3、类图的绘制
类图的最终绘制结果要等到顺序图绘制完毕。
因为顺序图的绘制涉及到一些业务流程的处理以及一些类的方法的设置。
所以当顺序图绘制完毕,然后生成相应的方法,那么类图的效果才算完成。
本人严格按照MVC架构的设计模式,把业务分为三层处理,即表现层,控制层,实体层。
表现层的类是以action作为后缀,控制层是以service作为后缀。
类图如下:
每个类的下面第一个格子都放有该类的属性,而最底下的那个格子是用来放类的方法的。
这里方法只给出关键性的,所以不一定所有类的所有方法都会在这个类图设计中显示。
其中表现层都会对对应的控制层和实体层产生依赖。
而这里颇为重要的是Score实体类,由于它需要引用学生ID和课程ID,所以它就对Student类和Course类产生关联,对学生类表现为多重性,即一个学生对象多个成绩对象,而一个成绩对象只对应一个学生对象。
4、顺序图的绘制
以下是顺序图的绘制,本人采用了标准的MVC架构,来实现业务处理,即分为表现层(action),控制层(Service)和实体层(Entity)。
学生登陆顺序图:
学生查看成绩顺序图:
老师的登陆顺序图与学生的几乎一样,这里就不画了。
下面给出老师录入学生成绩的顺序图。
(原来参照的报告写错了,顺序图应该是老师进行特定操作的顺序图,而并非老师可以使用的功能的说明)
老师录入成绩顺序图:
老师打印学生成绩顺序图:
管理员删除老师顺序图:
还有其他的顺序图,但是也就那种画法,千篇一律。
这里就不一一给出了。
提示一下,在这里把顺序图画完之后,在方法调用那里右键->newopetation,那么在对应的类里就会添加相应的方法,而且是关键的方法。
5、合作图的绘制
这里说明一下,只要顺序图出来了,那么合作图就会出来。
顺序图侧重的是时间上对象与对象之间的调用关系和对象的生命周期。
而合作图本质上与顺序图是一样的,只是它更侧重的是对象之间的结构关系,不侧重与时间。
下面给出上面几个顺序图对应的合作图。
学生登陆合作图:
学生查看成绩合作图:
老师录入成绩合作图:
老师打印学生成绩合作图:
管理员删除老师信息合作图:
6、状态图的绘制
状态图较为简单,这里就只做简单说明。
图中的每个圆角矩形代表对象的一种状态。
黑点为起始状态,而黑点外有个圆的是终结状态。
①学生选择课程活动中学生对象状态图:
②教师管理学生成绩活动中教师对象状态图:
③管理员信息管理活动中管理员对象状态图: