《面向对象与UML》实验报告实验一UML建模基础一、实验目的1.熟悉UML建模工具Rational rose的可视化环境。
2.掌握利用Rational rose进行建模的步骤。
二、实验内容1.熟悉Rational rose建模环境2.建模基本步骤退出系统用例编号:UC01用例名称:登陆系统简要说明:成功打开服务器,并登陆系统主要参与者:学生前置条件:学生成功打开服务器后置条件:成功登陆系统基本事件流:1.输入帐号2.输入密码3.点击确认键系统校验4.系统确认,学生成功登陆系统扩展事件流:3a.系统校验失败,系统提示重新输入帐号密码或放弃登陆系统3a1)学生重新输入帐号密码转到第4步3a2)放弃登陆,终止操作用例编号:UC02用例名称:成绩查询简要说明:完成查询成绩信息参与者:学生前置条件:学生成功登陆系统后置条件:成功查询到成绩基本事件流:1.学生向系统发出查询成绩请求2.选择要查询的科目,系统校验3.成功查询到成绩信息扩展事件流:2a.系统校验失败,系统提示重新选择输入科目信息或放弃查询2a1)学生重新输入科目信息,转到第三步2a2)放弃查询,终止操作用例编号:UC03用例名称:退出系统简要说明:完成退出系统操作主要参与者:学生前置条件:学生已成功登陆系统后置条件:学生成功退出系统基本事件流:1.点击退出系统按钮2.成功退出系统用例编号:UC05用例名称:找回系统密码简要说明:完成找回密码功能参与者:学生前置条件:成功打开服务器,密码丢失后置条件:成功找回密码基本事件流:1.点击找回密码按钮2.输入新密码3.重新输入新密码,系统校验4.系统完成校验,密码成功找回扩展事件流:3a.系统校验失败,系统提示两次输入密码不符,请重新输入。
转到步骤4。
3.结合日常生活中实际使用的系统,模仿2中的用例模型绘制用例图,并保存模型,熟悉利用Rational rose的建模过程,要求绘制的用例图中用例与2中的用例图不相同。
删除菜式用例编号:UC01用例名称:订餐简要说明:完成订餐,并提交主要参与者:员工前置条件:员工成功登陆系统后置条件:完成订单,并提交信息基本事件流:1.员工向系统提出订单请求2.选择食物3.确认,系统校验订餐信息4.系统确认订餐成功扩展事件流:3a.订餐信息校验失败,系统提示重新订餐或放弃订餐。
3a1).员工重新录入订餐信息转到第4步3a2).放弃订餐,终止操作。
用例编号:UC02用例名称:取消订单简单说明:取消订单信息,并提交参与者:员工前置条件:成功登陆系统,找到订单信息后置条件:成功取消订单信息基本事件流:1.员工向系统提出取消订单请求。
2.确认,系统校验订单信息3.订单取消成功,终止操作用例编号:UC03用例名称:编制菜单简要说明:完成菜单编制,并存档参与者:柜台前置条件:正确成功登陆系统后置条件:成功编制菜单,并存档基本事件流:1.柜台向系统发送编制菜单请求2.编制菜单信息3.确认,系统校验菜单信息4.系统确认新增图书,并自动存档用例编号:UC04用例名称:打印订餐名单简要说明:完成打印参与者:柜台前置条件:成功登陆系统,有订餐信息后置条件:成功完成订餐名单打印基本事件流:1.向系统发出打印信息请求2.选择打印名单3.确认,完成打印用例编号:UC05用例名称:增加菜式简要说明:完成增加菜式信息参与者:前台前置条件:前台正确成功登陆系统后置条件:成功录入新增菜式,并存档基本事件流:1.前台向系统发出新增菜式请求2.录入菜式信息3.确认,系统校验菜式信息4.系统确认新增菜式,并自动存档扩展事件流:3a.菜式信息校验失败,系统提示重新录入菜式信息或放弃新增菜式3a1).前台重新录入菜式信息,转到第4步用例编号:UC06用例名称:修改菜式简要说明:完成修改菜式信息参与者:前台前置条件:前台正确成功登陆系统后置条件:成功修改菜式,并存档基本事件流:1.前台向系统发出修改菜式请求2.录入菜式信息3.确认,系统校验菜式信息4.系统确认修改菜式,并自动存档扩展事件流:3a.菜式信息校验失败,系统提示重新录入菜式信息或放弃修改菜式3a1).前台重新录入菜式信息,转到第4步用例编号:UC07用例名称:删除菜式简要说明:完成删除菜式信息参与者:前台前置条件:前台正确成功登陆系统后置条件:成功删除菜式信息,并存档基本事件流:1.前台向系统发出删除菜式请求2.确认,系统校验菜式信息3.系统确认新增菜式,并自动存档扩展事件流:2a.菜式信息校验失败,系统提示重新选择删除菜式信息或放弃删除菜式2a1).前台重新选择删除菜式信息,转到第3步2a2).放弃删除菜式,终止操作实验二用例图一、实验目的1.熟悉UML用例图的基本图形元素。
2.掌握用例与用例之间的各种关系。
3.熟悉针对具体场景使用例图进行软件建模的方法。
4.掌握用例规格说明的概念和基本结构,以及用例规格说明的作用。
二、实验内容1.根据实验一建模实例,熟悉利用Raional rose软件绘制用例图的基本方法。
2.通过对“学生信息管理系统”的需求描述,确定系统用例图:“学生信息管理系统”的需求描述如下:•在每个新学年开始都会有新生入学,这时系统的管理人员可以通过系统将这些新生的学籍、年龄、家庭住址、性别、身高、学生证号、身份证号等基本信息存入数据库,每个新生都对应一个唯一的编号,此编号可以是学生,在日程管理中,系统管理员还可以对所有学生的基本信息进行查询、修改和删除等操作;同时校领导可以查询、修改全校所有学生的基本信息。
•学校领导可以通过本系统了解每个班的任课教师、辅导员、学生姓名、学生人数、专业等班级基本信息。
系统管理员可以进行查询班级基本信息、添加班级、修改班级基本信息、删除班级等操作。
•在考试结束以后,教师可以将学生的考试成绩录入系统,还可以对学生的成绩进行查询和修改。
学生可以通过本系统进行成绩的查询。
•学生还可以在网上选择自己选修的课程(必修课必须上,所以不用选),学生通过本系统可以看到有哪些课程可以选以及课程的基本信息。
课程的基本信息包括:课程号、所属专业、课程名称、开课学期、学时数、学分、任课教师等。
每个学生每学期的选修课程数不得大于6门,如果已经选择了6门课程则不能再选择其他课程。
只有将已选择的课程删除掉才能再选择新课程。
系统管理员负责修改、增加、删除选修课程。
•系统管理员可以对系统的账号进行添加、设置、删除、查询等操作,同时可以设置每个账号的权限以及对应的个人信息。
a)请根据上述描述,确定系统的参与者b)确定系统的用例并绘制完整的用例图。
学生信息管理系统删除学生信息班级管理系统添加班级成绩管理系统学生修改成绩课程管理系统删除已选课程账号管理系统删除账号信息3.根据2中所绘制的“学生信息管理系统”用例图,写出学生“选择课程”用例的用例规格说明。
用例编号:UC10用例名称:选择选修课程简要说明:完成选择选修课程,并提交存档参与者:学生前置条件:成功登陆了选课系统,并且本学期的已选课程少于6门。
后置条件:成功选择课程,并提交存档基本事件流:1.学生向系统发送选课请求2.选择选修的课程3.确认,系统校验信息4.系统确认学生成功选择课程扩展事件流:3a.信息校验失败,系统提示重新选择课程3a1)学生重新选择信息,转到第4步3a2)学生放弃选择课程,结束操作4.考虑一个网络订餐系统的需求,并绘制出完整的用例图。
备餐实验三类图一、实验目的1.熟悉UML中类的定义和图形符号。
2.掌握类与类之间的各种关系代表的含义及表示方法。
3.掌握类图的绘制方法。
4.了解对象图的绘制方法。
二、实验内容1.按照如下操作要求,绘制图书管理系统各类图,掌握绘制类图的步骤:实验结果:2.根据以下描述画出类图,并注明多重性关系(省略类的属性和关系):(1)实验内容一个学生可以选修多门课程,也可能没有任何课程;一门课程可以被多个学生选修;一个老师可以教多门课程或者不教课;每门课程至少有一个老师,也可以有多个老师任教;每门课程可以有0或1本教材,每本教材只能用于一门课程。
(2)实验结果3. 根据下面的代码画出Course 类的类图,要求标明各属性的类型和可见性以及类方法。
4.实验结果:5. 根据以下描述,画出相应的UML 类图:实验内容:(1) 神舟六号飞船是神州飞船系列的一种,它由轨道舱、返回舱、推进舱和逃逸救生塔等组成。
(2) 航天员可以在返回舱内驾驶飞船,轨道舱是航天员工作和休息的场所。
在紧急的情况下,颗粒利用逃逸救生塔逃生。
(3) 在飞船两侧有多个太阳能电池翼,可以为飞船提供电能。
实验结果:神州飞船推进舱逃逸救生塔太阳能电池翼神州六号飞船*1返回舱轨道舱航天员驾驶工作和休息6. 在下图中最上面的对象的名称是什么?该图表示的意思是什么?图3.6 对象图对象名称:China意思:中国有福建省和四川省7.针对实验二中的“学生信息管理系统”绘制类图,要求注明类间的关系以及每个类应有的属性和方法(省略属性的类型以及方法的返回值、参数)。
实验四状态图一、实验目的1.掌握状态的定义和组成部分。
2.掌握UML中状态的表示方法。
3.掌握转换的定义及转换的5要素。
4.解触发事件、监护条件、动作的定义。
5.掌握阅读和绘制状态图的方法。
二、实验内容1.阅读计算机线程的状态图,完成下列问题。
图1 状态图(1)该图中线程有几种状态?分别是什么?该线程有三种状态,分别是就绪态,运行态,阻塞态。
(2)请使用文字描述线程的基本运行过程。
开始处于就绪状态,取得cpu时间后进入运行状态。
若时间片用完但线程未运行完,回到就绪状态;若运行过程中不满足所需资源,进入阻塞状态;满足资源后回到就绪状态。
处于运行状态的线程在时间片用完之前运行完成则结束线程。
2.根据问题描述,完成电梯状态图绘制。
电梯开始处于空闲状态(idle),当有人按下按钮要求使用电梯时(事件is required发生),电梯进入运行状态(run)。
如果电梯的当前楼层比想要的楼层高时(监护条件[currentFloor>desiredFloor]成立),电梯进入下降状态(moving down);反之,如果电梯的当前楼层比想要的楼层低时(监护条件[currentFloor<desiredFloor成立]),电梯进入上升状态(moving up);如果电梯的当前楼层与想要的楼层相同时(监护条件[else]成立),电梯门打开(door open)。
在电梯上升或下降期间,每经过一个楼层就判断监护条件(currentFloor=desiredFloor)是否成立,若不成立,继续移动,若成立,就进入停止状态(stop),15秒后,电梯门自动打开(door open),2分钟后,电梯门自动关上(door close),如果有更多的电梯使用请求,进入运行状态(run),反之,则进入空闲状态(idle)。