活动图与流程图的联系与区别
博客班级 | https://edu.cnblogs.com/campus/ahgc/AHPU-SE-19 |
---|---|
作业要求 | https://edu.cnblogs.com/campus/ahgc/AHPU-SE-19/homework/11473 |
作业目标 | 掌握流程图、活动图的画法及了解相关作用,联系及区别 |
学号 | 3190704105 |
一、活动图
1. 定义及说明
① 定义: 活动图用于描述用例或场景的活动顺序,或描述一个活动到另一个活动的控制流。实质上是一种流程图。
② 说明: 活动图所描述的内容可以是类内部的处理流程,也可以是整个软件系统的操作流程。其反映在系统功能逻辑中参与的对象,以及每个对象的各自的行为活动。
2. 图形元素
① 起点: 用实心黑色与圆点表示,表明活动图行为的起始位置或状态。
② 终点: 在起点上外加一个小圆来表示,表明活动图行为的结束位置或状态。
③ 对象: 用对象名称表示,表明活动过程中涉及的对象,或触发活动的对象。
④ 活动约束: 通过设置活动的前置条件和后置条件来约束活动。
⑤ 控制流: 活动图中各项活动间的转换控制,用带箭头的直线表示。箭头指向下一个要转入的活动。
⑥ 分支: 由于后置条件的不同,导致不同的控制流程。
⑦ 并发: 活动图在描述系统控制流时,会存在多个并发流程的情况。并发将控制流分为并行运行的分支,以达到共同完成事务活动的目的。
⑧ 异常处理: 折线箭头指向处理异常的类、接口等模型元素。异常定义了当前活动中发生特殊情况时涉及的对象及相关操作。
⑨ 泳道: 将活动划分为若干个组,每组活动被指定给相关对象。每个活动只能属于一个泳道。
如图,以仓库进行销售发货为例:
注:图中第三个泳道的对象名应为仓库
3. 用处
活动图描述的是某个用例或场景的具体步骤,表现为对一组相关对象的一系列操作,反映了系统的操作流程,体现了系统的功能。因而活动图是对用例或场景的细化,帮助设计人员了解和掌握用户的业务领域流程。
二、流程图
1. 定义及说明
① 定义: 由起止框、输入框、输出框、处理框 、流程线组成,可以用来表示算法的具体实现过程,或是某一某个系统的大致功能。
② 说明: 流程图的基本结构有顺序结构、选择结构、循环结构、分支结构,每个流程图都大体都是由这些基本结构组成,反应了某一过程的具体实现步骤或是方法。
2. 图形元素
① 起/止框: 表示算法的开始或结束。
② 输入/出框: 表示算法的输入和输出操作。输入框可以由外部输入要处理的信息(变量),输出框则是向外部输出已经处理过后的信息(变量)。
③ 处理框: 内容可以是算法的一些表达式或是赋值语句,指具体代码处理方法。
④ 判断框: 一般填写判断条件,判断后由 “是/否”分支流出。
⑤ 流程线: 表示对算法的走向,流程线箭头的方向就是算法执行的方向。
如图,下面是对销售中的发货过程的体现:
3. 用处
往往在设计一个系统时,需对整体进行分块,每块表示某个功能的实现,**而算法的具体实现过程可由流程图显现出,比较直接的表达了某一算法是如何实现的。**其次,可以表达某个过程的大致步骤。
三、流程图与活动图的区别
以上述销售发货过程为例:
1.活动图更侧重某一体系中各个对象之间的行为联系,活动顺序。而流程图可以指某一算法的具体实现步骤,侧重处理过程。
上图中,活动图中是顾客、销售部门、仓库三个对象之间的行为联系,流程图中只是“发货”这一过程的具体实现步骤。
2.活动图可以并发进行,而流程图是依次执行,有时间顺序。
在上述流程图中,“确认订单”后,顾客“付款”和仓库“配货”是可以并发进行的,而流程图是依次执行的。
3.活动图是面向对象的,流程图是面向过程的。
上述流程图中主要是“顾客”,“销售部门”,“仓库”三个对象之间的行为关系,流程图则是“发货”过程的具体实现。
四、流程图与活动图的联系
**1.活动图本质是一种流程图,只是更加抽象**。活动图是各个对象之间行为联系,对象则属于不同的类,是抽象出来的。
2.一个系统中,通过流程图可以明显了解到各个对象之间进行怎样的行为联系。通过流程图,可以知道相关行为的具体实现(算法),二者都有同时存在的作用。