UML-活动图
一、什么是活动图?
用例图 | 用例图 | 需求描述 |
静态图 | 类图 | 根据需求建立系统的静态模型,构造系统的结构 |
对象图 | ||
包图 | ||
行为图 | 状态图 | |
活动图 | 描述系统的行为 | |
交互图 | 顺序图 | |
协作图 | ||
实现图 | 构件图 | |
配置图 |
活动图:显示链接在一起的高级动作,代表系统中发生的流程,描述对象在控制流的不同点从一个状态转移到另一个状态时的对象流。
作用:用于对系统的计算流程和工作流程建模。
常常被用来建立算法模型
与流程图类似,不同在于它支持并行活动
二、活动图的组成
活动:流程中的一个步骤,可以分为若干个动作或子活动。
动作:流程中的一个步骤,不可细分。
简单活动:一个不含内嵌活动或动作的活动;
组合活动:一个嵌套了若干活动或动作的活动
对象流:对象流是将对象流状态作为输入或输出的控制流。在活动图中,对象流描述了动作状态或活动状态与对象之间的关系,表示了动作使用对象以及动作对对象的影响。
活动图的表示:
①初始节点和终点:
②活动节点:用来表示一个活动,一个活动表示多个动作的集合(步骤)
③转换:活动控制流传递给下一个活动节点
④分支与监护条件:一个进入转换和一个或多个离开转换,每个离开转换的监护条件组成。
⑤泳道:有了有效地表示各个活动由谁负责的信息;每个活动节点、分支必须只属于一个泳道。转换、分叉与汇合可跨泳道。
⑥分叉与汇合:表面并发的活动。
三、如何画活动图?
①对工作流程建模:
每一条泳道表示一个职责单位(人或部门),每个执行者体现了职能部门的工作职责,业务范围,部门之间的交互关系。
②对操作流程建模:
每一个对象占据一个泳道,而活动是该对象的成员方法;
当用例的事件流程较复杂,分支较多时,一张清晰明了的活动图能够帮助开发人员更好地理解程序的逻辑。
四、使用活动图的注意事项
①以下情况不用活动图:
显示对象之间的合作、显示对象在其生命周期内的运转情况。
②活动图的作用:
- 描述一个操作的执行过程中所完成的工作或者动作
- 描述对象内部的工作
- 描述用例的执行
- 处理多线程
- 显示如何执行一组相关的动作,以及这些动作如何影响周围对象
③画图关键点:
- 首先明确本活动图表达的重点,根据重点来确定活动粒度(先弄清整体框架,再逐步细化,对重点说明的部分增加粒度)
- 在描述活动节点关系时,最大限度地采用分支分岔和汇合。
- 加入标识对象流,以及对象的状态变化,标识出活动节点执行前后对象的创建、销毁情况。
- 高级建模元素:顺序活动图、并发活动图、在活动图中标识发送信号与接收信号、用于扩展区来标识活动的循环执行。可体现活动图更详细的信息
五、拓展:复杂活动图
①辅助活动图
②发送信号与接收信号
③引脚、扩展区