文档库 最新最全的文档下载
当前位置:文档库 › 顺序图和协作图的异同

顺序图和协作图的异同

顺序图和协作图的异同

顺序图和协作图异同

1.顺序图和协作图都属于交互图,都用于描述系统中对象之间的动态关系。两者可以相互转换,但两者强调的重点不同。顺序图强调的是消息的时间顺序,而协作图强调的是参与交互的对象的组织。

2.两个图中所使用的建模元素,两者也各有特点。顺序图中有对象生命线和控制焦点,协作图中没有;协作图中有路径,并且协作图中的消息必须要有消息顺序号,但顺序图中没有路径,也可以没有消息顺序号。

3.和协作图相比,顺序图在表示算法、对象的生命期、具有多线程特征的对象等方面相对来说更容易一些,但在表示并发控制流方面会困难一些。

顺序图和协作图在语义上是等价的,两者之间可以相互转换,但两者并不能完全相互代替。顺序图可以表示某些协作图无法表示的信息,同样,协作图也可

以表示某些顺序图无法表示的信息。4.例如,在顺序图中不能表示对象与对象之间的链,对于多对象和主动对象也不能直接显示出来,在协作图中则可以表示;协作图不能表示生命线的分叉,在顺序图中则可以表示。

实验五--1 顺序图和协作图

实验五—1 顺序图、协作图 一、实验目的 1.理解顺序图的基本概念。 2.理解协作图的基本概念。 3.掌握在Rational Rose 中绘制顺序图、协作图的操作方法。 二、实验器材 1.计算机一台。 2.Rational Rose 工具软件。 三、实验内容 通过对课堂学习和前面的实验,使我们完成了图书馆的管理系统的需求分析,并从业务对象中抽象出了类。现在需要对前面所给出的用例进行实现,而用例的实现主要由顺序图来描述系统的动态特性,协作图与顺序图是同构的,Rose 可自动转换。现指派你运用课堂所学的相关知识,完成如下任务: 1.对图书管理功能中的借书用例、还书用例进行动态建模。 四、实验步骤 4.1 分析阶段的动态建模 1.分析:在分析阶段,绘制的顺序图中,所有消息可以使用便于理解的自然语言来描述,并且可以仅在实体类中识别对象职责,而不涉及边界类和控制类。根据课堂讲授,参见教材P213 可完成借书用例和还书用例分析阶段的动态建模。 2.绘图步骤: (1)鼠标右击导航窗口“Logicl View”节点,选择“New——Package”,建立1 个子包:“Sequence Di ag ra m”(用于存放顺序图、协作图),完成后如图 3.1 所示。 (2)如图 3.2 所示,鼠标右击“Sequence Diagram”子包,选择快捷菜单项“New——Sequence Di ag ram”,创建一张新的顺序图,取名为“借出图书”(注意:为了好对应,顺序图名称最好与相应的用例名称相同)。鼠标双击新建的顺序图,在右边绘图窗口中将其打开,如图 3.3 所示。 (3)设置支持嵌套消息的环境:选择主菜单项“Tools——O ptions”,打开Rose 环境设置的对话框,点击“D i a g r a m”选项卡,在如图3.4所示界面中,将“D i s p l a y”下的“Hierarchical Message”选中,点击“确定”即可。

第4章 顺序图和协作图

第4章顺序图和协作图 4.1 交互图概述 交互图(interaction diagram)是用来描述对象之间以及对象与参与者(actor)之间的动态协作关系以及协作过程中行为次序的图形文档。它通常用来描述一个用例的行为,显示该用例图中所涉及的对象和这些对象之间的消息传递情况。 交互图包括顺序图(sequence diagram)和协作图(collaboration diagram)两种形式。顺序图着重描述对象按照时间顺序的消息交互,协作图着重描述系统成分如何协同工作。顺序图和协作图从不同的角度表达了系统中的交互和系统的行为,它们之间可以相互转化。一个用例需要多个顺序图或协作图,除非特别简单的用例。 交互图可以帮助分析人员对照检查每个用例中所描述的用户需求,如这些需求是否已经落实到能够完成这些功能的类中去实现,提醒分析人员去补充遗漏的类或方法。交互图和类图可以相互补充,类图对类的描述比较充分,但对象之间的交互情况的表达不够详细;而交互图不考虑系统中的所有类及对象,但可以表示系统中某几个对象之间的交互。 需要说明的是,交互图描述的是对象之间的消息发送关系,而不是类之间的关系。在交互图中一般不会包括系统中所有类的对象,但同一个类可以有多个对象出现在交互图中。 4.2 顺序图 顺序图也称时序图。Rumbaugh对顺序图的定义是:顺序图是现实对象之间交互的图,这些对象是按时间顺序排列的[RJB99]。特别地,顺序图中显示的是参与交互的对象,及对象之间消息交互的顺序。 如图4.1所示是一个简单的顺序图例子。 图4.1 顺序图 顺序图是一个二维图形。在顺序图中水平方向为对象维,沿水平方向排列的是参与交互的对象。其中对象间的排列顺序并不重要,但一般把表是参与者的对象放在图的两侧,主要

协作图+顺序图

学生宿舍管理系统——协作图 协作图又名“通信图”。即Communication Diagram,而“协作”作为一个结构事物用于表达静态结构和动态行为的概念组合,表达不同事物相互协作完成一个复杂功能。协作图是一种交互图,强调的是发送和接收消息的对象之间的组织结构。一个协作图显示了一系列的对象和在这些对象之间的联系以及对象间发送和接收的消息。对象通常是命名或匿名的类的实例,也可以代表其他事物的实例,例如协作、组件和节点。使用协作图来说明系统的动态情况。协作图使描述复杂的程序逻辑或多个平行事务变得容易。 协作图显示某组对象如何为了由一个用例描述的一个系统事件而与另一组对象进行协作的交互图。使用协作图可以显示对象角色之间的关系,如为实现某个操作或达到某种结果而在对象间交换的一组消息。如果需要强调时间和序列,最好选择序列图;如果需要强调上下文相关,最好选择协作图。 画图步骤: (1)在双击打开软件start UML选择empty project,出现如图1.1所示。 (2)新建model1,然后新建一个协作图。 (3)在图中的工具栏选取协作图图 Object图标,在右边的图中添加一个Object,并输入名称。

(4)根据题目需求,在左边的工具栏中,选取其他协作图所需图标,在右边的图中画出。添加开始和结束标志,然后用横线把它们连接起来。即画出一个完整的协作图。 宿舍管理员 学生基本信息表宿舍分配界面床位 宿舍住宿情况表 打开修改住宿信息查询空床位 显示空床位基本信息 确认学生信息学生 显示学生具体信息 输入学号查询学生信息 图1 系统协作图

学生宿舍管理系统——顺序图 顺序图是将交互关系表示为一个二维图。纵向是时间轴,时间沿竖线向下延伸。横向轴代表了在协作中各独立对象的类元角色。类元角色用生命线表示。当对象存在时,角色用一 条虚线表示,当对象的过程处于激活状态时,生命线是一个双道线。 UML顺序图一般用于:确认和丰富一个使用情境的逻辑。表示用例的实现,系统的动态分析. 画图步骤: (1)在双击打开软件start UML选择empty project,出现如图1.1所示。 (2)新建model1,然后新建一个通信图。 (3)在图中的工具栏选取协作图图Lifeline图标,在右边的图中添加一个Lifeline,并输入名称。 (4)根据题目需求,在左边的工具栏中,选取其他通信图所需图标,在右边的图中画出。添加开始和结束标志,然后用横线把它们连接起来。即画出一个完整的通信图。

序列图和协作图的建模

实验五序列图和协作图的建模 构件图和部署图的建模 班级:11软件1班学号:20110311133 姓名:王金亮一、实验目的 学会序列图和协作图的绘制 理解序列图中消息、生命线、对象、激活要素 理解协作图中对象之间的组织关系 学会部署图和构件图的绘制 掌握使用Rational Rose绘制序列图、协作图、部署图和构件图的方法 二、实验基础操作 1、要求学生能仿照教科书上的操作步骤,完成下面序列图的绘制: ●序列图的绘制 ●对象的创建 ●消息的绘制 ●消息的设置 2、要求学生能仿照教科书上的操作步骤,完成下面协作图的绘制: ●对象的创建 ●链和消息的绘制 ●序列图和协作图的转换 3、要求学生能仿照教科书上的操作步骤,完成下面构件图的绘制: ●构件的绘制 ●构件间关系的绘制 4、要求学生能仿照教科书上的操作步骤,完成下面部署图的绘制: ●节点的绘制 ●节点的设置 ●连接的绘制 三、实验设计 1、要求学生能仿照教科书上的操作步骤,完成下面序列图绘制:

● 需求分析 ● 确定序列对象 2、要求学生能仿照教科书上的操作步骤,完成下面协作图绘制: ● 协作图元素的确认 ● 确定元素之间的关系 3、根据教科书上的237-238页的上机题,完成序列图和协作图建模 4、要求学生能仿照教科书上的操作步骤,完成下面构件图绘制: 赵翔 : 会员 : Book : ShoppingCart : ShoppingCartPage 图1 创建序列图对象 赵翔 : 会员 : Book : ShoppingCart : ShoppingCartPage 修改购物车 修改书籍数量 获得购物车书籍信息 更新数据 返回执行结果 删除购物车中的书籍 执行删除 更新数据 返回执行结果 去结账 图2 会员编辑购物车序列图

UML实践----用例图、顺序图、状态图、类图、包图、协作图

UML实践----用例图、顺序图、状态图、类图、包图、协作图 2009-01-20 作者:Randy Miller 来源:网络 面向对象的问题的处理的关键是建模问题。建模可以把在复杂世界的许多重要的细节给抽象出。许多建模工具封装了UML(也就是Unified Modeling Language?),这篇课程的目的是展示出UML的精彩之处。 UML中有九种建模的图标,即: ?用例图 ?类图 ?对象图 ?顺序图 ?协作图 ?状态图 ?活动图 ?组件图 ?配置图 本课程中的某些部分包含了这些图的细节信息的页面链接。而且每个部分都有一个小问题,测试一下你对这个部分的理解。 为什么UML很重要? 为了回答这个问题,我们看看建筑行业。设计师设计出房子。施工人员使用这个设计来建造房子。建筑越复杂,设计师和施工人员之间的交流就越重要。蓝图就成为了这个行业中的设计师和施工人员的必修课。 写软件就好像建造建筑物一样。系统越复杂,参与编写与配置软件的人员之间的交流也就越重要。在过去十年里UML就成为分析师,设计师和程序员之间的“建筑蓝图”。现在它已经成为了软件行业的一部分了。UML提供了分析师,设计师和程序员之间在软件设计时的通用语言。 UML被应用到面向对象的问题的解决上。想要学习UML必须熟悉面向对象解决问题的根本原则――都是从模型的建造开始的。一个模型model就是根本问题的抽象。域domain就是问题所处的真实世界。 模型是由对象objects组成的,它们之间通过相互发送消息messages来相互作用的。记住把一个对象想象成“活着的”。对象有他们知道的事(属性attributes)和他们可以做的事(行为或操作behaviors or operations)。对象的属性的值决定了它的状态state。 类Classes是对象的“蓝图”。一个类在一个单独的实体中封装了属性(数据)和行为(方法或函数)。对象是类的实例instances。 用例图 用例图Use case diagrams描述了作为一个外部的观察者的视角对系统的印象。强调这个系统是什么而不是这个系统怎么工作。 用例图与情节紧紧相关的。情节scenario是指当某个人与系统进行互动时发生的情况。下面是一个医院门诊部的情节。 “一个病人打电话给门诊部预约一年一次的身体检查。接待员找出在预约记录本上找出最近的没有预约过的时间,并记上那个时间的预约记录。” 用例Use case是为了完成一个工作或者达到一个目的的一系列情节的总和。角色actor是发动与这个工作有关的事件的人或者事情。角色简单的扮演着人或者对象的作用。下面的图是一个门诊部Make Appointment用例。角色是病人。角色与用例的联系是通讯联系communication association(或简称通讯communication) 角色是人状的图标,用例是一个椭圆,通讯是连接角色和用例的线。 一个用例图是角色,用例,和它们之间的联系的集合。我们已经把Make Appointment作为一个含有四个角色和四个用例的图的一部分。注意一个单独的用例可以有多个角色。

UML各种图例齐全—用例图、类图、状态图、包图、协作图、顺序图详细说明画法和功能

UML各种图例 面向对象的问题的处理的关键是建模问题.建模可以把在复杂世界的许多重要的细节给抽象出.许多建模工具封装了UML(也就是Unified Modeling Language?),这篇课程的目的是展示出UML的精彩之处. UML中有九种建模的图标,即: ?用例图 ?类图 ?对象图 ?顺序图 ?协作图 ?状态图 ?活动图 ?组件图 ?配置图 本课程中的某些部分包含了这些图的细节信息的页面链接.而且每个部分都有一个小问题,测试一下你对这个部分的理解. 为什么UML很重要? 为了回答这个问题,我们看看建筑行业.设计师设计出房子.施工人员使用这个设计来建造房子.建筑越复杂,设计师和施工人员之间的交流就越重要.蓝图就成为

了这个行业中的设计师和施工人员的必修课. 写软件就好像建造建筑物一样.系统越复杂,参与编写与配置软件的人员之间的交流也就越重要.在过去十年里UML就成为分析师,设计师和程序员之间的“建筑蓝图”.现在它已经成为了软件行业的一部分了.UML提供了分析师,设计师和程序员之间在软件设计时的通用语言. UML被应用到面向对象的问题的解决上.想要学习UML必须熟悉面向对象解决问题的根本原则――都是从模型的建造开始的.一个模型model就是根本问题的抽象.域domain就是问题所处的真实世界. 模型是由对象objects组成的,它们之间通过相互发送消息messages来相互作用的.记住把一个对象想象成“活着的”.对象有他们知道的事(属性attributes)和他们可以做的事(行为或操作behaviors or operations).对象的属性的值决定了它的状态state. 类Classes是对象的“蓝图”.一个类在一个单独的实体中封装了属性(数据)和行为(方法或函数).对象是类的实例instances. 用例图 用例图Use case diagrams描述了作为一个外部的观察者的视角对系统的印象.强调这个系统是什么而不是这个系统怎么工作. 用例图与情节紧紧相关的.情节scenario是指当某个人与系统进行互动时发生的情况.下面是一个医院门诊部的情节. “一个病人打电话给门诊部预约一年一次的身体检查.接待员找出在预约记录本上找出最近的没有预约过的时间,并记上那个时间的预约记录.” 用例Use case是为了完成一个工作或者达到一个目的的一系列情节的总和.角色actor是发动与这个工作有关的事件的人或者事情.角色简单的扮演着人或者对象的作用.下面的图是一个门诊部Make Appointment用例.角色是病人.角色与用例的联系是通讯联系communication association(或简称通讯communication)

相关文档
相关文档 最新文档