1、实验五 状态图建模及表示一、目的和要求:1、掌握状态图的建模方法2、掌握状态图中出现的建模元素的画法3、掌握状态图的基本画法二、实验内容:画出状态图模型,通过建立状态图模型,加深对建立状态图所需的建模元素的认识,初步掌握其用法。1、在 Rose 2003 下,画状态图的操作步骤1) 右击 Logical View 并选 New State Chart Diagram2) 命名状态图为 Grade3) 在浏览其中双击 Grade 出现 State Chart Diagram 窗口4) 增加状态在工具栏中选中 State 按钮,点击框图内对应位置,则出现状态图元素。给状态起名字。5) 增加状态细节
2、 双击对应状态,弹出 State Specification 对话框 点击 Action 选项卡,右击框内任意一点,选 Insert。这时可以设置该状态下的活动(Activity) 双击刚刚添加的活动,弹出 Action Specification 对话框 在 Name 文本框中可以输入动作细节。 (比如 Get Course Info.等。 )6) 增加过渡(转换) 选中工具栏中的 Transition 从源状态到目的状态拖动一条过渡线 如果要增加返身过渡,使用工具栏中 Transition to Self 按钮 如果要增加过渡细节,可以双击过渡线来设置。7) 增加开始状态及终止状态(终止状
3、态可能没有)8) 设置状态的字体大小、颜色等 右击对应的状态 选 Format 选项卡9) 设置有关参数 右击过渡线,选 Open Specification,再选 Detail 标签。 可设置 Guard Condition,Action Send Argument 等参数。2、绘制“一本书”在其生存周期的状态图经过需求分析 Book 对象有以下状态: 新书(New Book) 可借阅(Available) 已借出(Borrowed ) 删除(Deleted)3、画出“教师评分系统”中的 Grade 对象的状态图根据分析,Grade 对象有以下状态: Ready(用于数据加载时) Persi
4、sting(用于数据保存时) Saved(用于数据已经保存后) Error(用于数据由于出错而未成功保存时)事件为: Save Success Failure4、画出“教师评分系统”中的 Grade 对象的进一步状态图根据分析 Grade 对象的 Persisting 状态是一个组合状态,包括以下子状态: Load Insert Update Save其中,在记录存在的情况下,可以存在 Load、Update 和 Save 状态;在记录不存在的情况下,可以存在 Insert 状态。且二者之间为并发关系。5、绘制“学生选课系统”中课程(Course)对象的状态图经过需求分析,Course 对象有
5、以下状态: 创建(Created ) 添加到数据库中(in database) 课程(在数据库中)被删除(Deleted) 课程被修改(Modified) 课程被开设(纳入学期计划)(In Schedule) 不允许选修(选修人数满) (Locked)2、根据以下叙述,绘制“复印机”的状态图未接到工作命令时,复印机处于闲置状态。接到复印命令后,转入复印状态,完成复印后又回到闲置状态,等待命令。 若复印时发现没纸,则进入缺纸状态。发出警告等待装纸。装纸完成后又进入闲置状态。若复印时发现卡纸,则进入卡纸(故障) 状态。发出警告等待排除故障。故障排除后又进入闲置状态。三、实验结果2、绘制“一本书”在其生存周期的状态图6、 “复印机”工作的状态图这里只是一种参考图,有关状态的详细描述,同学可以自己编写。 (可以使用中文描述)四、分析与讨论1、状态图中包括哪些常见的建模元素?2、对象的状态有几种类型?3、状态图的作用。