2023年7月26日发(作者:)
uml活动图的概念与作⽤⼀.UML概述以下内容对uml进⾏简单介绍,读者有兴趣可以阅读,建议读者可以阅读其他uml等⽂章,最后有时间在了解这个部分内容。这样可以先去实践⼀些uml,然后在回到这⾥的⼀些简单的理论介绍,收获会⼤些。UML 全称Unified Modeling Language ⼜称统⼀建模语⾔或标准建模语⾔,是始于1997年⼀个OMG标准,它是⼀个⽀持模型化和软件系统开发的图形化语⾔,为软件开发的所有阶段提供模型化和可视化⽀持。UML是⼀种定义良好、易于表达、功能强⼤且普遍适⽤的建模语⾔。它融⼊了软件⼯程领域的新思想、新⽅法和新技术。它的作⽤域不限于⽀持⾯向对象的分析与设计,还⽀持从需求分析开始的软件开发的全过程。作为⼀种建模语⾔,UML的定义包括UML语义和UML表⽰法两个部分。(1) UML语义 描述基于UML的精确元模型定义。元模型为UML的所有元素在语法和语义上提供了简单、⼀致、通⽤的定义性说明,使开发者能在语义上取得⼀致,消除了因⼈⽽异的最佳表达⽅法所造成的影响。此外UML还⽀持对元模型的扩展定义。(2) UML表⽰法 定义UML符号的表⽰法,为开发者或开发⼯具使⽤这些图形符号和⽂本语法为系统建模提供了标准。这些图形符号和⽂字所表达的是应⽤级的模型,在语义上它是UML元模型的实例。标准建模语⾔UML的重要内容可以由下列五类图(共9种图形)来定义:第⼀类是⽤例图,从⽤户⾓度描述系统功能,并指出各功能的操作者。第⼆类是静态图 (Static diagram),包括类图、对象图和包图。其中类图描述系统中类的静态结构。不仅定义系统中的类,表⽰类之间的联系如关联、依赖、聚合等,也包括类的内部结构(类的属性和操作)。类图描述的是⼀种静态关系,在系统的整个⽣命周期都是有效的。对象图是类图的实例,⼏乎使⽤与类图完全相同的标识。他们的不同点在于对象图显⽰类的多个对象实例,⽽不是实际的类。⼀个对象图是类图的⼀个实例。由于对象存在⽣命周期,因此对象图只能在系统某⼀时间段存在。包由包或类组成,表⽰包与包之间的关系。包图⽤于描述系统的分层结构。第三类是⾏为图(Behavior diagram),描述系统的动态模型和组成对象间的交互关系。⾏为图包括:状态图、活动图、顺序图和协作图。其中状态图描述类的对象所有可能的状态以及事件发⽣时状态的转移条件。通常,状态图是对类图的补充。在实⽤上并不需要为所有的类画状态图,仅为那些有多个状态其⾏为受外界环境的影响并且发⽣改变的类画状态图。 ⽽活动图描述满⾜⽤例要求所要进⾏的活动以及活动间的约束关系,有利于识别并⾏活动。活动图是⼀种特殊的状态图,它对于系统的功能建模特别重要,强调对象间的控制流程。 顺序图展现了⼀组对象和由这组对象收发的消息,⽤于按时间顺序对控制流建模。⽤顺序图说明系统的动态视图。 协作图展现了⼀组对象,这组对象间的连接以及这组对象收发的消息。它强调收发消息的对象的结构组织,按组织结构对控制流建模。 顺序图和协作图都是交互图,顺序图和协作图可以相互转换。第四类是交互图(Interactive diagram),描述对象间的交互关系。其中顺序图显⽰对象之间的动态合作关系,它强调对象之间消息发送的顺序,同时显⽰对象之间的交互;合作图描述对象间的协作关系,合作图跟顺序图相似,显⽰对象间的动态合作关系。除显⽰信息交换外,合作图还显⽰对象以及它们之间的关系。如果强调时间和顺序,则使⽤顺序图;如果强调上下级关系,则选择合作图。这两种图合称为交互图。第五类是实现图 ( Implementation diagram )。其中构件图描述代码部件的物理结构及各部件之间的依赖关系。⼀个部件可能是⼀个资源代码部件、⼀个⼆进制部件或⼀个可执⾏部件。它包含逻辑类或实现类的有关信息。部件图有助于分析和理解部件之间的相互影响程度。配置图定义系统中软硬件的物理体系结构。它可以显⽰实际的计算机和设备(⽤节点表⽰)以及它们之间的连接关系,也可显⽰连接的类型及部件之间的依赖性。在节点内部,放置可执⾏部件和对象以显⽰节点跟可执⾏软件单元的对应关系。从应⽤的⾓度看,当采⽤⾯向对象技术设计系统时,⾸先是描述需求;其次根据需求建⽴系统的静态模型,以构造系统的结构;第三步是描述系统的⾏为。其中在第⼀步与第⼆步中所建⽴的模型都是静态的,包括⽤例图、类图(包含包)、对象图、组件图和配置图等五个图形,是标准建模语⾔UML的静态建模机制。其中第三步中所建⽴的模型或者可以执⾏,或者表⽰执⾏时的时序状态或交互关系。它包括状态图、活动图、顺序图和合作图等四个图形,是标准建模语⾔UML的动态建模机制。因此,标准建模语⾔UML的主要内容也可以归纳为静态建模机制和动态建模机制两⼤类。⼆.活动图介绍1. 简介活动图是uml的动态模型的⼀种图形,⼀般⽤来描述相关⽤例图。准确的活动图定义:活动图描述满⾜⽤例要求所要进⾏的活动以及活动间的约束关系,有利于识别并⾏活动。活动图是⼀种特殊的状态图,它对于系统的功能建模特别重要,强调对象间的控制流程。交互图强调的是对象到对象的控制流,⽽活动图则强调的是从活动到活动的控制流活动图是⼀种表述过程基理、业务过程以及⼯作流的技术。它可以⽤来对业务过程、⼯作流建模,也可以对⽤例实现甚⾄是程序实现来建模2. 活动图⽰例下图是个简单的活动图例⼦,⾥⾯包括了⼤部分活动图的相关元素,⼤家应该都能看的差不多吧,有不明⽩的可以继续看,下⾯有针对各个元素有介绍啦,相信⼤家看完后⾯的,看这个图就不会有问题的。另外,若想学会画活动图,必须先看⼤量的图,看明⽩别⼈的图,在慢慢画,慢慢⼀个图形就弄明⽩了。其实uml包括了各种各样的图形,把每种图形都会画啦,基本uml也就会啦。3. 活动图与流程图的区别活动图描述系统使⽤的活动、判定点和分⽀,看起来和流程图没什么两样,并且传统的流程图所能表⽰的内容,⼤多数情况下也可以使⽤活动图表⽰,但是两者是有区别的,不能将两个概念混淆。活动图与流程图的区别⑴ 流程图着重描述处理过程,它的主要控制结构是顺序、分⽀和循环,各个处理过程之间有严格的顺序和时间关系活动图描述的是对象活动的顺序关系所遵循的规则,它着重表现的是系统的⾏为,⽽⾮系统的处理过程。⑵ 活动图能够表⽰并发活动的情形,⽽流程图不能。⑶ 活动图是⾯向对象的,⽽流程图是⾯向过程的。4. 活动图与状态图区别活动图与状态图都是状态机的表现形式,但是两者还是有本质区别:状态图着重描述从⼀个状态到另⼀个状态的流程,主要有外部事件的参与。上图是⼀个典型的状态图活动图着重表现从⼀个活动到另⼀个活动的控制流,是内部处理驱动的流程。5. 活动图基本元素1) 初始节点和活动终点:实⼼圆表⽰初始节点(只有⼀个),圆圈内加⼀个实⼼圆来表⽰活动终点(可有多个)。2) 活动节点:⽤来表⽰⼀个活动3) 转换:⼀条带箭头的直线来表⽰。 ⼀旦前⼀个活动结束马上转到下⼀个活动(⽆触发转换)。4) 分⽀与监护条件:分⽀是⽤菱形表⽰的,它有⼀个进⼊转换(箭头从外指向分⽀符号),⼀个或多个离开转换(箭头从分⽀符号指向外)。⽽每个离开转换上都会有⼀个监护条件,⽤来表⽰满⾜什么条件的时候执⾏该转换。5) 分叉与汇合:分叉⽤于将动作流分为两个或者多个并发运⾏的分⽀,⽽汇合则⽤于同步这些并发分⽀,以达到共同完成⼀项事务的⽬的。分叉可以⽤来描述并发线程,每个分叉可以有⼀个输⼊转换和两个或多个输出转换,每个转换都可以是独⽴的控制流。汇合代表两个或多个并发控制流同步发⽣,当所有的控制流都达到汇合点后,控制才能继续往下进⾏。每个汇合可以有两个或多个输⼊转换和⼀个输出转换。汇合将两条路径连接到⼀起,合并成⼀条路径。汇合指的是两个或者多个控制路径在此汇合的情况。汇合是⼀种便利的表⽰法,省略它不会丢失信息。汇合和分⽀常常成对的使⽤,合并表⽰从对应分⽀开始的条件⾏为的结束。分叉和汇合都使⽤加粗的⽔平线段表⽰。6. 抽象的活动图⽰例UML的活动图中包含的图形元素有动作状态、活动状态、动作流、分⽀与合并、分叉与汇合、泳道和对象流等。7. 带泳道的活动图泳道表明每个活动是由哪些⼈或哪些部门负责完成。每个泳道代表特定含义的状态职责的部分。在活动图中,每个活动只能明确的属于⼀个泳道,泳道明确的表⽰了哪些活动是由哪些对象进⾏的。每个泳道都有⼀个与其他泳道不同的名称。每个泳道可能由⼀个或者多个类实施,类所执⾏的动作或拥有的状态按照发⽣的事件顺序⾃上⽽下的排列在泳道内。在活动图中泳道区分了负责活动的对象,它明确地表⽰了哪些活动是由哪些对象进⾏的。在包含泳道的活动图中每个活动只能明确地属于⼀个泳道上图是⼀个未采⽤泳道的活动图上图是采⽤泳道技术后的活动图从两幅图的对⽐中,我们可以了解泳道技术是⾮常重要的,可以更明确表达出活动图的意图。泳道将活动图中的活动化分为若⼲组,并把每⼀组指定给负责这组活动的业务组织,即对象。泳道区分了负责活动的对象,它明确地表⽰了哪些活动是由哪些对象进⾏的。在包含泳道的活动图中,每个活动只能明确地属于⼀个泳道。在活动图中,泳道⽤垂直实线绘出,垂直线分隔的区域就是泳道。在泳道上⽅可以给出泳道的名字或对象(对象类)的名字,该对象(对象类)负责泳道内的全部活动。泳道没有顺序,不同泳道中的活动既可以顺序进⾏也可以并发进⾏。动作流和对象流允许穿越分隔线。8. 带对象流的活动图⽤活动图描述某个对象时,可以把涉及到的对象放置在活动图中,并⽤⼀个依赖将其连接到进⾏创建、修改和撤销的动作状态或者活动状态上,对象的这种使⽤⽅法就构成了对象流。对象流是动作状态或者活动状态与对象之间的依赖关系对象流表⽰动作使⽤对象或者动作对对象的影响。
对象流中对象的特点:⑴ ⼀个对象可以由多个动作操纵;⑵ ⼀个动作输出的对象可以作为另⼀个动作输⼊的对象;对象流中对象的特点:⑶ 在活动图中,同⼀个对象可以多次出现,它的每⼀次出现表明该对象正处于对象⽣存期的不同时间点。在活动图中,对象流⽤带有箭头的虚线表⽰。如果箭头从动作状态出发指向对象,则表⽰动作对对象施加了⼀定的影响。施加的影响包括创建、修改和撤销等。如果箭头从对象指向动作状态,则表⽰该动作使⽤对象流所指向的对象。状态图中的对象⽤矩形表⽰,矩形内是该对象的名称,名称下的⽅括号表明对象此时的状态。还可以在对象名称的下⾯加⼀个分隔栏表⽰对象的属性值。9. 信号发送和接收发送信号与接收信号
10. 引脚是⼀个对象节点,代表活动连接输⼊、输出值的连接点⽤来标明每个活动节点所需输⼊的数据或者所产⽣的数据(建模业务流时则可表⽰产⽣或者消耗的资源)
11. 扩展区表⽰重复或循环
12. 辅助活动图当活动图过于复杂时可以⽤活动的分解来处理
⼀个活动可以分为若⼲个动作或⼦活动,这些动作和⼦活动本⾝⼜可以组成⼀个活动图。不含内嵌活动或动作的活动称之为简单活动;嵌套了若⼲活动或动作的活动称之为组合活动,组合活动有⾃⼰的名字和相应的⼦活动图三.活动图绘制要点⑴ 识别要对⼯作流描述的类或对象。找出负责⼯作流实现的业务对象,这些对象可以是显⽰业务领域的实体,也可以是⼀种抽象的概念和事物。找出业务对象的⽬的是为每⼀个重要的业务对象建⽴泳道。⑵ 确定⼯作流的初始状态和终⽌状态,明确⼯作流的边界。⑶ 对动作状态或活动状态建模。找出随时间发⽣的动作和活动,将它们表⽰为动作状态或活动状态。⑷ 对动作流建模。对动作流建模时可以⾸先处理顺序动作,接着处理分⽀与合并等条件⾏为,然后处理分叉与汇合等并发⾏为。⑸ 对对象流建模。找出与⼯作流相关的重要对象,并将其连接到相应的动作状态和活动状态。⑹ 对建⽴的模型进⾏精化和细化。
发布者:admin,转转请注明出处:http://www.yc00.com/web/1690353411a336801.html
评论列表(0条)