7-UML中的几种其他图.ppt
文本预览下载声明
* 第七章 UML中的几种其他图 通讯图 活动图 包图 7.1 通讯图 通讯图表示围绕着对象角色以及对象角色之间的链所组织的交互。 与顺序图不同: 1)通讯图表示扮演不同角色的对象之间的关系。 2)通讯图不表示作为单独维度的时间,所以交互的顺序和并发进程必须用顺序数决定。 顺序图表示执行消息的显式顺序,最好用于描述实时系统和复杂的场景。 5.2.1 概念与表示法 通信图是一种强调发送和接收消息的对象结构组织的交互图,展示围绕对象以及它们之间的连接器而组织的交互。连接器是由关联实例化的链以及通过过程参数、局部变量或全局变量而产生的对象之间的临时连接。 通讯图由对象(参与者) 、连接器以及连接器上的消息构成。这些概念及表示法与前述中的都完全相同。 为表示一个消息的时间顺序,可以给消息加一个数字前缀(从1号消息开始),在控制流中,每个新的消息的顺序号单调增加(如2,3等等)。为了显示嵌套,可使用带小数点的号码(1表示第一个消息;1.1表示嵌套在消息1中的第一个消息;1.2表示嵌套在消息1中的第二个消息;等等)。 嵌套可为任意深度。要注意的是,沿同一个链,可以显示多个消息(可能发自不同的方向),并且每个消息都有唯一的一个顺序号。 顺序图和通讯图在语义上是等价的,它们可以从一种形式的图转换为另一种。 C:Client t:Transaction p:ODBCProxysaction 《create》 SetActions(a,d,o)》 《destroy》 SetValue(d,3.4) SetValue(a,”CO”).4) {transient} c:Client t:Transaction p:ODBCProxysaction 1:create 2:setAction(a,d,o) 3:destroy 2.1:setValues(d,3.4) 2.2:setValues(a,”CO”) 上图与下图在语义上是等价的 5.2.2 建立通讯图 应遵循如下策略建立通讯图: n? 设置交互的语境,不管它是一个系统、子系统、类,还是用况的脚本。 n? 通过识别对象在交互中扮演的角色,设置交互的场所。将它们 作为图的顶点放在通讯图中,较重要的对象放在图的中央,然后放置邻近的对象。 n??? 若对象之间可能要传递消息,说明对象之间的连接器。 从引起这个交互的消息开始,然后将随后的每个消息附到适当的连接器上,恰切地设置其顺序号。并用带小数点的编号来显示嵌套。 如果需要展示消息的循环或分支,就是使用相应的表示法。 ?如果需要说明时间或空间约束,则用时间标记修饰每个消息,并附上合适的时间和空间约束。 像顺序图一样,建议一个单独的通讯图只描述一个控制流。一般来说,可能要建立许多通讯图,其中一些是基本的,另一些描述的是可选择的路径或例外情况。 可以使用包来组织一组通讯图,并给每个图起一个合适的名称,以便与包中其它图的相区别。 7.2 活动图 活动图可用于对业务过程和操作的算法建模 7.2.1 概念与表示法 活动图显示从活动到活动的流。下面详述有关的概念。 1、动作和活动 动作的定义与状态图中的是一致的。如调用另一个操作,发送一个信号,创建或撤销一个对象,或者某些纯计算(例如对一个表达式求值),都是一个动作。活动可由动作和其他活动组成,最底层的活动是由动作执行的。 在活动图中,动作和活动均具有图形表示法,且是一样的 发送邮件 审批发票 2、控制流 当动作或活动结束时,马上进入下一个动作或活动。一系列的动作和活动的执行构成了一个控制流。在图形上,用一个箭头表示从一个动作或活动到下一个动作或活动的转移 开幕式 比赛 闭幕式 控制流的分支与合并 控制流也可以是并发的。用同步条表示并发控制流的分岔和汇合。 3、对象流 定购 销售 订单 4、泳道 在对业务过程建模时,可以把活动或动作分成组,每组由特定的履行者来执行。履行者可为人员、组织或其他业务实体。把每个组分别称为一个泳道。 5、活动图 活动图是展示从动作或活动间的控制流和对象流的图,其中的结点描述动作或活动,边描述控制流或对象流。 一般用它对计算过程中的步骤建模,也可用它对步骤间的数值的流动建模。上述的计算过程可为业务过程,也可为操作的算法。注意,顺序图强调对象间的控制流,而活动图强调的是活动间的控制流。
显示全部