UML状态图

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
[复合跃迁的例子]:
[总学分大于或等于毕业学分] 毕业
毕业
学生 成绩统计
[总学分小于毕业学分20分以内]
结业
[总学分小于毕业学分20分以上]
肄业
学生 成绩统计
[总学分大于或等于毕业学分]
毕业
[总学分小于毕业学分20分以内]
结业
[总学分小于毕业学分20分以上]
肄业
9.4 基本组成成分——触发事件
5)触发事件 若当某事件发生时,对象从一个状态进入了 另一个状态,则称此事件为触发事件。 事件名(参数表)
Enter Password ———————————— entry/set echo to star do/handle and check password exit/set echo normal
9.2 基本组成成分——状态
2)起始状态 • 由一个实心圆表示。 • 迁移的开始源点,代表状态图的起始点。 3)结束状态 • 由一个圆中套一个实心圆表示。 • 迁移的最后目标,代表状态图的终止点。
思考
描述以下对象都有哪些状态 ① 一部机器 运行、停止、报废 ② 人 睡觉、运动、吃饭 ③ 线程 执行、就绪、阻塞 状态图是系统中一个对象所具有的各种 状态和这个对象从一个状态到另一个状 态的转换。
9.1 状态图的基本组成成分
起始状态
出厂[各种指标检验合格]
状态
护卫条件
借出
新车
使用
已借出
终止状态
活动格式:例如do/sum=sum+1
9.2 基本组成成分——状态
entry事件:指明进入该状态时的特定动作。 [例1]:系统进入输入密码的状态。首先将输入的密码 exit事件:指明退出该状态时的特定动作。 显示为星号,然后处理和判断该密码是否正确,最后 do事件:指明在该状态中执行的动作。 将密码显示为正常,系统进入下一个状态。
UML中描述的迁移种类有: •自跃迁:源状态和目标状态为同一状态的迁移。 •内部跃迁:该迁移在状态内部进行,不引起状态 改变。 •自动跃迁:没有条件和触发事件,当一个状态完 成后,自动触发迁移,进入下一个状态。 •复合跃迁:由条件判定、并发分叉和并发联结将 一些简单迁移组合而成。
9.3 基本组成成分——跃迁
9.6 状态图练习
[例3]:已知一个堆栈类的表示如下:画出对应此堆 栈的状态变化图。 Stack +elements:Array[object] -top:int -maxSize:int +push(object:object) +pop():object +empty():boolean
Maxsize
总结
• 状态图由状态、起始状态、终止状态、跃迁、 触发事件和护卫条件组成。


在UML中,状态分为简单状态和嵌套状态。
触发事件是引起对象从一个状态跃迁到另一状 态的事件。若需满足某种条件跃迁才会发生, 则称此条件为护卫条件。 确定状态图的步骤。

复习
1、UML的作用是什么? 规范软件开发过程,对系统从不同角度进行建模。 2、包括哪些建模图形? 用例图、活动图、状态图、顺序图、通信图、部署图等。 3、软件开发过程可以分为哪几个阶段?
计划、需求分析、软件设计、编码实现、运行维护
第9章 状态图
本节主要内容
• • • 状态图的组成部分。 状态、跃迁、触发事件和护卫条件 的描述。 状态图的画法。
2,如果状态跃迁上只有条件时,表示在该条件变为真时,触发状态跃迁。
9.6 状态图练习
画状态图的步骤:
1.
2. 3. 4. 5.
找出该对象可能出现的所有状态,并命名。
对每个状态进行必要的描述,包括状态变量和该状态下的 活动(这两部分可以省略)。 对任意两个状态进行分析,找出可以使这两个状态发生跃 迁的触发事件和护卫条件。 确定是否存在自跃迁或内部跃迁等,并描述触发事件和护 卫条件。 形成状态图。
说明:
1. 触发事件一般标识在跃迁的箭线上。 2. 对于自动跃迁触发事件省略。
3. 参数表可以省略。
9.5 基本组成成分——护卫条件
6)护卫条件
是一个由方括号围起来的关系或逻辑表达式。
标识在表示跃迁的箭线上。
[关系或逻辑表达式]
说明: 1. 如果状态跃迁中既有事件又有条件,则表示仅当这个事件发生并且条件 为真时相应的状态跃迁才被触发。
停机 减速 重新使用 多余
报废 设备状况=报废 操作状况=0
超过年限
闲置 设备状况=闲置 操作状况=0
跃迁分类
9.3 基本组成成分——跃迁
4)跃迁
实箭线表示,箭尾连接出发状态(源状态), 箭头连接到达状态(目的状态)。
open do/sum=sum+1
sum<10
跃迁的分类
9.3 基本组成成分——跃迁
9.2 基本组成成分——状态
嵌套状态:在一个状态中还包括其他的 状态,称为嵌套状态,被嵌套的状态称 为子状态。 简单状态:不含嵌套状态的状态称为简 单状态。
你能举一个 嵌套状态的 例子吗!
[例2]:
启动
使用中
速度=0 启动 待机
修好 损坏
维修中 设备状况=维修中 操作状况=0
不能修好
开机 提速 到达运行速度 运行
2 1
top
Байду номын сангаас
9.6 状态图练习
Push [maxSize=1] Empty Pop [maxSize=1] Pop[maxSize>1] Pop[top=1] Push[maxSize>1] Push[top=maxSize+1] Full
Not Empty and Not Full Push[top<maxSize] Pop[top>1]
报废车
跃迁 普通车
归还
触发事件
状态、起始状态、终止状态 跃迁、触发事件、护卫条件
9.2 基本组成成分——状态
1)状态 状态名 • 状态的图形用一个圆角的矩形框表示。 • 由状态名、状态变量和内部活动三个部 状态变量 分组成,状态变量和内部活动可以省略。
活动
三种标识活动的标签:entry
exit do
相关文档
最新文档