实验三+时序图和协作图

合集下载

UML统一建模语言实验报告 2范文

UML统一建模语言实验报告 2范文

目录实验一 UML建模基础及用例图实验二类图与对象图实验三序列图与协作图实验四状态图实验五活动图实验(一)UML建模基础及用例图实验目的1、熟悉UML建模工具Rational Rose的基本菜单及操作。

2、掌握UML的可见性规则和构造型的作用。

3、掌握用例的概念;掌握UML用例图的组成及作用。

4、掌握用例与用例之间的各种关系。

实验内容1、练习使用建模工具建立各种UML图形,并对图形进行相应编辑和修改。

2、认识各种UML关系,并用工具表示出来。

中南民族大学管理学院学生实验报告3、什么是用例?用例图中有哪些组成元素?在UML中是如何表示的?答:用例是对系统功能的描述,是向参与者提供重要价值的操作序列。

用例图有:用例、参与者、关联(系统边界)等元素。

用来显示在系统或其他实体内的用例与系统参与者之间的关系。

主要使用场合:需求获取、定义、分析4、用例与用例之间的包含关系、扩展关系和泛化关系各代表什么含义?它们之间有何区别?对以上三种关系各举一例,画出用例图,并进行说明。

(1)包含关系:基本用例的行为包含另一用例的行为。

基本用例描述在多个用例中都有的公共行为。

包含关系是本质上比较特殊的依赖关系,它比一般的依赖关系多了一些语义。

在包含关系中箭头的放向是从基本用例到包含用例的。

(2)扩展关系:扩展关系的基本含义和泛化关系相似,但在扩展关系中,对于扩展用例有更多的规则限制。

基本用例必须声明扩展点,而扩展用例只能在扩展点上增加新的行为和含义。

(3)泛化关系:代表一般与特殊的关系。

UML用例图中泛化关系的意思和面向对象程序设计中的继承的概念是类似的。

不同的是继承使用在实施阶段,泛化使用在分析、设计阶段。

在泛化关系中子用例继承了父用例的行为和含义,子用例也可以增加新的行为和含义或者覆盖父用例中的行为和含义。

5、完成书中94页例子,体会用例图建模的分析过程并模仿来画出该学生信息管理系统的用例图。

画出课后习题101页第4题。

时序图、活动图、状态图、协作图的区别

时序图、活动图、状态图、协作图的区别

时序图、活动图、状态图、协作图的区别时序图时序图用于描述对象之间的传递消息的时间顺序, 即用例中的行为顺序.当执行一个用例时, 时序图中的每条消息对应了一个类操作或者引起转换的触发事件.在 UML 中, 时序图表示为一个二维的关系图, 其中, 纵轴是时间轴, 时间延竖线向下延伸. 横轴代表在协作中各个独立的对象. 当对象存在时, 生命线用一条虚线表示, 消息用从一个对象的生命线到另一个对象的生命线的箭头表示. 箭头以时间的顺序在图中上下排列.ATM 用户成功登陆的时序图时序图中的基本概念对象: 时序图中对象使用矩形表示, 并且对象名称下有下划线. 将对象置于时序图的顶部说明在交互开始时对象就已经存在了. 如果对象的位置不在顶部, 表示对象是在交互的过程中被创建的.生命线: 生命线是一条垂直的虚线. 表示时序图中的对象在一段生命周期内存在. 每个对象底部中心的位置都带有生命线.消息: 两个对象之间的单路通信. 从发送方指向接收方. 在时序图中很少使用返回消息.激活: 时序图可以描述对象的激活和钝化. 激活表示该对象被占用以完成某个任务. 钝化指对象处于空闲状态, 等待消息. 在 UML 中, 对象激活时将对象的生命线拓宽为矩形来表示的. 矩形称为计划条或控制期. 对象就是在激活条的顶部被激活的. 对象在完成自己的工作后被钝化.对象的创建和销毁: 在时序图中, 对象的默认位置是在图的顶部. 这说明对象在交互开始之前就已经存在了. 如果对象是在交互过程中创建的, 那么就应该将对象放到中间部分. 如果要撤销一个对象, 在其生命线终止点处放置 “ X” 符号.练习:孙中山的……活动图在 UML 中, 活动图本质上就是流程图. 它用于描述系统的活动, 判定点和分支等.活动图中的基本概念动作状态: 原子的, 不可中断的动作, 并在此动作完成之后向另一个动作转变. 在 UML 中动作状态用圆角矩形 表示, 动作状态所表示的动作写在圆角矩形内部.分支与合并: 分支在软件系统中很常见. 一般用于表示对象类所具有的条件行为. 用一个布尔型表达式的真假来判定动作的流向. 条件行为用分支和合并表达.在活动图中, 分支用空心小菱形 表示. 分支包括一个入转换和两个带条件的出转换, 出转换的条件应该是互斥的, 须保证只有一条出转换能够被触发. 合并包含两个带条件的入转换和一个出转换.状态图状态图: 通过建立对象的生存周期模型来描述对象随时间变化的动态行为.状态图中的基本概念状态: 用圆角矩形表示. 状态名称表示状态的名字, 通常用字符串表示. 一个状态的名称在状态图所在的上下文中应该是唯一的.转换: 用带箭头的直线表示. 一端连着源状态, 一端连着目标状态.初始状态: 每个状态图都有一个初始状态. 此状态代表状态图的起始位置. 初始状态只能作为转换的源, 不能作为转换的目标, 并且在状态图中只能有一个. 初始状态用一个实心圆表示.终止状态: 模型元素的最后状态, 是一个状态图的终止点. 终止状态在一个状态图中可以有多个.协作图协作图(也叫合作图)是一种交互图.时序图主要侧重于对象间消息传递在时间上的先后关系, 而协作图表达对象间的交互过程及对象间的关联关系。

顺序图和协作图

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

时序图和协作图

时序图和协作图

时序图的最大特点是:它以二维的平面上 的一维来表示时间进度,在时间维上定义 各个对象所执行的操作以及它们之间所传 送的消息。从而能够在逻辑上清晰的刻画 这些操作和消息的时序关系乃至因果关系。
简单时序图
7.2 时序图元素及表示法
在UML中,时序图用一个二维图描述系统 中各个对象之间的交互关系。其中,纵轴 是时间轴,时间沿竖线向下延伸,由上至 下表示时间的先后顺序。横轴代表了参与 相互作用的对象。 当对象存在时,生命线由一条虚线表示; 当对象的过程处于激活状态时,生命线上 用一个激活条表示。消息用从一个对象到 另一个对象生命线的箭头表示,箭头以时 间顺序从上到下排列。

时序图(Sequence Diagram)也被称为 顺序图,是一种详细地表示对象之间行为 交互关系的图,主要用来描述对象之间信 息交换时的时间顺序。因此可以清晰而直 观的表示对象之间的行为交互关系以及操 作和消息的时序关系。
时序图的主要用途把用例表达的要求转化 为更进一步的精细表达。它还能用来记录 一个存在系统的对象现在如何交互。 用例常常可被细化为一个或多个时序图。

7.2 时序图元素及表示法
时序图有4种基本图形元素,包括:
对象(object) 生命线(lifeline) 激活(activation) 消息(message)
1. 对象
时序图中的对象在概念上和它在对象图中 的定义是一致的,其图形表示也相同。 每个对象显示在单独的列里,用一个矩形 框代表一个对象,框内填写对象名和它所 属的类名,中间用一个冒号隔开。

2.链接
链接是两个对象间的连接。 它的图形符号也是用一条连接在两个对象间 的实线表示。在连接线上可以标明对象名。

3.消息

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

实验三 顺序图与协作图

实验三 顺序图与协作图

实验三顺序图与协作图
一、实验目的
1.学会分析系统中的参与者和用例
2.掌握顺序图的绘制方法
3.掌握协作图的绘制方法
二、实验内容
ATM机取款场景如下:
(1)通过读卡机,用户插入ATM卡;
(2)ATM系统从卡上读取银行ID、帐号、加密密码、并用主银行系统验证银行ID和帐号;
(3)用户输入密码,A TM系统根据上面读出的卡上加密密码,对密码进行验证;
(4)用户输入取款数量;
(5)ATM系统通知主银行系统,传递储户帐号和取款数量,并接收返回的确认信息;
(6)ATM系统输出先进、A TM卡和显示帐户余额的收据;
(7)ATM系统记录事务到日志文件。

请运用课堂上介绍的方法,为之画出顺序图和协作图。

并在实验报告中给出绘制的步骤和过程。

客户取款活动顺序图
步骤:
1)确定将要作为独立的顺序图建模的工作流。

2)布置各个独立的顺序图的对象。

3)为各个独立的顺序图添加消息和条件。

4)从各个独立的顺序图建模一个总顺序图。

客户取款业务的协作图。

UML顺序图、协作图的设计

UML顺序图、协作图的设计

湖南文理学院实验报告课程名称:UML建模技术实验实验名称:UML顺序图、协作图的设计成绩:学生姓名:专业:计科班级、学号:同组者姓名:实验日期: 2013、6、2一、实验目的:①掌握对象的设计、消息流的设计;②掌握顺序图、协作图中对象交互关系的设计。

二、实验原理:时序图(Sequence Diagram),亦称为序列图或顺序图,是一种UML行为图。

它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。

它可以表示用例的行为顺序,当执行一个用例行为时,时序图中的每条消息对应了一个类操作或状态机中引起转换的触发事件。

时序图描述对象是如何交互的,并且将重点放在消息序列上。

也就是说,描述消息是如何在对象间发送和接收的。

所谓协作是指在一定的语境中一组对象以及用以实现某些行为的这些对象间的相互作用。

它描述了在这样一组对象为实现某种目的而组成相互合作的“对象社会”。

协作图就是表现对象协作关系的图,它表示了协作中作为各种类元角色的对象所处的位置,在图中主要显示了类元角色(Classifier Roles)和关联角色(Association Roles)。

类元角色描述了一个对象,关系角色描述了协作关系中的链。

与序列图中明确表示了角色之间的关系,通过协作角色来限定协作中的对象和链接。

另一方面,协作图不将时间作为单独的维来表示,所以必须使用顺序号判断消息的顺序以及并行线程。

序列图和协作图表达的是类似的信息,虽然它们使用的不同的方法表示,但是可以通过适当的方式将它们进行转换。

三、实验内容:①通过对BBS论坛系统的需求分析,绘制顺序图;②通过对BBS论坛系统的需求分析,绘制协作图。

具体内容如下:(一)BBS论坛系统的需求分析1、系统功能需求(1)从前台用户和游客角度,系统应包括:用户注册,用户登录,浏览文章,发表文章,帖子查询。

(2)从论坛管理员角度:会员管理,帖子管理,论坛分类管理,帖子分类。

(1)前台基本业务模块:注册会员,登录系统,发表文章,浏览文章,文章查询。

软件工程实验三

软件工程实验三
用户购买建立图书订单的时序图:
用户购买建立图书订单的图:
工作人员处理图书订单的时序图:
工作人员处理图书订单的协作图:
管理人员维护图书信息的时序图:
管理人员维护图书信息的协作图:
心得体会:
通过本次试验我基本掌握了利用Rational Rose时序图和协作图的基本操作流程,经过仔细阅读老师给的课件信息和上网查找自己不太明白的东西,我很快就画出了自己所想的时序图和协作图,当然还有很多不完美的地方,我系统”为例,完成系统的时序图和协作图的设计与实现。
实验内容:利用Rational Rose工具建立系统重要用例的时序图和协作图。
实验要求:建立“顾客建立图书订单”用例的时序图和协作图;建立“员工处理图书订单”用例的时序图和协作图;建立“管理人员维护图书信息”用例的时序图和协作图。
天津理工大学实验报告
学院(系)名称:计算机与通信工程学院
姓名
晴小天
学号
2013xxxx
专业
计算机科学与技术
班级
2013级2班
实验项目
实验三:系统设计与对象动态交互模型
课程名称
软件工程
课程代码
0668046
实验时间
2015年12月14日8:00-11:00
实验地点
主校区信息安全实验室7-219
批改意见

顺序图和协作图

顺序图和协作图

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

时序图-协作图-详解

时序图-协作图-详解

动态图概念 : 从静态图中抽取瞬间值的变化描述系统随时间变化的行为, 动态图包括交互图活动图状态图, 这篇博客研究交互图包括时序图和协作图;-- 时序图 : 显示对象之间的关系, 强调对象之间消息的时间顺序, 显示对象之间的交互;-- 协作图 : 描述对象之间的交互关系;一.时序图 (Sequence Diagram)1.时序图的概念时序图定义 : 描述了对象之间传递消息的时间顺序, 用来表示用例中的行为顺序, 是强调消息时间顺序的交互图;时序图描述的事物: 时序图描述系统中类和类之间的交互, 将这些交互建模成消息交换, 时序图描述了类以及类之间的交换以完成的期望行为的消息, 时序图中每条消息都代表了类的一个操作或者引起状态机改变的触发事件;时序图表示 : 参与交互的对象在时序图顶端水平排列, 每个对象的底端绘制了一条垂直虚线, 对象A像对象B发送消息, 用一条带箭头的实线表示, 该实线起始于对象A底部的虚线, 终止于对象B底部的虚线; 实线箭头水平放置, 越靠近顶端越早被发送.时序图轨迹 : 时序图提供了随时间推移的, 清晰的可视化的轨迹;2. 时序图组成时序图组成 : 时序图包括四个元素对象(Object), 生命线(Lifeline), 激活(Activation), 消息(Message);(1) 对象(Object)对象: 时序图中的对象在交互中扮演的角色就是对象;对象的符号 : 时序图中的对象与对象图中的表示方法一样, 使用矩形将对象名称包含起来, 并且对象名称下有下划线;对象创建时机 : 对象可以在交互开始的时候创建, 也可以在交互过程中进行创建;-- 处于顶部 : 如果对象的位置在时序图顶部, 说明在交互开始的时候对象就已经存在了;-- 不在顶部: 如果对象的位置不在顶部, 那么对象在交互过程中创建的;(2)生命线(Lifeline)(3)生命线 : 生命线是一条垂直的虚线, 这条虚线表示对象的存在, 在时序图中, 每个对象的底部都有生命线;生命线作用 : 生命线是一个时间线, 从时序图顶部一直到底部都存在, 其长度取决于交互的时间;对象的生命线 : 对象与生命线结合在一起就是对象的生命线, 这个概念包含对象图标以及对象下面的生命线图标如上图;(3) 激活(Activation)激活(Activation): 代表时序图中对象执行一项操作的时期, 激活期可以理解为语义中 {} 中的内容, 表示该对象被占用以完成某个任务;去激活(Deactivation) : 指对象处于空闲状态, 在等待消息激活这个对象;激活的表示 : 当对象处于激活时期, 生命线可以拓宽为矩形, 这个矩形条成为激活条;激活去激活的时机 :-- 激活 : 对象激活是在激活条的顶部激活;-- 去激活 : 激活条的底部去激活, 通常发生在一个消息离开对象生命线;(4) 消息消息概念 : 定义交互和协作中交换信息的类, 对对象之间的通信内容建模;消息动作 :--动作种类: 消息允许在实体间传递信息 (传递参数), 允许实体请求其它服务, 对象之间通过发送和接收消息进行通信;--产生结果: 消息可以触发操作, 唤起信号, 或使目标对象创建或销毁;消息的异步和同步通信 :-- 异步通信 : 消息是信号的时候, 发送信号之后, 等待对方触发相应方法, 这是明确的命名的对象间的异步通信;-- 同步通信 : 直接调用对象的方法, 执行方法返回结果, 这种具有返回控制机制的操作是同步通信;时序图和协作图中消息的区别 : 时序图中的消息强调顺序, 协作图中的消息强调交换消息的对象间的关系;消息类型 :-- : 两个对象间绘制消息;-- : 两个对象之间的过程调用;-- : 两个对象之间的异步消息;-- : 过程调用中返回的消息;-- : 绘制反身消息;3. 时序图示例示例简介 :-- 使用场景: 汽车租赁公司;-- 使用的对象 : Customer (客户), Worker (工作人员), Order (请求), Record (记录), Car (汽车);-- 工作流程 : ①客户向工人提出租车要求, ②工人检查请求, ③客户付款, ④工人填写记录, ⑤工人取车;时序图 :4. 对象的创建和撤销对象位置:-- 顶部 : 时序图中对象的默认位置是在时序图顶部, 这表明对象在交互开始之间就已经存在;-- 中间 : 如果对象在时序图中间部分, 说明对象时在交互过程中创建的;交互过程中创建对象的方法 :--消息指向对象 : 消息是构造方法, 箭头指向对象所代表的的矩形;-- 消息指向激活条 : 消息是构造方法, 箭头指向对象下面的激活条;撤销对象 : 如果想要在时序图中撤销一个对象, 因为如果同时有几个对象, 如果不进行特殊操作其生命周期将会一样长; -- 效果图 : 下图中将 Customer 和 Order 对象撤消了, 因为它们基本没有参与后期的交互;5. 时序图建模技术时序图使用时机 : 对动态行为建模, 强调时间展开信息的次序的时候, 使用时序图;时序图管理策略 :-- 单一控制流 : 一个单独的时序图只能显示一个控制流;-- 多个时序图 : 完整的控制流很复杂, 可以绘制多个时序图, 一个主干时序图, 多个分支时序图, 使用包对这些时序图进行管理;时序图建模策略 :-- 设置交互语境 : 交互所在的环境, 包括哪些对象, 属于什么系统, 子系统, 相关的操作类用例等;-- 对象排列顺序 : 根据对象重要性, 从左到右排列在时序图中;-- 对象生命线 : 对象通常存在于交互的整个过程, 也可以在交互过程中被创建和撤销;-- 消息排列 : 引发交互信息之后, 消息按照时间顺序从上向下画出, 先发出的消息在后发出的消息上面;-- 激活期设置 : 可以将实际操作发生的时间点消息明确的显示出来;-- 时间空间约束: 每个消息都可以附加合适的时间和空间约束;-- 前置后置条件: 每条消息可以附加前置或后置条件;6. Rational Rose 时序图操作(1) 创建时序图新建时序图 : 在视图浏览器中右键点击Logical View (逻辑视图), 选择New(新建) -> Sequence Diagram(时序图);(2) 添加对象添加对象 : 时序图中有两种对象, 一种是参与者Actor, 一种是普通的对象;-- 参与者对象 : 在类图中创建一个对象, 将其 Stereotype 修改为 Actor, 就变成了参与者, 然后在视图浏览器中将这个元素拖到时序图中即可;-- 普通对象 : 直接在时序图中点击按钮, 在界面中创建对象; -- 两种对象效果 :设置对象属性 : 双击对象, 在弹出的 General 对话框中修改对象属性;-- Name: 对象名称, 不输入也可以;-- Document : 描述对象的文档;设置对象持续性 :-- 持续 (Persistent) : 对象保存在数据库或其它形式的永久存储体中;-- 静态 (Static) : 对象保存在内存中知道程序终止;-- 临时 (Transient) : 短时间内保存在内存中;(3) 添加消息消息作用 : 消息用两个对象生命线之间的箭头表示, 一个对象可以通过消息请求另一个对象执行某个操作;增加消息 :-- 发送消息 : 将从发送消息对象的生命线拖到接收消息对象的生命线上;-- 显示取消编号和激活条 : 菜单栏 Tools -> Options -> Diagram 选项卡, Sequence numbering 是消消息编号 , Focus of control 显示激活条;二. 协作图 (Collaboration Diagram)1. 协作图概念协作图: 协作图是一种类图, 包含类元角色和关联角色,不仅仅是类元和关联;-- 强调 : 强调参与交互的各个对象的结构信息和组织;协作图建模对象 : 对有交互的对象和这些对象之间的关系建模, 不参与交互的对象及它们的关系忽略;协作图内容: 协作图中表现了类操作中用到的参数, 布局变量, 操作中的永久链;对象图扩展 : 协作图可以看做对象图的扩展, 该图展示了对象之间的关联, 显示出了对象间的消息传递;2. 协作图内容(1) 对象(Object)对象 : 代表协作图交互中的主体, 和时序图中对象的概念类似;协作图和时序图中对象区别 : 协作图中对象无法创建和撤销, 因此对象在协作图的位置没有限制;(2) 链(Link)链的表示 : 链的符号和对象图中链所用的符号是一样的, 用来连接两个类角色的实线;-- : 创建对象之间的通信路径;-- : 显示对象可以调用自己的属性;-- : 在两个对象之间或一个对象本身增加消息;-- : 在两个对象之间或一个对象本身从反方向增加消息;-- : 显示两个对象之间的信息流;-- : 在反方向显示两个对象之间的信息流;路径构造性 : 对象之间的连接可以由链末尾附加的路径构造型表示;-- 添加方式 : 双击链, 选择 visibility属性即可;(3) 消息 (Message)消息概念 : 对象间通过链接发送的就是消息;--消息传递方向 : 对象之间的箭头表明对象间交换的消息流, 一个对象发出消息, 链指向的对象接收消息, 链用于实现消息传输;-- 消息标识 : 消息流标有消息的序列号和对象间发送的消息名称;-- 消息结果 : 每条消息否会触发接收对象的一系列操作;消息序号 : 协作图与时序图中的消息类型是一样的, 为了表明消息顺序, 需要为消息添加序号;3. 协作图示例示例简介 : 汽车租赁流程;-- 涉及到的对象 : Customer (客户), Order (订单), Worker (工人), Record (记录), Car (汽车);-- 流程简介 : 客户写好订单, 工人核对订单, 核对后订单存在, 允许客户取车, 工人填写记录, 并将车取出;4. 协作图建模策略协作图使用场景 : 对系统动态行为建模, 按组织对控制流建模使用协作图;协作图管理策略 :-- 单个协作图: 单个协作图只能显示一个控制流;--多个协作图 : 描述复杂系统的时候, 需要许多协作图共同描述, 一些图是主干协作图, 还有许多分支路径的控制流的协作图, 使用包管理这些协作图;协作图的建模策略 :-- 设置语境 : 设置协作图所在的环境 , 如系统, 子系统, 类, 操作, 用例或用例脚本;-- 对象顶点 : 识别对象在协作图中扮演的角色, 协作图中, 对象是图的顶点;-- 变化修改 : 每个对象最初都会设置初始值, 如果期间对象发生了变化, 修改的方式是 : 协作图中放置一个复制对象, 更新复制对象, 同过后造型 become copy 连接二者;-- 确定链接顺序 : 先确定关联链接,哪些对象相互链接; 在确定消息链接, 路径构造型等表示对象间如何连接;-- 消息顺序 : 从引起交互的消息开始编号, 将编号信息和描述信息附到链接上, 描述了对象之间的传递次序;-- 时间空间约束 : 可以为每个消息附加时间和空间上的约束;-- 前置后置条件 : 可以为每个消息附加前置和后置条件;5. Rational Rose 绘制协作图(1) 创建协作图创建流程 : 视图浏览器 -> Logical View (逻辑视图) -> New (新建) -> Collaboration Diagram (协作图);(2) 添加对象协作图中添加对象 : 与时序图基本类似;-- 添加参与者对象 : 在类图中创建好类, 然后将类型设置为Actor, 然后在视图浏览器中将Actor拖到协作图中;-- 添加普通对象 : 直接点击工具栏中的图标设置即可;(3) 添加消息添加对象间消息 : 在两个对象之间添加消息;-- 建立通信路径 : 使用连接两个对象, 建立两个对象间的通信路径;-- 添加消息 : 使用或在通信路径上添加消息;-- 设置消息名称 : 双击消息箭头, 可以在弹出的对话框中修改消息名称;添加反身消息 : 选择点击对象, 就会出现指向对象本身的路径, 选择点击这个指向本身的路径, 可以为该对象添加消息;(4) 添加数据流数据流概念 : 数据流是一个对象向另一个对象发送消息返回的消息;-- 使用场景 : 没必要在每个消息上都加上数据流, 只要在中药消息上附加数据流即可;数据流添加方法 : 选择或按钮, 单击要返回的数据消息, 数据流箭头就会被添加到这个消息上;.6. 时序图与协作图转换各自侧重点 : 时序图和协作图是等价的, 可以任意转换, 而不丢失信息;--时序图: 描述交互过程中的时间顺序, 没有明确表达对象间关系;--协作图: 描述了对象间的关系, 但是时间顺序必须从消息的序号中获取;转换示例 :-- 场景介绍 : 学生毕业管理;-- 对象介绍 : 教务人员, 学位评价, 成绩管理, 奖惩管理, 信息打印;-- 控制流介绍 : ①教务人员输入学号进入学位评价模块, ②学位评价模块会向成绩管理模块查询成绩, ③向奖惩管理模块查询奖惩记录, ④学位评价模块会将结果打印到信息打印模块, ⑤信息打印模块将结果返回给教务人员;时序图:协作图 :7. 时序图和协作图对比时序图和协作图共同点 : 都是有消息和类角色组成;-- 规定责任 : 时序图和协作图都规定了消息发送对象和消息接收对象的责任, 每个接收对象都有消息对应的接口, 这个接口方法由消息发送对象触发;-- 支持消息 : 时序图和协作图都支持消息;-- 衡量工具 : 时序图和协作图可以作为衡量系统耦合性的工具, 耦合性就是系统中模型之间的依赖性, 两个模型之间的依赖关系通过查看两个模型之间的消息数量和类型就可以看出, 消息交互少的耦合性高;时序图和协作不同点 :-- 对象创建撤销侧重点 : 时序图侧重描述对象的创建和撤销, 新创建的对象放在对象生命线上对应的时间点, 撤销的对象在结束的地方放一个 X 表示该对象不能再继续使用;协作图中创建撤销的概念不存在, 对象时始终存在的, 只能通过消息描述或约束来说明对象的创建和撤销;-- 链接侧重点 : 时序图中的链没有表示出来, 可以随意绘制消息, 有些逻辑交互可能不会发生; 协作图的消息是映射在链上的, 消息和链平行放置, 如果想要通过消息查看对象之间的关联使用协作图最好;-- 激活和去激活 : 时序图表现有激活和去激活, 协作图上没有时间概念的描述, 无法清晰地表示对象的激活和去激活;三. 实例 - 图书管理系统1. 管理员为图书添加类别控制流说明 :-- 涉及到的对象 : Admin (管理员), BookInfoWindow (图书信息窗口), Tittle (图书类别), Item (图书条目);-- 流程 : 管理员查询图书信息窗口, 查看有没有相应的图书类别, 如果有插入该图书条目;时序图 :\协作图 :2. 管理员删除图书控制流说明 :-- 涉及到的对象 : Admin (管理员), BookInfoWindow (图书信息窗口), Tittle (图书类别), Item(图书条目);-- 控制流程 : 管理员登陆图书信息窗口删除图书, 查表图书类别是否存在, 查找图书是否存在, 如果都返回true, 删除图书条目;时序图 :协作图 :3. 管理员借书时序图控制流说明 :-- 参与的对象 : Admin (管理员), BookInfoWindow (图书信息窗口), Tittle (图书类别), Borrower (借阅者), Loan (借书记录), item (图书条目);-- 流程 : 管理员登陆图书信息窗口, 查询图书类别是否存在, 查询图书条目是否存在, 查询借阅者是否存在, 创建借书记录;时序图 :协作图 :21。

实验三+时序图和协作图

实验三+时序图和协作图

实验三时序图和协作图[实验目的]1.掌握时序图、协作图的绘制方法。

2.验证Rose的交互图自动生成功能。

[实验内容]1.用Rose绘制图书馆管理系统的时序图与协作图。

2.利用Rose的交互图自动生成功能,将已经设计好的时序图转换成协作图。

[实验要点及说明]一、时序图建模技术按时间顺序对控制流建模,要遵循如下策略。

①设置交互的语境。

②通过识别对象在交互中扮演的角色,设置交互的场景。

③为每个对象设置生命线。

④从引发某个消息的信息开始,在生命线之间画出从顶到底依次展开的消息,显示每个消息的特性(如参数)。

⑤如果需要可视化消息的嵌套或实际计算发生时的时间点,可以用激活修饰每个对象的生命期。

⑥如果需要说明时间或空间的约束,可以用时间标记修饰每个消息,并附上合适的时间和空间约束。

⑦如果需要更形式化的说明某控制流,可以为每个消息附上前置和后置条件。

实例1——图书馆管理系统的时序图1.使用Rational Rose绘制时序图的步骤。

①创建时序图。

在浏览器窗口中,在“Use Case View”的图标上单击鼠标右键,在弹出的菜单中选择New →Sequence Diagram。

此时,在“Use Case View”树形结构下多了一个名为“New Diagram”的图标,右键单击此图标,在弹出的菜单中选择Rename菜单项,可以更改新创建的时序图的名字。

双击时序图图标,出现时序图的编辑区和编辑工具栏。

②时序图工具栏按钮简介。

时序图工具栏中各个按钮的图标及其作用如图3-1所示。

③添加对象。

向时序图添加对象。

首先点击工具栏中的对象图标按钮,然后在编辑区要放置对象的位置单击鼠标左键。

图3-1 时序图工具栏各个按钮的图标及作用⏹设置对象属性。

可以双击相应的对象图标,弹出对象属性设置对话框。

也可以选中要改变属性的对象,单击右键,在弹出的菜单中选择“Open Specification...”,打开属性设置对话框。

⏹设置对象持续性。

顺序图、协作图实验报告

顺序图、协作图实验报告

UML建模课程实验三、UML顺序图、协作图模型的设计班级:信息0702 组别:指导老师:徐凯波姓名:王姗学号:2007030331205一、实验要求:掌握利用UML建模工具建立顺序图和协作图的方法。

二、实验内容:利用UML建模工具设计顺序图、协作图三、实验环境:Windows 2000 Professional以上环境、Rational Rose2003、Sybase Power Designer 10四、操作步骤:(一)顺序图1、添加课程管理顺序图2、学生选课管理顺序图(二)协作图五、遇到的问题和解决方法:我画了两张顺序图:一张是管理员添加课程的顺序图;另外一张是学生选择课程的顺序图。

管理员添加课程的顺序图是管理员向账户信息输入账号,账号输入正确,登陆界面登录系统,账号输入错误,系统报错,向系统提出添加请求,在课程管理界面添加课程信息,如果信息添加错误返回课程管理界面,将添加好的信息存入数据库。

学生选择课程的顺序图是学生先在账户信息输入账户,如果账号输入正确,登陆界面登录系统,如果账号输入错误,系统报错,学生向学生选课管理界面提出选课请求,进行选课,选课成功就将课程信息打印出来,选课失败返回学生选课管理界面。

在画顺序图的过程中,我是一边过程一边画对象,后来我知道画顺序图首先应该先画对象,对象都想好后,在想对象之间的关系,在我思考对象的时候,我还犯一个错误就是只想到前台的对象,而后台的对象往往忽略掉,比如说:帐户信息、数据库。

通过徐老师的提点我意识到了我的不足,改正了过来。

协作图相对顺序图就简单多了,当顺序图画好后按F5键,协作图就出来了。

六、实验心得和体会:通过画顺序图我知道,老师课上反复强调的重点是多么的重要,平时我们都不太注意,等到用到的时候,错误往往就出现在这些地方,老师强调的地方是老师在实践中总结的经验,传授给我们是为了让我们少走弯路,然而我们却不当回事,通过这次实验,我深深的体会到了这一点,以后在我的人生道路上,我会倍加注意!其次,在实验的过程中,同学之间的帮助也是必不可少的,例如,在安装RationalRose的时候,我安装了好几次,都没有成功,在同学的帮助下,最后我成功的安装了软件,没有影响我后面的进度。

uml实验-时序图与协作图

uml实验-时序图与协作图

实验四时序图与协作图[实验目的和要求]1、掌握时序图与协作图的概念及作用。

2、掌握UML中静态图形和动态图形的区别和联系。

3、掌握UML时序图与协作图的基本图形,了解它们各自的组成元素、特定作用和适用场合。

4、重点掌握时序图的画法以及其中元素所代表的意义。

[实验内容和步骤]1、UML中的时序图与协作图之间各有什么区别和联系?答:时序图:强调消息的时间顺序,强调交互的时间。

协作图:强调的是发送和接收消息的对象之间的组织结构联系:都是描述对象之间的交互。

2、在顺序图和协作图中,应如何表示“循环”,“判断”等结构?答:循环:一条连接两个角色的实现路径来表示。

判断:增加消息进行判断。

3、什么是消息?消息在交互中扮演什么角色?答:消息是对象之间某种形式的通信,在垂直生命线之间,用带有箭头的线段并附以消息表达式方式表示。

他可以激发某个操作、唤起信号或导致目标对象的创建和撤销。

4、交互图中有哪几种消息?它们之间具体有何分别?应如何表示?答:表示5、已知某一个用例实现的类图如下,画出一个能和该类图对应的时序图。

6、假设有一系统得协作图局部如图所示,print方法的功能是将传入的参数的值打印在屏幕上,fact方法是计算阶乘,如果test的初值为1,那么最终将打印出什么?(写出计算过程)1: print(test)答:消息执行三次:1、test=1+1=2;2、test=2+2!=4;3、test=4+4!=28;所以最后打印的是28.[分析与讨论]1、讨论并总结在建模过程中运用交互图的重要作用及意义答:作用:准确的描述各个对象之间的关系及各种消息。

意义:用于对系统中多个对象的相互作用的过程进行建模。

2、画出网上书店系统购书的时序图。

答:3、下图是购物网站的“编辑购物车”用例中的部分的类图基本事件流:用户在Shopping Cart页面上修改购物车中商品数量,然后单击Update按钮。

系统存储新的数量,然后计算并显示该商品的新价格。

顺序图和协作图的绘制 实验报告

顺序图和协作图的绘制 实验报告

武 夷 学 院实验报告数学与计算机系实验报告实验地点:瑞樟6#303 指导老师:吴薇实验时间:2012/9/25一、实验目的及要求2、给出相关类名,请大家按图22形式填写完整。

二、实验设备(环境)及要求windows xp操作系统三、实验内容与步骤1、打开rational rose2、绘制时序图,协作图四、实验结果与数据处理时序图协作图五、实验心得体会通过本次实验,我学会了用rational rose画时序图,协作图。

仅供个人用于学习、研究;不得用于商业用途。

For personal use only in study and research; not for commercial use.Nur für den persönlichen für Studien, Forschung, zu kommerziel len Zwecken verwendet werden.Pour l 'étude et la recherche uniquement à des fins personnelles; pas à des fins commerciales.толькодля людей, которые используются для обучения, исследований и не должны использоваться в коммерческих целях.For personal use only in study and research; not for commercial use以下无正文仅供个人用于学习、研究;不得用于商业用途。

For personal use only in study and research; not for commercial use.Nur für den persönlichen für Studien, Forschung, zu kommerziellen Zwecken verwendet werden.Pour l 'étude et la recherche uniquement à des fins personnelles; pas à des fins commerciales.толькодля людей, которые используются для обучения, исследований и не должны использоваться в коммерческих целях.以下无正文。

实验三顺序图参考答案

实验三顺序图参考答案

顺序图、协作图设计实验三【实验目的】1.理解顺序图和协作图的概念及作用;掌握顺序图与协作图的基本图形,了解它们各自的组2.成元素、特定作用和适用场合;3.重点掌握顺序图的画法及其中元素所代表的意义。

【实验性质】设计性实验。

【实验要求】1.学习根据指定的用例描述绘制顺序图和协作图的方法;2.学习使用绘制顺序图和协作图;掌握顺序图和协作图的相互转换方法。

3 .【实验内容】以网上选课系统中的 (选课)用例为例,设计和实现顺序图、协作图。

、【实验步骤】1.假设学生已经成功登录系统,分析选课的事件流。

a)学生进入选课主界面b)学生点击选课c)系统显示所有课程信息d)学生选择课程e)系统验证课程是否可选A1:课程不可选f ) 系统提示课程选择成功,提示学生交费g) 用例结束。

A1:课程不可选a)系统提示课程不可选以及原因b)学生重新选课c)重新验证直至成功d)转选课事件流第 f )步。

顺序图描述的是对象与对象的交互,创建顺序图的步骤如下: 1 ) 寻找对象。

2)寻找角色。

3)将消息加进图中。

首先,查找 (选课)用例的对象,从事件流冲发现涉及一下对象:1 ) 界面。

2)课程于业务层的操作,也应该有对象进行处理。

对 ) 3.4)事件流中涉及的角色有:学生、数据库。

2.分析对象、角色之间交互的消息。

本用例主要有以下交互:1 )学生通过界面发送选课命令。

2)界面向控制对象请求课程信息。

3)控制对象向数据库发送查询数据消息4)控制对象暂存数据库的查询结果5)界面对象从控制对象中取得所有的课程信息6)在界面上显示所有的课程信息7)界面对象发送命令要求控制对象删除课程信息8)学生选择课程9)界面对象要求学生输入学号10)界面对象向控制对象发送信息,查询该生是否可以选择选定的课程11)控制对象从数据库查询关联信息。

12)控制对象判断是否可以选课13)如果可以选课,则向数据库中添加关联信息。

14)向界面对象返回信息。

3.根据以上分析,绘制出用例的顺序图,并转换成对应的协作图。

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

实验三时序图和协作图[实验目的]1.掌握时序图、协作图的绘制方法。

2.验证Rose的交互图自动生成功能。

[实验内容]1.用Rose绘制图书馆管理系统的时序图与协作图。

2.利用Rose的交互图自动生成功能,将已经设计好的时序图转换成协作图。

[实验要点及说明]一、时序图建模技术按时间顺序对控制流建模,要遵循如下策略。

①设置交互的语境。

②通过识别对象在交互中扮演的角色,设置交互的场景。

③为每个对象设置生命线。

④从引发某个消息的信息开始,在生命线之间画出从顶到底依次展开的消息,显示每个消息的特性(如参数)。

⑤如果需要可视化消息的嵌套或实际计算发生时的时间点,可以用激活修饰每个对象的生命期。

⑥如果需要说明时间或空间的约束,可以用时间标记修饰每个消息,并附上合适的时间和空间约束。

⑦如果需要更形式化的说明某控制流,可以为每个消息附上前置和后置条件。

实例1——图书馆管理系统的时序图1.使用Rational Rose绘制时序图的步骤。

①创建时序图。

在浏览器窗口中,在“Use Case View”的图标上单击鼠标右键,在弹出的菜单中选择New →Sequence Diagram。

此时,在“Use Case View”树形结构下多了一个名为“New Diagram”的图标,右键单击此图标,在弹出的菜单中选择Rename菜单项,可以更改新创建的时序图的名字。

双击时序图图标,出现时序图的编辑区和编辑工具栏。

②时序图工具栏按钮简介。

时序图工具栏中各个按钮的图标及其作用如图3-1所示。

③添加对象。

向时序图添加对象。

首先点击工具栏中的对象图标按钮,然后在编辑区要放置对象的位置单击鼠标左键。

图3-1 时序图工具栏各个按钮的图标及作用⏹设置对象属性。

可以双击相应的对象图标,弹出对象属性设置对话框。

也可以选中要改变属性的对象,单击右键,在弹出的菜单中选择“Open Specification...”,打开属性设置对话框。

⏹设置对象持续性。

可以设置每个对象的持续性,Rose中提供了3个选项。

“持续(Persistent)”对象保存到数据库或其他形式的永久存储体中,即使程序终止,对象依然存在。

“静态(Static)”对象保存在内存中直到程序终止。

“临时(Transient)”对象只是在短时间内保存在内存中。

要设置对象的持续性,右键单击要设置持续性的对象,从弹出菜单中选择“Open Specification...”,打开属性设置对话框,即可进行设置。

④添加消息消息是对象间的通信,一个对象可以请求另一个对象做某件事。

在时序图中,消息用两个对象生命线之间的箭头表示。

⏹增加对象间的消息。

首先点击工具栏中的图标按钮→,然后将鼠标从发送消息的对象或角色的生命线拖动到接收消息的对象或角色的生命线。

消息绘制出来以后,还要输入消息文本。

双击表示消息的箭头,在弹出的对话框的Name 字段里输入要添加的文本。

⏹显示或取消消息编号。

消息编号在时序图中是可选的,选择菜单栏的Tools→Options 菜单项,在出现的对话框中选择Diagram选项卡,将“Sequence numbering”复选框勾选,就可以显示消息编号;如果不勾选,消息编号不会显示在时序图中。

⏹显示或取消激活显示。

选择菜单栏的Tools→Options菜单项,在出现的对话框中选择Diagram选项卡,将“Focus of control”复选框勾选,就可以显示激活;如果不勾选,激活不会显示在时序图中。

2.图书馆管理系统的时序图。

在图书馆管理系统中,每个用例都可以建立一个时序图,将用例执行中各个参与的对象之间的消息传递过程表现出来。

由于图书馆管理系统中用例很多,此处只介绍几个重要的时序图。

①系统管理员添加书籍的时序图(如图3-2)。

图3-2 系统管理员添加书籍的时序图[时序图说明]⏹add Item():添加书籍函数。

⏹find(String):根据书籍查找相应书目的函数。

⏹create(Integer, Title):修改书籍数目的函数。

②图书管理员处理借书的时序图(不包括预留书籍的情况)。

图3-3 图书管理员处理借书的时序图[时序图说明]⏹find(String):查找书目的函数。

⏹find_item():查找所要书籍的函数。

⏹find_on_title(Title):根据书目名从数据库中找到书目信息的函数。

⏹identify_borrower():验证借阅者身份的函数。

⏹find(Sting):根据借阅者的登陆账号找到借阅者信息的函数。

⏹create(Borrower, item):修改借阅信息的函数。

③系统管理员删除书目的时序图(如图3-4)。

[时序图说明]⏹find(String):书目类的查找函数。

⏹find_on_title(Title):查找此书目下书籍信息的函数。

⏹destroy:删除书籍信息的函数。

⏹destroy:删除书目信息的函数。

图3-4 系统管理员删除书目的时序图④借阅者预留书籍的时序图(如图3-5)。

图3-5借阅者预留书籍的时序图[时序图说明]⏹Login:登陆系统的函数。

⏹find(string):查找相应书目的函数。

⏹reserve():预订书籍的函数。

二、协作图建模技术利用协作图对控制流建模,要遵循如下策略。

①设置交互的语境。

②通过识别对象在交互中扮演的角色,设置交互的场景。

③对每个对象设置初始特性。

④描述对象之间可能有信息沿着它传递的链。

⑤从引起交互的消息开始,适当地设置其顺序号,然后将随后的每个消息附到适当的链上。

⑥如果需要说明时间或空间约束,可以用时间标记修饰这个消息,并附上合适的时间和空间约束。

⑦如果需要更形式化地说明这个控制流,可以为每个消息附上前置和后置条件。

实例——图书馆管理系统的协作图1.使用Rational Rose绘制协作图的步骤。

①创建协作图。

在浏览器窗口中,在“Use Case View”的图标上单击鼠标右键,在弹出的菜单中选择New →Collaboration Diagram。

此时,在“Use Case View”树形结构下多了一个名为“New Diagram”的图标,右键单击此图标,在弹出的菜单中选择Rename菜单项,可以更改新创建的协作图的名字。

双击协作图图标,出现协作图的编辑区和编辑工具栏。

②协作图工具栏按钮简介。

协作图工具栏中各个按钮的图标及其作用如图3-6所示。

③添加对象。

首先点击工具栏中的图标按钮,然后在绘制区要放置对象的位置单击鼠标左键。

协作图中对象的属性及持续性的设置方法见时序图。

④添加消息⏹添加对象间的消息。

在将消息添加到两个对象之间前,首先要建立对象间的通信路径。

单击工具栏中的图标按钮,在两个目标对象之间拖动一条直线,就在对象间增加了通信路径。

有了通信路径,就可以在路径上增加对象之间的消息了。

增加对象间消息的步骤如下:选择工具栏中的图标按钮或,单击两个对象之间的通信路径,就会画出消息箭头。

消息绘制出来以后,还要输入消息文本。

双击表示消息的箭头,在弹出的对话框的Name 字段里输入要添加的文本。

⏹添加反身消息。

选择工具栏中的图标按钮,然后单击收发消息的对象,为此对象增加一个到它自身的通信路径。

反身通信路径在对象上方,显示为半圆形。

图3-6 协作图工具栏各个按钮的图标及作用选择工具栏中的图标按钮,然后在对象的反身通信路径上单击,Rose就会为对象添加消息。

新增加的消息的属性值可以按照前面介绍的方法修改。

⑤添加数据流。

数据流描述一个对象向另一个对象发送消息时返回的消息。

一般来说,对协作图的每个消息都加上数据流是没有必要的,这样做只会使图中堆满价值不大的信息。

只要在一些重要消息上附加数据流即可。

数据流的添加步骤如下:选择工具栏的图标按钮或,单击要返回数据的消息,Rose 就会在协作图中添加数据流箭头。

2.图书馆管理系统的协作图。

同时序图类似,在图书馆管理系统中,每个用例也可以建立一个协作图。

此处只介绍几个重要的协作图。

①系统管理员添加书籍的协作图(如图3-7)。

[协作图说明]⏹add Item():添加书籍函数。

⏹find(String):根据书籍名查找相应书目的函数。

⏹update():修改某类书目下书籍数量的函数。

图3-7 系统管理员添加书籍的协作图②图书管理员处理借书的协作图(如图3-8)。

图3-8 图书管理员处理借书的协作图[协作图说明]⏹identify_borrower():验证借阅者身份的函数。

⏹find_reservation():查找预订信息的函数。

⏹find(Borrow, Title):根据借阅者和借阅的书籍名找到相应预订信息的函数。

⏹borrow():处理借书的函数。

⏹update():更新某一书目下书籍数量的函数。

⏹check_if_max():检查借阅凭证所借书籍数目是否已经超过最大限额的函数。

③借阅者预订书籍的协作图(如图3-9)。

图3-9 借阅者预订书籍的协作图[协作图说明]⏹identify_borrower():验证借阅者身份的函数。

⏹find(String):根据书籍名称查找书目信息的函数。

⏹reserve():预订某一书目下的书籍的函数。

⏹create(Title, Borrower):修改预订信息的函数。

相关文档
最新文档