- 1、本文档共59页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章 交互
Sequence图和Collaboration图 UML中各种图的关系 交互图(interaction diagram) 在对软件密集型(software-intensive)系统建模时,如何对它的动态方面建模?怎样才能可视化一个运行的系统? 交互图(interaction diagram)是一种详细表示对象之间以及对象与系统外部的参与者(actor)之间动态联系的图形文档。 交互图类型 交互图有两种形式,即顺序图(sequence diagram) 和协作图(collaboration diagram) 。 顺序图和协作图从不同的角度表达了系统中的交互和系统的行为,它们之间可以相互转化。 顺序图着重描述对象按照时间顺序的消息交换(侧重时间),协作图着重描述系统成分如何协同工作(侧重空间)。 交互图的用途 帮助分析员对照检查每个use case 中描述的用户需求,是否已经落实到一些能够完成这些功能的类中去实现。提醒分析员去补充遗漏的类或服务。 和类图相互补充 类图对对象之间的消息(交互情况)表达不够详细; 交互图表示少数几个对象之间的交互。 顺序(Sequence)图 定义: 顺序图是显示对象之间交互的图, 这些对象是按时间顺序排列的. 它显示参与交互的对象及对象之间消息交互的顺序. 样式和元素 1.样式:顺序图是一个二维图形。 水平方向为对象维,排列的是对象。对象的排列次序不重要,但一般启动交互的放在最左边,参与者排在两端。 垂直方向为时间维,沿垂直向下方向按时间递增顺序列出各对象所发出的和接收的消息。 2.顺序图建模元素: 对象(object) 生命线(life line) 控制焦点(focus of control,激活棒) 消息(message) Object sequence图和collaboration图描述的是对象之间的消息发送关系,而不是类之间的关系。 在顺序图中并不包括系统中的所有类的对象。也有可能某些对象属于同一个类。 交互图中的对象的常见命名方式: lifeline (生命线) lifeline:A dashed line in a sequence diagram that shows the existence of an object over a period of time. 生命线表示对象存在的时间,在顺序图中生命线表示为从对象图标向下延伸的一条虚线。 图例: Focus of control(控制焦点) 又称为激活期(Activation), , 在这个时间段内, 对象执行相应的操作.(即对象激活的时间段) 图例: 说明-对象的创建和撤销 1.消息名为构造函数 2.消息终点 3.对象不置于顶端 如果要撤销一个对象,只要在其生命线终止点放置一个“X”符号即可,该点通常是对删除或取消消息的回应。(可在消息名加版型destroy) 消息(message) 消息的类型:在UML 1.4以上版本的规范说明中消息分调用消息,异步消息,返回消息三种。 其它消息类型:如阻止(balking)消息,超时(time-out)消息等为UML核心的扩充。 调用消息(Procedure call)。调用消息的发送者把控制传递给消息的接收者,然后停止活动,等待消息接收者放弃或返回控制。 调用消息也可以用来表示同步的意义。 异步消息(asynchronous)。异步消息的发送者通过消息把信号传递给消息的接收者,然后继续自己的活动,不等待接收者返回消息或控制。 例:异步消息的表示符号。 返回消息(return)。从过程调用返回。 例:返回消息的表示符号。 如果是从过程调用返回,则返回消息是隐含包括的,所以返回消息可省略。 对于非过程调用,如果有返回消息,必须明确表示出来。 Rose中的消息类型:分简单消息,同步消息,阻止消息,超时消息,调用消息,异步消息和返回消息。 可在消息的specification窗口中指定消息的类型。 阻止(balking)消息。消息发送者发出消息给接收者,如果接收者无法立即接收消息,则发送者放弃这个消息。 例:阻止消息的表示符号。 超时(time-out)消息。消息发送者发出消息给接收者并等待指定时间,如果接收者无法在指定时间内接收消息,则发送者放弃这个消息。 例:超时消息的表示符号。 例:一些消息的例子 消息的语法格式: [predecessor] [guard-condition] [sequence-expression] [return-value :=] message-name ( [argument-list] ) predecessor:The predecessor is a
文档评论(0)