顺序图和协作图

合集下载

软件工程---交互建模之交互图,顺序图与协作图

软件工程---交互建模之交互图,顺序图与协作图

2.5 消息
格式
[前缀][守卫条件][顺序表达式][返回值:=]消息名([参数列表])
例:
2: display ()
简单消息
1.3.1: p:=find()
带返回值的嵌套消息
[x<0] 4: invert(x, color) 条件消息
3.1 *[x = 1..10] : update() 循环消息
[ 条件子句 ] 条件子句一般用来表示分枝而不是用作守卫条件[x<0]是两个可
以用来分枝的条件子句这两个条件只能有一个为真因而只有一 个分枝被执行(即发送与分枝有关的消息) 条件子句和循环子句都可以用伪代码或真正的编程语言来表示 序列表达式用冒号结束
返回值、消息名和参数表
返回值表示一个操作调用(即一个消息)的结 果
顺序图中消息编号可显示,也可不显示。 协作图中必须显示Procedure Call) 异步(Asynchronous) 返回(Return) 自关联消息(Self Message)
2.5 消息
UML三种消息:
调用(Procedure Call) 发送者把消息发送后,等待直到接收者返回控制, 可以表示同步(synchronous message); 实心箭头符号
包括对象名和类名 类名(匿名对象) 对象名(不关心类)
2.3 生命线
生命线(Lifeline):
每个对象都有自己的生命线,用来表示在该用例中一个对象在一段时 间内的存在
垂直的虚线 如果对象生命期结束, 则用注销符号表示 对象默认的位置在图 顶部,表示对象在交互 之前已经存在 如果是在交互过程中 由另外的对象所创建, 则位于图的中间某处。
顺序图
面向时间描述对象交互的图
协作图

顺序图和协作图

顺序图和协作图

第4章顺序图和协作图4.1 交互图概述在一个待开发的系统中,任何对象都不是孤立存在的,系统中的这些对象都是通过传递消息进行交互的。

因此在设计系统时,就免不了对交互进行缄默,并用交互图展现出来。

4.1.1 交互的定义当需要对类操作、类、构件、用例乃至整个系统的控制流进行建模时,一定离不开“交互”。

交互:一次交互就是指在特定语境中,为了实现某一个目标,而在一组对象之间进行交换的一组消息所表示的行为。

交互图:是用来描述对象之间以及对象与参与者之间的动态协作关系以及协作过程中行为次序的图形文档。

通常用来描述一个用例的行为,显示该用例中所涉及的对性和这些对象之间的消息传递情况在大多数情况下,消息通常是指启动一个操作或发送一个信号,以及创建或销毁一个对象。

4.1.2 UML交互图的类型顺序图:是一种强调消息时间顺序的交互图,着重描述对象按照时间顺序的消息交换,为读者提供了控制流随着时间推移的清晰的可视化轨迹。

协作图(UML 2.0中的通信图):强调的是参加交互的对象的组织,着重描述系统成分如何协同工作,为读者提供了在协作对象结构组织的语境中观察控制流的一个清晰的可视化轨迹。

顺序图和协作图从不同的角度表达了系统中的交互和系统的行为,它们可以相互转化,并且转换过程不会丢失信息。

定时图(UML 2.0中新增):采用了一种带数字刻度的时间轴来精确地描述消息的顺序,而不是像顺序图那样只是指定消息的相对顺序,而且它还允许可视化的表示每条生命线的状态变化,当需要对实时时间进行定义时,采用定时图可以很好的满足。

交互概述图(UML 2.0中新增):是交互图和活动图的混合物。

定时图和交互概述图是两种特殊的变体。

4.1.3交互图和类(图)4.2 顺序图顺序图:显示的是参与交互的对象及对象之间消息交换的顺序,用来表示用例中的行为顺序。

图显示的是汽车租赁系统中客户取车的顺序图,涉及5个对象:客户、预定请求、工作人员、工作记录和汽车。

第六章.顺序图和协作图

第六章.顺序图和协作图

6.3 顺序图中的消息 返回消息:表示从过程调用返回 如果是过程消息返回, 返回消息:表示从过程调用返回. 如果是过程消息返回 则不用 画出; 如果是非过程消息, 则必须画出. 画出 如果是非过程消息 则必须画出
返回消息
6.3 顺序图中的消息 阻止消息:消息的发送者传递消息给接收者 阻止消息:消息的发送者传递消息给接收者, 如果接收者无法 立即接收, 则发送者放弃该消息. 立即接收 则发送者放弃该消息 超时消息:消息的发送者发出消息给接收者并按指定时间等待 超时消息:消息的发送者发出消息给接收者并按指定时间等待, 若接收者无法在指定时间内接收, 则发送者放弃该消息. 若接收者无法在指定时间内接收 则发送者放弃该消息

6.2 顺序图
• 创建对象的两种表示方法: 创建对象的两种表示方法:
6.2 顺序图
• 如果要撤销一个对象,只要在其生命线终止点放置一 如果要撤销一个对象,
符号即可, 个“X”符号即可,该点通常是对删除或取消消息的回 符号即可 应。
6.3 顺序图中的消息
• 调用消息 procedure call • 异步消息 asynchronous • 返回消息 return • 阻止消息 balking • 超时消息 time-out
• 顺序图的样式和元素 • 消息:对象之间传输的信息 消息:
消息
6.2 顺序图
• 顺序图的样式和元素 • 对象的创建和撤消 • 如果对象位于时序图的顶部,说明在交互开始之前 如果对象位于时序图的顶部,
该对象已经存在了。 该对象已经存在了。如果对象是在交互的过程中创建 那么它应当位于图的中间部分。 的,那么它应当位于图的中间部分。 对象在创建消息发生之后才能存在, 对象在创建消息发生之后才能存在,对象的生命线 也是在创建消息之后才存在的。 也是在创建消息之后才存在的。

知识点学习(顺序图和协作图 )

知识点学习(顺序图和协作图 )

7.2 通信图
•图10从订单生成订货单的通信图。
2 通信图
• 1.通信图的作用
• 通信图常用来描述业务或软件系统中,每个对象在交互发生时承担的 角色,即强调了交互发生时,每个对象承担的职责。 • 使用协作图可以显示对象相互协作时充当的角色。如果需要强调时间 和序列,最好选择顺序图建模;如果需要强调上下文相关,最好选择 协作图建模。 • 协作图用于显示对象之间如何进行交互,以实现特定用例或用例中特 定部分的行为。设计员使用协作图和顺序图确定并阐明对象的角色, 这些对象执行用例的特定事件流。这些图提供的信息主要用来确定类 的职责和接口。 • 2.通信图的组成元素
1 顺序图
对象
控制焦点 消息
•图2 顺序图
生命线
1 顺序图
• 2.对象:
• 顺序图中对象的符号和对象图中对象所用的符号一样。将对象置于顺 序图的顶部意味着在交互开始的时候对象就已经存在了,如果对象的 位置不在顶部,那么表示对象是在交互的过程中被创建的。 • 3.生命线 • 生命线是一条垂直的虚线,表示顺序图中的对象在一段时间内的存在。 每个对象的底部中心的位置都带有生命线。生命线是一个时间线,所 用的时间取决于交互持续的时间。 • 4.控制焦点 • 在对象的生命线上,包含一个矩形,表示对象处于激活状态,处于激 活状态的对象正在执行某个任务。对象在完成自己的工作后,被去激 活,对象就处于空闲状态。
1.1: findStudent(name) 1.2: findCourse(course) <<self>> 1: register(name,course) :Registrar :RegistrationManager [(!s)&c]1:studentNotFound [s&(!c)]1:courseNotFound [(!s)&(!c)]1:allNotFound [s&c]1:OK :StudentList

顺序图和协作图

顺序图和协作图
对象在一段时间内获得了焦点,也称激活期
对象执行某个动作的时期 空心矩形条
激活期的长短意味着对象执行某个动作的时间有多长,可
以通过约束{10ms}来限制执行时间的长短。
顺序图中的消息
面向对象方法中,消息是对象间交互信息的主要方式。
结构化程序设计中,模块间传递信息的方式主要是过 程(或函数)调用。
(3 )图书管理员做出选择后,显示相应界面,让图 书管理员输入信息,并自动根据书号规则生成书号-------此句中可以发现最为关键的一个边界类------“新 书信息录入”窗口以及辅助的“提交”按钮。 而且,还可以发现新增书籍信息按钮是组成主窗口的 一部分。书籍类别列表框、提交按钮则是组成新书 信息录入窗口的一部分。根据以上信息,可以先将参 与者和边界对象绘制出来,其结果如图所示。
[前置消息列表][警戒条件][消息顺序表达式][返回值:=]消息名称([参数列表])
前置消息列表(predecessor)
语法:消息序列号,消息序列号, ... / 前置消息列表是一个用来同步线程或路径(path)的表达式 意思是在发送当前消息之前指定序列号的消息被处理(必须
连续执行) 消息序列号之间用逗号隔开,用斜杠结束 例如 1.1a, 1.1b/1.2: continue() ,在发送消息1.2之前必 须已经同时发送并发消息给线程a和b
Rose中的消息
建立顺序图的步骤
确定交互过程的上下文 识别参与交互过程的对象 为每个对象设置生命线 从引发这个交互过程的初始消息开始, 在生命线之间 自顶向下依次画出随后的各个消息. 5. 如果需要嵌套或(和)表示消息发生的时间点, 使用控 制焦点. 6. 如果需要说明时间约束, 则在消息旁边加上约束说明. 7. 如果需要, 可以为每个消息设置前置条件和后置条件. 1. 2. 3. 4.

第6章 顺序图和协作图

第6章 顺序图和协作图

6.4 顺序图理解
计算机 打印文件 [打印机忙] [打印机空闲] 打印服务器 打印机 打印队列
条件[打印机忙]和[打印机空闲]是两个互斥的条件, 打印服务器根据条件来确定消息发给对象“打印 机”还是对象“打印队列”。两个消息都是从同 一点出发的,这表示两个分支在同一时间点上只 能执行一个分支。
6.4 顺序图理解 6.4.2 从属流 从属流与条件分支不 同,从属流允许某一 个对象根据不同的条 件改变执行不同的操 作,即可以创建对象 的另一个生命线分支。
如果为了强调需要对多个对象重复发送某个消息, 可以在顺序图中添加循环标识符号,顺序图中表 示循环执行的消息有三种方式。
第一种,在需要循环重复执行的消息前添加符号 “*”,并在其后的中括号中写明具体的条件。
计算机 打印服务器 打印队列
校验打印文件
*[for each file] [check()=true]
6.2 顺序图元素
顺序图描述了对象以及对象之间传递的消息,强 调对象之间的交互是按照时间的先后顺序发生的, 这些特定顺序发生的交互序列从开始到结束需要 一定的时间。在顺序图中主要包括了以下四种元 素: • • • • 对象 生命线 激活 消息
6.2 顺序图元素 6.2.1 对象
类定义了对象可执行的各种行为,但在面向对象 系统中,行为的执行者是对象,而不是类,因此 在顺序图中通常描述的是对象层次而不是类层次。 面向对象分析中最基本的单位是对象,它代表现 实世界中一个一个地具体事物。 在顺序图中使用一个方框表示 一个对象,对象的名字下面有 一个下划线,一个学生对象 “张三”如图所示。
张三
6.2 顺序图元素
在顺序图中也可以使用用例图中的参与者图符 。 如果一个对象在顺序图的第一个操作之前就已经 存在,那么该对象的图符就应该画在顺序图的顶 部。 如果一个对象是在顺序图的交互过程中,由其他 对象创建的,那么该对象就不应该出现在顺序图 的顶端,而应该出现在创建该对象消息的末端 。

UML中的顺序图和协作图的区别与实际应用案例解析

UML中的顺序图和协作图的区别与实际应用案例解析

UML中的顺序图和协作图的区别与实际应用案例解析UML(Unified Modeling Language)是一种用于软件系统建模的标准语言,被广泛应用于软件开发过程中。

在UML中,顺序图和协作图是两种常用的建模工具,用于描述系统中对象之间的交互关系。

本文将探讨顺序图和协作图的区别,并通过实际应用案例解析它们的使用。

顺序图是一种时序图,用于展示对象之间的交互顺序。

它通过显示对象之间的消息传递和时间顺序来描述系统的动态行为。

顺序图以垂直方向表示时间轴,从上到下按照时间顺序排列对象和消息。

每个对象用一个矩形表示,对象之间的消息通过箭头表示。

顺序图强调对象之间的交互和消息的顺序,能够清晰地展示系统中的动态行为。

协作图是一种静态图,用于描述对象之间的合作关系。

它通过展示对象之间的连接和消息传递来描述系统的结构和交互。

协作图以水平方向表示对象之间的连接关系,每个对象用一个矩形表示,对象之间的连接通过实线和虚线表示。

协作图强调对象之间的连接和合作关系,能够清晰地展示系统中的结构和交互。

为了更好地理解顺序图和协作图的区别,我们可以通过一个实际应用案例来解析它们的使用。

假设我们正在开发一个在线购物系统,其中包含用户、购物车和商品三个对象。

首先,我们可以使用顺序图来描述用户购买商品的过程。

顺序图可以展示用户选择商品、将商品添加到购物车、结算支付等交互过程。

通过顺序图,我们可以清晰地了解用户与系统之间的交互顺序和消息传递。

接下来,我们可以使用协作图来描述购物车和商品之间的合作关系。

协作图可以展示购物车和商品之间的连接关系,以及它们之间的消息传递。

通过协作图,我们可以清晰地了解购物车和商品之间的合作关系,从而更好地设计系统的结构和交互。

通过以上案例,我们可以看到顺序图和协作图在描述系统中的对象交互和合作方面有着不同的应用场景。

顺序图适用于描述对象之间的交互顺序和消息传递,而协作图适用于描述对象之间的连接关系和合作关系。

UML 序列图(顺序图)和协作图

UML 序列图(顺序图)和协作图

UML图学习序列图(顺序图)和协作图分类:UML 2012-11-30 16:42 2528人阅读评论(19) 收藏举报在面向对象动态建模,用于建立行为的实体间行为交互的四种图:状态图(Stage Diagram),序列图(Sequence Diagram),协作图(Communication Diagram),活动图(Activity Diagram) ,其中,“顺序图”与“协作图”表述的是相似的消息。

序列图(Sequence Diagram)强调的消息时间顺序的交互图,描述类系统中类与类之间的交互,它将这些交互建模成消息互换,换句话说,顺序图描述了类与类之间之间相互交换以完成期望行为的消息。

顺序图的特点是清晰,一个设计很好地顺序图从左到右、从上到下可以很好地表示出系统数据的流向,为接下来的系统设计做好铺垫。

协作图(Collaboration Diagram /Communication Diagram,也叫合作图)是一种交互图(interaction diagram),强调的是发送和接收消息的对象之间的组织结构。

一个协作图显示了一系列的对象和在这些对象之间的联系以及对象间发送和接收的消息。

对象通常是命名或匿名的类的实例,也可以代表其他事物的实例,例如协作、组件和节点。

使用协作图来说明系统的动态情况。

1、序列图(顺序图)的知识点概要:点此看大图2、协作图知识点概要:点此看大图3:顺序图(1)先从图书馆借/还书角度了解顺序图从顺序图的流程中,清晰到了解程序的过程,十分清晰明了(2)从地铁购票的活动中来看顺序图根据机房收费系统来画的部分顺序图(3):一般用户角度查询信息。

(4):操作员注册新的学生账号(5)管理员的基本系统数据的的设定4、协作图(1)结合刚才的图书馆借/还书的过程。

根据序号可以发生的先后顺序(2)从地铁购票的角度来学习协作图(3)结合机房收费系统角度画的协作图一般用户查询信息:(4)操作员注册卡(5)管理员修改基本数据5、协作图与顺序图的区别和联系协作图和顺序图都表示出了对象间的交互作用,但是它们侧重点不同顺序图清楚地表示了交互作用中的时间顺序(强调时间),但没有明确表示对象间的关系。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第一部分 基础知识
第1章 第2章 第3章 第4章 第5章 第6章 第7章 第8章 第9章 第 10 章 第 11 章 第 12 章 第 13 章 第 14 章 第 15 章
UML简介 理解面向对象 运用面向对象 关系 聚集、组成、接口和实现 介绍用例 用例图 状态图 顺序图 协作图 活动图 构件图 部署图 理解包和UML语言基础 在开发过程中运用UML
买饮料的顺序: ① 顾客从机器前端的钱币
口塞入钱币,然后选择 想要的饮料; ② 钱币到达钱币记录仪, 记录仪更新自己的存储; ③ 这是最理想的场景,饮 料还有存货,记录仪通 知分配器分发一罐饮料 到机器前端。
2020/6/13
15
顺序图 — 饮料销售机(举例)
◇ 顺序图
2020/6/13
16
2020/6/13
8
顺序图 — 什么是顺序图
◇ 消息
一个对象到另一个对象的消息用跨越对象生命线的消息线表示 调用消息(call message):消息的发送者把控制传递给消息的接收者,然后停止 活动,等待消息接收者放弃或返回控制。一般地,调用消息的接收者必须是一个被动 对象,即它是一个需要通过消息驱动才能执行动作的对象。 返回消息(return message):调用消息必有一个配对的返回消息,为了图的简 洁和清晰,与调用消息配对的返回消息可以不用画出。如果为非过程调用,如果有返 回消息,则必须明确表示出来。 同步消息(synchronous message):调用消息 异步消息(asynchronous message):发送者通过消息把信号传递给消息的接收 者,然后继续自己的活动,不等待接收者返回消息或控制。异步消息的接收者和发送 者是并发工作的。 其它:阻止消息,超时消息,反身消息
顺序图和协作图
面向对象技术与 UML
Object-Oriented Technique and UML
教材目录 《面向对象技术UML教程》
第1章 第2章 第3章 第4章 第5章 第6章 第7章 第8章 第9章 第 10 章
面向对象技术概述 UML概述 用例和用例图 顺序图和协作图 类图和对象图 数据建模 包 状态图和活动图 构件图 部署图
2020/6/13
9
顺序图 — 什么是顺序图
◇ 时间
顺序图中垂直方向代表时间维,时间流逝 的方向为自顶而下。
◇ 建立顺序图的步骤
1. 确定交互过程的上下文(context) 2. 识别参与交互过程的对象 3. 为每个对象设置生命线,即确定哪些对象存在于整个交互过程中,哪些对象 在交互过程中被创建和撤销 4. 从引发这个交互过程的初始消息开始,在生命线之间从顶到下依次画出随后 的各个消息 5. 如果需要表示消息的嵌套,或/和表示消息发生时的时间点,则采用激活 6. 如果需要说明时间约束,则在消息旁边加上约束说明 7. 如果需要,可以为每个消息附上前置条件和后置条件
第 11 章 第 12 章 第 13 章 第 14 章 第 15 章 第 16 章 第 17 章 第 18 章
对象约束语言 业务建模 Web建模 UML与设计模式 面向对象实现技术 RUP 软件开发工程 UML开发工具 实例应用分析
2020/6/13
3
教材目录 《UML基础、案例与应用(第三版)》
9.1 什么是顺序图 9.2 汽车和车钥匙 9.3 饮料销售机 9.4 顺序图:一般顺序图 9.5 在消息序列中创建对象实例 9.6 帧化顺序图:UML2.0中的顺序图 9.7 UML“大图”
本章小节和习题
2020/6/13
什么是顺序图 ● 如何应用顺序图 ● 如何对一个对象创建建模 ● 如何使用UML2.0中新添加的有关顺序图的内容 ● 顺序图在UML大图中应该处于什么位置 ●
6
顺序图 — 什么是顺序图(每个用例的背后都有一张顺序图)
◇ 关键思想
对象之间的交互是按照特定的顺序发生的,这些按特定顺序发生的交互序列从开始 到结束需要一定的时间。
当建立一个系统时,必须要指明这种交互序列,顺序图就是用来完成这项工作的 UML组件。
◇ 顺序图(sequence diagram)
由采用通常方式表示的对象组成。
给顾客; ➢ 交易不成功,返还现钞 ➢ 交易成功,把饮料展示给顾客。
钱币记录仪(Register): ➢ 从前端获取顾客输入信息; ➢ 更新现钞储存; ➢ 找零钱
分配器(Dispenser):
➢ 检查选购的饮料是否还有货;
➢ 分发一罐饮料
2020/6/13
14
顺序图 — 饮料销售机(举例)
◇ 顺序图
第二部分 学习案例
第 16 章 第 17 章 第 18 章 第 19 章 第 20 章 第 21 章 第 22 章
学习案例介绍 领域分析 收集系统需要 开发用例 交互 设计外观、感觉和部署 理解设计模式
第பைடு நூலகம்部分 高级应用
第 23 章 嵌入式系统建模 第 24 章 描述UML的未来
2020/6/13
4
UML1.x中各种图的关系
Requirement
Use case
Requirement阶段 Analysis阶段 Design阶段
2020/6/13
Activity
Class (Simple)
State
Class (Complex)
Object
Sequence
Collaboration
5
第9章 顺序图
◇ 符号特征
* 对象用矩形表示,其中是带下划线的对象名
* 时间用垂直虚线表示
* 消息用带箭头的直线表示
* 激活用窄矩形条表示
2020/6/13
7
顺序图 — 什么是顺序图
◇ 对象 从左到右布置在顺序图的顶部 匿名对象 生命线(lifeline) 激活(activation)=控制焦点(focus of control,FOC)
2020/6/13
10
顺序图 — 汽车和车钥匙(举例) ◇ 类图
2020/6/13
11
顺序图 — 汽车和车钥匙(举例)
◇ 顺序图
2020/6/13
保护条件, UML中表示“if”
条件的方式
12
顺序图 — 饮料销售机(举例)
2020/6/13
13
顺序图 — 饮料销售机(举例)
◇ 类图
前端(Front): ➢ 接受顾客的选购和现钞; ➢ 输出一些提示消息; ➢ 从记录仪接受找回的零钱并返还
相关文档
最新文档