- 0
- 0
- 约7.67千字
- 约 27页
- 2020-07-21 发布于湖北
- 举报
第四章 动态建模
系统的动态行为是指对象是如何通过通信来进行协作的,以及系统中的对象是如何在系统的生命周期内改变状态的。
交互(Interaction):为产生某种功能而在一组对象之间进行的通信过程。
描述交互的动态图:
· 状态图(State Diagram):可以描述一个对象在其生命周期中拥有哪些状态,该对象在这些状态下的行为,以及什么样的事件会导致状态发生改变。
· 交互图(Interaction Diagram):可以描述对象之间是如何进行交互和通信的。包括顺序图(Sequence Diagram)、通信(协作)图(Communication Diagram)、交互概观图(Interaction Overview Diagram)以及时序图(Timing Diagram)。其中,顺序图和通信图都可以显示交互。但是顺序图的焦点在时间上, 而通信图的焦点在空间上。交互概观图显示了一些作为一个较大交互流的部分內容的交互图。时序图显示沿着一个精确时间轴的交互。
· 活动图(Activity Diagram):是另外一种显示交互的方法,但是活动图的主要焦点是工作。
4.1 对象之间的交互
两个对象之间的交互是通过一个对象向另一个对象发送消息来实现的。
消息的类型:
· 简单消息:一个平直的控制流。简单消息显示了控制是如何从一个对象传递到另一个对象的,这个过程中并没有描述任何有关对象之间通信的细节信息。
· 同步消息:一个嵌套的控制流,一般是作为操作调用来实现的。只有在处理该消息的操作结束之后,调用者才能恢复继续执行。
· 异步消息:异步的控制流。对象之间的异步消息表明了不等待语义;发送者不必等待该消息处理完就可以继续执行。
同步消息
同步消息
异步消息
简单消息
立即返回的同步消息
图4.1 消息类型注解
4.2 状态图
4.2.1
⒈ 状态和状态转换的概念
一个对象的状态是该对象在此之前所执行的所有活动的结果,通常是由对象的属性值所决定的,并且会链接到其他对象。
有关对象状态的例子:
· 货物(对象)已经付款(状态);
· 小轿车(对象)静止不动(状态);
· 机器的引擎(对象)在运转(状态);
· Jim(对象)担任销售员的角色(状态);
· Kate(对象)结婚了(状态)。
当一个事件发生时,对象就可能会改变状态。
对象的动态行为可以表现在两个方面:交互和内部状态的变化。
⒉ 状态图的组成部分
· 起始点(初态)(Initial State)
· 结束点(终态)(Final State)
· 状态(State)
· 状态转换(State Transition)
· 导致状态发生转换的事件
状态转换激发(Fire)或状态转换被触发(Triggered)
Unpaid
Unpaid
Paid
删除货物对象
付款
创建货物对象
图4.2 货物对象的状态图
On
On
first floor
Moving
up
Moving
down
Moving to
first floor
Idle
arrived
arrived
arrived
go up
go up
go down
time-out
图4.3 电梯对象的状态图
⒊ 状态的组成部分
状态名
状态名
状态变量
活动
图4.4 状态的三个部分:状态名、状态变量和活动
⒋ 活动组成
在活动组成中可能会使用的三个标准事件:entry, exit和do。
活动组成的形式语法(Formal Syntax)是:
event-name argument-list ‘/’action-expression
Login
Login
Login time = Current time
entry/type“login”
exit/login(user name, password)
do/get user name
do/get password
help/display help
图4.5 一个名为login的状态
⒋ 状态转换
Starting
Starting
applications
do/load
applications
Starting OS
do/load OS
Boot
do/run bios
program
图4.6 不带显式事件的状态转换
用于确定一个状态转换的形式语法是:
event-signature ‘[’guard-condition‘]’‘/’ action-expression ‘^’send-clause
其中,event-signature的语法定义为:
event-name‘(’parameter‘,’, ...‘)’
并且send-clause的语法是:
destination-expression‘.’destinatio
您可能关注的文档
- 定位误差的计算.doc
- 完美的融合 Jeep大切诺基悬挂拆解与底盘详解.doc
- 定制微软的打印机驱动程序.doc
- 宝宝坐学步车最佳时间.doc
- 宝宝的尿不湿是个宝,可以多种利用,原来宝妈们知道的太晚了!.doc
- 宜丰举办廉政准则学习宣传骨干培训班.doc
- 宝岛玩乐情报大搜集.ppt
- 宝石学晶体光学基础.doc
- 宝石晶体标本与原石鉴定.doc
- 宝马两代涡轮增压系统对比.doc
- 山西天一大联考2025-2026学年高二上学期期末学情监测语文试题(试卷+解析).docx
- 山西忻州部分学校2025-2026学年高一上学期2月质量检测数学试题(人教B版)(试卷+解析).docx
- 山西运城市2025-2026学年高二第一学期期末调研测试数学试题(试卷+解析).docx
- 陕西省榆林市榆阳区2025-2026学年八年级上学期期末地理试题(试卷+解析).docx
- 陕西西安市碑林区2025-2026学年度第一学期期末八年级生物试题(试卷+解析).docx
- 四川省广元市苍溪县2025-2026年八年级上学期期末道德与法治试题(试卷+解析).docx
- 江苏泰州市姜堰区2025-2026学年七年级上学期1月期末数学试题(试卷+解析).docx
- 江苏省扬州市邗江区2025-2026学年九年级上学期期末考试化学试题(试卷+解析).docx
- 江西上饶市铅山县2025-2026学年第一学期期末考试八年级数学试题(试卷+解析).docx
- 江苏扬州市高邮市2025-2026学年度第一学期期末学业质量监测试题九年级英语(试卷+解析).docx
最近下载
- 广东省2024年普通专插本《政治理论》考试真题及参考答案.doc VIP
- 贵州省黔南布依族苗族自治州2023-2024学年九年级上学期期末数学试题(含答案).doc VIP
- (部编版)道德与法治必背八年级上册 思维导图+核心知识点 .pdf VIP
- 民用爆炸物品爆破作业安全评估指南.pptx
- 广东省2025年普通专插本考试《政治理论》真题及答案.docx VIP
- 交管12123学法减分试题库500题(含答案).pdf VIP
- 新译林版高中英语选择性必修一 unit 1词汇默写本.docx VIP
- 2025年上海杉达学院单招笔试英语试题库含答案解析.docx VIP
- 卡萨帝BCD-301WN电冰箱使用说明书.pdf
- 2025年上海立达学院单招笔试英语试题库含答案解析.docx VIP
原创力文档

文档评论(0)