实验五设计时序图模型
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验五设计时序图模型
产生时序图的方法与产生用例图的方法类似。设计时序图时,可以在角色和对象之间、对象和对象之间定义消息。但两个角色之间一般不定义消息,如果做了定义,在检查模型时,系统会自动删除,并提出警告。如果消息的发送者和接收者是同一个对象,称为递归消息。
为建立时序图,可按以下步骤进行:
步骤1:在OOM设计窗口New对话框右侧的First diagram栏中选择Sequence Diagram (时序图) 图形类别。
步骤2:单击“确定”按钮,进入时序图设计工作区。这时,Palette面板上的时序图消息类型工具及其他基本构件工具如图5.1所示。
(1) 产生不同类型的消息
在时序图中可以定义不同类型的消息,具体方法是:
步骤1:在时序图的Palette工具面板中选择6种类型消息工具之一。
例如,在时序图设计工作区中加入一个Actor和一个Object,然后单击Message 工具,再单击消息发送者的生命线,拖动鼠标至消息接收者的生命线后释放鼠标。然后,单击右键释放Message工具。在消息的发送者和接收者的生命线间产生一条消息线(图5.2) 。
步骤2:双击消息图形符号,打开消息属性窗口,见图5.3。在Name和Code栏中输入消息的名称和代码,并在Control flow下拉列表中选择控制的类型。定义完毕后,单击“确定”按钮,返回到时序图工作区。
2 软件工程基础
Object 对象
Activation 激活
Self Massage 递归消息Self Call Message 带有激活期的递归消息Self Return Message 递归返回消息Actor 执行者
Message 消息
Call Message 带有激活期的消息Return Message 返回消息
图5.1 时序图消息类型工具图5.2 建立一条消息线
图5.3 “消息属性”窗口
其中General页的各个选项的含义是:
Sender:消息的发送者。
Receiver:消息的接收者。
Stereotype:使用的版型。该选项的默认值为空,可以通过在Model菜单中单击Extended Model Definitions…命令来定义当前PDM模型的版型。
实验10 PowerDesigner面向对象模型 3 步骤3:选择Detail属性页,如图5.4所示,可以为消息定义更详细的属性。
图5.4 Detail属性页图5.5 Destroy消息在时序图中的表现
Detail页中各个选项的含义是:
Action:完成的动作。包含4个选项,其含义如表5.1所示。
表5.1 Action选项的含义
Control flow:消息控制流的类型。包含4个选项,其含义如表5.2所示。
表5.2 Control flow选项的含义
Action选项与Control flow选项的配合情况如表5.3所示。
4 软件工程基础
表5.3 Action选项与control flow选项的配合情况
Operation:连接到消息的操作。如果消息的接收者是一个类,则此消息可以调用一个类的操作。操作可以从下拉列表框中选择,也可以通过Operation右边的Create 按钮建立一个新操作,然后从下拉列表框中选择即可。如果消息的控制流是Return,则不能连接一个操作。
Condition:通过一个布尔表达式来激活消息。例如,输入密码次数<=3次。
Begin time:消息开始的时间,用于定义约束。
End time:消息结束的时间,用于定义约束。例如,约束= (t1-t2<30秒) ,其中t1表示开始时间,t2表示结束时间。
Support delay:定义消息的传输延迟。如果支持延迟,则End time可以与Begin time不相同。
步骤4:在Palette面板单击Note工具,可以为消息增加一个注释,然后再利用Link/Extended Dependency工具,在注释和生命线上的消息矩形框之间增加一条带箭头的连线。
步骤5:如果将一个消息的Action属性设置为Create,则利用这个消息可以产生一个UML对象,除递归消息或消息的接收者是角色之外。Create消息在时序图中的表现如图5.2所示。
步骤6:如果将一个消息的Action属性设置为Destroy,则利用这个消息可以终止一个UML对象的生命线,但不是销毁对象,除消息的接收者是角色之外。Destroy消息在时序图中的表现如图5.5所示。
当使用Return Message工具,其Control flow选项设置为Return时,消息的Action 选项可以设置为Self-destroy,表示通过返回消息销毁对象自己,除消息的接收者是角色或递归消息之外。Self-Destroy消息在时序图中的表现如图5.6所示。
当消息的发送者和接收者是同一个对象时,则称该消息为递归消息。递归消息不支持Action选项为Create或Self-Destroy,也不支持Support delay选项。递归消息分为两种,一种不带激活期的;另一种是带激活期的,但要求Control flow选项的值设置为Procedure Call。
实验10 PowerDesigner面向对象模型 5
图5.6 Self-destroy消息在时序图中的表现图5.7 带有激活期的消息在时序图中的表现
步骤7:其他属性页。例如Rules用来定义规则;Dependencies用来定义依赖关系;Version Info用来显示版本信息等等。
(2) 消息的激活期
消息的激活期表示消息持续的时间,即消息所指定的动作执行所需要的时间。有些消息自带了激活期,该方法适用于Control flow的值为Procedure Call类型的消息,这是因为Procedure Call开始了这个激活期。如利用“带有激活期的递归消息”工具和“带有激活期的消息”工具创建的消息。带有激活期的消息在时序图中的表现,如图5.7所示。
步骤3:单击Object View下的Message节点,可以定义消息的显示参数,如Show name (显示名称) 、Show stereotype (显示版型) 、Show time (显示时间) 、Show condition (显示激活消息的表达式) 和Show activation attachment (显示激活期附件) 。如图5.8所示。