UML动态分析活动图
UML状态图和活动图ppt课件
1
课程目标
• 掌握状态图的定义、符号 • 掌握状态图的动作和事件 •掌握状态图的建模方法 •掌握活动图的定义、符号、条件 •掌握活动图的建模方法
2
本讲内容
• 状态图的定义、符号 • 状态图的动作和事件 • 状态图的建模方法 • 活动图的定义、符号、条件 • 活动图的建模方法
3
3
状态图的定义
12
状态图的符号
下面的示例演示了银行帐户中的转移及其有效状态,如下图 所示。
13
状态图的符号
3.决策点 决策点在建模状态图时提供了方便,因为它通过在中心位 置分组转移到各自的方向,从而提高了状态图的可视性,如下
图所示。
14
状态图的符号
4.同步 状态图中使用同步条是为了说明并发工作流的分叉与联合
表达式。如下图所示。
条件 19
练习: 阅读一个电梯系统的状态图 步骤:
1)标识出状态。 2)标识出转移。 3)标识出事件和动作。
20
21
状态图的建模方法
状态图建模需要执行以下步骤: 1)标识出需要进一步建模的实体。 2)标识出每一个实体的开始状态和结束状 态。 3)确定与每一个实体相关的事件。 4)从起始状态开始创建状态图。
22
状态图的建模方法
1.标识出需要进一步建模的实体 首先要标识出哪些实体需要使用状态图进
一步建模。状态图应该用于复杂的实体,而不 必用于具有复杂行为的实体。对于有复杂行为 的实体,使用活动图可能会更加适合。具有清 晰、有序的状态实体最适合使用状态图进一步 建模。后面将会建模一个Grade对象,尤其是 它的保存功能。
下图所示。
27
状态图的建模方法(续)
练习: 建模航班状态图 创建一个状态图来描述航班如何从提出申请、 制定航班计划、售票、起飞、飞行、到着陆的状态
UML建模之活动图介绍(Activity Diagram)
一、活动图的组成元素Activity Diagram Element......................................1、活动状态图(Activity)2、动作状态(Actions)3、动作状态约束(Action Constraints)4、动作流(Control Flow)5、开始节点(Initial Node)6、终止节点(Final Node)7、对象(Objects)8、数据存储对象(DataStore)9、对象流(Object Flows)10、分支与合并(Decision and Merge Nodes)11、分叉与汇合(Fork and Join Nodes)12、异常处理(Exception Handler)13、活动中断区域(Interruptible Activity Region)14、泳道(Partition)二、活动图案例分析.............................................................................三、总结活动图是UML用于对系统的动态行为建模的另一种常用工具,它描述活动的顺序,展现从一个活动到另一个活动的控制流。
活动图在本质上是一种流程图。
活动图着重表现从一个活动到另一个活动的控制流,是内部处理驱动的流程。
一、活动图的组成元素Activity Diagram Element1、活动状态图(Activity)活动状态用于表达状态机中的非原子的运行,其特点如下:(1)、活动状态可以分解成其他子活动或者动作状态。
(2)、活动状态的内部活动可以用另一个活动图来表示。
(3)、和动作状态不同,活动状态可以有入口动作和出口动作,也可以有内部转移。
(4)、动作状态是活动状态的一个特例,如果某个活动状态只包括一个动作,那么它就是一个动作状态。
UML中活动状态和动作状态的图标相同,但是活动状态可以在图标中给出入口动作和出口动作等信息。
UML实时活动图的形式化分析
UML实时活动图的形式化分析本文的主题为“UML实时活动图的形式化分析”,主要探讨UML实时活动图的结构、功能、优点及不足,并通过形式化方法进行深入解析。
总结与建议UML实时活动图是一种用于描述并发和异步系统的图形表示法。
它侧重于系统的动态行为,展示了系统中各个组件如何交互以及数据如何流动。
实时活动图的核心是活动和它们之间的关系,这些关系可以描述系统中组件之间的交互。
UML实时活动图由活动节点和转换节点组成。
活动节点表示系统中进行的操作,如计算、等待和通信等,而转换节点则表示这些操作之间的依赖关系和执行顺序。
UML实时活动图还支持并发和同步机制,这使得它能够有效地描述现实世界中的复杂系统。
(1)能够清晰地表示系统的动态行为和并发性,使系统模型更加完整和准确。
(2)支持将复杂的系统分解为更小的活动和转换,使分析更加简单和直观。
(3)适用于描述异步和分布式系统,提供了一种有效的建模工具。
(4)可以与UML的其他模型进行集成,如类图、顺序图和状态图等,提高了模型的完整性和可理解性。
尽管UML实时活动图具有许多优点,但仍存在一些不足:(1)对于复杂系统的描述可能过于繁琐,使得模型难以理解和维护。
(2)实时活动图中的并发和同步机制可能引入额外的复杂性,使得模型变得难以处理。
(3)实时活动图中的细节可能会掩盖系统的重要结构和行为特征,从而影响模型的精度。
本文对UML实时活动图进行了全面的形式化分析,总结了其优点和不足。
针对实时活动图的不足之处,本文提出以下建议:在使用实时活动图进行系统建模时,应注意适度抽象,避免过于详细或繁琐的描述,以提高模型的可理解性和可维护性。
当遇到复杂系统的描述时,可以考虑使用其他UML模型进行补充描述,如类图、顺序图和状态图等,以提高模型的精度和完整性。
对于并发和同步机制的使用,应进行谨慎设计,确保模型中各个活动之间的依赖关系和执行顺序得到准确的描述。
UML实时活动图作为一种强大的系统建模工具,在分析和设计复杂系统时具有重要作用。
解析uml活动图和状态图的作用和区别
本文和大家重点讨论一下UML活动图和状态图的概念,这两种图都有各自的特点和作用,那么他们之间有什么区别和联系呢,请看本文详细介绍。
UML活动图和状态图一、UML活动图:◆流程图常被用来建立算法模型◆UML活动图与流程图类似,不同在于它支持并行活动.◆缺点:不能清楚的表示二、作用:1、描述一个操作的执行过程中所完成的工作或者动作2、描述对象内部的工作3、描述用例的执行4、处理多线程5、显示如何执行一组相关的动作,以及这些动作如何影响周围对象三、以下情况不用UML活动图1、显示对象之间的合作2、显示对象在其生命周期内的运转情况。
这两点是通过序列图和协作图完成的。
四、UML活动图的基本要素:◆活动状态◆活动状态之间的转移(箭头)◆判断(决策点)◆保证条件◆同步条:活动之间的同步◆起点和终点--起点有且只有一个,终点可以有n个。
五、泳道:用于对UML活动图中的活动进行分组,用于描述对象之间的合作关系。
----所谓泳道技术,就是将活动用线分成一些纵向区域,这些纵向区域称为泳道。
UML状态图一、状态图:◆描述一个特定对象的所有可能状态以及由于各种事件的发生而引起的状态之间的转换。
例如呼叫中心系统。
◆状态图符--状态:矩形(四角圆弧)--转移--起点--终点1、状态机:◆一种行为:描述了一个对象或一个交互在生命周期内响应事件所经历的状态序列。
◆单个类或者一组类之间协作的行为可以用状态机来描述◆一个状态机涉及到一些其他元素,包括状态、转换、事件2、状态:在对象的生命周期中满足某些条件、执行某些活动或等待某些事件的一个条件活状况。
1)名称2)进入协作和退出动作3)内部转换4)子状态5)延迟事件3、转换:两个状态之间的一种关系,表示对象将在第一个状态中执行一定的动作并在某个特定事件发生而某个特定条件满足时进入第二个状态。
1)源状态2)事件触发3)监护条件4)动作5)目标状态例子:电话机状态图二、UML活动图与状态图的区别:状态:行为的结果活动:行为的动作在uml中图符不一样。
UML活动图
UML活动图目录1、UML活动图概述 (1)2、活动图怎么使用 (1)3、UML活动图目的 (2)4、UML活动图怎么画 (3)1、UML活动图概述UML活动图是UML的动态模型的一种图形,一般用来描述相关用例图。
UML活动图描述满足用例要求所要进行的活动以及活动间的约束关系,有利于识别并行活动。
UML活动图是一种特殊的状态图,它对于系统的功能建模特别重要,强调对象间的控制流程。
UML活动图是一种表述过程基础、业务过程以及工作流的技术。
它可以用来对业务过程、工作流建模,也可以对用例实现甚至是程序实现来建模UML活动图基本上是代表流程形成一个活动到另一个活动的流程图。
活动可以被描述为一个系统的操作。
2、活动图怎么使用活动图是适用于该系统的活动流程建模。
应用程序可以有多个系统。
活动图也抓住了这些系统,并介绍了流程从一个系统到另一个。
在其他图中,这个特定的用法,不提供。
这些系统可以是数据库,外部队列或任何其他系统。
现在,我们将看看活动图到实际应用。
从上面的讨论,很显然,活动图是来自一个非常高的级别。
因此,它给出了一个系统的高级视图。
这种高层次的观点主要是针对企业用户或任何其他人而不是一个技术人员。
以下是活动图的主要用途:2.1.使用业务建模工作流程。
2.2.建模的业务需求。
2.3.高层次的理解系统的功能。
2.4.调查在后一阶段的业务需求。
3、UML活动图目的UML活动图能够捕捉到该系统的动态行为,UML中其它的四个图是用来显示从一个对象到另一个消息流,但活动图是用来显示消息流从一个活动到另一个活动图。
活动图不仅用于可视化系统的动态性质,也可用于通过使用正向和逆向工程技术来构建可执行的系统。
唯一缺少的东西在活动图的消息部分。
它并不显示任何消息流程从一个活动到另一个。
活动图是一段时间视为流程图。
虽然图中看起来像一个流程图,但事实并非如此。
它显示不同的流程,如并行,分支,并发流。
以下是UML活动图目的描述:3.1.绘制活动流程系统。
UML 活动图 Activity Diagram
A、Activity Diagram(活动图)活动图用于为系统行为建模,以及行为以何种方式描述。
逻辑路径过程如下,基于各种条件,并行处理,数据访问,中断和其他逻辑路径的区别,用于构建过程,系统或程序。
活动图着重描述操作(方法)中所完成的工作以及用例实例或对象的活动。
B、活动图的模型元素B.1、Activity(活动)Activity组织和指定参与部属行为,例如sub-Activitie或Action,来反映过程的控制和数据流。
在活动图中Activity用于形容建模目的,为程序类型应用开发的系统设计,业务流程建模的组织结构和工作流程。
B.2、Structured Activity(结构活动)Structured Activity是一个合成元素,子活动图。
有很多种类的Structured Activity。
B.3、Action(行动)Action元素描述了一个发生在系统中的一个基本进程或变换。
它是活动图中的基本功能单元。
你可以认为它是Activity的孩子。
它们都表示进程,但Activity可以包含多步骤或可分解的进程,其中每一个都可以在Action中体现。
Action不能进一步分解。
B.4、Partition(泳道)Partition用于组合活动,它不会影响活动图的流,但有助于组织活动图。
显示动作在那个对象中执行,或显示执行的是一项组件工作的那一部分。
B.5、Object(对象)Object是运行时类的一个特别实例。
Object常用于分析存在于业务中的多个事物,如:纸、传真和信息。
为对象在运行时建模,使用运行状态。
B.6、Central Buffer Node(中央缓冲节点)Central Buffer Node是一个对象节点用来管理有多个源和目的的流。
它充当多个从其它对象流入的流和流出的流的缓冲,但不能连接Action。
B.7、Datastore(数据存储)Datastore是一个用于定义永久存储数据的元素。
uml中活动图与流程图的区别
uml中活动图与流程图的区别活动图定义: 活动图是UML⽤于对系统的动态⾏为建模的另⼀种常⽤⼯具,它描述活动的顺序,展现从⼀个活动到另⼀个活动的控制流。
活动图在本质上是⼀种流程图。
它是UML中⽤于对系统动态活动建模的图形,反映系统中⼀个活动到另⼀个活动的流程,常常⽤于描述业务过程和并⾏处理过程。
活动图中包括泳道、活动开始、活动结束、活动、对象、分⽀、消息等图形符号。
泳道将⼀个活动图中的活动划分为不同的组,每个组分别对应不同⾓⾊的操作。
活动图描述多个⾓⾊之间的协作处理⾮常有效。
⼀张活动图可以有多个开始状态和结束状态。
⼀个活动可以与多个实体对象相关(相关指的是⼀种访问操作)。
分⽀⽤在有多条路径可选的流程中,针对不同的路径进⾏不同的分⽀处理。
活动图的⾛向可以是横向的也可以是纵向的,根据个⼈喜好⽽定。
上图的这个销售订单处理活动图重点展⽰的是并发处理符号,它反映多个活动可以同时并发处理,并发结束后,⼜转变为顺序处理。
流程图定义:1:有起⽌框、输⼊框、输出框、处理框、流程线、连接点组成。
2:起⽌框:表⽰算法的开始或结束3:输⼊\输出框:表⽰算法的输⼊和输出操作。
输⼊操作是指从输⼊设备⼭过江算法所需要的数据传递给指定的内存变量;输出操作则是将常量或变量的值由内存贮器传递到输出设备。
4:处理框:算法中各种技术和赋值的操作均⼀处理框加以表⽰。
处理框内填写处理说明或具体的算式。
5:判断框:算法中的条件判断操作。
判断框说明算法中尝试了分⽀,需要根据某个灌⽔或提哦案件的成⽴与否来确定下⼀步的执⾏路线。
判断框内应当填写判断条件,⼀般⽤关系⽐较运算或逻辑运算来表⽰。
6:注释框:表⽰对算法的⾛向,流程线箭头的⽅向就是算法执⾏的⽅向。
7:连接点:表⽰不同地⽅的流程图的连接。
活动图与流程图的区别:(1)、流程图着重描述处理过程,它的主要控制结构是顺序、分⽀和循环,各个处理过程之间有严格的顺序和时间关系。
⽽活动图描述的是对象活动的顺序关系所遵循的规则,它着重表现的是系统的⾏为,⽽⾮系统的处理过程。
第十一章 活动图-UML面向对象分析、建模与设计-吕云翔-清华大学出版社
判断节点具有多个导出流,对于每条导 出流而言,应当在表示该控制流的箭头 上附加控制条件。
act 取款 输入i
[x>0] 列出数列第x项
[x<=0] 报错
合并节点
合并节点将多个控制流进行合并,并 统一导出到同一个离开控制流。
合并节点仅有逻辑意义而没有时间和 数据上的意义:几个动作都指向同一 个合并节点也并不意味着这些动作要 在进入之后互相等待或进行同步数据 之类的操作。
act 考试
主任务
并发任务A
分叉节点 并发任务B
结合节点 下一个主任务
对象流
act 考试
客户
订单中心
对象流是UML为填补活动图与面向对象 选择商品 思想之间的疏离而出现的。如果需要在 生成订单
活动图中表现对象流,则首先需要绘制
出泳道,且对象应该作为泳道的负责对
订单: Order [未支付]
象出现。
开始
终止
控制流
控制流是活动图中用于标示控制路径 的一种符号。它负责当一个动作或活 动节点执行完毕后,将执行主体从当 前已完毕的节点转移到过程的下一个 动作或动作节点。
控制流从活动图的开始标记开始运行, 经过顺序、分支等结构引导着各个动 作的连续执行。
act 取款
x=5
判断节点
判断节点是活动图中进行逻辑判断、并 创造分支的一种方法。
对业务流程建模
选择一个将要描述的重要过程,过程中尽量涉及数量少但是关键的对象 或参与者,将无关或关联很小的对象排除在外,为每一个对象或参与者 绘制泳道。
在总体业务流程中提取关键的动作或活动节点,并且将他们与对象或参 与者相对应;若发现有些动作无法对应,则考虑动作是否在这个流程中 起关键作用,或者是否遗漏了某些对象或参与者。
软件工程---UML动态分析-活动图
Make Plan
entry/ SetGoal
2020/5/4
26
动作流
与状态图不同,活动图的转换一般都不需要特 定事件的触发。
一个动作状态执行完本状态需要完成的动作后 会自发转换到另外一个状态。
2020/5/4
27
动作流
一个活动图有很多动作或者活动状态,
活动图通常开始于初始状态,然后自动转换到 活动图的第一个动作状态,一旦该状态的动作 完成后,控制就会不加延迟地转换到下一个动 作状态或者活动状态。
7
活动图与流程图的区别
⑴ 流程图着重描述处理过程,它
的主要控制结构是顺序、分支 和循环,各个处理过程之间有 严格的顺序和时间关系
找饮料 [ 发现咖啡 ]
活动图描述的是对象活动的顺序
把咖啡放入 滤器
关系所遵循的规则,它着重表 将滤器放入 现的是系统的行为,而非系统 机器
的处理过程。
往容器里加 水
开机器
活动图着重表现从一个活动到另一个活动的控制流, 是内部处理驱动的流程。
找饮料
[ 发现咖啡 ]
[ 没有咖啡 ] [ 发现可乐 ]
把咖啡放入 滤器
往容器里加 水
拿茶杯
拿可乐
将滤器放入 机器
[ 没有可乐 ]
开机器 冲咖啡
倒咖啡
喝饮料
2020/5/4
12
活动的图形表示
在UML中,活动表示成圆角矩形,与状态的圆角矩 形相比,活动的矩形的圆角更柔和,看上去接近椭 圆。
不能中断,一直运行到结束。 ⑶ 动作状态是瞬时的行为,它所占用的处理时
间极短,有时其至可以忽略。
2020/5/4
19
动作状态
动作状态有如下特点:
uml建模-状态图和活动图
l 使用状态图的最常见的是对反应型对象、尤其是对类、 用例或整个系统的实例的行为建模。反应型对象是指 这个对象可能处于的稳定状态、从一个状态到另一个 状态之间的转换所需的触发事件,以及每个状态改变 时发生的动作。反应型对象具有如下的特点:
活动图的符号集与状态图中使用的符号集类似。像状态图 一样,活动图也从一个连接到初始活动的实心圆开始。 活动是通过一个圆角矩形(活动的名称包含在其内)来 表示的。活动可以通过转换线段连接到其他活动,或者 连接到判断点,这些判断点连接到由判断点的条件所保 护的不同活动。结束过程的活动连接到一个终止点(就 像在状态图中一样)。活动图中的基本要素包括状态、 转移、分支、分叉和汇合、泳道、对象流等。
l ⑹把动作附加到这些转换上,并且附加到这些状态上; l ⑺考虑通过使用子状态、分支、汇合和历史状态,来简化状态图; l ⑻核实所有的状态都是在事件的某种组合下可达的; l ⑼核实不存在死角状态,即不存在那种不能转换出来的状态; l ⑽通过手工或通过使用工具跟踪状态机,核对所期望的事件序列以及它
们的响应。
::new book 借书
::availห้องสมุดไป่ตู้ble 还书
::delete
一个图书对象从它的起始点 开始,首先是“新书”状态
(new book),然后是“可 以借阅”(available)的状 ::borrowed 态,如果有读者将书借走, 则该书的状态为“已借出”
状态(borrowed),如果图 书被归还图书馆,图书的状 态又变为“可以借阅”状态 。图书馆如果放弃该图书对 象的收藏,则图书对象处于
UML中的时序图和活动图的区别与实例分析
UML中的时序图和活动图的区别与实例分析在软件开发过程中,UML(统一建模语言)是一种常用的工具,用于描述和设计软件系统的结构和行为。
UML提供了多种图表类型,其中时序图和活动图是两种常见的图表类型,用于描述系统的不同方面。
本文将探讨时序图和活动图的区别,并通过实例分析来进一步理解它们的应用。
一、时序图时序图是一种行为图,用于描述对象之间的交互和消息传递顺序。
它展示了对象之间的时序关系,包括对象之间的消息传递、方法调用和返回值。
时序图通常用于描述系统的动态行为,特别适用于描述系统中的并发和并行操作。
时序图的主要元素包括参与者(Actor)和消息(Message)。
参与者代表系统中的对象或角色,而消息则表示对象之间的交互。
时序图中的对象按照时间顺序排列,通过箭头表示消息的传递方向和顺序。
例如,考虑一个简单的在线购物系统。
时序图可以展示用户登录、浏览商品、添加到购物车、下单和支付等操作的顺序和交互过程。
用户作为参与者,系统中的各个组件和模块作为对象,它们之间通过消息进行交互。
二、活动图活动图是一种行为图,用于描述系统中的活动和流程。
它展示了系统的控制流和数据流,描述了系统中的各个活动、决策和并发过程。
活动图通常用于描述系统的静态行为,特别适用于描述系统中的业务流程和工作流程。
活动图的主要元素包括活动(Activity)、决策(Decision)和并发(Concurrent)。
活动表示系统中的一个操作或任务,决策表示系统中的一个选择点,而并发表示系统中的并行执行。
例如,考虑一个简单的请假审批系统。
活动图可以展示请假申请、审批流程和请假结果的流程和控制。
请假申请作为一个活动,审批人员的决策作为一个决策点,而并发执行的审批过程则表示系统中的并行操作。
三、时序图与活动图的区别时序图和活动图在表达方式和应用场景上有一些区别。
1. 表达方式:时序图通过对象之间的消息传递来描述系统的交互和顺序,强调时间和顺序。
活动图则通过活动和控制流来描述系统的流程和控制,强调活动和流程。
UML 用例图、关系图、活动图
网上 查询 读者 扩展 预定 扩展
查询 图书馆工作 人员 取消 预定
还书
通知
借书
武当山旅游门户网站( ) 分类信息
注意
在画用例图时要特别注意:用例图是系统分析、 设计和实现的一个最基础的图形,在初期是不一 定要考虑太多的处理细节。 一个用例内部的具体处理细节是由其他图形工具 描述的,用例图只是反映系统的总体功能,以及 与这些功能的相关的角色。有些人可能在画“借 书”用例时,情不自禁地就考虑了“输入读者号 和书号”,“检查图书是否在库?”,“图书数 量减1”,“添加读者借书记录”等等,一旦考虑了 这些细节,就会发现用例图画不下去了。因此, 读者注意用例图中不要考虑处理细节。
武当山旅游门户网站( ) 分类信息
注意:
活动图描述多个角色之间的处理非常有 效,一张活动图只能有一个开始状态, 但可以有多个结束状态。 一个活动可以与多个实体对象相关,这 里的相关指的是一种访问操作。在上面 “借书”活动图中,“检查读者有效” 的活动,要访问“读者”对象和“借还 书记录”对象,检查“读者编号”的有 效性和读者借书数量。
状态图中的转移可以由三部分组成: 事件[条件]/动作
武当山旅游门户网站( ) 分类信息
角色
角色是指与系统交互的人或物。 角色可以有四种类型:系统的使用者、硬件设备、 外部系统和时间。
系统使用者是最重要的角色,例如,在图书信息管理系 统中的系统使用者有读者和图书馆的工作人员,包括采 购、编目和办公室的工作人员。 其他外部应用系统。 硬件设备,不同的硬件设备具有不同的特性和不同的处 理方式。 时间作为角色,经过一定的时间触发系统中的某个事件。
认识活动图认识活动图图书馆图书信息管理系统借书活动图图书馆图书信息管理系统借书活动图借书申请检查读者有效性读者信息借书记录读者无效图书无效检查图书有效性检查预订预订记录清除预订记录图书信息借书记录修改图书信息创建借书记录图书信息读者无效借书超期图书无效有预订读者流通组工作人员读者图书编号活动图中的主要图形元素活动图中的主要图形元素泳道
UML活动图
UML活动图UML中,活动图⽤来展⽰活动的顺序。
显⽰了从起始点到终点的⼯作流,描述了活动图中存在于事件进程的判断路径。
活动图可以⽤来详细阐述某些活动执⾏中发⽣并⾏处理的情况。
活动图对业务建模也⽐较有⽤,⽤来详细描述发⽣在业务活动中的过程。
⼀个活动图的⽰例如下所⽰。
下⾯描述组成活动图的元素。
活动活动是⾏为参数化顺序的规范。
活动被表⽰为圆⾓矩形,内含全部的动作,⼯作流和其他组成活动的元素。
动作⼀个动作代表活动中的⼀个步骤。
动作⽤圆⾓矩形表⽰。
动作约束动作可以附带约束,下图显⽰了⼀个带前置条件和后置条件的动作。
控制流控制流显⽰⼀个动作到下⼀个动作的流。
表⽰为带箭头实线初始节点⼀个开始或起始点⽤⼤⿊圆点表⽰,如下图。
结束节点结束节点有两种类型:活动结束节点和流结束节点。
活动结束节点表⽰为中⼼带⿊点的圆环。
流结束节点表⽰为内部为叉号的圆环。
这两种不同类型节点的区别为:流结束节点表明单独的控制流的终点。
活动结束终点是活动图内所有控制流的结束。
对象和对象流对象流是对象和数据转递的通道。
对象显⽰为矩形。
对象流显⽰为带箭头的连接器,表明⽅向和通过的对象。
⼀个对象流在它的⾄少⼀个终端有⼀个对象。
在上图中,可以采⽤带输⼊输出引脚的速记标柱表⽰。
数据存储显⽰为带 «datastore» 关键字的对象。
判断节点和合并节点判断节点和合并节点是相同标注:菱形。
它们可以被命名。
从判断节点出来的控制流有监护条件,当监护条件满⾜时,可以对流控制。
下图显⽰了判断节点和合并节点的使⽤。
分叉和结合节点分叉和结合节点有同样的标柱:垂直或⽔平条(⽅向取决于⼯作流从左到右,还是从上到下)。
它们说明了控制的并发线程的起始和终点,下图显⽰他们的使⽤⽰例。
结合节点与合并节点不同之处在于:结合节点同步两个输⼊量,产⽣⼀个单独的输出量。
来⾃结合节点的输出量要接收到所有的输⼊量后才能执⾏。
合并节点直接将控制流传递通过。
如果两个或更多的输⼊量到达合并节点。
UML酒店管理系统动态图
《UML系统分析与设计》实训报告系别: 计算机科学与工程系班级:网络0801姓名: XXX学号: 2指导老师:XXX日期:2010年12月24日一、课题详述题目四:酒店预订系统基本业务流程:顾客预约:记录,取消,修改,查询和显示顾客到达:有预约顾客和无预约顾客相分离;用餐顾客结帐:同时刷新餐桌和预约信息显示:显示当前桌子的状态完成以下模块:(1)预约模块●显示预约:显示当天所有预约,同时桌子根据当前时间显示当前状态●添加预约:添加一个新的预约,并插入数据库,如果是当天预约则显示在预约状态栏中●修改预约:修改一个已有的预约,可以修改订餐人数,预约日期,时间以及餐桌●删除预约:删除一个已有预约,删除数据库信息,如果是当天预约则刷新预约状态栏●查询预约:根据订餐人姓名,餐桌号,预约日期,时间查询预约状态(2)到达模块●到达情况有两种,一种是有预约的到达,另一种是无预约的到达●有预约的到达首先要查询预约,故在预约模块中添加到达的功能●无预约的到达,就可以立即找空桌子用餐在到达操作中还要刷新当前桌子状态,由预约或空闲状态转为用餐状态(3)结帐模块●显示当前正在用餐的桌子信息,从中选中需要结帐的桌子,进行结帐操作●结帐完成后,将桌子置为空闲状态,若当天还有不同时间预约此桌子的则置该桌为预约状态●工作内容及要求根据三人的分工,请在一周内完成下列工作内容:(1)进一步细化需求分析的内容,识别出系统的参与者,并完成用例图;(2)将用例图中的每个用例都写成相应的事件流文档;(3)进一步使用活动图来描述每个用例,为后续的系统设计做好准备;(4)按照系统的功能分析,从用例的描述中提取出系统的对象类和界面类,建立类图;(5)分析类图中的实体类和实体类之间的关系,画出数据库的逻辑模型图(只包含实体类,且注明角色和阶元)。
(6)对数据库的逻辑模型进行优化,取消多对多的联系,完成最终的逻辑模型设计;(7)使用交互作用图或状态机图完成系统动态行为的建模。
第十周_动态视图—活动图
3.1 活动图的优缺点
优点
1. 最适合支持并行处理的表达 2. 是支持多线程编程的有力工具
缺点
1. 很难清楚地描述动作与对象之间的关系
3.1 活动图的适用范围
1. 2.
3.
在下列情况下使用活动图 分析用例 理解牵涉多个用例的工作流 多线程应用
在下列情况下不使用活动图 显示对象间的合作(合作图) 显示对象在生命期内的运转情况(状态图)
1.1 活 动 图 表 达 过 程
将记录设备与计算机连接 记录设备上传信息 是
电量是否充足? 否 更换电池
数据是否清空? 否 保存原有数据到计算机上 清空记录设备上的数据 输入病人基本信息到记录设备 指导病人使用设备并交给病人
是
1.2 活动图和状态图的区别
活动图 状态图
表示对象的行为,与方 表示对象的状态,与属 法相关 性相关 可以表示整个系统的流 通常表示一个对象的生 程,与流程图相似 命周期
Measuring
value
采样显示系统的活动图
2.6.3 泳道示例2
图 专用分析的通用流程
2.7 对象流(Object Stream)
用活动图描述某个对象时,可以把涉及
的对象放置在活动图上,并用一个依赖 将这些对象连接到对它们进行创建、撤 销和修改的活动转换上,这种依赖关系 和对象的应用被称为对象流 对象流是动作和对象间的关联,它可用 于对下列关系建模 1. 动作状态对对象的使用 2. 动作状态对对象的影响
4.3 读图3
5 UMБайду номын сангаас语言活动图图标1
名称 起点
终点 动作 对象
描述 活动图中所有活动的起点 (只有一个)
活动图中所有活动的终点 (可以有多个) 活动图中不可再分的活动 活动图中的对象,可用于表 示活动的输入输出
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
9•2020/10/4
活动的分解
0•2020/10/4
活动的分解
1•2020/10/4
活动图建模技术
⑴ 识别要对工作流描述的类或对象。找出负责 工作流实现的业务对象,这些对象可以是显示 业务领域的实体,也可以是一种抽象的概念和 事物。找出业务对象的目的是为每一个重要的 业务对象建立泳道。
⑵ 确定工作流的初始状态和终止状态,明确工 作流的边界。
分支与合并
一个无条件的动作流,可以在一个动作状态的 动作完成后自动触发动作状态的转换以激发下 一个动作状态,
有条件的动作流则需要根据条件,即一个布尔 表达式的真假来判定动作的流向。条件行为用 分支和合并表达。
9•2020/10/4
活动图的组成元素
分支与合并
0•2020/10/4
活动图的组成元素
6•2020/10/4
概述
活动图与流程图的区别
⑴ 流程图着重描述处
理过程,它的主要控 制结构是顺序、分支 和循环,各个处理过 程之间有严格的顺序 和时间关系
活动图描述的是对象 活动的顺序关系所遵 循的规则,它着重表 现的是系统的行为, 而非系统的处理过程 。
7•2020/10/4
概述
活动图与流程图的区别
0•2020/10/4
活动图的组成元素
泳道
泳道没有顺序,不同 泳道中的活动既可以 顺序进行也可以并发 进行。
动作流和对象流允许 穿越分隔线。
1•2020/10/4
活动图的组成元素
对象流
对象流是动作状态或 者活动状态与对象之 间的依赖关系
对象流表示动作使用 对象或者动作对对象 的影响。
2•2020/10/4
2•2020/10/4
活动图的组成元素
活动状态
活动状态的特点如下:
⑴ 活动状态可以分解成其他子活动或动作状态 ,由于它是一组不可中断的动作或操作的组合 ,所以可以被中断。
⑵ 活动状态的内部活动可以用另一个活动图来 表示。
3•2020/10/4
活动图的组成元素
活动状态
活动状态的特点如下:
⑶ 和动作状态不同,活动状态可以有入口动作 和出口动作,也可以有内部转移。
活动图的组成元素
对象流
用活动图描述某个对 象时,可以把涉及到 的对象放置在活动图 中,并用一个依赖将 其连接到进行创建、 修改和撤销的动作状 态或者活动状态上, 对象的这种使用方法 就构成了对象流。
3•2020/10/4
活动图的组成元素
对象流
对象流中对象的特点 :
⑴ 一个对象可以由多 个动作操纵;
3•2020/10/4
概述
活动图描述了活动的顺序,展现从一个 活动到另一个活动的控制流。
4•2020/10/4
概述
活动图在本质上是一种流程图。但与流 程图又有区别。
5•2020/10/4
概述
活动图与流程图的区别
活动图描述系统使用的活动、判定点和分支, 看起来和流程图没什么两样,并且传统的流程 图所能表示的内容,大多数情况下也可以使用 活动图表示,但是两者是有区别的,不能将两 个概念混淆。
⑵ 活动图能够表 示并发活动的情 形,而流程图不 能。
⑶ 活动图是面向 对象的,而流程 图是面向过程的 。
8•2020/10/4
概述
活动图与流程图的区别
⑵ 活动图能够表 示并发活动的情 形,而流程图不 能。
⑶ 活动图是面向 对象的,而流程 图是面向过程的 。
9•2020/10/4
概述
活动图与状态图都是状态机的表现形式,但是 两者还是有本质区别:
5•2020/10/4
活动图的组成元素
分叉与汇合
每个汇合可以有 两个或多个输入 转换和一个输出 转换。
6•2020/10/4
活动图的组成元素
分叉与汇合
7•2020/10/4
活动图的组成元素
泳道
泳道将活动图中的活 动化分为若干组,并 把每一组指定给负责 这组活动的业务组织 ,即对象。
8•2020/10/4
3•2020/10/4
概述
•分 叉
•分 支
•活动起点
•活 动
•合 并
•汇合
•活动终点
4•2020/10/4
活动图的组成元素
UML的活动图中包含的图形元素有动作状态、 活动状态、动作流、分支与合并、分叉与汇合
、泳道和对象流等。
5•2020/10/4
活动图的组成元素
动作状态
动作状态是指执行原子的、不可中断的动作, 并在此动作完成后通过完成转换转向另一个状 态。
分叉与汇合
对象在运行时可 能会存在两个或 者多个并发运行 的控制流,为了 对并发的控制流 建模,在UML中 引入了分叉与汇 合的概念。
1•2020/10/4
活动图的组成元素
分叉与汇合
分叉和汇合都使 用加粗的水平线 段表示。
2•2020/10/4
活动图的组成元素
分叉与汇合
分叉用于将动作 流分为两个或者 多个并发运行的 分支,而汇合则 用于同步这些并 发分支,以达到 共同完成一项事 务的目的。
⑷ 动作状态是活动状态的一个特例,如果某个 活动状态只包括一个动作,那么它就是一个动 作状态。
4•2020/10/4
活动图标和动作状态相同,都是平 滑的圆角矩形。
稍有不同的是活动状态可以在图标中给出入口 动作和出口动作等信息。
5•2020/10/4
活动图的组成元素
还可以在对象名称的 下面加一个分隔栏表 示对象的属性值。
8•2020/10/4
活动的分解
一个活动可以分为若干个动作或子活动,这些 动作和子活动本身又可以组成一个活动图。
不含内嵌活动或动作的活动称之为简单活动;
嵌套了若干活动或动作的活动称之为组合活动 ,组合活动有自己的名字和相应的子活动图。
⑵ 一个动作输出的对 象可以作为另一个动 作输入的对象;
4•2020/10/4
活动图的组成元素
对象流
对象流中对象的特点 :
⑶ 在活动图中,同一 个对象可以多次出现 ,它的每一次出现表 明该对象正处于对象 生存期的不同时间点 。
5•2020/10/4
活动图的组成元素
对象流
在活动图中,对象流 用带有箭头的虚线表 示。
转换不断重复进行,直到碰到一个分支或者终 止状态为止。所有动作状态之间的转换流称之 为动作流。
7•2020/10/4
活动图的组成元素
分支与合并
动作流一般会自动进行控制转换,直到遇到分 支。
分支在软件系统流程中很常见,一般用于表示 对象类所具有的条件行为。
8•2020/10/4
活动图的组成元素
UML动态分析活动图
2•2020/10/4
概述
活动是某件事情正在进行的状态。
它既可以是现实生活中正在进行的某一项工作 (写文章、维修机器等)
也可以是软件系统中正在运行的某个类对象的 一个操作。
活动具体表现为由一系列动作组成的执行过程 。
将各种活动以及不同活动之间的转换用图形进 行表示,就构成了活动图。
如果箭头从动作状态 出发指向对象,则表 示动作对对象施加了 一定的影响。
6•2020/10/4
活动图的组成元素
对象流
施加的影响包括创建 、修改和撤销等。如 果箭头从对象指向动 作状态,则表示该动 作使用对象流所指向 的对象。
7•2020/10/4
活动图的组成元素
对象流
状态图中的对象用矩 形表示,矩形内是该 对象的名称,名称下 的方括号表明对象此 时的状态。
3•2020/10/4
活动图的组成元素
分叉与汇合
分叉可以用来描 述并发线程,每 个分叉可以有一 个输入转换和两 个或多个输出转 换,每个转换都 可以是独立的控 制流。
4•2020/10/4
活动图的组成元素
分叉与汇合
汇合代表两个或 多个并发控制流 同步发生,当所 有的控制流都达 到汇合点后,控 制才能继续往下 进行。
活动的图标包含对活动的描述(如活动名)。
2•2020/10/4
概述
活动图的图形表示
如果一个活动引发下一个活动,两个活动的图 标之间用带箭头的直线连接。
与状态图类似,活动图也有起点和终点,表示 法和状态图相同。
活动图中还包括分支与合并、分叉与汇合等模 型元素。分支与合并的图标和状态图中判定的 图标相同,而分叉与汇合则用一条加粗的线段 表示。
动作流
与状态图不同,活动图的转换一般都不需要特 定事件的触发。
一个动作状态执行完本状态需要完成的动作后 会自发转换到另外一个状态。
6•2020/10/4
活动图的组成元素
动作流
一个活动图有很多动作或者活动状态,
活动图通常开始于初始状态,然后自动转换到 活动图的第一个动作状态,一旦该状态的动作 完成后,控制就会不加延迟地转换到下一个动 作状态或者活动状态。
状态图着重描述从一个状态到另一个状态的流 程,主要有外部事件的参与。
0•2020/10/4
概述
活动图与状态图都是状态机的表现形式,但是 两者还是有本质区别:
活动图着重表现从一个活动到另一个活动的控 制流,是内部处理驱动的流程。
1•2020/10/4
概述
活动的图形表示
在UML中,活动表示成圆角矩形,与状态的圆 角矩形相比,活动的矩形的圆角更柔和,看上 去接近椭圆。
8•2020/10/4
活动图的组成元素
动作状态
动作状态有如下特点:
⑷ 动作状态可以有入转换,入转换既可以是动 作流,也可以是对象流。动作状态至少有一条 出转换,这条转换以内部动作的完成为起点, 与外部事件无关。
9•2020/10/4
活动图的组成元素
动作状态