第十章 面向对象模型(二)
4、设计协作图
1)OOM中的协作图非常有用,它说明了角色、对象之间的通信连接,以及它们之间的消息发送。
协作图可以用来说明一个操作的执行,一个用例的执行,或仅仅是系统中某一环节的接口。它设计了对象之间交互的一个实例。
2)协作图与时序图传达的信息是相同的,它们之间的主要区别是协作图机制在活动着的对象上,它表现的是相互协作的对象之间的消息传递,而时序图则侧重于在某种特定的情形下对象之间传递消息的时序性。
协作图中的对象与对象图、时序图中的对象相同。
协作图中的角色的定义、特性与用例图、时序图中的角色完全一致,并且角色还可以在协作图、用例图和时序图*享。
3)协作图转换为时序图
有两种方法:
(1)在同一个包中创建一个与已存在的协作图同一级别的时序图,右键单击时序图图形窗口的空白处,从弹出菜单中选择diagram->Show Symbols,从打开的窗口选择协作图对象。
(2)在协作图中选择菜单Tools->Execute Commands->Edit/Run scripts,在打开的窗口,单击open,再次打开一个窗口,选择/POWERDESIGNER12/VBScript文件夹的CollaborationToSequence.vbs文件,执行它。
5、设计状态图
1)状态图描述了一个特定的对象在其生命周期内所有可能的状态,以及由于各种事件发生而引起的状态之间的转移。
子状态图描述了一个状态的分解情况,它详细描述了父状态的复合行为。
系统对子状态图中的每个元素都要进行完整性检查。
子状态图中不允许创建包。
2)状态图转变为符合状态
用于描述处于复杂状态的相互联系。
3)定义起始状态:符号是一个实心圆点。
4)定义状态的动作:在状态属性中设置。
预先定义的动作事件有:entry、do、exit。
动作既可以与状态State关联,也可以与转移Transition关联。
(1)在状态State上创建动作
(2)在转移Transition上创建动作:即在属性Trigger Action中,键入动作的名称。
5)定义转移Transition
6)定义事件
预先定义的动作事件有:entry、do、exit。
7)定义连接点
连接点Junction Point可用来合并和分离几个转移的路径。
连接点的图形符号是一个空心的圆圈。
8)定义结束状态:状态的终节点,用一个圆圈中间一个实心圆点来表示。
一个状态图允许有多个结束状态,可用来分别表示不同情况的分支节点。
6、设计活动图
1)活动图Activity Diagram 主要用于系统分析,它描述系统的行为,显示系统中动作之间的转移。
活动图一般从开始节点开始,经过若干动作后,最后到达结束节点。
活动图是简化的状态图,重点说明了活动间经过的操作和过程。
活动Activity只有一个动作Action,活动的转移有一个相应的触发事件。
活动图可用来描述用例、包和类的行为,它把活动描述成正在执行的操作,活动代表了一个完整的动作,即它代表了一个类或用例内部的行为。
2)活动图可在模型或包中创建,也可在复合活动中创建子活动图。
在模型或包中创建的多个活动图之间是相互独立的。
活动图可以转换成复合活动。
3)子活动图描述一个复合活动的分解,并详细描述父活动的合成情况。
子活动图中不允许创建包。
4)活动图中的起点和终点与状态图中的起始状态和结束状态的定义、特性完全相同。
5)定义活动Activity和定义复合活动:复合活动选中(Composite)
6)定义对象状态Object State
7)对象状态的对象属性
8)定义判断
判断Decision是一种特殊的活动,可用于表示流程中的判断后各种可能的不同的活动分支。
8.1)定义条件分支
可连接多个转移。
8.2)定义归并
用归并可表示几个转移分支进入同一条路径的情况。
9)定义同步
同步表示两个或多个病发活动之间的同步。
同步用一条水平的粗实线裱糊四,且可以旋转成水平或垂直方向。
同步分:
(1)分叉同步:一个源活动被几个目标活动取代的过程。
(2)汇合同步:几个源活动被一个目标活动取代的过程。
10)定义组织单元
组织单元Organization Unit可以代表一个公司、系统、组织、用户或角色等。