第六章
/ b1 K+ G: E0 d X( W; I% y" e7 B( N5 ]. R
1、活动图的概念:活动图(activity diagram)显示了组成复杂过程的步骤序列,如工作流或算法。活动图是对系统的行为进行建模,活动图是把系统的一项行为表示成一个可以由计算机、人或其他执行者执行的活动,通过给出活动中的各个动作以及动作之间的转移关系来描述系统的行为。 7 ?/ W3 D) c$ {; |0 p
2、活动图与流程图的区别:
5 j. z* V4 R/ d8 D0 Y8 ~/ {9 \ 流程图着重描述处理过程,它的主要控制结构是顺序、分支和循环,各个处理之间有严格的顺序和时间关系;而活动图描述的则是对象活动的顺序关系所遵循的规则,它着重表现的是系统的行为,而非系统的处理过程。活动图能够表示并发活动的情形,而流程图做不到。活动图是面向对象的,而流程图是面向过程的。
" K$ P. G3 D, c0 g4 a7 N# O9 I, {& z 3、使用活动图的目的:描述一个操作执行过程中(操作实现的实例化)所完成的工作(动作);描述对象内部的工作;显示如何执行一组相关的动作,以及这些动作如何影响它们周围的对象;显示用例的实例是如何执行动作以及如何改变对象状态;说明一次业务活动中的工人(角色)、工作流、组织和对象是如何工作的。 8 p8 X9 U3 O. r$ v
4、活动图的组成: : S2 W n- T9 \7 f
1)动作是构成活动的基本单位,它是原子的、不可中断的,并在动作完成后通过完成转换转向另一个状态。
' \ S5 r" y$ \4 a, p2 R% k4 F8 j 动作的特点:动作是原子的,不可以分解成更小单位;动作是不可中断的;动作是瞬时完成的行为;动作可以有入转换,至少有一条出转换;动作不能有入口动作和出口动作;在一张活动图中,动作允许出现多次;
: K, B- D. M' i 2)活动是由一系列动作构成的,是对一项系统行为的描述。
. J& Y, G4 K) r7 O! y( S4 E 活动的特点: 活动可以分解成其他子活动或动作;活动的内部活动可以用另一个活动图来表示;活动可以有入口动作和出口动作,还可以有内部转移;
5 M/ ] T8 o2 n, m" s$ C 3)动作流
5 |4 }' N% W' s! t9 D+ G0 a 4)条件是让转移修改任何工作流的方向所必须的。
. f4 F& D& Y9 e7 G3 o5 |- I 5、顺序图:顺序图(SequenceDiagram,时序图,序列图)详细描述对象间传送消息的时间顺序,它表示用例中的行为顺序。顺序图它详细而直观地表现了一组相互协作的对象在执行一个(或少量几个)用例时的行为依赖关系,以及操作和消息的时序关系。类图对对象之间的消息(交互情况)表达不够详细;详细说明对消息的表达虽然详细,但不够直观;顺序图既详细又直观,但通常只能表示少数几个对象之间的交互。
; q* i4 v; ?- n- q$ u 2)活动对象:活动对象可以是系统的参与者或任何有效的系统对象。在活动图中对象的标记如下图所示。将对象置于时序图的顶部意味着在交互开始的时候对象就已经存在了,如果对象的位置不在顶部,那么表示对象是在交互的过程中被创建的。
$ r5 F; f9 e: ]! r: D; e: e( R5 V 生命线是一条垂直的虚线,表示时序图中的对象在一段时间内的存在。每个对象的底部中心的位置都带有生命线。 : k r! d+ K" _* {$ U
·生命线是一个时间线,从时序图的顶部一直延伸到底部,所用的时间取决于交互持续的时间。 8 h m- ~: b$ O d, y% `+ S
·对象与生命线结合在一起称为对象的生命线,对象的生命线包含矩形的对象图标以及图标下面的生命线。
4 T/ l7 u9 U+ W6 w ·如果对象在图中被创建,那么对象符号画在创建它的消息上,否则画在任何消息箭头上。如果对象在图中被撤销,那么用“×”表示撤销。 / n1 K# k. |' L4 O/ F: Q
消息定义的是对象之间某种形式的通信,它可以激发某个操作、唤起信号或导致目标对象的创建或撤销。
5 J% l6 ^7 y6 P& S# d8 J ·消息是两个对象之间的单路通信,从发送方到接收方的控制信息流。
7 O4 q% a3 Q: ~! a5 O ·消息可以用于在对象间传递参数。
8 g& E( ]4 `" } ·消息可以是信号,也可以是调用。 . L: z2 p& C6 y+ a* U7 c
/ {! G' \7 l+ t. H
·在UML中,消息使用箭头来表示,箭头的类型表示了消息的类型。 |