流程图与活动图的区别与联系

课程 软件工程
作业要求 流程图与活动图的区别与联系
作业目标 了解活动图和流程图以及它们的区别与联系
学号 3180701113

题目要求

(1)给出流程图的定义说明

(2)给出活动图的定义说明

(3)举例对比流程图与活动图的区别

(4)举例分析流程图与活动图的联系

一、流程图的定义说明

定义

流程图是对过程、算法、流程的一种图像表示,通常用一些图框来表示各种类型的操作,在框内写出各个步骤,然后用带箭头的线把它们连接起来,以表示执行的先后顺序。这种表示形象直观,让人很容易理解。大概作用就是将工作过程的复杂性、有问题的地方、重复部分、多余环节以简化和标准化显示出来。然后将实际的和想象的过程流程进行比较和对照,以便寻求改进过程的机会。也可以使项目小组在过程步骤方面统一意见并检查出对过程进展有重要影响的环节或活动。
流程图有时也称作输入-输出图。该图直观地描述一个工作过程的具体步骤。流程图对准确了解事情是如何进行的,以及决定应如何改进过程极有帮助。这一方法可以用于整个企业,以便直观地跟踪和图解企业的运作方式。

符号

流程图使用一些标准符号代表某些类型的动作,如决策用菱形框表示,具体活动用方框表示。但比这些符号规定更重要的,是必须清楚地描述工作过程的顺序。流程图也可用于设计改进工作过程,具体做法是先画出事情应该怎么做,再将其与实际情况进行比较。

类型

文件流程图
数据流程图
系统流程图
程序流程图

特点:

☆优点:形象直观,各种操作一目了然,不会产生“歧义性”,便于理解,算法出错时容易发现,并可以直接转化 为程序。
☆缺点:所占篇幅较大,由于允许使用流程线,过于灵活,不受约束,使用者可使流程任意转向,从而造成程序阅读和修改上的困难,不利于结构化程序的设计。

作用

1.一张简明的流程图,能帮你梳理活动流程的先后顺序,让策划、思考的思路更清晰、逻辑更顺畅,有助于流程的逻辑实现和有效解决实际问题。
2.流程图还能帮助我们查漏补缺,避免活动流程、逻辑上出现遗漏,确保活动流程的完整性。通过梳理、琢磨流程上的步骤和关键节点,可以快速发现遗漏之处,以便及时整改,保证后续方案执行的顺畅。
3.流程图还是职场沟通的神兵利器,能够提升我们与老板、同事之间的沟通效率,可以省下不少扯皮的时间。当一件事情的执行步骤比较复杂,判定条件较多,用口头难以表达清楚,用一张流程图,就能高效地解决沟通问题。

流程图的三大结构

(1) 顺序结构
在顺序结构中,各个步骤是按先后顺序执行的,这是一种最简单的基本结构。如图,A、B、C是三个连续的步骤,它们是按顺序执行的,即完成上一个框中指定的操作才能再执行下一个动作。

(2) 选择结构
选择结构又称分支结构,选择结构用于判断给定的条件,根据判断的结果判断某些条件,根据判断的结果来控制程序的流程。在实际运用中,某一判定结果可以为空操作。

(3) 循环结构
循环结构又称为重复结构,就是流程在一定的条件下,反复执行某一操作的流程结构。循环结构下又可以分为当型结构和直到型结构。
循环结构可以看成是一个条件判断条件和一个向回转向条件的组合,循环结构的包括三个要素:循环变量、循环体和循环终止条件。在流程图的表示中,判断框内写上条件,两个出口分别对应着条件成立和条件不成立时所执行的不同指令,其中一个要指向循环体,然后再从循环体回到判断框的入口处。

☆当型结构:先判断所给条件p是否成立,若P成立,则执行A(步骤);再判断条件p是否成立;若P成立,则又执行A,若此反复,直到某一次条件p不成立时为止。

☆直到型结构:先执行A,再判断所给条件P是否成立,若p不成立,则再执行A,如此反复,直到P成立,该循环过程结束。

流程图案例

二、活动图的定义说明

定义

活动图是UML用于对系统的动态行为建模的另一种常用工具,它描述活动的顺序,展现从一个活动到另一个活动的控制流。活动图在本质上是一种流程图。活动图着重表现从一个活动到另一个活动的控制流,是内部处理驱动的流程。主要用于以下情况:
1.交互图强调的是对象到对象的控制流,而活动图则强调的是从活动到活动的控制流。
2.活动图是一种表述过程基理、业务过程以及工作流的技术。
3.它可以用来对业务过程、工作流建模,也可以对用例实现甚至是程序实现来建模。

符号及说明


1.活动(Activity):是履行操作合同必须发生的主要任务
2.状态(State):定义事件或活动的当前条件
3.用户(Actor):即系统角色,可以是人、其他系统或者子系统。
4.控制流(Control Flow):是指执行或评估命令式或声明式程序的各个语句,指令或函数调用的顺序。
5.对象流(Object Flow):是动作状态或者活动状态与对象之间的依赖关系,表示动作使用对象或者动作对对象的影响

特点

☆优点:
1.使用活动图来描述用例场景,可以帮助我们认识问题领域,从问题领域中发现关键对象
2.活动图能够表示并发活动的情形,非常适合支持并行行为,是支持多线程编程的很好的工具
来全新的写作体验
☆缺点:
1.活动图实际上描述的是业务流程,可能会导致OO的类职责的混乱
2.如果从活动图的观点来描述业务,实际上是不能直接看到对象是如何发挥作用的,这样在观念上很容易导致对象独立性被破坏
3.不能显示对象之间的合作,以及对象在其生命周期内的运转情况

活动状态图(Activity)--状态

活动状态用于表达状态机中的非原子的运行,其特点如下:
(1)活动状态可以分解成其他子活动或者动作状态。
(2)活动状态的内部活动可以用另一个活动图来表示。
(3)和动作状态不同,活动状态可以有入口动作和出口动作,也可以有内部转移。
(4)动作状态是活动状态的一个特例,如果某个活动状态只包括一个动作,那么它就是一个动作状态。
UML中活动状态和动作状态的图标相同,但是活动状态可以在图标中给出入口动作和出口动作等信息。

动作状态(Actions)--活动

动作状态是指原子的,不可中断的动作,并在此动作完成后通过完成转换转向另一个状态。动作状态有如下特点:
(1)动作状态是原子的,它是构造活动图的最小单位。
(2)动作状态是不可中断的。
(3)动作状态是瞬时的行为。
(4)动作状态可以有入转换,入转换既可以是动作流,也可以是对象流。动作状态至少有一条出转换,这条转换以内部的完成为起点,与外部事件无关。
(5)动作状态与状态图中的状态不同,它不能有入口动作和出口动作,更不能有内部转移。
(6)在一张活动图中,动作状态允许多处出现。
UML中的动作状态图用平滑的圆角矩形表示,如下:

控制点(Guard)

控制转移方向的条件称为控制点。

转移

动作之间的转换称之为转移,活动图的转换用带箭头的直线表示,箭头的方向指向转入的方向

开始节点(Initial Node)

开始节点:表示成实心黑色圆点

终止节点(Final Node)

分为活动终止节点(activity final nodes)和流程终止节点(flow final nodes)。
活动终止节点表示整个活动的结束

对象

对象流

对象流是动作状态或者活动状态与对象之间的依赖关系,表示动作使用对象或动作对对象的影响。用活动图描述某个对象时,可以把涉及到的对象放置在活动图中并用一个依赖将其连接到进行创建、修改和撤销的动作状态或者活动状态上,对象的这种使用方法就构成了对象流。

对象流中的对象有以下特点:
(1)一个对象可以由多个动作操作。
(2)一个动作输出的对象可以作为另一个动作输入的对象。
(3)在活动图中,同一个对象可以多次出现,它的每一次出现表面该对象正处于对象生存期的不同时间点。
对象流用带有箭头的虚线表示。如果箭头是从动作状态出发指向对象,则表示动作对对象施加了一定的影响。施加的影响包括创建、修改和撤销等。如果箭头从对象指向动作状态,则表示该动作使用对象流所指向的对象。
状态图中的对象用矩形表示,矩形内是该对象的名称,名称下的方括号表明对象此时的状态。

分支与合并(Decision and Merge Nodes)

分支与合并用菱形表示

分叉与汇合(Fork and Join Nodes)

对象在运行时可能会存在两个或多个并发运行的控制流,为了对并发的控制流建模,UML中引入了分叉与汇合的概念。分叉用于将动作流分为两个或多个并发运行的分支,而汇合则用于同步这些并发分支,以达到共同完成一项事务的目的。

泳道(SwimLane)

泳道将活动图中的活动划分为若干组,并把每一组指定给负责这组活动的业务组织,即对象。在活动图中,泳道区分了负责活动的对象,它明确地表示了哪些活动是由哪些对象进行的。在包含泳道的活动图中,每个活动只能明确地属于一个泳道。

泳道是用垂直实线绘出,垂直线分隔的区域就是泳道。在泳道的上方可以给出泳道的名字或对象的名字,该对象负责泳道内的全部活动。泳道没有顺序,不同泳道中的活动既可以顺序进行也可以并发进行,动作流和对象流允许穿越分隔线。

活动图实例解析


★泳道分为:会员泳道和系统泳道。会员选择商品并加入购物车,系统完成订单生成及其支付完毕。

★开始节点:会员添加商品到购物车,点击【订单确认】,开始交于系统处理订单流程

★结束节点:商品发送完毕和付款成功,订单处理流程结束

★活动状态:产生订单、Check Credit Cart核对信用卡、Check Stock 核对库存量、Deliver Goods 发送商品、Process Credit Cart付款

★分叉与汇合:【产生订单】份叉为检查库存量和会员支付金额是否足够,如果不足,取消订单,如过库存量和支付金额足够,发送商品和付款,最后汇合为订单完成。

三、活动图与流程图的区别与联系

☆区别:

活动图是UML用于对系统的动态行为建模的另一种常用工具,它描述活动的顺序,展现从一个活动到另一个活动的控制流。

(1)流程图着重描述处理过程,它的主要控制结构是顺序、分支和循环,各个处理过程之间有严格的顺序和时间关系。而活动图描述的是对象活动的顺序关系所遵循的规则,它着重表现的是系统的行为,而非系统的处理过程。

(2)活动图能够表示并发活动的情形,而流程图不行。

(3)活动图是面向对象的,而流程图是面向过程的。

☆联系:

1.活动图本质是一种流程图,只是更加抽象。活动图是各个对象之间行为联系,对象则属于不同的类,是抽象出来的。

2.一个系统中,通过流程图可以明显了解到各个对象之间进行怎样的行为联系。通过流程图,可以知道相关行为的具体实现(算法),二者都有同时存在的作用。

posted @ 2020-11-12 19:36  慕阳*  阅读(2270)  评论(0编辑  收藏  举报