题目:UML系统分析设计、建模与实现学号:************姓名:***专业:计算机技术指导教师:***U M L系统分析设计与建模以简单的学生选课系统进行详细的系统分析与建模。
(一)系统用例图1.首先根据需求分析可知:管理员维护课程信息,对其进行添加、修改、删除等。
学生可以在线查询课程信息,并进行选课,也可以在规定时间内更改选修的课程。
我们发现系统中的参与者有:管理员和学生,然后从参与者的角度就可以发现系统的用例,并绘制出系统的用例图,如图1所示:12.对部分用例进行描述:“添加课程”用例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 : studentForm :FormViewcourses :Coursecontrol :Control Objectdb : database1: 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键,生成对应的合作图(在设计中,只要做成其中的一种,就可生成另一种图): 学生: 管理员courses : CourseControl : ControlObject11: Select()Form : FormView6: DisplayCourselist()图4 选课合作图1: select command()8: GrtCourseID()14:9: Select association()5: GetCourseinfo()7: Destory Course()2: GetAllcourse()13:3: Query course()10: Select association()12: Add association()4:(五)系统状态图状态图用来建模对象是如何改变其状态以响应事件和展示对象从创建到删除的生命周期。
状态图的任务就是用来描述一个对象所处的可能状态以及状态之间的转移,并给出状态变化序列的起点和终点。
以 “课程”这一对象为例,建立课程的状态图。
其它对象的状态图不再叙述。
created entry/ GetCourseinfomodified exit/ Update Database ...in scheduleinDatabasedeleted exit/ Update Database ...Lockedcreat course add coursemodify coursedelete course[ students<maxnumber ][ students=maxnumber ][ students=maxnumber ]after this term 图5 课程对象的状态图(六)系统类图建立学生选课系统详细的类图,正确分析类间的关系以及它们在UML中的表示。
对类正确分析是画好类图的关键,类的属性,操作的定义要恰当,各个类间的关系准确才能画出完整的正确类图。
1.系统中设计了界面类,课程类;角色有student,register,people,database。
分析这些类和角色之间的关系,画出详细的类图。
2.得到详细的类图如图6:学生选课系统使用说明书配置源程序附加数据库2005(1)打开SQL Server 2005(该应用程序中我以SQL Server身份登录),然后展开本地服务器,在“数据库”数据项上单击鼠标右键,在弹出的快捷菜单中选择“附加”菜单项。
(2)将弹出“附加数据库”对话框,在该对话框中单击【】按钮,选择所要附加数据库的db_xuanke.mdf文件,单击【确定】按钮,即可完成数据库的附加操作。
(3)打开visual studio 2008,找到“服务器资源管理器”,“添加链接”,在“链接到一个数据库”选项下选择名为db_xuanke文件,点击“测试链接”,链接成功,确定即可。
使用说明系统介绍本系统属于小型简单的学生选课系统,可以有效地对学生选课进行管理,本系统应达到以下目标:●系统采用人机交互的方式,界面美观友好,信息查询灵活、方便,数据存储安全可靠。
●实现教师进行添加,删除,修改,查询课程及基本设置;学生选课,查询自己已选课程等操作,以及教师,学生查看全体选课情况等。
●对输入的数据,进行严格的数据检验,尽可能的避免人为错误。
●系统应最大限度地实现易维护性和易操作性。
操作注意事项(1)本系统教师名为:yang,密码为:111。
学生先注册,才能登录系统。
(2)本系统共分为两种操作权限,分别为学生,教师:●学生:可以对学生,工具,帮助,退出菜单,及窗口布局“打开”进行使用操作。
●教师:可以对除“学生”菜单和“打开”功能外的所有菜单进行管理操作。
(3)教师可以设置选课截止时间,学生选课总学分上限进行相关设置。
(4)当学生进行选课后,主窗口立即显示全体选课情况的更新。
操作流程(1)启动系统,进入登录界面。
如图1.1所示图1.1(2)若是学生登录系统,应先进行注册,然后才能登录系统。
注册功能的界面如图 1.2所示。
(这里我实现如果注册成功,用户名自动显示在登录窗体的“用户名”文本框中)图1.2(3)用户输入用户名及密码,根据不同的权限进入不同的操作界面,如图1.3图1.3(4)当以教师身份进入系统后,进行添加,删除,修改等相关操作,如图1.4图1.4(5)教师可以对选课信息进行相关的设置,如图1.5图1.5(6)当已学生身份进入系统时,学生可进行选课,其选课的日期,总学分已被设置。
(同时,该界面也显示了用户已选的所有课程)如图1.6图1.6(7)查询自己已选课程时,可选择“学生”菜单的“查询已选课程”,或者直接单击右下角的“打开”按钮进行查询。
如图1.7图1.7(8)在“工具”菜单中,可进行万年历,计算器,截图工具操作。
万年历窗体如图1.8图 1.8其它操作在这里就不在累述了。
大致的使用说明就介绍到这里。