UML 新编实验指导书(实验六 状态图)

更新时间:2024-02-29 08:44:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

天津理工大学(华信软件学院)

实验指导书

课程名称:面向对象设计UML建模

实验六:创建状态图

适应课程:(1969216)

天 津 理 工 大 学 华 信 软 件 学 院 2

上机实验六:创建状态图

一. 实验目的:根据需求陈述创建应用对象的状态图。 二. 实验内容:

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(有效号码),

天 津 理 工 大 学 华 信 软 件 学 院 3

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. 设置有关参数

天 津 理 工 大 学 华 信 软 件 学 院 4

〃右击过渡线,选Open Specification ,再选Detail标签。 〃可设置Guard Condition ,Action Send Argument等参数。 四. 实验结果: 1.“复印机”工作的状态图:

图6-1 “复印机”的工作状态图

2.“学生选课系统”课程(Course)对象的状态图(请同学自己完成)

注-2’“学生选课系统”课程(Course)对象的状态图的另一种表示方法如下:

Modify Course Finished in database Delete course Create Modified [Students=Max] deleted Delete After this term in Schedule [Students=Max] Locked

3. 绘制“图书管理系统”一本书的状态图。 4. 绘制打电话过程“电话线路”的状态图。 5. 绘制”智能交通信号灯控制” 的状态图。 五.评分标准

1.能正确绘制“复印机”工作状态图、“学生选课系统”课程对象状态图、“图书管理系统”中一本书的状态图、打电话过程“电话线路”的状态图、“智能交通信号灯控制”的状态图及“网上应用系统用户界面及切换设计”的状态图者,可酌情给予60-90分的成绩。

2.能有创造性发挥(比如应用子状态来绘制状态图),而且表达正确者,可得到90分以上的成绩。

本文来源:https://www.bwwdw.com/article/zmma.html

Top