实验四 状态图和活动图
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验四状态图和活动图(2学时)
[实验目的]
掌握状态图、活动图的绘制方法。
[实验内容]
用Rose绘制图书馆管理系统的状态图与活动图。
[实验要点及说明]
一、状态图建模技术建模。
状态图一般用于对系统中的某些对象,比如类、用例和系统的行为建模。建模的时候要找出对象所处的状态、触发状态改变的动作,以及对象状态改变时应执行的动作。具体的建模步骤如下:
①找出适合用模型描述其行为的类。
②确定对象可能存在的状态。
③确定引起状态转换的事件。
④确定转换进行时对象执行的相应动作。
⑤对建模的结果进行相应的精化和细化。
实例——图书馆管理系统的状态图
1.使用Rational Rose绘制状态图的步骤。
①创建状态图。
在浏览器窗口中,在“Logic View”的图标上单击鼠标右键,在弹出的菜单中选择New →Statechart Diagram。点击菜单项后,在“Logic View”目录下创建“State/Activity Model”子目录,目录下是新建的状态图“New Diagram”的图标,右键单击此图标,在弹出的菜单中选择Rename菜单项,可以更改新创建的状态图的名字。
双击状态图图标,出现状态图的编辑区和编辑工具栏。
②状态图工具栏按钮简介。
状态图工具栏中各个按钮的图标及其作用如图4-1所示。
③加入开始状态和终止状态。
状态图中可以加入两个特殊的状态:开始状态和终止状态。
开始状态在图中显示为实心圆,点击工具栏中的开始状态图标,然后在绘制区域要绘制开始状态的地方单击鼠标左键就可以加入开始状态。
终止状态的加入方法与开始状态相同。
④增加状态。
增加状态的步骤如下:
增加状态。点击工具栏中的状态图标,然后在绘制区域要绘制状态的地方单击鼠标左键。双击状态图标,在弹出的对话框中可设置状态的属性。
图4-1 状态图工具栏各个按钮的图标及作用
⏹增加入口动作。入口动作是对象进入某个状态时发生的动作,进入动作在状态内显示,前面有“Entry/”前缀。添加入口动作可以在状态属性对话框里进行:点击对话框的“Actions”选项卡,在空白处单击鼠标右键,在弹出菜单中选择Insert菜单项。
接着,双击出现的动作类型“Entry/”,在出现的对话框的“When”选项的下拉列表中选择“On Entry”,在“Name”选项中填入动作的名字。
点击“OK”按钮,退出此对话框,然后再点击属性设置对话框的“OK”按钮,状态图的入口动作就添加完成。
⏹增加出口动作。出口动作与入口动作相似,不过它在对象退出某个状态时发生。它的添加方法也和入口动作相似,只不过在“When”选项的下拉列表中选择“On Exit”。
⏹增加活动。活动是对象在特定状态时进行的行为,活动与入口动作/出口动作不同,活动是可以中断的。增加活动与增加入口动作和出口动作类似,只要在“When”选项的下拉列表中选择“Do”即可。
⑤增加转换。
转换是从一种状态到另一种状态的过渡,在UML中转换用一条带箭头的直线表示。增加转换的步骤如下:
⏹加入转换图标。转换要在两个状态之间进行,要增加转换,首先点击工具栏中的图标按钮,然后单击转换的源状态,即转换开始的状态,向目标状态拖动一条直线。
⏹增加事件。事件导致对象从一种状态变到另一种状态。在框图中,事件可以用操作名和有意义的字符串表示。要增加事件,可以双击转换的图标,在出现的对话框的“General”选项卡里增加。在此对话框中,可以在“Event”选项
中添加触发转换得事件,在“Argument(参数)”选项中添加事件的参数,还可以在“Document”选项中对事件的描述。
⏹增加动作。动作是转换过程中发生的不可中断的行为,大多数动作要在转换时发生。要增加动作,可以双击转换的图标,在出现的对话框中选择“Detail”选项卡,在“Action”选项中填入要发生的动作。
⑥增加历史状态。
状态图的绘制过程中有时要使用历史状态。历史状态的添加方法如下:
⏹双击要添加历史状态的状态,在打开的对话框中选择“General”选项卡。
⏹将左下角的“State/Activity History”复选框勾选,就可以增加历史状态
了。
2.图书馆管理系统中的状态图。
在图书馆管理系统中,有明确状态转换的类包括:书籍和借阅者的账户(相当于包含特定个人信息的电子借阅凭证)。可以在系统中为这两类事物建立状态图。
①书的状态图(如图4-2)。
图4-2 书的状态图
[状态图说明]
⏹New book:还未入库的新书。
⏹Delete:已经从书库里删除的书。
⏹Available:书籍处于可用状态,即可以外借的状态。
⏹Reserved:预订状态。
⏹Borrowed:借出状态。
②借阅者账户的状态图(如图4-3)。
图4-3 借阅者账户的状态图
[状态图说明]
⏹New Borrow:新加入的借阅者的账户。
⏹Account Available:借阅账户为可用状态,即未达到所规定的书籍借阅数目
的上限。
⏹Account Unavailable:借阅账户为不可用状态,即所借的书籍数已达到规定
的书籍借阅数目上限,不能再借阅书籍了。
⏹Delete Account:个人账户被删除状态。
二、活动图建模技术
活动图是UML用于对系统的动态行为建模的另一种常用工具,它描述活动的顺序,展现从一个活动到另一个活动的控制流。活动图在本质上是一种流程图。
用活动图对工作流建模可遵循如下步骤:
①识别要对其工作流描述的类或对象。
②确定工作流的初始状态和终止状态,明确工作流的边界。
③对动作状态或活动状态建模。
④对动作流建模。
⑤对对象流建模。
⑥对建立的模型进行精化和细化
实例——图书馆管理系统的活动图
1.使用Rational Rose绘制活动图的步骤。
①创建活动图。
在浏览器窗口中,在“Logic View”的图标上单击鼠标右键,在弹出的菜单中选择New →Activity Diagram。点击菜单项后,在“Logic View”目录下创建“State/Activity Model”子目录,目录下是新建的活动图“New Diagram”的图标,右键单击此图标,在弹出的菜单中选择Rename菜单项,可以更改新创建的活动图的名字。
[注意] 此时创建的State/Activity Model模块和新建状态图时创建的模块