- 1、本文档共41页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2012-2013 第二学期的 11本 UML 第八章 状态图和活动图
UML 面向对象技术教程;课程内容回顾;本章中所涉及的主要内容;
状态图是UML中对系统动态方面建模的图例之一.
状态图是针对类对象的生命周期建立模型,描述对象随时间变化的动态行为.
状态图显示了一个状态机,它是一个状态机中的元素的一个投影,意味着状态图包括状态机的所有特性.
状态机(State Machine)
状态机是展示状态与状态转换的图形。
在UML里,状态机用于对具有事件驱动特性的动态行为建模,事件驱动的动态行为的特定是对象当前时刻的动态行为将取决于当前的事件输入和此对象在以前时刻的动态行为的结果。
状态(state)状态是状态机的重要组成部分,描述了状态机所在对象的动态行为的执行所产生的结果.; 状态图通过对对象的状态以及状态间的转换建模来
展现系统动态行为。
下面是对图书馆的图书的简单状态图例:;二. 状态图中的基本概念; 状态名为 Lighting(点灯)状态: ;状态可细分成:
;转移又称状态转换
表示对象在第一个状态(源状态)中执行一定的动作,并在某个特定事件发生、并满足特定警戒条件时进入第二个状态(目的状态)。
在UML里转换由五个部分组成,
源状态(Source State)、
目标状态(Target State)
触发事件(Trigger Event)
监护条件(Guard Condition)
动作(Action)。
; 从相同的状态出来,事件相同的几个转换之间应
该是互斥的,如下图:(见P94图8.7) ; ; 2) 变化事件又称修改事件(change event)
由一个布尔表达式的变量变化引起条件满足而触发
转换的事件。
例如:when(temperature120)/alarm();3) 时间事件(time event)
是指满足某一时间表达式的情况出现,常用关键字 after, when 等表示。
如:;4) 信号事件(signal event)
信号事件表示对象收到信号的情况(往往会触发状态的转移)。
在UML中,信号用版型《Signal》的类来表示,信号之间可以有泛化关系,形成类的层次结构.
(参见教科书P96 图8.11) ; 动作(action)当转换引起时,它对应的动作被执行.
动作是一个可执行的原子计算,一般是一组可执行语句或者计算处理过程,即动作在它的执行控制线程中是不可中断的、其时间上可以被忽略.
UML没规定动作的具体的语法格式,只规定了两种特殊的动作.
格式如下:
(1) 进入动作:
‘entry’/action-expression
(2) 退出动作:
‘exit’/ action-expression ;三. 状态图的工具支持(略)(目前 Rose 尚不支持 StateChart 的正向工程。) ;四.状态图的建模技术(附加);状态图图示;五. 绘制状态图练习 ;第 1 题‘图书馆借还书系统’的参考答案:;第 2 题‘添加罚款后’的参考答案:;3.绘制“打电话过程”电话线路的状态图。
注:可设置如下状态:
“Idle”,“Dialing”,“Connecting”,“Ringing”,“Connected”,
“Disconnected”,“Time Out”,“Play Message”,
“Busy Tone”
(可以适当增减状态,也可以使用中文。);第 3 题参考答案:;一. 什么是活动图?;二. 活动图的基本概念;二. 活动图的基本概念(续);2. 泳道(swimlane)
泳道是活动图中的区域划分,每个泳道代表一个责任区,由指定的对象来完成。从语义上,泳道可以被理解为一个模型包。
一个泳道可以由一个类来实现,也可以由多个类来实现。
使用垂直线分割成各个泳道。在上方给出泳道名或对象(类)名,该对象(或类)负责该泳道的全部活动。 ; 下面是描述订货工作流程的活动图:
; 同一个问题如果从其他角度(??道含义不同),比如销售部门的职责上绘制或活动图,可得到下面的图:;3.分支(Branch)
分支是根据不同警戒条件转向不同的活动,每个
可能的活动称作一个分支。
UML有两种表示分支的方法(见教科书图8.14);4.分叉和汇合
分支表示从多个可能的活动中选择一个, 这些活动不是并发的。
如果表示系统和对象中的并发行为,则可以使用分叉(fork)和汇合(join)这两种建模元素。
分叉表示一个控制流被两个或多个控制流代替,经分叉后这些控制流是并发进行的。
汇合与分叉相反,表示表示两个或多个控制流被一个控制流代替。;分叉的两种类型表示如下:(见P99图8.15);5.对象流
您可能关注的文档
最近下载
- 述责述廉报告 述责述廉报告2020三篇.docx VIP
- 沪教版小学四年级语文第一学期全册课件.ppt
- [贾平凹废都柳月]贾平凹作品废都.pdf
- 营房安全知识.docx VIP
- 东华大学教职工各类俱乐部(文体类)协会管理规定.doc
- 安徽省合肥市第四十五中学2023-2024学年八年级上学期期中物理试题(含答案).docx VIP
- 小学数学教研组教研工作总结PPT.pptx
- 贸易安全标准培训教材PPT课件(精编)共42页PPT-课件有实际AEO企业案例.pptx VIP
- 18.4数学活动-折纸做60°-30°-15°的角省公开课获奖课件市赛课比赛一等奖课件.pptx
- 2024软件正版化培训.pptx VIP
文档评论(0)