学生选课系统完整的UML建模
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
题目:UML系统分析设计、建模与实现学号:100430112022
姓名:杨家建
专业:计算机技术
指导教师:舒远仲
U M L系统分析设计与建模
以简单的学生选课系统进行详细的系统分析与建模。
(一)系统用例图
1.首先根据需求分析可知:管理员维护课程信息,对其进行添加、修改、删除等。学生可以在线查询课程信息,并进行选课,也可以在规定时间内更改选修的课程。我们发现系统中的参与者有:管理员和学生,然后从参与者的角度就可以发现系统的用例,并绘制出系统的用例图,如图1所示:
图1 学生选课系统用例图停开课程
删除课程
2.对部分用例进行描述:
“添加课程”用例
1)用例名:添加课程
2)执行者:管理员
3)目的:管理员通过系统界面进入,添加所要开设的课程,确认无误后将其信息保存到数据库中,以供学生选择。
4)过程描述:
5)管理员选择进入管理界面,用例开设
6)系统提示输入管理密码
7)管理员输入密码
8)系统验证密码
9)A1:密码错误
10)进入管理界面,系统显示目前所建立的全部课程信息
11)管理员选择添加课程
12)系统提示输入新课程信息
13)管理员输入信息
14)系统验证是否和已有的课程冲突
15)A2:有冲突
16)10)系统添加新课程,提示课程添加成功
17)11)系统重新进入管理界面,显示所有课程
18)12)用例结束
19)异常事件流处理:
20)A1:密码错误:1)系统提示再次输入。2)用户确认后进入第5)步。
21)A2:有冲突:1)系统提示冲突,显示冲突的课程信息。2)用户重新输入,验证无误后进入第10)步。
“选课”用例
1)用例名:选课
2)执行者:学生
3)目的:学生进入选课系统界面,浏览的课程,最后选择一门自己喜欢的课程并提交。
4)过程描述:
5)1)学生进入选课登录界面,用例开始
6)2) 系统提示输入学号与密码
7)3) 学生输入学号与密码
8)4)系统验证
9)A1:验证错误
10)5) 进入选课主界面
11)6)学生点击选课
12)7)系统显示所有课程信息
13)8)学生选择课程
14)9)系统验证课程是否可选
15)A2:不可选
16)10)系统提示课程选择成功
17)11)用例结束
18)异常事件流处理:
19)A1:验证错误:1)系统提示验证错误,提示重新输入。2)验证成功,进入第5)步
20)A2:不可选1)系统提示课程不可选及原因。2)学生重新选课。3)验证成功后进入第10)步
“修改”用例
1)管理员选择进入管理界面,用例开设
2)系统提示输入管理密码
3)管理员输入密码
4)系统验证密码
A1:密码错误
5)进入修改主界面,系统显示目前所建立的全部课程信息
6)管理员选择要修改的课程
7)是否确定修改该课程
A2:不修改
8)系统显示全部课程信息
9)管理员输入新信息
10)验证是否有课程冲突
A3:冲突
11)系统修改课程,提示修改成功
12)系统重新进入主界面,显示所有课程
13)用例结束
异常事件流处理:
A1:密码错误:1)系统提示再次输入。2)用户确认后进入第5)步。
A2:不修改:1) 系统提示重新选择。2)用户确认后进入第8)步。
A3:有冲突:1)系统提示冲突,显示冲突的课程信息。2)用户重新输入,验证无
误后进入第
11)步。
(二)系统活动图
活动图实际上也是一种流程图,它描述活动的序列,即系统从一个活动到另一个活动的控制流。所以常用活动图来进一步描述用例的具体功能实现流程,比文字描述跟形象直观,能够更准确地理解具体实现要求。
以“增加课程”用例为例,建立系统的活动图。其它用例的活动图不在叙述。
1.对“增加课程”用例进行分析,描述完成该操作所需要的活动。首先从“输入课
程各项信息”开始,在输入工作完成后,进入业务逻辑界面的“验证课程”活动,然后进行“创建课程对象”活动,并输入“在数据库中查询课程”,查看数据库中是否已存在该课程。根据查询的结果“判断增加课程是否合法”,如果不合法(如重名等),提示“重新输入”返回到“输入课程各项信息”;如合法,则在数据库中正式增加这个对象。最后进行“判断添加是否成功”,如果成功,返回用户界面“显示添加成功信息”提示用户活动结束:如失败,“显示添加失败信息”,提示任务没有完成,活动结束。
2.根据对“增加课程”用例的分析,画出其活动图,如图2:
输入课程各
项信息
提示重新输入
[不合法]
显示添加成功信息
显示添加错
误信息[成功]
验证课程
创建课程对
象
判断添加课
程是否合法
[合法]
判断添加课
程是否成功
[失败]
在数据库中
查询课程
在数据库中
添加该课程
数据库接口
业务逻辑接口
用户接口
(三)系统顺序图
顺序图注重的是消息的时间顺序,它描述对象间的交互行为。而合作图强调对象间关系,这两种图可以有效地帮助我们观察和分析系统的交互行为。
以“选课”用例为例,建立系统的顺序图。其它用例的顺序图不再叙述。
1.首先,查找“选课”用例的对象,它涉及到课程,界面,控制对象。设计的角色有student,database。然后通过选课事件流具体分析对象与角色之间的交互的消息。
2.根据以上分析,可以得到的顺序图如图3:
stu : student
Form :
FormView
courses :
Course
control :
Control Object
db : database
1: select command()2: GetAllcourse()
3: Query course()
6: DisplaycourseList()
7: Destory course() 8: GetcourseID()4:
5: GetcourseInfo()
9: Query association()10: Query association()
11: Select()
12: Add association()
13:
14:
select course的顺序图
(四)系统合作图
根据上述建立的顺序图,选中它然后按下F5键,生成对应的合作图(在设计中,只要做成其中的一种,就可生成另一种图)