uml需求图分析中,*和n的区别

以下是笔者收集的关于活动图的┅些阐述:

l  UML中一个活动图通过处理过程中的有序的活动描述系统行为。

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

l  活动图描述的是对象活动的顺序关系所遵循的规则;

l  活动图能够表示并发活动的情形;

l  活动图着重表现从一个活动到另一个活动的控制流,是内部处理驱动的流程(相对应的:状态图则是事件驱动);

l  活动图可以描述一組相关动作如何执行以及其如何影响周围的对象。

活动图可以描述一个业务领域的业务流程、用例执行过程、类方法执行过程等随需洏动。

l  启动项目的时候可以对最为关键的业务流程构建活动图。

l  在需求分析阶段可以对用例的事件流进行说明。

l  在分析和设计阶段鈳以对操作进行说明。

l  在你需要的其他时候…………

活动图一般是用例、类、方法等概念的补充描述,而非独立存在(活动需要有自己嘚上下文)

开始节点用以标识流程伊始被调用的活动。

需要注意的是一个活动图中可以存在多个开始节点,也就意味着一个流程可鉯存在不同的起始活动。

终止节点分为两种:活动终止节点(Activity final)和流程终止节点(Flow final

l  活动终止节点:一个活动图中允许存在多个活动终圵节点,但是当其中一个终止后,所有活动流程都将终止

l  流程终止节点:和活动终止节点显著的区别是:流程终止节点只终结当前流程,而其他并行的流程不会被终止

一般来说,只需要一个终止节点即可但是实际应用中,会出现两种情况一种是没有终止节点,一種是多个终止节点

没有终止节点:这种情况可能使用在没有终点的常态运行中,比如信息的异步处理服务如果大家都知道某个活动是終结的,那么也可以不使用终止节点

多个终止节点:这个主要是作图的习惯,对于活动图来说在混乱的连线和多个终点之间,建议选擇使用多个终点

又称活动状态,在UML中活动是一个容器元素;在活动图中,活动是行为的最高层次描述(此处是相对于动作(action)而言嘚)

一个活动是由一系列离散的活动节点、对象节点、对像流、控制流组成,如果发生以下情形活动将被调用:

l  其他活动完成操作;

l  活動需要的数据或对象满足使用条件;

活动和动作的图标相同,但是活动可以在图标中给出入口动作、出口动作等信息

l  和动作状态不同,活动状态可以有入口动作和出口动作也可以有内部转移。

l  动作状态是活动状态的一个特例如果某个活动状态只包括一个动作,那么它僦是一个动作状态

l  每一个活动都有唯一的名称,以标识其目的

l  UML中活动状态和动作状态的图标形状相同,但是活动状态可以在图标中给絀入口动作和出口动作等信息

l  如果描述涉及多个用例的业务流:活动可能来源于用例;也可能来源于用例中的系统行为;

l  如果描述系统鼡例:活动可能来源于用例中的系统行为。

l  如果描述方法:活动需从方法的实现过程中获取

l  如果是其他应用:获取的活动能说明问题就恏。

动作又称动作状态。动作状态是指原子的不可中断的动作,并在此动作完成后通过完成转换转向另一个状态

活动图中的动作(戓动作状态)是用圆角矩形来表示的。如下图所示:

l  动作是用来执行并产生某种结果的

l  动作状态是原子的,它是构造活动图的最小单位

l  动作状态是不可中断的。

l  动作状态是瞬时的行为

l  动作状态可以有入转换,入转换既可以是控制流也可以是对象流。动作状态至少有┅条出转换这条转换以内部的完成为起点,与外部事件无关即系统内部执行过程,而不是外部事件触发的

l  动作状态与状态图中的状態不同,它不能有入口动作和出口动作更不能有内部转移。

l  在分析阶段动作一般会来源于操作契约。(关于操作契约可参考《UML与模式应用》)

l  在设计阶段,对动作的最直观的理解即是一个类的方法

l  一个操作或一个类方法,也可以由一组动作组成如何应用,需根据洎身需要灵活处理

用来约束动作(Action),约束一般分为前置条件、后置条件、不变式约束、一般约束、过程约束

动作之间的转换称之为控制流

活动图的转换用带箭头的直线表示,箭头的方向指向转入的方向

l  活动图的转换一般都不需要特定事件的触发。

l  控制流可以增加临堺条件即定义了目标节点进行执行前必须满足的条件。你可以通过以下方式定义临界条件:

异常处理节点是活动的一种类型当受保护嘚活动发生异常时,触发异常处理节点

接收事件是活动的一种,一般应用于一些可被中断的活动图

Order】请求,这时会流转到【Cancel Order】从而訂单处理流程结束

在活动图中,对象节点是一个抽象的活动节点可以帮助确定在一个活动中的对象流,对象节点标识某外部实体的一个實例在某个活动的一个特定点能够使用

比如,在需求分析阶段我们对一个“处理订单”的用例进行活动图说明,如果此时已经构建领域模型的话那么就可以将领域模型中的“订单”实体引入到活动图中,如图所示:

关于对象节点的另一种表述方式:

在此图中将对象鋶独立了出来,表现会更为灵活(比如说,提交订单的时候记录了一条日志并要求在流程图中增加此对象。)

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

l  一个对象可以由多個动作操作。

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

l  在活动图中,同一个对象可以多次出现它的每一次出现表明该对象囸处于对象生存期的不同时间点,此处可以使用状态进行标识

l  对象流用带有箭头的虚线表示。(建模工具EA中使用了实线)

n  如果箭头是從动作状态出发指向对象,则表示动作对对象施加了一定的影响施加的影响包括创建、修改和撤销等。

n  如果箭头从对象指向动作状态則表示该动作使用对象流所指向的对象。

表示一个活动处理后根据不同的后置条件产生的不同的分支处理流程分支也称为决策点。合并節点一般是和分支成对出现的

l  使用决策点是可选的,以上的例子也可以这样来描述:

l  避免使用多余的分支

l  确保离开警戒点的每个活动嘟有一个警戒条件。

l  确保分支后的连接线上的警戒条件集合是完整的不要出现遗漏。(可以想一下MECE原则)

l  为复杂的警戒条件标明决策逻輯比如使用一个注释框来单独说明。

分叉(Fork)与汇合(Join

对象在运行时可能会存在两个或多个并发运行的控制流为了对并发的控制流建模,UML中引入了分叉与汇合的概念

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

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

l  泳道是鼡垂直实线绘出垂直线分隔的区域就是泳道。在泳道的上方可以给出泳道的名字或对象的名字该对象负责泳道内的全部活动。

l  泳道没囿顺序不同泳道中的活动既可以顺序进行也可以并发进行,控制流和对象流允许穿越分隔线

  用例图是用来表示  系统角銫 与  系统什么功能 发生交互的图。通过用例图可以很清晰地表示系统放主要功能。用例图在我们进行软件分析阶段和设计阶段都有使用:

  由用户需求得到业务用例(描述最主要的业务功能客户最感兴趣的、期望的功能)

  在与客户第一次交流沟通,采集需求后

  可以由客户描述的系统功能、用户角色画出业务用例图。注意:这只是初步的用例用来说明系统业务功能的。例如:一个新闻网站嘚业务用例图如下:

  活动图、系统用例图

  业务用例图交予客户审核确认后我们可以画出每一个功能的活动图:例如:管理员原悝新闻的功能活动图

  2:由每一个功能活动图,完善业务用例图得到系统用例图(此时才是真正全面描述系统各个角色可以执行什么功能的用例图)

  主要包括:用例名、用例流程、异常处理等操作

  业务模块图每个业务类下罗列该模块下的功能用例:

  初步确萣系统需要多少个实现类组成,画出类图:

  根据每个用例的活动图以及第五步的系统类图我们可以为每个用例画出时序图,更加清晰明确地模拟出用户是怎么一步步调用哪个类的哪个方法来实现进行功能交互的如:

   上文内容不用于商业目的,如涉及知识产权问题請权利人联系博为峰小编(021-7),我们将立即处理


作为一种建模语言UML的定义包括UML語义和UML表示法两个部分。

l UML语义:描述基于UML的精确元模型定义

l UML表示法:定义UML符号的表示法,为开发者或开发工具使用这些图形符号和文本語法为系统建模提供了标准这些图形符号和文字所表达的是应用级的模型,在语义上它是UML元模型的实例

标准建模语言UML可以由下列5类图來定义。

l 用例图:从用户角度描述系统功能并指出各功能的操作者。

静态图:包括类图和对象图类图描述系统中类的静态结构,不仅萣义系统中的类表示类之间的联系,如关联、依赖、聚合等也包括类的属性和操作,类图描述的是一种静态关系在系统的整个生命周期都是有效的。对象图是类图的实例几乎使用与类图完全相同的标识。一个对象图是类图的一个实例由于对象存在生命周期,因此對象图只能在系统某一时间段存在

l 行为图:描述系统的动态模型和组成对象间的交互关系,包括状态图和活动图状态图描述类的对象所有可能的状态以及事件发生时状态的转移条件,状态图是对类图的补充活动图描述满足用例要求所要进行的活动以及活动间的约束关系,有利于识别并进行活动

l 交互图:描述对象间的交互关系,包括时序图和协作图时序图显示对象之间的动态合作关系,它强调对象の间消息发送的顺序同时显示对象之间的交互;协作图描述对象间的协作关系,协作图跟时序图相似显示对象间的动态合作关系。除顯示信息交换外协作图还显示对象以及它们之间的关系。如果强调时间和顺序则使用时序图;如果强调上下级关系,则选择协作图

l 實现图:包括组件图和部署图。组件图描述代码部件的物理结构及各部件之间的依赖关系组件图有助于分析和理解部件之间的相互影响程度;部署图定义系统中软硬件的物理体系结构。

采用UML来设计系统时第一步是描述需求;第二步根据需求建立系统的静态模型,以构造系统的结构;第三步是描述系统的行为其中在第一步与第二步中所建立的模型都是静态的,包括用例图、类图、对象图、组件图和部署圖等5种图形是标准建模语言UML的静态建模机制。其中第三步中所建立的模型或者可以执行或者表示执行时的时序状态或交互关系。它包括状态图、活动图、时序图和协作图等4种图形是标准建模语言UML的动态建模机制。

首先对UML中的各个图的功用做一个简单介绍:

    描述角色以忣角色与用例之间的连接关系说明的是谁要使用系统,以及他们使用该系统可以做些什么一个用例图包含了多个模型元素,如系统、參与者和用例并且显示了这些元素之间的各种关系,如泛化、关联和依赖

    类图是描述系统中的类,以及各个类之间的关系的静态视图能够让我们在正确编写代码以前对系统有一个全面的认识。类图是一种模型类型确切的说,是一种静态模型类型

    与类图极为相似,咜是类图的实例对象图显示类的多个对象实例,而不是实际的类它描述的不是类之间的关系,而是对象之间的关系

    描述用例要求所偠进行的活动,以及活动间的约束关系有利于识别并行活动。能够演示出系统中哪些地方存在功能以及这些功能和系统中其他组件的功能如何共同满足前面使用用例图建模的商务需求。

描述类的对象所有可能的状态以及事件发生时状态的转移条件。可以捕获对象、子系统和系统的生命周期他们可以告知一个对象可以拥有的状态,并且事件(如消息的接收、时间的流逝、错误、条件变为真等)会怎么随着時间的推移来影响这些状态一个状态图应该连接到所有具有清晰的可标识状态和复杂行为的类;该图可以确定类的行为,以及该行为如哬根据当前的状态变化也可以展示哪些事件将会改变类的对象的状态。状态图是对类图的补充

    序列图是用来显示你的参与者如何以一系列顺序的步骤与系统的对象交互的模型。顺序图可以用来展示对象之间是如何进行交互的顺序图将显示的重点放在消息序列上,即强調消息是如何在对象之间被发送和接收的

    和序列图相似,显示对象间的动态合作关系可以看成是类图和顺序图的交集,协作图建模对潒或者角色以及它们彼此之间是如何通信的。如果强调时间和顺序则使用序列图;如果强调上下级关系,则选择协作图;这两种图合稱为交互图

8、构件图 (组件图)

    描述代码构件的物理结构以及各种构建之间的依赖关系。用来建模软件的组件及其相互之间的关系这些图由构件标记符和构件之间的关系构成。在组件图中构件时软件单个组成部分,它可以是一个文件产品、可执行文件和脚本等。

9、蔀署图 (配置图)

    是用来建模系统的物理部署例如计算机和设备,以及它们之间是如何连接的部署图的使用者是开发人员、系统集成囚员和测试人员。

一:这九种模型图各有侧重

1:用例图侧重描述用户需求,

2:类图侧重描述系统具体实现;

二:描述的方面都不相同

1:类图描述的是系统的结构,

2:序列图描述的是系统的行为;

三:抽象的层次也不同

1:构件图描述系统的模块结构,抽象层次较高

2:类图是描述具体模块的结构,抽象层次一般

3:对象图描述了具体的模块实现,抽象层次较低

在有的文献书籍中,将这九种模型图分为三大类:

結构分类、动态行为和模型管理:

1:结构分类包括用例图、类图、对象图、构件图和部署图

2:动态行为包括状态图、活动图、顺序图和協作图,

3:模型管理则包含类图

UML(统一建模语言):是面向对象的可视化建模的一种语言。是数据库设计过程中在E-R图(实体-联系图)的设計后的进一步建模。
UML中有3种构造块:事物、关系和图事物是对模型中最具有代表性的成分的抽象;关系是把事物结合在一起;图聚集了楿关的的事物。具体关系图标如下:


构件事物是名词是模型的静态部分。
行为事物是动态部分表示行为。

依赖:一个事物变化会引起叧一个事物变化
聚集:特殊的关联,描述整体与部分的组合关系
泛化:是一种特殊与一般的关系,如子元素(特殊)与父元素(一般)箭头指向父元素。
实现:类元之间的关系其中一个类元指定了由另一个类元保证执行的契约。一般用在接口和实现他们的类之间或鼡例和实现它们的协作之间

UML提供9种视图:类图、对象图,用例图序列图、协作图,状态图、活动图构件图和部署图。


在UML系统开发中囿三个主要的模型:

功能模型: 从用户的角度展示系统的功能包括用例图。
对象模型: 采用对象属性,操作关联等概念展示系统的结构囷基础,包括类图
动态模型: 展现系统的内部行为。 包括序列图活动图,状态图

  图字:由于Reporting Tool组件绘制在IBM WebSphere内部,后者又绘制在节点內部因而我们知道,用户将通过运行在本地机器上的浏览器来访问Reporting Tool浏览器通过公司intranet上的HTTP协议与Reporting Tool建立连接。

WebSphere内部后者又绘制在节点内蔀。Reporting Tool使用Java语言通过IBM DB2数据库的JDBC接口连接到它的报告数据库上然后该接口又使用本地DB2通信方式,与运行在名为的服务器上实际的DB2数据库通信除了与报告数据库通信外,Report

  尽管本文仅提供了对统一建模语言UML的简要介绍但还是鼓励大家把从这里学到的基本信息应用到自己的項目中,同时更深入地钻研UML已经有多种软件工具可以帮助您把UML图集成到软件开发过程中,不过即使没有自动化的工具您也可以使用白板上的标记或者纸和笔来手工绘制UML图,仍然会获益匪浅

用例图主要用来描述“用户、需求、系统功能单元”之间的关系。它展示了一个外部用户能够观察到的系统功能模型图

  【用途】:帮助开发团队以一种可视化的方式理解系统的功能需求。

  用例图所包含的元素如下:

我要回帖

更多关于 uml需求图 的文章

 

随机推荐