- 1、本文档共29页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第八周_交互视图—顺序图
第九章 交互视图——顺序图(Sequence Diagram) 任课老师:黄武 提纲 对象之间的消息传递 顺序图概述 顺序图用途 设计顺序图时的通用准则 顺序图建模技术 UML语言顺序图图标 1 对象之间的消息传递 在面向对象技术中,对象之间的交互是通过对象之间的消息传递来完成的 在UML中,消息使用带有箭头的线段表示,箭头从消息的发送者指向接收者,不同的箭头表示不同类型的消息 1.1 UML定义的三种消息(上) 简单消息(Simple Message) 简单消息表示简单的控制流,用于表述控制如何在对象之间进行传递,而不考虑通信的细节 简单消息使用空心箭头表示 1.2 UML定义的三种消息(中) 同步消息(Synchronous Message) 同步消息表示嵌套的控制流。操作的调用是一种典型的同步消息。调用者发出消息后必须等待消息的返回 同步消息使用实心箭头表示 1.3 UML定义的三种消息(下) 异步消息(Asynchronous Message) 异步消息表示异步控制流。当调用者发出消息后不用等待消息的返回即可继续执行自己的操作。异步消息主要用于描述系统中的并发行为 异步消息使用半边箭头表示 2 顺序图概述 顺序图(Sequence diagram)用来表述对象之间动态的交互关系,着重体现对象间消息传递的时间顺序 顺序图是一个模型,用于描述对象组如何随着时间在某些行为方面协作 顺序图详细地描述了业务角色和业务主角之间的交互,以及如何在执行业务用例时访问业务实体 顺序图可以捕获单一用例的行为 2.1 顺序图的组成 顺序图由活动者(Actor)、对象(Object)、消息(Message)组成 对象由自身、生命线(Lifeline)和控制焦点(Focus of Control)组成 在UML中对象表示为一个矩形,对象名称标有下划线表示实例;消息标记为带箭头线段;生命线由虚线表示;控制焦点由长条矩形表示 2.2 顺序图的一个简单例子 网上定购系统的顺序图 2.3 顺序图的构成 顺序图存在两个轴: 水平轴表示协作中各独立对象的类元角色 垂直轴表示时间,代表一个对象的生命周期,采用一条纵向的虚线表示,当对象处于激活状态时,生命线是一个狭长的矩形 消息用从一个对象的生命线到另一个对象的生命线的箭头表示,箭头以时间顺序在图中从上到下排列 3 顺序图用途 当不同的类之间存在多个简短的方法时,顺序图用于描述控制流的整体序列 显示并发进程和激活 显示在协作图中难以描述的时间序列 显示涉及类交互而与对象无关的一般形式 3.1 顺序图的使用场景 UML顺序图一般用于确认和丰富一个使用情景的逻辑 使用情景就是系统潜在的使用方式的描述。它可以是用例的一部分,一条备选路线;一个贯穿单个用例的完整流程;或是包含在几个用例中的流程 顺序图还用于研究设计,可以通过可视化的图形来表达类之间的消息传递,为研究系统的并发和负荷起到作用 4 设计顺序图时的通用准则 尽力保持消息的顺序从左到右排列,这符合我们的使用习惯 4.1 将分类器分层 分层是面向对象设计的通用方法,系统通常被组织成user interface,process/controller,business,persistence和system层 设计时我们会加强同属于一层的分类器合作,而降低不同层次的分类器的耦合度 对于顺序图而言,我们还可以按照执行者角色,情景逻辑的控制类,用户接口,业务层以及相关技术类进行分层 4.1.1 分类器分层示例1 学生注册的顺序图 4.1.2 分类器分层说明 用和用例一致的名称命名类元角色 用和类图一致的名称命名类 一个角色的名称可以和类的名称相同 可以在图中包含一个逻辑的叙述性描述 在图的最左边放置系统角色 在图的最右边放置反应系统角色 4.1.3 分类器分层说明2 4.2 分类器的原则 1. 当在消息上引用对象时要命名它们 顺序图上的对象应使用标准的UML格式“对象名:类名”来标记,其中的“对象名”是可选的 少用可视化的版型 3. 当存在部分相同的类型时需要命名对象 4. 集中在关键的交互上 创建一个模型时,应该集中于系统的关键性特征,而不要包含无关的细节。比如,我们存盘时采用save()代替所有的细节 4.2.1 分类器原则示例1 在银行账户间转帐的顺序图 4.2.2 分类器原则示例2 脑电分析参数存贮过程顺序图 4.3 消息的原则 在顺序图中,通常将消息名放在箭头旁边,因为我们认为消息的接收者将会处理相应的消息。但这不是绝对的 4.4 创建对象的原则 我们可以通过发送一条消息来创建一个新的对象,这个新的对象通常会下移,以表明创建的时间点 消息的参数通常用名称表示而非类型,因为这样更容易理解 比如:
文档评论(0)