新软件建模技术6(状态图活动图)PPT教学课件

合集下载

建立动态模型-状态图 PPT

建立动态模型-状态图 PPT

状态图
状态是状态图的重要组成部分。包括:
状态名:在状态图中状态名必须是唯一的。 入口和出口动作:进入和退出一个状态时所执行的
边界动作。
一个状态可以有或者没有入口和出口动作。
内部转换:是不导致状态改变的转换。
内部转换只有源状态而没有目标状态。
组合状态:内部嵌套有子状态的状态。
本节课内容
第九章 面向对象方法学引论 9.5、动态模型
第十章 面向对象分析 10.1、面向对象分析的基本过程 10.2、需求陈述 10.3、建立对象模型 10.4、建立动态模型 10.5、建立功能模型 10.6、定义服务
动态模型
动态模型表示瞬时的、行为化的系统的“控制”性 质,它规定了对象模型中的对象的合法变化序列。
教材P73页第6题。
终止状态:是模型元素的最后状态,是一个状态 图的终止点。终止状态只能作为转换的目标,而 不能作为转换的源。
终止状态在一个状态图中可以有0个或多个,它用一 个套有一个实心圆的空心圆表示。
状态图
判定:
用来表示一个事件依据不同的监护条件产生不同的影 响,即工作流在此处按监护条件的取值而发生分支。
状态图
转换:用带箭头的直线表示,一端连接源状态即转 出的状态,箭头一端连接目标状态即转入的状态。
转换可以标注与此转换相关的选项如事件、动作和 监护条件。
状态图
初始状态:代表状态图的起始位置,只能作为转 换的源,而不能作为转换的目标。
初始状态在一个状态图中只允许有一个,它用一个 实心的圆表示。
判定用空心小菱形表示。 因为监护条件为布尔表达式,所以通常条件下的判定
只有一个入转换和两个出转换。 根据监护条件的真假可以触发不同的分支转换。

UML状态图和活动图ppt课件

UML状态图和活动图ppt课件
UML 状态图
1
课程目标
• 掌握状态图的定义、符号 • 掌握状态图的动作和事件 •掌握状态图的建模方法 •掌握活动图的定义、符号、条件 •掌握活动图的建模方法
2
本讲内容
• 状态图的定义、符号 • 状态图的动作和事件 • 状态图的建模方法 • 活动图的定义、符号、条件 • 活动图的建模方法
3
3
状态图的定义
12
状态图的符号
下面的示例演示了银行帐户中的转移及其有效状态,如下图 所示。
13
状态图的符号
3.决策点 决策点在建模状态图时提供了方便,因为它通过在中心位 置分组转移到各自的方向,从而提高了状态图的可视性,如下
图所示。
14
状态图的符号
4.同步 状态图中使用同步条是为了说明并发工作流的分叉与联合
表达式。如下图所示。
条件 19
练习: 阅读一个电梯系统的状态图 步骤:
1)标识出状态。 2)标识出转移。 3)标识出事件和动作。
20
21
状态图的建模方法
状态图建模需要执行以下步骤: 1)标识出需要进一步建模的实体。 2)标识出每一个实体的开始状态和结束状 态。 3)确定与每一个实体相关的事件。 4)从起始状态开始创建状态图。
22
状态图的建模方法
1.标识出需要进一步建模的实体 首先要标识出哪些实体需要使用状态图进
一步建模。状态图应该用于复杂的实体,而不 必用于具有复杂行为的实体。对于有复杂行为 的实体,使用活动图可能会更加适合。具有清 晰、有序的状态实体最适合使用状态图进一步 建模。后面将会建模一个Grade对象,尤其是 它的保存功能。
下图所示。
27
状态图的建模方法(续)
练习: 建模航班状态图 创建一个状态图来描述航班如何从提出申请、 制定航班计划、售票、起飞、飞行、到着陆的状态

第9章-状态图和活动图课件

第9章-状态图和活动图课件
第9章-状态图和活动图
CD Player
9.2 状态图元素
需要stop状态吗?
第9章-状态图和活动图
9.2 状态图元素
中间状态的组成(除初态终态外,最常见的 状态) •状态名(name) •入口/出口动作(entry/exit action) •内部转化(internal transition) •子状态(substate) •延迟事件(deferred event)
前门-入口,后门-出口
不出去,只在内部发生的转换-内 部转换
从后门出去,又从前门进来-自转
换,自转换会引起entry和exit动作
的执行
第9章-状态图和活动图
9.2 状态图元素
子状态(substate) 嵌套在另外一个状态中的状态 空调:停止、运行状态,运行状态中可 嵌套制 冷、制热、除湿等子状态
Lighting
转换域, 可选
再当处转理出次,该用状 d态efe时r这,个做特关定 动作灯表动示作延迟
entry/ turnOn do/ blinkFivetimes
event poweroff/ powerSupplySdeolf活动是只
exit/ turnOff event selfTest/ defer
第9章-状态图和活动图
9.2 状态图元素
9.2.2 状态 • 状态详细描述
状态名称
入口动作 出口动作 内部转换 延迟事件 内部活动
输入密码
entry / pwd.reset()
exit / pwd.test() clear / pwd.reset() help / display help
print / defer do / suppress
状态名称

教学课件PPT状态图和活动图

教学课件PPT状态图和活动图

3
UML理论与实践
状态
状态由状态名、状态变量和活动三部分组成。 状态变量是状态图所显示的类的属性,也可以是临时变量。 活动部分列出了处于该状态时要执行的事件和动作。有3 个标准事件: entry事件用于指明进入该状态时的特定动作。
exit事件用于指明退出该状态时的特定动作。
do事件用于指明在该状态中时执行的动作。
24
UML理论与实践
H和H*的区别:
H只记住最外层的组合状态的历史。 H*可记住任何深度的组合状态的历史。
例:历史状态的例子。
25
UML理论与实践
状态图的工具支持
正向工程:根据状态图生成代码。例:
所生成的代码示例:
26 UML理论与实践
class MessageParser { public boolean put(char c) { switch (state) { case Waiting: if (c == '<') { state = GettingToken; token = new StringBuffer(); body = new StringBuffer(); } break; case GettingToken : if (c == '>') state = GettingBody; else token.append(c); break; case GettingBody : if (c == ';') { state = Waiting; return true; }
[change = 0]
[change > 0]
自动售货机 状态图
9 UML理论与实践
Do:dispense item

第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 什么是状态图
状态图主要用于描述一个对象在其生存期 间的动态行为,表现一个对象所经历的状 态序列,引起状态转移的事件,以及因状 态转移而伴随的动作。

新软件建模技术6(状态图活动图)PPT课件

新软件建模技术6(状态图活动图)PPT课件

[onHook]
7
10.1.4入口/出口动作(entry/exit action)
• 表示进入/退出这个状态所执行的动作。 • 入口动作:entry/ XX action • 出口动作:exit/ XX action
• 动作:可以是原子动作,也可以是动作系 列。
2020/10/13
8
10.1.5内部转换
[TimeOut] [inv alidNumber]
Ringing
[ca llPh o n e An sw e rs]
Connected
2020/10/13
[onHook]
[callPhoneHangup] D isco n n e cte d
Warning
TimeOut
Re co rd e M e ssa g e
• 为了方便,可以用关键字else来标记一个离去转换,它表 示如果其他监护条件都不为真时所执行的路径。
2020/10/13
15
10.2.5分叉和汇合
• 简单的和具有分支的顺序转换是活动图中 最常见的路径。然而,对业务过程的工作 流建模时,可能会遇到并发流。在UML中 用一个同步棒(一条粗的水平或垂直的线) 来说明这些并行控制流的分叉和汇合。
talking
6
Idle
[offHook] D ia lTo n e
[digital(n)]
[digital(n)] D ia lin g
busyTone
[v alidNumber]
[numberBusy] Connecting
FastBusyTone
[trunkBusy]
[routed]
[TimeOut]
2020/10/13

状态图和活动图ppt课件

状态图和活动图ppt课件
第7章 状态图和活动图
7.1 概述
• 状态机Statechart • 用于描述一个对象在其生存期间的动态行为,表现对象响应事件所经历的状态序 列以及伴随的动作。 • 状态机是用于描述状态与状态转换的。
状态图(Statechart Diagram)
• 状态图主要用于描述一个对象在其生存期间的动态行为,表现一个对象所经历的 状态序列,引起状态转移的事件(event),以及因状态转移而伴随的动作(action)。
7.1.1 状态图的组成
(1) 状态图中的事物
• 状态 state • 转换/迁移 transition
接到订 单
记账
7.1.2 状态(state)
• 什么是状态? • 状态是指在对象的生命期中满足某些条件、执行某些活动或
等待某些事件时的一个条件或状况。
• 下面一些例子形象地说明了对象和状态。
1.入口动作 (entry action),用来指定进入状态时发 生的动作。
语法形式: entry/动作名 2.出口动作(exit action),用来指定离开该状态时发
生的动作。 语法形式: exit/动作名
注意:由于入口动作和出口动作是隐式 地激活,因此它们既没有参数也没有守 卫条件。
3.内部转移(internal transition) ---用于标记内部活动,用来指定处于该状态时执行的动作。不导致状态改变的转换,不会
顺序子状态图----IC卡电话的使用
• 顺序子状态与并发子状态的区别在于后者在同一 层次给出两个或多个顺序子状态,对象处于同一 层次中来自每个并发子状态的一个时序状态中。
4. 历史状态(History state)
• 当离开一个组合状态重新进入此状态时,不希望从 它的初始状态开始执行,而是希望直接进入上次离 开组合状态时的最后一个子状态,这种情况下就要 用到历史状态。

第6章状态图和活动图PPT课件

第6章状态图和活动图PPT课件
产生的数据(建模业务流时则可表示产生或者 消耗的资源)
54
8 引脚
• 对fibonacci函数值的计算过程建模
55
8 引脚
• 简化后的,看起来更简洁
56
9 扩展区
• 表示重复或循环
57
10 辅助活动图
• 当活动图过于复杂时可以用
58
例子:表现软件开发过程的活动图
59
60
61
6.2.4 绘制活动图
50
6 对象流
对象流: 反映活动与对象之间的依赖关系,表示对 象对活动的作用或活动对对象的影响,用依赖关系表示。
对象流
51
6 对象流
• 带对象流的活动图
52
7 信号发送和接收
• 发送信号与接收信号
53
8 引脚
Pin • 是一个对象节点,代表活动连接输入、输出值
的连接点 • 用来标明每个活动节点所需输入的数据或者所
也可作为交互中一个的消息发送。
21
状态的类型
状态的类型 ① 初始状态/结束状态
初始状态
• 显示状态图中状态机中的执行的开始。 • 一个状态机只能有一个初态,因为每一个执行都是从相同的地方开
始的。如果一个状态机用多张图描述,则多张图用一个初态;
结束状态
• 表示一个最后的或者终端状态; • 终态的数目可以不确定。
63
1 工作流建模
• 建模策略(续):
– 识别工作流初始节点的前置条件和活动终点的后 置条件,这可有效地实现对工作流的边界进行建 模
– 从该工作流的初始节点开始,说明随时间发生的 动作和活动,并在活动图中把它们表示成活动节 点
– 将复杂的活动或多次出现的活动集合归到一个活

状态图与活动图

状态图与活动图
收到商品 [部分商品 缺货]
收到商品[ 全部商品都有 ]
等待
取消 取消 已发货
收到商品 [部分商品 缺货]
检查
do/ 检查商品
[ 全部商品已检查完且全部商品都有 ]
办理发货
do/ 启动发货
[ 全部商品已经检查完,但部分商品缺货 ]
收到商品[ 全部商品都有 ]
[未检查完 全部商品]/结状态

判定:判定是在状态图中的一个特定的位置, 工作流在此按保安条件的取值而发生分支 判定用空心小菱形表示
[人员齐备]
制定计划 实施
[人员未齐备]
招聘人员

同步:同步可视化地定义了并发工作流的分 劈(fork)与接合(join)
分劈是一个源状态分为两个或两个以上的目标
状态 接合是两个以上的源状态连接为一个目标状态 同步在状态图中用一条粗短线表示,成为同步 杆
活动
点燃 咖啡炉 冲调咖啡
熄灭咖啡炉
终点
倒咖啡 喝饮料
活动图的基本要素
活动; 泳道; 分支; 分叉和汇合; 对象流; 注释体和注释连接。

活动
活动:活动是某件事情正在进行的状 态,表现为由一系列动作组成的非原 子的执行过程。 UML中的表示:

泳道
泳道是活动图中的区域划分,每个 泳道代表一个责任区,一个泳道可由一 个或多个类实现。

什么是活动图

活动图是系统的一种行为视图,它描述参 与行为的对象类的活动的顺序,包括依赖 于条件的行为和并发行为
判断条件
人 找饮料
[没有咖啡] [找到咖啡]
判定活动
[没有可口可乐] [找到可 口可乐]
同步条件
将咖啡放到 过滤器中 把过滤器放 到咖啡炉上
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

[onHook]
7
10.1.4入口/出口动作(entry/exit action)
• 表示进入/退出这个状态所执行的动作。 • 入口动作:entry/ XX action • 出口动作:exit/ XX action
• 动作:可以是原子动作,也可以是动作系 转换
• 在UML中,图形上每一状态机都有一个初 始状态(实心圆),用来表示状态机的开 始。还有一个终止状态(半实心圆),用 来表示状态机的终止。其他状态用一个圆 角矩形表示。
2020/12/09
3
10.1.2转换
• 表示状态间可能的路径,用箭头表示 • 包括事件和动作 • 事件写在由它们触发引起的转换上 • 事件是发生在时间空间上的一点值得注意
10状态图和活动图
2020/12/09
1
10.1状态图
• 系统中对象状态的变化是最容易被发现和 理解的。
• 在UML中,可以使用状态图展现对象状态 的变化。
• 通过类对象的生命周期建立模型来描述对 象随时间变化的动态行为。
2020/12/09
2
10.1.1状态
• 状态定义对象在其生命周期中的条件或状 况,在次期间,对象满足某些条件,执行 某些操作或等待某些事件。
2020/12/09
14
10.2.4分支
• 简单的、顺序的转换是常见的,但并不是对一个控制流建 模所需的唯一的一种途径。在一个流程图中,可以包含一 个分支,它描述了基于某个布尔表达式的可选择的路径。 一个分支可以有一个进入转换和两个或多个离去转换。在 每个离去转换上放置一个监护条件(布尔表达式)(在进 入这个分支时被判断一次),所有离去转换中,其监护条 件不应该重叠(否则控制流将是模糊的),但是他们应该 覆盖所有可能性(否则,控制流可能会冻结)。
的事情。 • 动作是原子性的,通常表示一个简短的计
算处理过程。
2020/12/09
4
10.1.3转换的组成
• 源状态:被转换影响的状态,一个转换可 以有多个源状态
• 目标状态:转换完成后,对象状态发生变 化,这时对象所处的状态,一个转换可以 有多个目标状态。
• 触发事件:引起转换发生的事件 • 监护条件:
2020/12/09
16
10.2.5分叉和汇合(续)
• 一个分叉表示把一个单独的控制流分成2个或更多 个控制流,一个分叉可以有一个进入转换和2个或 更多个离去转换,每一个转换表示一个独立的控 制流。在这个分叉之下,每一个路径相关的活动 将并行地继续。
• 一个汇合表示2个或更多个控制流同步发生。一个 汇合可以有2个或更多个进入转换和一个离去转换。 在汇合处,并发的流取得同步,这意味着每个流 都等待着,直到所有进入流都到达这个回合处, 然后在这个回合的下面,只有一个控制流从这一 点继续。
• 为了方便,可以用关键字else来标记一个离去转换,它表 示如果其他监护条件都不为真时所执行的路径。
2020/12/09
15
10.2.5分叉和汇合
• 简单的和具有分支的顺序转换是活动图中 最常见的路径。然而,对业务过程的工作 流建模时,可能会遇到并发流。在UML中 用一个同步棒(一条粗的水平或垂直的线) 来说明这些并行控制流的分叉和汇合。

2020/12/09
10
10.2活动图
• 用于描述一个过程或操作的步骤。
• 活动图用于研究实现目标时所要执行的各 项任务或活动的顺序安排。活动既可以是 手动执行的任务,也可以是自动执行的任 务。它可完成一个工作单元。
• 活动图是状态图的一种特殊形式。其中所 有或多数状态都是活动状态,而且所有或 多数转移都在源状态中的活动完成时立即 触发。
• 是不会引起状态变化的转换,此转换的触 发不会引起入口/出口动作的执行。
• 表示内部转换的文字标识附加在表示状态 的圆角矩形内,而不使用箭头图形标识。
• 语法:事件/动作表达式
2020/12/09
9
10.1.6子状态
• 某特定状态还可以用一个状态机来描述 • 一个状态(复合状态)内部还包含其他状
• 动作:当转换被激活时,它对应的动作被 执行。
2020/12/09
5
/ call someone idle
dialing
/ be called / [refused]
ringing / [have't acts]
2020/12/09
/ [can't connect]
/ [connected]
/ finish connection
• 在表示法上2者没有区别,只是活动状态有附加的 部分。如进入和退出动作(进入和离开该状态的 动作)个子状态机说明。
2020/12/09
13
10.2.3转移
• 当一个状态的动作或活动结束时,控制流 会马上传递给下一个动作或活动状态。用 转移来说明这个流,显示一个动作或活动 状态到下一个动作或活动状态的路径 (UML种用一条简单的有向直线表示)。
[TimeOut] [inv alidNumber]
Ringing
[ca llPh o n e An sw e rs]
Connected
2020/12/09
[onHook]
[callPhoneHangup] D isco n n e cte d
Warning
TimeOut
Re co rd e M e ssa g e
2020/12/09
11
10.2.1动作状态
• 可执行的原子计算成称为动作状态,动作 状态不能分解,也就是说动作状态不能被 中断。动作状态的工作所占用的时间一般 可被看作是可忽略的。
2020/12/09
12
10.2.2活动状态
• 活动状态能够被进一步分解,他们的活动由其他 的活动图表示。而且,活动状态不是原子的,也 就是说他们可以被中断。可以把一个动作状态看 成是一个活动状态的特例;可以把一个活动状态 看成是一个组合,它的控制流由其他活动状态和 动作状态组成。放大一个活动状态就会发现另一 个活动图。
talking
6
Idle
[offHook] D ia lTo n e
[digital(n)]
[digital(n)] D ia lin g
busyTone
[v alidNumber]
[numberBusy] Connecting
FastBusyTone
[trunkBusy]
[routed]
[TimeOut]
相关文档
最新文档