UML 新编实验指导书(实验六 状态图)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
天津理工大学(华信软件学院)
实验指导书
课程名称:面向对象设计UML建模
实验六:创建状态图
适应课程:(1969216)
上机实验六:创建状态图
一. 实验目的:根据需求陈述创建应用对象的状态图。
二. 实验内容:
1.根据以下叙述,绘制“复印机”的状态图:
“未接到工作命令时,复印机处于闲置状态。接到复印命令后,转入复印状态, 完成复印后又回到闲置状态,等待命令。
若复印时发现没纸, 则进入缺纸状态. 发出警告等待装纸。装纸完成后又进入闲置状态。
若复印时发现卡纸, 则进入卡纸(故障)状态。发出警告等待排除故障。故障排除后又进入闲置状态。”
2. 绘制“学生选课系统”中课程(Course)对象的状态图.
经过需求分析,Course对象有以下状态:
〃创建(Created)
〃添加到数据库中(in database)
〃课程(在数据库中)被删除(Deleted)
〃课程被修改(Modified)
〃课程被开设(纳入学期计划)(In Schedule)
〃不允许选修(选修人数满)(Locked)
3.绘制"一本书"在其生存周期的状态图.
经过需求分析Book对象有以下状态:
〃新书(New Book)
〃可借阅(Available)
〃已借出(Borrowed)
〃已预约(Reserved)
〃删除(Deleted)
如果在上题中再加上一个”罚款(Fine)”状态,则状态图将如何变化?
4.绘制打电话过程“电话线路”的状态图
经过需求分析电话线路对象有以下状态:(可适当增减状态)
“Idle”,“Dialing”,“Connecting”,“Ringing”,“Connected”,“Disconnected”,“TimeOut”,
“Play Message”,“Busy Tone” (可以适当增减状态)
相关事件:
on hook(挂机)= hangs up,
off hook(摘机)=pickup receiver,
timeout(超时),
called phone answers(接电话),
line busy(线路忙),
routed(线路接通),
valid number(有效号码),
invalid number(无效号码),
wrong number(错码)
5.绘制”智能交通信号灯控制”的状态图。陈述如下:
交通信号灯(traffic lights)分成南北直行(N/S _ straight), 南北左转(N/S _ left), 东西直行(E/W_ straight)和东西左转(E/W _ left) 四个主要状态。规则是:
1) 任何状态下超时(timeout)均立即进行状态转换,
顺序是:直行、左转、(对方)直行、(对方)左转……;
(注:对方是指另一方向。比如东西向的对方是南北向)
2) 当处于直行状态时, 允许(右车道)汽车右转弯(turn right);
3) 处于直行(go straight)状态时, 时间到(timeout)如果左车道(left lane)
无车, 则立即转入(对方)直行状态。(换句话说,在直行时一对电子眼分别检查左车道,若无车,在转换时信号灯自动跳过“左转”状态)
*6.绘制“网上应用系统用户界面及切换设计”的状态图。陈述如下: 某应用系统包括“主界面”和“合同管理界面”、“销售管理界面”、“财务管理界面”、“物资供应管理界面”。为了使界面之间有机组合起来,特增加“登录”、“托盘图标”、“快捷菜单”等状态。请设置引起状态转换的事件并绘制状态图。(注:托盘图标即屏幕下方图标)
三.在Rose 2003下的操作步骤:
1. 右击Logical View并选New State Chart Diagram
2. 命名状态图为Course
3. 在浏览其中双击Course 出现State Chart Diagram 窗口
4. 增加状态
在工具栏中选中State 按钮,点击框图内对应位置,则出现状态图元素。给状态起名字。
5. 增加状态细节
〃双击对应状态,弹出State Specification 对话框
〃点击Action选项卡,右击框内任意一点,选Insert。这时可以设置该状态下的活动(Activity)
〃双击刚刚添加的活动,弹出Action Specification 对话框
〃在Name 文本框中可以输入动作细节。(比如Get Course Info.等。)
6. 增加过渡(转换)
〃选中工具栏中的Transition
〃从源状态到目的状态拖动一条过渡线
〃如果要增加返身过渡,使用工具栏中Transition to Self按钮
〃如果要增加过渡细节,可以双击过渡线来设置。
7. 增加开始状态及终止状态(终止状态可能没有)
8. 设置状态的字体大小、颜色等
〃右击对应的状态
〃选Format选项卡
9. 设置有关参数
〃右击过渡线,选Open Specification ,再选Detail标签。
〃可设置Guard Condition ,Action Send Argument等参数。
四. 实验结果:
1.“复印机”工作的状态图:
图6-1 “复印机”的工作状态图
2.“学生选课系统”课程(Course)对象的状态图(请同学自己完成)
注-2’“学生选课系统”课程(Course)对象的状态图的另一种表示方法如下:
3. 绘制“图书管理系统”一本书的状态图。
4. 绘制打电话过程“电话线路”的状态图。
5. 绘制”智能交通信号灯控制”的状态图。
五.评分标准
1.能正确绘制“复印机”工作状态图、“学生选课系统”课程对象状态图、“图书管理系统”中一本书的状态图、打电话过程“电话线路”的状态图、“智能交通信号灯控制”的状态图及“网上应用系统用户界面及切换设计”的状态图者,可酌情给予60-90分的成绩。
2.能有创造性发挥(比如应用子状态来绘制状态图),而且表达正确者,可得到90分以上的成绩。