UML之活动图

UML之活动图,第1张

原文地址: https://blog.csdn.net/dwarcheng/article/details/52449168

活动图是uml的动态模型的一种图形,一般用来描述相关用例图。准确的活动图定义:活动图描述满足用例要求所要进行的活动以及活动间的约束关系,有利于识别并行活动。活动图是一种含或特殊的状态图,它对于系统的功能建模特别重要,强调对象间的控制流程。

交互图强调的是对象到对象的控制流,而活动图则强调的是从活动到活动的控制流

活动图是一种表述过程基理、业务过程以及工作流的技术。

它可以用来对业务过程、工作流建模,也可以对用例实现甚至是程序实现来建模

下图是个简单的活动图例子,谈吵伍里面包括了大部分活动图的相关元素,大家应该都能看的差不多吧,有不明白的可以继续看,下面有针对各个元素有介绍啦,相信大家看完后面的,看这个图就不会有问题的。

另外,若想学会画活动图,必须先看大量的图,看明白别人的图,在慢慢画,慢慢一个图形就弄明白了。

其实uml包括了各种各样的图形,把每种图形都会画啦,基本uml也就会啦。

活动图描述系统使用的活动、判定点和分支,看起来和流程图没什么两样,并且传统的流程图所能表示的内容,大多数情况下也可以使用活动图表示,但是两者是有区别的,不能将两个概念混淆。

活动图与流程图的区别

⑴ 流程图着重描述处理过程,它的主要控制结构是顺序、分支和循环,各个处理过程之间有严格的顺序和时间关系

活动图描述的是对象活动的顺序关系所遵循的规则,它着重表现的是系统的行为,而非系统的处理过程。

⑵ 活动图能够表示并发活动的情形,而流程图不能。

⑶ 活动图是面向对象的,而流程图是面向过程的。

活动图与状态图都是状态机的表现形式,但是两者还是有本质区别:

状态图着重描述从一个状态到另一个状态的流程,主要有外部事件的参与。

上图是一个典型的状态图

活动图着重表现从一个活动到另一个活动的控制流,是内部处理驱动的流程。

用来表示一个活动

分支是用菱形表示的,它有一个进入转换(箭头从外指向分支符号),一个或多个离开转换(箭头从分支符号指向外)。而每个离开转换上都会有一个监护条件,用来表示满足什么条件的时候执行该转换。

分叉用于将动作流分为两个或者多个并发运行的分支,而汇合则用于同步这些并发分支,以达到共同碰搜完成一项事务的目的。

分叉可以用来描述并发线程,每个分叉可以有一个输入转换和两个或多个输出转换,每个转换都可以是独立的控制流。

汇合代表两个或多个并发控制流同步发生,当所有的控制流都达到汇合点后,控制才能继续往下进行。

每个汇合可以有两个或多个输入转换和一个输出转换。

汇合将两条路径连接到一起,合并成一条路径。汇合指的是两个或者多个控制路径在此汇合的情况。汇合是一种便利的表示法,省略它不会丢失信息。汇合和分支常常成对的使用,合并表示从对应分支开始的条件行为的结束。

分叉和汇合都使用加粗的水平线段表示。

UML的活动图中包含的图形元素有动作状态、活动状态、动作流、分支与合并、分叉与汇合、泳道和对象流等。

泳道表明每个活动是由哪些人或哪些部门负责完成。

每个泳道代表特定含义的状态职责的部分。在活动图中,每个活动只能明确的属于一个泳道,泳道明确的表示了哪些活动是由哪些对象进行的。

每个泳道都有一个与其他泳道不同的名称。

每个泳道可能由一个或者多个类实施,类所执行的动作或拥有的状态按照发生的事件顺序自上而下的排列在泳道内。

在活动图中泳道区分了负责活动的对象,它明确地表示了哪些活动是由哪些对象进行的。

上图是一个未采用泳道的活动图

从两幅图的对比中,我们可以了解泳道技术是非常重要的,可以更明确表达出活动图的意图。

泳道将活动图中的活动化分为若干组,并把每一组指定给负责这组活动的业务组织,即对象。

泳道区分了负责活动的对象,它明确地表示了哪些活动是由哪些对象进行的。

在包含泳道的活动图中,每个活动只能明确地属于一个泳道。

在活动图中,泳道用垂直实线绘出,垂直线分隔的区域就是泳道。

在泳道上方可以给出泳道的名字或对象(对象类)的名字,该对象(对象类)负责泳道内的全部活动。

泳道没有顺序,不同泳道中的活动既可以顺序进行也可以并发进行。

动作流和对象流允许穿越分隔线。

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

对象流是动作状态或者活动状态与对象之间的依赖关系

对象流表示动作使用对象或者动作对对象的影响。

对象流中对象的特点:

⑴ 一个对象可以由多个动作 *** 纵;

⑵ 一个动作输出的对象可以作为另一个动作输入的对象;

对象流中对象的特点:

⑶ 在活动图中,同一个对象可以多次出现,它的每一次出现表明该对象正处于对象生存期的不同时间点。

在活动图中,对象流用带有箭头的虚线表示。

如果箭头从动作状态出发指向对象,则表示动作对对象施加了一定的影响。

施加的影响包括创建、修改和撤销等。如果箭头从对象指向动作状态,则表示该动作使用对象流所指向的对象。

状态图中的对象用矩形表示,矩形内是该对象的名称,名称下的方括号表明对象此时的状态。

还可以在对象名称的下面加一个分隔栏表示对象的属性值。

发送信号与接收信号

是一个对象节点,代表活动连接输入、输出值的连接点

用来标明每个活动节点所需输入的数据或者所产生的数据(建模业务流时则可表示产生或者消耗的资源)

表示重复或循环

当活动图过于复杂时可以用活动的分解来处理

一个活动可以分为若干个动作或子活动,这些动作和子活动本身又可以组成一个活动图。

不含内嵌活动或动作的活动称之为简单活动;

嵌套了若干活动或动作的活动称之为组合活动,组合活动有自己的名字和相应的子活动图

⑴ 识别要对工作流描述的类或对象。找出负责工作流实现的业务对象,这些对象可以是显示业务领域的实体,也可以是一种抽象的概念和事物。找出业务对象的目的是为每一个重要的业务对象建立泳道。

⑵ 确定工作流的初始状态和终止状态,明确工作流的边界。

⑶ 对动作状态或活动状态建模。找出随时间发生的动作和活动,将它们表示为动作状态或活动状态。

⑷ 对动作流建模。对动作流建模时可以首先处理顺序动作,接着处理分支与合并等条件行为,然后处理分叉与汇合等并发行为。

⑸ 对对象流建模。找出与工作流相关的重要对象,并将其连接到相应的动作状态和活动状态。

⑹ 对建立的模型进行精化和细化。

随着互联网寒冬的的到来,程序员就业环境越来越严峻,这就要求我们必须要不断提高自己,来应对高压的工作环境。下面介绍的这几种图是我在工作中经常使用的,所谓的图,都是为了辅助思考的,辅助开发的,比文字描述的更清晰,更有逻辑。

前些年,网上有一个口号喊得很响: “人人都是产品经理” 。这就要求我们需要学习认图、画图的技巧,能从需求文档里快速的抽象出我们想要的东西。最近,网上曝出的程序员和产品经理之间的矛盾,大都是需求不清晰产生的,作为程序员的我们如果掌握的产品经理所必须的技能,那我们以后就可以吊打产品经理了,哈哈哈哈。。。

流程图 是对过程、算法、流程的一种图像表示,在技术设计、交流及商业简报等领域有广泛的应用。

计算机语言只是一种工具。光学习语言的规则还不够,最重要的是学会针对各种类型的问题,拟定出有效的解决方法和步骤即算法。有了正确而有效的算法,可以利用任何一种计算机高级语言编写程序,使计算机进行工作。因此,设计算法是程序设计的核心。

对同一个问题,可以有不同的解题方法和步骤。

例如,求1+2+3+…+100,可以先进行1+2,再加3,再加4,一直加到100,也可采取100+(1+99)+(2+98)+…+(49+51)+50=100+50+49×100=5050。

还可以有其它的方法。当然,方法有优劣之分。有的方法只需进行很少的步骤,而有些方法则需要较多的步骤。一般说,希望采用方法简单,运算步骤少的方法。因此,为了有效地进行解题,不仅需要保证算法正确,还要考虑算法的质量,选择合适的算法。

一个计算问题的解决过程通常包含下面几步:

传统流程图

用图表示的算法就是流程图。流程图是用一些图框来表示各种类型的 *** 作,在框内写出各个步骤,然后用带箭头的线把它们连接起来,以表示执行的先后顺序。用图形表示算法,直观形象,易于理解。

美国国家标准化协会ANSI曾规定了一些常用的流程图符号,为世界各国程序工作者普遍采用。最常用的流程图符号见图。

流程图不仅可以指导编写程序,而且可以在调试程序中用来检查程序的正确性。如果框图是正确的而结果不对,则按照框图逐步检查程序是很容易发现其错误的。流程图还能作为程序说明书的一部分提供给别人,以便帮助别人理解你编写程序的思路和结虚肆陵构。

PS:墙裂推荐大家使用ProcessOn,画流程图的神器!!!

心智图 (Mind Map),又称 脑图 心智地图 脑力激荡图 思维导图 灵感触发图 概念地图 树状图 树枝图 思维地图 ,是一种图像式思维的工具以及一种利用图像式思考辅助工具来表达思维的工具。

心智图是由英国的托尼·博赞(托尼·布詹)于1970年代提出的一种辅助思考工具。心智图通过在平面上的一个主题出发画出相关联的对象,像一个心脏及其周边的血管图,故称为“心智图”。由于这种表现方式比单纯的文本更加接近人思考时的空间性想像,所以越来越为大家用于创造性思维过程中。

ps:我一般都是用的百度脑图,在线的比较方便

拓扑学(TOPOLOGY)是一种研究与大小、距离无关的几何图形特性的方法。 网络拓扑是由网络节点设备和通信介质构成的网络结构图。

拓扑学是数学中一个重要的、基础的分支。起初它是几何学的一支,研究几何图形在连续变形下保持不变的性质(所谓连续变形,形象地说就是允许伸缩和扭曲等变雹核形,差戚但不许割断和粘合) 拓扑图用于计算机网络示意,也就是不考虑计算机实际的位置,只表示网络中每台计算机以及网络设备之间的相互关系。

节点,节点就是网络单元。网络单元是网络系统中的各种数据处理设备、数据通信控制设备和数据终端设备。

链路,链路是两个节点间的连线。链路分“物理链路”和“逻辑链路”两种,前者是指实际存在的通信连线,后者是指在逻辑上起作用的网络通路。链路容量是指每个链路在单位时间内可接纳的最大信息量。

通路,通路是从发出信息的节点到接收信息的节点之间的一串节点和链路。

星型结构的优点是结构简单、建网容易、控制相对简单。其缺点是属集中控制,主节点负载过重,可靠性低,通信线路利用率低。

总线结构的优点是信道利用率较高,结构简单,价格相对便宜。缺点是同一时刻只能有两个网络节点相互通信,网络延伸距离有限,网络容纳节点数有限。在总线上只要有一个点出现连接问题,会影响整个网络的正常运行。目前在局域网中多采用此种结构。

环型结构的优点是一次通信信息在网中传输的最大传输延迟是固定的;每个网上节点只与其他两个节点有物理链路直接互连,因此,传输控制机制较为简单,实时性强。缺点是一个节点出现故障可能会终止全网运行,因此可靠性较差。

树型结构实际上是星型结构的一种变形,它将原来用单独链路直接连接的节点通过多级处理主机进行分级连接。

这种结构与星型结构相比降低了通信线路的成本,但增加了网络复杂性。网络中除最低层节点及其连线外,任一节点或连线的故障均影响其所在支路网络的正常工作。

UML是一种开放的方法,用于说明、可视化、构建和编写一个正在开发的、面向对象的、软件密集系统的制品的开放方法。UML展现了一系列最佳工程实践,这些最佳实践在对大规模,复杂系统进行建模方面,特别是在软件架构层次已经被验证有效。

功能模型, 从用户的角度展示系统的功能,包括用例图。

对象模型, 采用对象,属性, *** 作,关联等概念展示系统的结构和基础,包括类别图。

动态模型, 展现系统的内部行为。包括序列图,活动图,状态图。

实体关系图,简记E-R图是指以实体、关系、属性三个基本概念概括数据的基本结构,从而描述静态数据结构的概念模式。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12550482.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存