个人作业二-举例分析流程图与活动图的区别与联系
一、作业信息
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/ahgc/AHPU-se-JSJ18 |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/ahgc/AHPU-se-JSJ18/homework/11474 |
这个作业的目标 | 了解流程图与活动图的区别和联系 |
学号 | 3180701310 |
1、流程图
(1)定义
以特定的图形符号加上说明,表示算法的图,称为流程图或框图。流程图是流经一个系统的信息流、观点流或部件流的图形代表;是揭示和掌握封闭系统运动状况的有效方式。它用几何图形、连线、箭头及文字说明来描绘计算及处理过程的程序流程。
(2)组成元素
(3)类型
- 文件流程图
- 数据流程图
- 系统流程图
- 程序流程图。
(4)优缺点
优点:形象直观,各种操作一目了然,不会产生“歧义性”,便于理解,算法出错时容易发现,并可以直接转化 为程序。
缺点:所占篇幅较大,由于允许使用流程线,过于灵活,不受约束,使用者可使流程任意转向,从而造成程序阅读和修改上的困难,不利于结构化程序的设计。
软件
2、活动图
(1)定义
活动图是UML用于对系统的动态行为建模的另一种常用工具,它描述活动的顺序,展现从一个活动到另一个活动的控制流。
它是UML中用于对系统动态活动建模的图形,反映系统中一个活动到另一个活动的流程,常常用于描述业务过程和并行处理过程。
活动图是一种表述过程基理、业务过程以及工作流的技术。它可以用来对业务过程、工作流建模,也可以对用例实现甚至是程序实现来建模。
泳道将一个活动图中的活动划分为不同的组,每个组分别对应不同角色的操作。活动图描述多个角色之间的协作处理非常有效。一张活动图可以有多个开始状态和结束状态。一个活动可以与多个实体对象
相关(相关指的是一种访问操作)。分支用在有多条路径可选的流程中,针对不同的路径进行不同的分支处理。
(2)组成元素
活动状态图(Activity)——活动状态用于表达状态机中的非原子的运行
活动状态图特点如下:
*活动状态可以分解成其他子活动或者动作状态。
*活动状态的内部活动可以用另一个活动图来表示。
*和动作状态不同,活动状态可以有入口动作和出口动作,也可以有内部转移。
*动作状态是活动状态的一个特例,如果某个活动状态只包括一个动作,那么它就是一个动作状态。
*UML中活动状态和动作状态的图标相同,但是活动状态可以在图标中给出入口动作和出口动作等信息。
【图形】平滑的圆角矩形
动作状态(Actions)—— 动作状态是指原子的,不可中断的动作,并在此动作完成后通过完成转换转向另一个状态。
动作状态有如下特点:
*动作状态是原子的,它是构造活动图的最小单位。
*动作状态是不可中断的。
*动作状态是瞬时的行为。
*动作状态可以有入转换,入转换既可以是动作流,也可以是对象流。动作状态至少有一条出转换,这条转换以内部的完成为起点,与外部事件无关。
*动作状态与状态图中的状态不同,它不能有入口动作和出口动作,更不能有内部转移。
*在一张活动图中,动作状态允许多处出现。
【图形】平滑的圆角矩形
动作状态约束(Action Constraints)——动作状态约束:用来约束动作状态。
【图形】如下图展示了动作状态的前置条件和后置条件
动作流(Control Flow)———动作之间的转换称之为动作流活动图的转换
【图形】用带箭头的直线表示,箭头的方向指向转入的方向。
开始节点(Initial Node)——活动开始节点
【图形】实心黑色圆点
终止节点(Final Node)——分为活动终止节点(activity final nodes)和流程终止节点(flow final nodes)
(1)、活动终止节点表示整个活动的结束
【图形】圆圈+内部实心黑色圆点
(2)、而流程终止节点表示是子流程的结束。
【图形】圆圈+内部十字叉
对象(Objects)
【图形】矩形方框
数据存储对象(DataStore) ——使用关键字«datastore»
【图形】矩形方框,内含关键字
对象流(Object Flows)——对象流是动作状态或者活动状态与对象之间的依赖关系,表示动作使用对象或动作对对象的影响。
用活动图描述某个对象时,可以把涉及到的对象放置在活动图中并用一个依赖将其连接到进行创建、修改和撤销的动作状态或者活动状态上,对象的这种使用方法就构成了对象流。
对象流中的对象有以下特点:
*一个对象可以由多个动作操作。
*一个动作输出的对象可以作为另一个动作输入的对象。
*在活动图中,同一个对象可以多次出现,它的每一次出现表面该对象正处于对象生存期的不同时间点。
【图形】用带有箭头的虚线表示。如果箭头是从动作状态出发指向对象,则表示动作对对象施加了一定的影响。施加的影响包括创建、修改和撤销等。如果箭头从对象指向动作状态,则表示该动作使用对象流所指向的对象。
状态图中的对象用矩形表示,矩形内是该对象的名称,名称下的方括号表明对象此时的状态。
分支与合并(Decision and Merge Nodes)——选择分支
【图形】分支与合并用菱形表示,它有一个进入转换(箭头从外指向分支符号),一个或多个离开转换(箭头从分支符号指向外)。而每个离开转换上都会有一个监护条件,用来表示满足什么条件的时候执行该转换。
分叉与汇合(Fork and Join Nodes)——分叉用于将动作流分为两个或多个并发运行的分支,而汇合则用于同步这些并发分支,以达到共同完成一项事务的目的。
对象在运行时可能会存在两个或多个并发运行的控制流,为了对并发的控制流建模,UML中引入了分叉与汇合的概念。
【图形】分为水平风向和垂直方向。
时间信号
发送信号
接收信号
泳道(Partition)——泳道将活动图中的活动划分为若干组,并把每一组指定给负责这组活动的业务组织,即对象。
在活动图中,泳道区分了负责活动的对象,它明确地表示了哪些活动是由哪些对象进行的。在包含泳道的活动图中,每个活动只能明确地属于一个泳道。
泳道是用垂直实线绘出,垂直线分隔的区域就是泳道。在泳道的上方可以给出泳道的名字或对象的名字,该对象负责泳道内的全部活动。泳道没有顺序,不同泳道中的活动既可以顺序进行也可以并发进行,动作流和对象流允许穿越分隔线。
3、举例分析活动图与流程图的区别
(1)流程图着重描述处理过程,它的主要控制结构是顺序、分支和循环,各个处理过程之间有严格的顺序和时间关系。而活动图描述的是对象活动的顺序关系所遵循的规则,它着重表现的是系统的行为,而非系统的处理过程。
(2)活动图能够表示并发活动的情形,而流程图不行。
(3)活动图是面向对象的,而流程图是面向过程的。
4、举例分析流程图与活动图的联系
(1)活动图在本质上是一种流程图。
例子:————发布管理流程
发布管理流程涉及到发布创建、规划发布内容、实现发布和验证发布等环节,涉及产品经理、开发经理等角色。此外,其他职能部门领导或公司高层组成集成产品管理团队(IPMT,Integrated Product Management Team)对发布进行评审。下图是描述 Gizmo 手机发布流程的流程图,帮助流程参与人员理解流程活动以及先后顺序。
发布管理流程活动图
发布管理流程任务描述
任务名称 责任人 任务描述
增加(Add Release) 产品经理 根据市场规划或用户需求规划的产品发布
计划(Plan Release) 产品经理 确定实施该发布的时间信息(如计划发布日期)和成本信息(如预算成本)
确定该 Release 要解决的用户需求,并指定开发经理
评审(Review Release) IPMT 对该发布从市场、进度、成本、风险等因素进行评审,如评审通过则 Start Release,否则 Postpone 该 Release
完成(Finish Release) 项目经理 完成该 Release 的相关开发、测试工作
验证(Verify Release) 产品经理 对该 Release 的质量以及相关信息进行验证,如通过则批准该 Release
发布管理流程图
属性值 说明
计划中(In Planning) 该发布正处于计划中
已计划(Planned) 该发布的计划已经完成(工作内容、时间、成本等信息已确定)
已启动(Started) 该发布的开发工作已经启动
已完成(Finished) 该发布的开发工作已经完成
已验证(Verified) 该发布所实现的用户需求都完成,可以交付该发布
已推迟(Postponed) 该发布被推迟