活动图与状态图

合集下载

时序图、活动图、状态图、协作图的区别

时序图、活动图、状态图、协作图的区别

时序图、活动图、状态图、协作图的区别时序图时序图用于描述对象之间的传递消息的时间顺序, 即用例中的行为顺序.当执行一个用例时, 时序图中的每条消息对应了一个类操作或者引起转换的触发事件.在 UML 中, 时序图表示为一个二维的关系图, 其中, 纵轴是时间轴, 时间延竖线向下延伸. 横轴代表在协作中各个独立的对象. 当对象存在时, 生命线用一条虚线表示, 消息用从一个对象的生命线到另一个对象的生命线的箭头表示. 箭头以时间的顺序在图中上下排列.ATM 用户成功登陆的时序图时序图中的基本概念对象: 时序图中对象使用矩形表示, 并且对象名称下有下划线. 将对象置于时序图的顶部说明在交互开始时对象就已经存在了. 如果对象的位置不在顶部, 表示对象是在交互的过程中被创建的.生命线: 生命线是一条垂直的虚线. 表示时序图中的对象在一段生命周期内存在. 每个对象底部中心的位置都带有生命线.消息: 两个对象之间的单路通信. 从发送方指向接收方. 在时序图中很少使用返回消息.激活: 时序图可以描述对象的激活和钝化. 激活表示该对象被占用以完成某个任务. 钝化指对象处于空闲状态, 等待消息. 在 UML 中, 对象激活时将对象的生命线拓宽为矩形来表示的. 矩形称为计划条或控制期. 对象就是在激活条的顶部被激活的. 对象在完成自己的工作后被钝化.对象的创建和销毁: 在时序图中, 对象的默认位置是在图的顶部. 这说明对象在交互开始之前就已经存在了. 如果对象是在交互过程中创建的, 那么就应该将对象放到中间部分. 如果要撤销一个对象, 在其生命线终止点处放置 “ X” 符号.练习:孙中山的……活动图在 UML 中, 活动图本质上就是流程图. 它用于描述系统的活动, 判定点和分支等.活动图中的基本概念动作状态: 原子的, 不可中断的动作, 并在此动作完成之后向另一个动作转变. 在 UML 中动作状态用圆角矩形 表示, 动作状态所表示的动作写在圆角矩形内部.分支与合并: 分支在软件系统中很常见. 一般用于表示对象类所具有的条件行为. 用一个布尔型表达式的真假来判定动作的流向. 条件行为用分支和合并表达.在活动图中, 分支用空心小菱形 表示. 分支包括一个入转换和两个带条件的出转换, 出转换的条件应该是互斥的, 须保证只有一条出转换能够被触发. 合并包含两个带条件的入转换和一个出转换.状态图状态图: 通过建立对象的生存周期模型来描述对象随时间变化的动态行为.状态图中的基本概念状态: 用圆角矩形表示. 状态名称表示状态的名字, 通常用字符串表示. 一个状态的名称在状态图所在的上下文中应该是唯一的.转换: 用带箭头的直线表示. 一端连着源状态, 一端连着目标状态.初始状态: 每个状态图都有一个初始状态. 此状态代表状态图的起始位置. 初始状态只能作为转换的源, 不能作为转换的目标, 并且在状态图中只能有一个. 初始状态用一个实心圆表示.终止状态: 模型元素的最后状态, 是一个状态图的终止点. 终止状态在一个状态图中可以有多个.协作图协作图(也叫合作图)是一种交互图.时序图主要侧重于对象间消息传递在时间上的先后关系, 而协作图表达对象间的交互过程及对象间的关联关系。

UML中的活动图和状态图的区别与实际应用案例解析

UML中的活动图和状态图的区别与实际应用案例解析

UML中的活动图和状态图的区别与实际应用案例解析UML(Unified Modeling Language)是一种用于软件系统建模的标准化语言,它提供了一套丰富的图形符号和规范,帮助开发人员更好地理解和设计软件系统。

在UML中,活动图和状态图是两种常用的图形表示方式,用于描述系统中的活动流程和对象状态。

本文将探讨这两种图形的区别,并通过实际应用案例来解析它们的具体应用。

活动图是一种用于描述系统中活动流程的图形表示方式。

它主要由活动(Action)、控制流(Control Flow)和决策节点(Decision Node)等元素组成。

活动图可以清晰地展示系统中的各种活动以及它们之间的关系和顺序。

活动图通常用于描述业务流程、系统交互和软件系统中的算法等。

例如,在一个在线购物系统中,我们可以使用活动图来描述用户选择商品、添加到购物车、填写订单信息、确认支付等流程。

通过活动图,我们可以更好地理解和设计系统中的各个步骤,从而提高系统的可靠性和可维护性。

与活动图相比,状态图主要用于描述系统中对象的状态和状态之间的转换。

状态图由状态(State)、转移(Transition)和事件(Event)等元素组成。

状态图可以清晰地展示对象在不同状态之间的转换和触发条件。

状态图通常用于描述系统中的状态机、对象的生命周期和系统中的并发操作等。

例如,在一个自动售货机系统中,我们可以使用状态图来描述售货机的工作状态,如待机状态、售货状态和故障状态等。

通过状态图,我们可以更好地理解和设计系统中对象的状态变化,从而提高系统的可靠性和性能。

活动图和状态图在应用上有一些区别。

活动图主要用于描述系统中的活动流程,强调活动之间的顺序和关系。

它更适合于描述系统中的业务流程和交互流程等。

而状态图主要用于描述系统中对象的状态和状态之间的转换,强调对象状态的变化和触发条件。

它更适合于描述系统中的状态机和对象的行为。

下面通过一个实际应用案例来进一步解析活动图和状态图的具体应用。

6.状态机图(状态+活动)

6.状态机图(状态+活动)

课堂练习(电梯系统的状态图)
带有复杂转换的状态图
补充说明(状态图)
适用情况:
适用于描述跨越多个用例的单个对象行为 不适合描述多个对象之间的行为协作 故需与其他技术(类图、对象图)结合使用
注意事项:
不要花费大量时间和精力为系统中的每个类都 画对应的状态图 开发人员只关心关键类的行为,只需为这些类 建立状态图,帮助理解所研究的问题
方法二:
先对活动进行全局的分析 再将活动分配各具体的对象
建议:
两种方法各有利弊 根据个人习惯和具体情况而定
分类(1.简单活动图)
分类(1.简单活动图)
分类(2.标识泳道的活动图)
泳道(SwimLane):用于有效 地标识每个活动的实施者。 表示方法:
用一条垂直的线将活动分开 每个泳道都有一个唯一的名称 每个活动节点、分支必须只属 于一个泳道;而转换,分叉与 汇合是可以跨泳道的。
状态机图(State machine Diagram)
状态(state):
定义对象在其生命周期中的一种条件或状况 比如:满足某些条件、执行某些活动或等待某些事件 例子:灯的开闭、人的梦醒、学生的课上与课下
理解
状态的存在:对象在任何时刻都会处于某种状态之中 状态的转移:事件使对象从一个状态转向另一个状态 当面对所检测到的事件或所接收到的消息时,对象所 处的状态不同,做出的反应也不同
细化状态内的活动与转换
状态图(航班预订3)
使用复合状态
课堂练习
绘制电脑工作时的状态转换图
课堂练习
绘制手机工作时的状态转换图
课堂练习(电梯系统的状态图)
电梯开始处于空闲状态(idle),当有人按下按钮要求使用电梯时 (事件is required发生),电梯进入运行状态(run)。如果电梯的 当前楼层比想要的楼层高时(监护条件[currentFloor>desiredFloor] 成立),电梯进入下降状态(moving down);反之,如果电梯的当 前楼层比想要的楼层低时(监护条件[currentFloor<desiredFloor] 成立),电梯进入上升状态(moving up);如果电梯的当前楼层与 想要的楼层相同时(监护条件[currentFloor=desiredFloor]成立), 电梯门打开(door open)。在电梯上升或下降期间,每经过一个楼 层就判断监护条件[currentFloor=desiredFloor]是否成立,若不成 立,继续移动,若成立,就进入停止状态(stop),15秒后,电梯门 自动打开(door open),2分钟后,电梯门自动关上(door close), 如果有更多的电梯使用要求,进入运行状态(run),反之,则进入 空闲状态(idle)。

状态图与活动

状态图与活动
01
活动图的应用-工作流建模
01
02
03
分析用例。能直观清晰地分析用例,了解应当采取哪些动作以及这些动作之间的依赖关系。一张完整的活动图是所有用例的集成图。
理解牵涉多个用例的工作流。在难于区分不同用例而对整个系统的工作过程又十分清楚时,可以先构造活动图,然后用切片技术派生用例图。
处理多线程应用。采用“分层抽象,逐步细化”的原则描述多线程。
动作
动作是一个可执行的原子计算,即动作是不可被中断的,其执行时间是可忽略不计的
进入动作和退出动作的例子: Entry/setMode(onTrack) Exit/setMode(offTrack)
01
02
03
04
05
状态图的基本概念、用途
状态图的图形元素
状态的定义及分类
组合状态的分类
事件、事件的分类、动作
3
一个状态图表现了一个对象的生存史,着重描述从一个状态到另一个状态的控制流
什么是状态图
状态图:一部电梯的运行方式
状态图的图形元素
状态:用一个带圆角的矩形框表示,可以进一步划分为3个分隔框:名称框、内部转移框和嵌套状态图框 名称框:标出状态的名称 内部转移框:规定动作或活动, 但不改变对象的当前状态 嵌套状态图:放置被嵌套的子状态图
理解工作流程
对理解业务处理过程十分有用,可以画出描述业务工作流的活动图与领域专家进行交流,明确业务处理操作是如何进行的,将会有怎样的变化
处理多线程应用
利用活动图支持并发的特点,描述多线程应用的行为
分析Use Case
描述复杂过程的算法
此时相当于UML版的程序流程图,常规的顺序、分支过程在活动图中都能得到充分体现
何时可使用活动图

第6章 状态机图

第6章 状态机图

14
例1:子状态之间“or”关系的例子。
例2:子状态之间“and”关系的例子。
15
History State(历史状态)


History State: A pseudostate whose activation restores the previously active state within a composite state. 使用历史状态,可以记住从组合状态中退出时 所处的子状态,当再次进入组合状态时,可直 接进入到这个子状态,而不是再次从组合状态 的初态开始。
7
状态(State)


定义:A state is a condition or situation during the life of an object during which it satisfies some condition, performs some activity, or waits for some event. 一个状态是指在对象的生命期中的一个条件或 状况,在此期间对象将满足某些条件、执行某 些活动或等待某些事件。
22


说明: 在UML中,事件分为四类: (1) Call event (调用事件) (2) Change event (变化事件) (3) Time event (时间事件) (4) Signal event (信号事件)
23
(1) Call event: The event of receiving a call for an operation that is implemented by actions on state machine transitions. Call event的语法格式如下: 事件名 ( [逗号分隔的参数列表] ) 其中参数列表中的参数格式为: 参数名:类型 例:

解析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中图符不一样。

第8章状态图和活动图课件

第8章状态图和活动图课件
▪ 终止状态只能作为转换的目标,而不能作 为转换的源。
▪ 终止状态在一个状态图中可以有多个。
初态和终态
▪ 一个状态图只能有一个初态,但可以有多 个终态或没有终态
组合状态
Idle 维护
插卡 取消
Maintenance
Active
Validating [继续]
Selecting
entry/ 读卡 exit/弹出卡
➢ 有些对象出现在很多顺序图中,在每个顺序图中都有 很多的箭头(消息)指向它,每条消息都是对该对象 发出的命令,这些命令可以引起对象的变化,即出现 在很多交互中并且是交互的目标的对象应该用状态图 来表示
➢ 例如,剧院的showSheat对象,用于显示剧院的座位 列表,该对象被创建的时机各种各样,如演出被安排 的时候、被客户选中的时候、用户取消座位时等。每 个时机创建该对象的规则都不同。
动作
contact
Tracking
Engaging
8.2.4 转换
警戒条件
➢ 警戒条件是触发转换必须满足的条件,它是一 个布尔表达式。
➢ 从一个状态引出的多个转换可以有同样的触发 器事件,但每个转换必须有不同的警戒条件。
转换组成: ① 源状态 ② 目标状态 ③ 触发事件 ④ 警戒条件 ⑤ 动作 转换种类: ① 外部转换 ② 内部转换 ③ 完成转换 ④ 复合转换
8.5 活动图的基本概念
活动图的组成元素:
① 活动(Activity) ② 动作流(Action Flow) ③ 分支(Branch)与合并(Merge) ④ 分叉(Fork)和汇合(Join) ⑤ 泳道(Swimlane) ⑥ 对象流(Object Flow)
8.1 什么是状态图
状态图主要用于描述一个对象在其生存期 间的动态行为,表现一个对象所经历的状 态序列,引起状态转移的事件,以及因状 态转移而伴随的动作。

chapter07-状态图&活动图

chapter07-状态图&活动图
转换种类包含如下几种:
(1)外部转换 (2)内部转换 (3)完成转换 (4)复合转换
23/84
(1)外部转换
外部转换:一种改变 对象状态的转换,是 最常见的一种转换。
Somebody go into Somebody go out Somebody go into Used
表示:从源状态到目 标状态的直线箭头。

13/84
7.1.2 状态图----状态
状态的组成:

复合状态及其子状态 并发子状态: 复合状态中有两个或多个并发执行的
子状态机
• 组合状态多个并发子状态,控制多个控制流 • 当复合状态转出的转移被激发时,或每个内嵌状态机 都运行到终止状态时,多个控制流会汇合成一个
Working
Awaiting User Password
11/84
7.1.2 状态图----状态
状态的组成:

延迟事件 (Deferred Event): 延迟处理的时间列表
,在当前状态下暂不处理,等到合适状态再处理。

复合状态及其子状态 顺序子状态
• • 任何时刻只能处于一种状态 状态复合状态/复合状态的子状态
Working
Awaiting User Password
方括号括起来的布尔表达式。 放在触发事件后面 可以引用对象的属性值或触发事件的参数 只在引起转换的触发事件发生时被赋值一次
若值为真,则触发事件使转换有效; 若值为假,则不会引起转换。
从一个状态引出的多个转换可以有同样的触
发事件,但是每个转换必须具有不同的监护 条件。
21/84
(5)动作
对象,依据重要性从左到右放置 设置生命线 消息,从上到下 设置对象的激活期

uml报告三-状态图与活动图

uml报告三-状态图与活动图

天津理工大学
计算机与通信工程学院
实验报告
2013 至2014 学年第二学期
事件流的描述,可在活动图中绘制如下图。

其中,当点击点击
点击图标然后在
Step 8:保存结果
【扩展练习】
练习一:对选课系统中的课程类(对象)(Course)的状态变化过程如下:课程对象被
创建,添加到数据库中。

管理员可以删除、修改课程信息,在某个学期,开设该课程,如果选修人数超过指定人数,就不再允许学生选这门课。

学期结束,课程的状态终止。

根据以上描述,绘制课程类(Course)的状态图。

附录(可包括源程序清单或其它说明)心得体会。

uml建模-状态图和活动图

uml建模-状态图和活动图
l 状态图表示某个类所处的不同状态和该类的状态转换信息。 虽然每个类都有状态,但在系统活动期间仅对具有三个或 更多潜在状态的类才画一个状态图,进行状态图描述。用 状态图对一个对象按事件排序的方法建模,状态图是强调 从状态到状态的控制流的状态机的简单表示。
l 使用状态图的最常见的是对反应型对象、尤其是对类、 用例或整个系统的实例的行为建模。反应型对象是指 这个对象可能处于的稳定状态、从一个状态到另一个 状态之间的转换所需的触发事件,以及每个状态改变 时发生的动作。反应型对象具有如下的特点:
活动图的符号集与状态图中使用的符号集类似。像状态图 一样,活动图也从一个连接到初始活动的实心圆开始。 活动是通过一个圆角矩形(活动的名称包含在其内)来 表示的。活动可以通过转换线段连接到其他活动,或者 连接到判断点,这些判断点连接到由判断点的条件所保 护的不同活动。结束过程的活动连接到一个终止点(就 像在状态图中一样)。活动图中的基本要素包括状态、 转移、分支、分叉和汇合、泳道、对象流等。
l ⑹把动作附加到这些转换上,并且附加到这些状态上; l ⑺考虑通过使用子状态、分支、汇合和历史状态,来简化状态图; l ⑻核实所有的状态都是在事件的某种组合下可达的; l ⑼核实不存在死角状态,即不存在那种不能转换出来的状态; l ⑽通过手工或通过使用工具跟踪状态机,核对所期望的事件序列以及它
们的响应。
::new book 借书
::availห้องสมุดไป่ตู้ble 还书
::delete
一个图书对象从它的起始点 开始,首先是“新书”状态
(new book),然后是“可 以借阅”(available)的状 ::borrowed 态,如果有读者将书借走, 则该书的状态为“已借出”
状态(borrowed),如果图 书被归还图书馆,图书的状 态又变为“可以借阅”状态 。图书馆如果放弃该图书对 象的收藏,则图书对象处于

第7章 状态图和活动图

第7章 状态图和活动图

图7.1 图书馆书籍的状态图
一个图书对象从它的起始点 开始,首先是“新书”状态 (new book),然后是“可 以借阅”(available)的状 态,如果有读者将书借走, 则该书的状态为“已借出” 状态(borrowed),如果图 书被归还图书馆,图书的状 态又变为“可以借阅”状态 。图书馆如果放弃该图书对 象的收藏,则图书对象处于 “删除”状态(delete),最 后到达“终止”状态。
7.2.1 活动图概述
在用例模型中,可以利用文本来描述用例的业务流程, 但如果业务流程较为复杂的话,则可能会难以阅读和 理解,这时需要用更加容易理解的方式(图形)来描 述业务过程的工作流,在UML中将这类描述活动流程 的图形称为活动图(Activity Diagram)。 活动图被设计用于简化描述一个过程或者操作的工作步 骤。活动用圆角矩形表示,接近椭圆。一个活动中的 处理一旦完成,则自动引起下一个活动的发生。箭头 表示从一个活动转移到下一个活动。和状态图类似, 活动图中的起点用一个实心圆表示,终点用一个实心 圆外加一个圆圈表示。在一个活动图中,只有一个起 始状态,可以有零个或多个终止状态。
第7章 状态图和活动图
7.1状态图
状态图,用于UML中建立动态模型,主要描述系
统随时间变化的行为,这些行为是用从静态视图中抽 取的系统的瞬间值的变化来描述的。在对象的生命期 建模中,状态图显示了一个状态机,展示的是单个对 象内从状态到状态的控制流。状态图通过对类的对象
的生存周期建立模型来描述对象随时间变化的动态行
7.2.7分叉和汇合
对象在运行时可能会存在两个或多个并发运行的控制流, 为了对并发的控制流建模,UML中引入了分叉与汇合的概 念。分叉用于将动作流分为两个或多个并发运行的分支, 而汇合则用于同步这些并发分支,以达到共同完成一项事 务的目的。 在UML中使用分叉和汇合表示并行发生的事件流。分叉表 示把一个单独的控制流分成两个或多个并发的控制流。一 个分叉可以有一个进入转移和两个或多个输出转移,每一 个转移表示一个独立的控制流。 汇合表示两个或多个并发 控制流的同步发生,一个汇合可以有两个或多个进入转移 和一个输出转移。分叉和汇合应该是平衡的。分叉和汇合 在图形上都使用同步条来表示,同步条通常用一条粗的水 平线表示。

状态图和活动图

状态图和活动图
活动图工具支持 正向:若表示工作流程,产生代码困难;若表示 具体算法产生代码容易。 逆向:对类的操作是可能的,从系统得到工作流 程困难。 Rose2003不支持。
34
制作 李文杰
8. 状态图和活动图的比较
状态图和活动图都是对系统动态行为建模,有共 同点又有区别。 1)两者描述的重点不同。状态图描述的是对象的 状态和状态之间的转移,活动图描述的是活动到活动 的控制流。 2)两者使用的场合不同。状态图用于显示一个对 象在其生命周期内的行为,活动图用于描述用例、涉 及多个用例的工作流程和多线程应用。 如果需要描述多个对象间的交互,应该用交互图 (顺序图或协作图)。
一般状态之间的转移是由事件触发的,因此在转移上应标出 事件;否则,表示在源状态的内部活动执行完毕后自动触发 转移。
15
制作 李文杰
2. 状态图中的基本概念
转移 转移格式:[event-signature][[guard-condition]][/ action] 事件特征标记格式:event-name(comma-separated-parameter-list)
put(c)[ c!='<' ] / return false Waiting put(c)[ c=='<' ]
状态图工具支持 正向:根据状态机理论来生成代码 (参考形式语言与自动机资料) 逆向:困难,手工 Rose2003不支持,Poseidon支持。
put( c )[ c!='>' ] / token.append(c);return false
[ temperature> =100 ]
汽体(蒸汽)
4
制作 李文杰
1. 状态图

状态图、活动图实验报告

状态图、活动图实验报告

UML建模课程实验三、UML状态图、活动图模型的设计班级:信息0702 组别:指导老师:徐凯波姓名:王姗学号:2007030331205一、实验要求:掌握利用UML建模工具建立状态图和活动图的方法。

二、实验内容:利用UML建模工具设计状态图和活动图三、实验环境:Windows 2000 Professional以上环境、Rational Rose2003、Sybase Power Designer 10四、操作步骤:(一)状态图(二)活动图五、遇到的问题和解决方法:状态图:学生登陆选课系统进行选课,每个学生每个学期最多只能选3门课,如果学生选课没有达到3门课,就可以进行选课,但学生选课如果达到了3门,则选课失败,不能进行选课。

活动图:管理员再添加课程时,根据本学期实际情况设定课程人数的下限于上限,统计每门课程的选课人数,如果本门课程低于设定的下限,则删除此课程,如果选课人数高于设定的上限,则此门课可则不能再选。

在画活动图的时候,我犯了一个致命的错误,就是没有画泳道,泳道是老师在课堂上反复强调的内容,但在实际操作中,依然这方面出错,这说明老师课上反复强调的东西是多么的重要,还有就是一定要将课堂与实际相联系,才能将知识真正的掌握。

六、实验心得和体会:通过这学期的UML课程,我最大的感触解释做任何事情都要端正态度,在刚上徐老师课的时候,总觉得许老师要求的过严,后来才知道,老师的要求是有根据的,许老师是希望我们通过这一学期的课程真正的掌握UML的知识,学有所用,在画活动图的时候,我已经习惯了先自己动脑去想,真是做不下去的时候,才向老师、同学询问,通过仔细全过程的认真思考,我掌握了关于UML一些制图的方法,可是只掌握这些还是远远不够的,徐老师说够,RationalRose软件还能做许多与编程有关的东西,我们所学习的只是一些皮毛而已,我会继续学习这个软件的,不会的难点,还会想徐老师请教!。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
UML U ML 系统建模基础教程 建模实例教程
第10章 状态图与活动图
10.1 动态建模概述
4.协作图做什么?
协作图(Collaboration Diagram)是顺序图之外的另一 种表示交互的方法。主要描述协作对象间的交互和链接,强调 的是对象结构相关的信息。顺序图和协作图都描述交互,但是 顺序图强调的是时间,而协作图强调的是空间。 1) 通过描绘对象之间消息的传递情况来反映具体的使用语境的 逻辑表达。一个使用情境的逻辑可能是一个用例的一部分,或 是一条控制流。这和序列图的作用类似。 2 )显示对象及其交互关系的空间组织结构。协作图显示了在交 互过程中各个对象之间的组织交互关系以及对象彼此之间的链 接。与序列图不同,协作图显示的是对象之间的关系,并不侧 重交互的顺序,它没有将时间作为一个单独的维度,而是使用 序列号来确定消息及并发线程的顺序。 3) 表现一个类操作的实现。协作图可以说明类操作中使用到的 参数、局部变量以及返回值等。当使用协作图表现一个系统行 为时,消息编号对应了程序中嵌套调用结构和信号传递过程。
UML U ML 系统建模基础教程 建模实例教程
用例建模 需求分析 系统分析
系统设计
活动图 对象类建模
对象状态模型: 状态图/活动图 对象交互模型: 顺序图/协作图
实现
测试
部署
第10章 状态图与活动图
10.1 动态建模概述
1.状态图与活动图在系 统建模中的位置
需求分析
用例建模 活动图 对象类建模
对象状态模型: 状态图/活动图 对象交互模型: 顺序图/协作图
UML U ML 系统建模基础教程 建模实例教程
第10章 状态图与活动图
10.2.2 状态图组成
1.起点和终点(起始状态与终止状态,特殊状态节点) 起点代表状态图的一个初始状态,此状态代表状态图的 起始位置。起点只能作为转换的源,而不是作为转换 的目标。起点在一个状态图中只允许有一个 。 终点代表状态图的最后状态,此状态代表状态图的终止 位置。终点只能作为转换的目标,而不是作为转换的 源。终点在一个状态图中可以有一个或多个,表示一 个活动图的最后和终结状态。
UML U ML 系统建模基础教程 建模实例教程
第10章 状态图与活动图
10.2.2 状态图组成
3. 事件 事件是在某个时刻发生的事情,一个事件是一次激发的产生,激发可 以触发一个状态转换。“事件”指的是发生的且引起某些动作执行 的事情,即事件表示在某一特定的时间或空间出现的能够引发状态 改变的运动变化。 事件是一个时间点,事件种类如下。
UML U ML 系统建模基础教程 建模实例教程
第10章 状态图与活动图
10.2.2 状态图组成
事件是一个时间点: 在员工下班回家的过程中,发生的事件包括: 到下班时间了,收拾东西准备回家(不考虑加班); 开始等待电梯; 电梯到达梯上; 乘坐电梯到达楼下; (发现没带家里钥匙,上楼拿)乘坐电梯上楼; 去公交车站等车; 乘坐的公共汽车到了() 乘公共汽车去菜场; 买菜; 回到家。
理解状态的特征——状态是一个时间段: 在员工下班回家的过程中,经历的状态包括: 到下班时间了,收拾东西准备回家(不考虑加班); 开始等待电梯; 乘坐电梯下楼; 乘坐电梯到达楼下; (发现没带家里钥匙,上楼拿)乘坐电梯上楼; 去公交车站等车; 乘公共汽车去菜场; 买菜; 回到家。
UML U ML 系统建模基础教程 建模实例教程
UML U ML 系统建模基础教程 建模实例教程
第10章 状态图与活动图
10.2.2 状态图组成
状态图符的三个组成部分:状态名、状态变量、事件。 一个状态一般包含三个部分,如图所示。第事件一部分为状态的名 称,如空闲、已付、移动、在菜场等。第二部分为可选的状态变 量的变量名和变量值。属性(变量)指的是状态图中类的属性。 第三部分为可选的活动表,列出有关的事件和活动。
UML U ML 系统建模基础教程 建模实例教程
第10章 状态图与活动图
10.2.2 状态图的组成
状态图由状态、转换、事件、活动和动作5部分组成: 1 状态指的是对象在其生命周期中的一种状况,处于某个特定状态 中的对象必然会满足某些条件、执行某些动作或者是等待某些事件。 一个状态的生命周期是一个有限的时间阶段。 2 转换指的是两个不同状态之间的一种关系,表明对象将在第一个 状态中执行一定的动作,并且在满足某个特定条件下由某个事件触 发进入第二个状态。 3 事件指的是发生在时间和空间上的对状态机来讲有意义的那些事 情。事件通常会引起状态的变迁,促使状态机从一种状态切换到另 一种状态,如信号、对象额度创建和销毁等。 4 活动指的是状态机中进行的非原子操作。 5 动作指的是状态机中可以执行的那些原子操作,所谓原子操作指 的是它们在运行的过程中不能被其他消息所中断,必须一直执行下 去,最终导致状态的变更或者返回一个值。
第10章 状态图与活动图
10.2.2 状态图组成
理解状态的特征: (1)进入/退出动作:对象本身的一个操作。如果在电梯里是一个 状态的话,那员工进电梯和出电梯就是状态“在电梯里”的进 入/退出动作。 (2)内部转换:例如员工在去等电梯的时候发现钥匙没带,此时 我们不用在“等电梯”以后,而是在“准备回家”的状态中就 去拿钥匙了。虽然整体的状态没有发生变化,但对于对象本身 来说,前后是不一样的,一个是有钥匙,一个是没有钥匙。 (3)子状态:如果需要进一步描述员工对象在电梯里聊天、打电 话等状态时,这些状态就是该对象的“在电梯里”状态的子状 态。 (4)延迟事件:现在不立即产生的事件,该事件是在一段时间以 后才产生的事件。员工必须等待到达17:50的时候,才能下班。
UML U ML 系统建模基础教程 建模实例教程
第10章 状态图与活动图
10.2 .1 状态概述
并不是对所有的对象都创建 状态图,只有当行为的改变和状态 有关时才创建状态图。 如图书管理系统中的图书 (相关:新书、在架、预订、借出、 注销)和读者帐号(有效、挂失、 失效)可以创建其状态图,而图书 管理员帐号则没有必要建立状态图。 与类图、对象图和用例图不 同,状态图只能对单个对象建立模 型,而类图、对象图和用例图可以 对一个系统或一组类建立模型。
UML系统建模基础教程
第10章 状态图与活动图
10.1 10.2 10.3 10.4 动态建模概述 状态图 活动图 活动图与状态图的比较
第10章 状态图与活动图
10.1 动态建模概述
1.状态图与活动图在系统建模中 的位置
在UML软件开发过程中,是通 过建立业务用例模型对系统进行需 求分析的,对于某些重要的用例采 用活动图来配合描述用例具体实现 的流程,在系统分析阶段也经常用 活动图来进一步深入描述用例图的 具体功能实现流程。 在系统分析与系统设计阶段都 涉及到对象类的动态建模。对象的 动态模型是描述系统的动态行为的, 分为状态模型和交互模型。 在UML中,用状态图和活动图 为状态模型建模,用顺序图和合作 图为交互模型建模。
UML U ML 系统建模基础教程 建模实例教程
第10章 状态图与活动图
10.1 动态建模概述
6.活动图做什么?
活动图(Activity Diagram)主要用于描述系统中对象的 一个活动到另一个活动的控制流、一个事务的活动序列、工作 的流程和并发的处理能力。 需求分析中的活动图主要用来配合描述某个重要的用例, 用图型的方式对用例的具体实现的过程进行描述,这样比文字 的描述更直观、更准确地说明用例的功能,在系统分析与设计 过程中,经常用活动图进一步深入描述用例图的具体实现流程。 系统设计中的活动图对系统的业务工作流、操作建模,它 描述业务流中从一个活动到另一个活动的控制流。它描述活动 的序列,用来分析和验证用例,理解工作流程,描述复杂过程 的算法,并具支持带条件的行为和并发行的多程建模。
系统分析 在系统分析系统阶段用状 态图和活动图为对象动态模型 中的状态模型建模。 系统设计 在系统设计阶段阶段对已 经建立的对象动态模型(状态 实现 图、活动图、顺序图和协作图) 采用迭代式的方式进一步细化 测试 和完善。
部署
UML U ML 系统建模基础教程 建模实例教程
第10章 状态图与活动图
UML U ML 系统建模基础教程 建模实例教程
第10章 状态图与活动图
10.2.2 状态图组成
2. 状态 状态是指在对象的生命期中的一个条件或状况, 在此期间对象将满足某些条件、执行某些活动或等待 某些事件。
UML U ML 系统建模基础教程 建模实例教程
第10章 状态图与活动图
10.2.2 状态图组成
UML U ML 系统建模基础教程 建模实例教程
第10章 状态图与活动图
10.1 动态建模概述
5.状态图做什么?
状态图(State Diagram)主要用来描述对象、子系统、系 统的生命周期。通过状态图可以表现系统中一个对象所具有的 各种状态和这个对象从一种状态到另一种状态的转换(迁移), 以及影响对象这些状态的事件(如收到消息、时间已到、报错、 条件为真)等。它主要描述某个对象从一个状态到另一个状态 变化迁移的控制流。
UML U ML 系统建模基础教程 建模实例教程
第10章 状态图与活动图
10.2.2 状态图组成
事件的种类: 事件可以分成明确或隐 含的几种,主要包括:状态 内部的事件、消息事件和时 间事件等。 状态内部的事件(又称为动作 Activety): 主要有入口事件、出口事件 和DO事件等。
UML U ML 系统建模基础教程 建模实例教程
第10章 状态图与活动图
ห้องสมุดไป่ตู้
10.2 状态图
10.2 .1 状态图概述 10.2.2 状态图的组成 10.2.3 状态图创建案例
UML U ML 系统建模基础教程 建模实例教程
第10章 状态图与活动图
10.2 .1 状态图概述
状态图(Statechart Diagram)是软件系统进行 面向对象分析的一种常用工具,它通过建立对象、子系 统、系统的生命周期模型(状态)来描述对象、子系统 随时间变化的动态行为。 状态图详细说明了一个对象生命周期内的可能的状 态序列,状态允许发生的迁移,会引起迁移发生的事件, 以及为了响应事件而执行的行为。
相关文档
最新文档