- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(五)第四章动态建模.
第四章 动态建模
系统的动态行为是指对象是如何通过通信来进行协作的,以及系统中的对象是如何在系统的生命周期内改变状态的。
交互(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)
图4.2 货物对象的状态图
图4.3 电梯对象的状态图
⒊ 状态的组成部分
图4.4 状态的三个部分:状态名、状态变量和活动
⒋ 活动组成
在活动组成中可能会使用的三个标准事件:entry, exit和do。
活动组成的形式语法(Formal Syntax)是:
event-name argument-list ‘/’action-expression
图4.5 一个名为login的状态
⒋ 状态转换
图4.6 不带显式事件的状态转换
用于确定一个状态转换的形式语法是:
event-signature ‘[’guard-condition‘]’‘/’ action-expression ‘^’send-clause
其中,event-signature的语法定义为:
event-name‘(’parameter‘,’, ...‘)’
并且send-clause的语法是:
destination-expression‘.’destination-event-name‘(’argument‘,’…‘)’
Event-Signature(事件签名)
event-signature包括一个事件名(event-name)和相关的参数。
参数列表的语法是:
Parameter-name‘:’type-expression, Parameter-name‘:’type-expression …
图4.7 状态转换上所附的事件带有一个参数floor
带event-signature的状态转换的例子如下:
draw (f : Figure , c : Color )
redraw ( )
redraw
pr
您可能关注的文档
最近下载
- 证据学全套课件.pptx VIP
- GB 50650-2011(2022年版) 石油化工装置防雷设计规范.docx VIP
- 新时期山西省总规改革的探索与实践.pdf VIP
- 四川省成都市成都西川中学2023-2024学年上学期七年级分班数学试题(含答案).pdf VIP
- 残疾儿童康复评估报告2025.docx
- 03D201-4 10kV及以下变压器室布置及变配电所常用设备构件安装.pdf VIP
- 新常态下高校工程审计范围及审计依据风险和解决措施.pdf VIP
- HJ 1093-2020 蓄热燃烧法工业有机废气治理工程技术规范最新解读.pdf VIP
- 探索我国农村产业融合发展模式.pdf VIP
- 智能温控调速电风扇毕业设计答辩╱格式.ppt VIP
文档评论(0)