行为图包括活动图和状态图,那么下面我们先来介绍一下活动图。
Ø 什么是活动图
u 详细定义
活动图是UML用于对系统的动态行为建模的另一种常用工具,它描述活动的顺序,展现从一个活动到另一个活动的控制流。活动图在本质上是一种流程图。活动图着重表现从一个活动到另一个活动的控制流,是内部处理驱动的流程。主要用于以下情况:
1.交互图强调的是对象到对象的控制流,而活动图则强调的是从活动到活动的控制流。
2.活动图是一种表述过程基理、业务过程以及工作流的技术。
3.它可以用来对业务过程、工作流建模,也可以对用例实现甚至是程序实现来建模。
u 基本元素
1.活动状态(Action state)
2.活动状态之间的转移(transition)
3.判断(decisions)
——一种表示判断决策的特殊活动。
4.保证条件(guard conditions)
——只有保证条件为真时转移才发生
5.同步条(synchronizationbar)
——一种表示活动之间的同步的特殊活动。
6.起点和终点
——起点有且只有一个,终点可以一个或者多个。
7.泳道(swimlane)
u 图符
起始状态
终止状态
状态迁移
决策点
同步条
黑条就是同步条
泳道(重点)
1.泳道表明每个活动是由哪些人或哪些部门负责完成。
2.每个泳道代表特定含义的状态职责的部分。在活动图中,每个活动只能明确的属于一个泳道,泳道明确的表示了哪些活动是由哪些对象进行的。
3.每个泳道都有一个与其他泳道不同的名称。
4.每个泳道可能由一个或者多个类实施,类所执行的动作或拥有的状态按照发生的事件顺序自上而下的排列在泳道内。
5.用于对活动图中的活动进行分组,用于描述对象之间的合作关系。
Ø 绘制步骤
⑴ 识别要对工作流描述的类或对象。找出负责工作流实现的业务对象,这些对象可以是显示业务领域的实体,也可以是一种抽象的概念和事物。找出业务对象的目的是为每一个重要的业务对象建立泳道。
⑵ 确定工作流的初始状态和终止状态,明确工作流的边界。
⑶ 对动作状态或活动状态建模。找出随时间发生的动作和活动,将它们表示为动作状态或活动状态。
⑷ 对动作流建模。对动作流建模时可以首先处理顺序动作,接着处理分支与合并等条件行为,然后处理分叉与汇合等并发行为。
⑸ 对对象流建模。找出与工作流相关的重要对象,并将其连接到相应的动作状态和活动状态。
⑹ 对建立的模型进行精化和细化。
Ø 举例
Ø 活动图与流程图的区别
1.活动图着重描述处理过程,它的主要控制结构是顺序、分支和循环,各个处理过程之间有严格的顺序和时间关系。流程图描述的是活动的顺序关系,它着重表现的是系统的行为,而非系统的处理过程。
2.活动图能够表示并发活动的情形,而流程图不能。
3.活动图是面向对象的,而流程图是面向过程的。
简而言之,活动图“OO流程图”。下面介绍状态图,敬请期待。