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

合集下载

第4章顺序图和协作图

第4章顺序图和协作图
超时(Time-out) ※如果接收者无法在指定的时间内接收消息,则发送者 放弃该消息
Q:这两种消息可以看做是同步or异步消息?
UML
- 24 -
•消息
格式
[前缀][警戒条件][顺序表达式][返回值:=]消息名([参数列表])
例:
2: display ()
简单消息
1.3.1: p:=find()
信息亭发Request (count, performance)消息给售票中心,表示调用售票中心类的Request (count, performance)操 作,来查询演出的信息。
售票中心发Show Available(seat-list)消息给信息亭,表示调用信息亭类中的Show Available(seat-list)操作,给出 可用的座位表。…………
UML
- 17 -
4.2 顺序图
复杂的例子
信息亭
售票中心
信用卡服务
从这个例子中可以看出: Kjosk类中的操作有
Show Available (seat-list) Demand Payment (cost) printtickets (performance, seats) eject card Box Office中的操作有 Request (count, performance) Select Seats Insert Card (Card Number) authorized Credit Card Service类中的操作有 charge(card number, cost)
※发送者把消息发送后,等待直到接收者返回控制,可 以表示同步;
※实心箭头符号
UML
- 20 -
•消息

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

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

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

第4章 顺序图和协作图

第4章 顺序图和协作图

第4章顺序图和协作图4.1 交互图概述交互图(interaction diagram)是用来描述对象之间以及对象与参与者(actor)之间的动态协作关系以及协作过程中行为次序的图形文档。

它通常用来描述一个用例的行为,显示该用例图中所涉及的对象和这些对象之间的消息传递情况。

交互图包括顺序图(sequence diagram)和协作图(collaboration diagram)两种形式。

顺序图着重描述对象按照时间顺序的消息交互,协作图着重描述系统成分如何协同工作。

顺序图和协作图从不同的角度表达了系统中的交互和系统的行为,它们之间可以相互转化。

一个用例需要多个顺序图或协作图,除非特别简单的用例。

交互图可以帮助分析人员对照检查每个用例中所描述的用户需求,如这些需求是否已经落实到能够完成这些功能的类中去实现,提醒分析人员去补充遗漏的类或方法。

交互图和类图可以相互补充,类图对类的描述比较充分,但对象之间的交互情况的表达不够详细;而交互图不考虑系统中的所有类及对象,但可以表示系统中某几个对象之间的交互。

需要说明的是,交互图描述的是对象之间的消息发送关系,而不是类之间的关系。

在交互图中一般不会包括系统中所有类的对象,但同一个类可以有多个对象出现在交互图中。

4.2 顺序图顺序图也称时序图。

Rumbaugh对顺序图的定义是:顺序图是现实对象之间交互的图,这些对象是按时间顺序排列的[RJB99]。

特别地,顺序图中显示的是参与交互的对象,及对象之间消息交互的顺序。

如图4.1所示是一个简单的顺序图例子。

图4.1 顺序图顺序图是一个二维图形。

在顺序图中水平方向为对象维,沿水平方向排列的是参与交互的对象。

其中对象间的排列顺序并不重要,但一般把表是参与者的对象放在图的两侧,主要参与者放在最左边,次要参与者放在最右边(或表示人的参与者放在最左边,表示系统的参与者放在最右边)。

顺序图中的垂直方向为时间维,沿垂直向下方向按时间递增顺序列出各对象所发出和接收的消息。

顺序图和协作图

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

第八章 顺序图和协作图

第八章 顺序图和协作图

第八章序列图和协作图本章要点⏹基础内容:序列图和协作图的激活和链⏹重点掌握:序列图和协作图中的对象、消息⏹一般了解:序列图中的分支和从属流导读⏹在标识出系统的类图之后,除了显示了实现用例的组成结构外,还需要描述这些类的对象是如何交互来实现用例功能的,即不但需要类图模型,还需要将它转化为交互图模型。

⏹交互图为基于交互的对象行为建模,是UML用于描述对象之间信息的交互过程的方法,是描述对象间协作关系的模型。

交互图指出对象如何通过协作来完成用例中捕获的业务流程。

⏹UML中的交互图以图形的形式表示方法调用的具体过程,主要有顺序图和协作图两种形式。

UML提供了一系列的图支持面向对象的分析和设计,顺序图和协作图都输描述系统动态视图的交互图。

其中顺序图描述了以时间顺序组织的对象之间的交互活动,协作图强调收发消息的对象的组织结构。

8.1 顺序图概述⏹顺序图由类角色、生命线、激活期和消息组成。

⏹顺序图用于表示一个交互,该交互是协作中各种类元角色间的一组消息交换,侧重于强调时间顺序。

顺序图捕获系统运行中对象之间有顺序的交互,强调的是消息交互的时间顺序。

⏹顺序图用于表示用例中的行为顺序。

顺序图将交互关系表示为一个二维图。

横向轴代表了在协作中各独立对象的类元角色。

纵向轴是时间轴,时间沿竖线向下延伸。

所谓交互是指在具体语境中由为实现某个目标的一组对象之间进行交互的一组消息所构成的行为。

交互——语境对象相互链接的地方就有交互(1)具有对象协作的系统、子系统语境中如:Web商务系统,客户对象、服务器对象间交互(2)操作实现语境中如:操作的参数、局部变量、全局对象相互交互完成操作的实现算法(3)类语境中如:通过交互显示类的属性是如何相互协作的交互——对象和角色⏹交互中的对象可以是具体事物⏹也可以是原型化事物⏹可以是类、构件、节点、用例的实例,也可以是抽象类、接口的间接实例UML提供的交互机制通常用于为以下两种情况进行建模:(1)控制流方面进行建模可针对一个用例、一个业务操作过程或系统过程,也可针对整个系统。

顺序图和协作图

顺序图和协作图

顺序图和协作图第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个对象:客户、预定请求、工作人员、工作记录和汽车。

5.实验5---顺序图和协作图

实验5顺序图和协作图一.顺序图1.实验内容图1-1顺序图2.实验步骤2.1定义类在LogiC VieW视图下创建4个类,它们是:客户、ATM端口、钱币记录仪、分类器,如图1-2所示。

图1-2创建类2.2创建顺序图右击LogiC View,选择New→Sequence Diagram,系统自动增加了一个项目:NewDiagram0我们在此处输入:顺序图,如图1-3所示。

图1-3创建顺序图2.3往顺序图中添加对象在i刘览器窗口中,双击“顺序图”文本,系统就在模型图窗口打开“顺序图”,如图1-4所示。

图1-4打开顺序图分别将浏览器窗口中的4个类(客户、ATM端口、钱币记录仪、分类器)拖入顺序图。

当把类拖入顺序图中时,系统自动创建匿名对象。

如图1・5所示。

图1-5对象拖入顺序图给匿名对象命名步骤如下:右击匿名对象客户”图标,选择OPen SPeCifICatiOn,打开对象的规范窗口,输入姓名:邓小贫。

如图1-6所示。

图1-6给匿名对象取名点击“OK”按钮,完成对象命名。

2.4 给对象添加消息添加消息的步骤:1)在工具箱中单击ObjeCl Message 按钮,2)在“邓小贫”对象的生命线上按下鼠标左键(不要松手),拖动鼠标到对象”:ATM端口”后,松开鼠标,就建立了一条消息。

如图1-7所示。

×ι÷lMHl ►!►Mog/For H«lp , pr«ss Fl∣D∙fftult Ltt<u∙g∙: Analysis图1-7添加消息3)右击消息,打开快捷菜单,选择OPenSPeCifiCatiOn ,打开消息的规范窗口,并输 入消息名:请求接收钱币,如图,1-8所示。

图1-7消息命名@ Rational Rose - 20182236+季自成+⅛⅛4.mdl‰侬File Edit View Format Browse Report ToOk Add-Ins Window Help口空。

交互作用图(顺序、协作)


• • • •
类Loan Book:OID Borrower:OID Date:Date
• newLoan(book:OID,b orrower:OID,date:Dat e) • 创建Loan对象 • getBook():Book • getBorrower():Borrow er
还书
: Librarian
交互作用图
(顺序图和协作图)
1 交互图概述
交互图(interaction diagram)是用来描述对象之间以及对 象与参与者之间的动态协作关系以及协作过程中行为 次序的图形文档. 交互图通常用于描述一个用例的行为, 显示该用例中所 涉及的对象及对象之间消息传递情况. 交互图包括: (1)顺序图(sequence diagram), 描述对象按照时间顺序的 消息交换; (2)协作图(collaboration diagram), 描述系统成分如何协同 工作.
序列性的消息能很好地说明单一的线性的序列,但是我们 通常需要展示条件和循环。有时候我们想要展示多个序列的 并行执行。在顺序图中用结构化控制操作符能展示这种高层 控制。
为了表示顺序图的边界,可以把顺序图用一个封闭的矩形 包围起来,并在矩形的左上角放一个小五边形。在这个小五 边形内先写上sd,再后面写出图的名字。对每个子顺序图加上 一个矩形区域作为外框,再在其左上角放一个小五边形,在 这个小五边形内写上用来表明控制操作符的类型的文字。
(3). 简单消 息
它只表示控制如何从一个对象传递给另一个对象,而没有描述通信的任何细节。 这种类型的消息主要用于通信细节未知或者无需考虑通信细节的场合。也就是说,主 要用于不知道消息是同步还是异步的场合,但通常情况下表示异步消息此外在高层分 析中,有时候没有必要指定一个消息是同步的还是异步的。如下面的示例所示。

UML第6章 顺序图和协作图


• 一个组合区由一个区域或多个区域组成,每个组 合区有一个操作符。操作符表示对象执行方式 (执行方式有三种:分支、并发和循环),操作 符写在组合区的左上角。
• 一个区域用一个长方形表示,区域之间用虚线隔 开,每个区域拥有一个监护条件和一个复合语句。 监护条件写在中括弧中。
如图6-12所示,组合区包含2个区域,组合区的操作符 是alt。第一个区域的监护条件是[if file Not Exist],第二 个区域的监护条件是[else]。
如图6-1所示便是自动车锁系统中,描述“锁 车”场景的顺序图。
图6-1 顺序图
6.1.2 顺序图的表示
• 在UML中,顺序图主要包括:对象、对象的生命 线、对象的控制焦点(对象获得控制权)以及对 象间交互的消息,如图6-2所示。
• 顺序图采用二维的布局结构,从左到右把对象排 列在顺序图的顶部。一般说来,首先排列参与者, 其次是边界对象,然后是实体对象,对象用矩形 框表示;虚线是生命线;生命线上的矩形是对象 的控制焦点;从对象往下延伸的生命线表示了时 间轴的正方向。
• 该组合区表示的逻辑是: 如果x<10,就要求B类对 象执行calculate(x)操作;否则就要求c类对象执行 calculate(x)操作。
:Caller
:A
:B
:C
1: do(x) alt
[x<10] 2: calculate(x)
[else]
3: calculate(x)
图6-13 alt操作符的使用
• 图6-18所示,由ingore操作符与assert 配合使用的例子。
• 图6-18所表示的逻辑是,在ingore组合区中, backoff(后退)和presshorn(按喇叭)消息被 忽略。

顺序图与协作图


6.1.1 顺序图概述
• 顺序图主要用于按照交互发生的一系列顺序,显 示对象之间的这些交互。很象类图,开发者一般 认为顺序图只对他们有意义。然而,一个组织的 业务人员会发现,顺序图显示不同的业务对象如 何交互,对于交流当前业务如何进行很有用。除 记录组织的当前事件外,一个业务级的顺序图能 被当作一个需求文件使用,为实现一个未来系统 传递需求。在项目的需求阶段,分析师能通过提 供一个更加正式层次的表达,把用例带入下一层 次。那种情况下,用例常常被细化为一个或者更 多的顺序图。在UML图中,顺序图与用例图和类 图之间关系如图6.1所示。
• 本节主要介绍顺序图的概念、基本组成机建模过 程。
6.1.1 顺序图概述
• 顺序图(sequence diagram)是强调消息时间顺序 的交互图,它描述了对象之间传送消息的时间顺 序,用于表示用例中的行为顺序。顺序图将交互 关系表示为一个二维图。横向轴代表了在协作中 各独立对象的类元角色。纵向轴是时间轴,时间 沿竖线向下延伸。
⑴图书管理员处理借书顺序图 图书管理员收到借阅者的借书申请时,首先验明借
阅者的身份,如果没有问题,则查找借阅书目, 如果借阅者没有超出最大借阅数量,则开始借阅 并更新书籍列表信息,借阅成功。 图书管理员处理借书顺序图如图6.20所示。
送的消息称为异步消息。消息发送者通过消息把 信号传递给消息的接收者,然后继续自己的活 动,不等待接受者返回消息或者控制。异步消息 的接收者和发送者是并发工作的。
图6.8 异步消息符号
6.1.2 顺序图的基本内容
• ③返回消息(Return Message) • 返回消息表示从过程调用返回。
图6.9 返回消息图标
图6.10 创建对象
6.1.2 顺序图的基本内容
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2 通信图
• • 在通信图中使用监护条件一定要有所限制,通常应只列出主要的监护条件,否则 会影响其阅读。 在图12中,coutse类实例c中还用到了构造型《local》,这是因为这个对象是由 CourseList 的find方法创建的,是一个局部的对象。而在这张图中,共有五处使用 了监护条件,它们的含义如表2所示.
图4 将订单生成送货单
1 顺序图
• 在图4中,最顶上的一排矩形框(它的表示法和对象图中的对象是一 致的)表示的就是顺序图中的对象。前两个对象都是有名称的对象, 它们的名称分别是dispatchFrom和aOrder。而后面三个则是匿名对象, 分别表示OrderItem,Product和DeliverOrder的实例。 • (2).嵌套编号: • UML标准中定义了“嵌套编号方案”,对于图4而言,如果采用嵌套 编号方案,则应该改为如图5所示。图5的嵌套编号方案表示了方法间 的包含关系。 • 由于顺序图本身已经充分表现出消息执行的顺序,因此在UML模型中 并没有要求对消息进行编号。只是要求在通信图中,对消息进行了编 号。但在Rose等建模工具中,为了能够自动实现顺序图与通信图的转 换,在顺序图中也默认采取“嵌套编号方案。
1 顺序图
对象
控制焦点 消息
•图2 顺序图
生命线
1 顺序图
• 2.对象:
• 顺序图中对象的符号和对象图中对象所用的符号一样。将对象置于顺 序图的顶部意味着在交互开始的时候对象就已经存在了,如果对象的 位置不在顶部,那么表示对象是在交互的过程中被创建的。 • 3.生命线 • 生命线是一条垂直的虚线,表示顺序图中的对象在一段时间内的存在。 每个对象的底部中心的位置都带有生命线。生命线是一个时间线,所 用的时间取决于交互持续的时间。 • 4.控制焦点 • 在对象的生命线上,包含一个矩形,表示对象处于激活状态,处于激 活状态的对象正在执行某个任务。对象在完成自己的工作后,被去激 活,对象就处于空闲状态。
•图1顺序图。
1 顺序图
• 3.顺序图的组成元素 • 顺序图中的元素包括对象、生命线、控制焦点、消息。消息表示了对 象间的通讯,生命线表示了对象的生存期, 控制焦点表示对象正在执 行一些活动。 • 1.2 顺序图的表示 • UML中,表示一个顺序图,主要是标识系统中的对象、对象的生命线、 对象的控制焦点、对象间交互的消息。如图2所示。 • 1.顺序图的布局结构 • 顺序图采用二维的布局结构,在顶端,从左到右,把对象排列在顺序 图的顶部,一般说来,首先排列参与者对象,其次是边界对象,然后 是实体对象,对象用矩形框表示;虚线是生命线;生命线上的矩形是 对象的控制焦点;从对象往下延伸的生命线表示了时间轴的正方向。 • 在图2中,参与者对象是车主,边界对象是车钥匙,实体对象是汽车, 这三个对象在平面图的顶部,从左向右依此排列。
1 顺序图
• (1).顺序编号:整个消息的传递过程就形成了一个完整的序列,因此 通过在每个消息的前面加上一个用冒号隔开的顺序号(按照消息的先后 顺序,从1开始对消息编号)来表示其顺序。 • 在第3章,我们为一个电子商务网站构建了对象模型( 类图)。现在, 我们建立一个顺序图,以实现用例”将订单生成送货单”的功能,如 图7-4所示,Order类有一个dispath()成员方法,其作用是根据供应 商户的不同将一个订单分拆到多个送货单中。
2 通信图
• • • • (1). 迭代标记 迭代标记用*号表示,表示循环,通常还有迭代表达式,用来说明循环规 则。 虽然在UML2.0中顺序图已不采用迭代标记(用交互片段代替迭代标记的 功能),但在通信图中仍然使用迭代标记。 迭代是通过在顺序编号前加上一个迭代符“*”和一个可选的迭代表达式 来表示。对于迭代表达式,UML没有强制规定什么语法,因此可以使用 任何可读的、有意义的表达式来表示。常用的迭代表达式如表1所示。 表1常用迭代表达式 迭代表达式 语义
1 顺序图
• 5.消息 • 消息用来描述对象之间所进行的通信,它包括消息名、消息参数。消 息分为五种:调用、返回、发送、创建和销毁。 • 在UML中,消息使用箭头来表示,箭头的类型表示了消息的类型。几 种消息类型的表示法,如图3所示。
•图3 消息表示法
• 消息编号: • 按消息产生的先后顺序,给消息编号,有两种编号方案,一种是顺序 编号,另一种个对象发送和接受的消息放在同一层进行 编号.如对象dispatchForm的发送和接受消息放在第一层编号,它们 是:1、2;把对象aOrder发送和接受的消息放在第二层编号,它们是 1.1、1,2、1,3、1,4;匿名对象:OrderItem的发送和接受消息放在第三 层编号,它们是:1.1.1、1.1.2
• 通信图的组成元素包括对象、消息、链(连接器)。消息表示了对象间 的通信,对象通过链连接在一起。
2 通信图
• 2.2 通信图的表示 • UML中,表示一个通信图,主要是标识系统中的对象、对象间交互的 消息、对象间的链。如图11所示,是系统管理员添加书籍的协作图。 • 第一个消息(Additem())表示,管理员要求维护窗口添加书籍;第二个 消息(find(String))表示,维护窗口要求:Title对象根据书名获得书的目录; 第三个消息(update())表示修改书目下书的数量。
•图5 嵌套编号
1 顺序图
• 1.4 绘制顺序图 • 下面以饮料自动销售系统为例,看我们是怎样绘 制顺序图的.下面对“买饮料”的3种场景进行 建模,对每一个场景,我们绘制其对应的顺序 图. • (1).买饮料的正常场景 • 下面是买到饮料的一般事件流:
1 顺序图
• • • • • 1、顾客从机器的前端钱币口投入钱币,然后选择想要的饮料; 2、钱币到达钱币记录仪,记录仪更新自己的存储; 3、记录仪通知分配器分发饮料到机器前端; 下面是买到饮料的场景对应的顺序图,如图6所示. (2). 饮料“已售完”的场景
•图7 饮料已售完的场景
图6 买到饮料的场景
1 顺序图
• • • • (3). 机器没有合适的零钱 顾客买饮料时,机器没有合适的零钱“找不开”的场景. (4). 带有临时对象的顺序图 图8,该顺序图表示了发送消息2后,创建一个临时对象c, 其生命线的尾部 的叉号,表示销毁对象c.
•图8 带有临时对象的顺序图 图9 零钱“找不开”的场景.
7.2 通信图
•图10从订单生成订货单的通信图。
2 通信图
• 1.通信图的作用
• 通信图常用来描述业务或软件系统中,每个对象在交互发生时承担的 角色,即强调了交互发生时,每个对象承担的职责。 • 使用协作图可以显示对象相互协作时充当的角色。如果需要强调时间 和序列,最好选择顺序图建模;如果需要强调上下文相关,最好选择 协作图建模。 • 协作图用于显示对象之间如何进行交互,以实现特定用例或用例中特 定部分的行为。设计员使用协作图和顺序图确定并阐明对象的角色, 这些对象执行用例的特定事件流。这些图提供的信息主要用来确定类 的职责和接口。 • 2.通信图的组成元素
知识点学习(顺序图和协作图 )
知识点:
1 顺序图 2 通信图 3 绘制交互图 4 顺序图与通信图的关系
交互图
• 描述系统中,对象之间通过消息进行 通讯的图就是交互图。交互图包含4种 类型,它们是顺序图、通讯图、定时 图、交互概述图。
1 顺序图
• 1.1 顺序图的概念 • 1.顺序图 • 顺序图也称为时序图,它描 述了系统中,对象间通过消 息进行的交互,它强调了消 息在时间轴上的先后顺序。 • 图1是自动车锁系统中,实 现“锁车”用例的顺序图。 • 2.顺序图的作用 • 顺序图常用来描述用例的实 现,它表明了由哪些对象, 通过消息相互协作来实现用 例的功能,在顺序图中,标 识了消息发生交互的先后顺 序。
2 通信图
• 2.1 通信图的概念 • 1.通信图: • 通信图也称为协作图,它描述了系统中,对象间通过消息进行的交互, 强调了对象在交互行为中承担的角色。图10是一个典型的通信图。 • 通信图和顺序图之间的语义是等价的,只是他们的关注点有所不同而 已,可以很容易的完成从顺序图到通信图的转换,在Rose中这个转换 还可以自动完成。图10所示的通信图就是在Rose中通过对图5进行自 动转换所产生的结果。 • 从图10中不难发现,对象和消息都与图5中的对象和消息一样,在这 幅图上除了“对象”之间的链(连接线)之外,所有的元素在交互图 中都已经标识过。
[i:=1..n]
[I=1..10] [while(表达式)] [until(表达式)] [for each(对象集合)]
迭代n次
I迭代10次 表达式为true时才进行迭代 迭代到表达识为true时,才停止迭代 在对象集合上迭代
2 通信图
• (2). 监护条件 • 监护条件通常是用来表示分支的,也就是表示“如果条件为true,发 送消息”的语义,在UML中,监护条件是以“【条件表达式】”的格 式表示的
2 通信图
• 2.3 表示循环和分支
• 通信图中,用迭代表示循环,用监护条件表示分支。下面分别讲述迭 代标记和监护条件。 • 监护条件通常是用来表示分支的,也就是表示“如果条件为true,就 发送消息”的语义,在UML中,监护条件是以“【条件表达式】”的 格式表示的。现在来看一下它在交互图中的应用。 • 例如,在图10中,消息“1.3:create(prddleryid)”的前面就添加了 一个监护条件【peddleryid not exist】,它说明只有当peddleryid不存 在时,才调用create方法来创建新的送货单。如果已经存在,那就不必 创建,直接调用1.4方法,将订单项中的产品添加到相应的送货单即可。
1: add item( ) : Maintenance Window : Administrator 2: find(String) 3: update( ) : Item
: Title
•图11通信图
2 通信图
• 1.对象: • 通信图与顺序图中的对象的概念是一样,只不过在通信图中,无法表 示对象的创建和撤销,所以对于对象在图中的位置没有限制。 • 2.链: • 表示对象之间的语义关系,链是关联的一个实例。通信图中链的符号 和对象图中链所用的符号是一样的,即一条连接两个对象的实线。 • 3.消息 • 通信图中的消息类型与时序图中的相同,只不过为了说明交互过程中 消息的时间顺序,需要给消息添加顺序号。顺序号是在消息的前面加 一个整数。每个消息都必须有唯一的顺序号。 • 4.消息编号: • 消息的编号有两种,一种是无层次编号(按顺序编号),它简单直观; 另一种是嵌套的编号,它更易于表示消息的包含关系. • 5.迭代标记和监护条件
相关文档
最新文档