UML 之 序列图和协作图
序列图(Sequence Diagram)
亦称为时序图或循序图,是一种UML行为图。它通过描写叙述对象之间发送消息的时间顺序显示多个对象之间的动态协作。它能够表示用例的行为顺序,当运行一个用例行为时,时序图中的每条消息相应了一个类操作或状态机中引起转换的触发事件。
序列图展示对象之间的交互,这些交互是指在场景或用例的时间流中发生的。序列图属于动态建模。
序列图的重点在消息序列上。也就是说,描写叙述消息是怎样在对象间发送和接收的。
表示了对象之间传送消息的时间顺序。
序列图中的事物
參与者:与系统、子系统或类发生交互作用的外部用户。
对象:序列图的横轴上时与序列有关的对象。对象的表示方法是:矩形框中写有对象或类名,且名字以下有下划线。
生命线:坐标轴纵向的虚线表示对象在序列中的运行情况(即发送和接收的消息,对象的活动)这条虚线称为对象的“生命线”。
消息符号:消息用从一个对象的生命线到还有一个对象生命线的箭头表示。
箭头以时间顺序在图中从上到下排列。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcnk1MTM3MDU2MTg=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
以下是一个简单的序列图样例
协作图(Collaboration Diagram )
是一种交互图(interaction diagram),强调的是发送和接收消息的对象之间的组织结构,使用协作图来说明系统的动态情况。
一个协作图显示了一系列的对象和在这些对象之间的联系以及对象间发送和接收的消息。
协作图中的事物
參与者:发出主动操作的对象。负责发送出事消息,启动一个操作。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcnk1MTM3MDU2MTg=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
对象:对象是类的实例,负责发送和接收消息。与序列图中的符号同样,冒号前为对象名,冒号后为类名。
消息流:箭头指示消息的流向,从消息的发出者指向接受者。
标签对消息作说明,当中。顺序号指出消息的发生顺序,而且指明了消息的嵌套关系,冒号后面是消息的名字。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcnk1MTM3MDU2MTg=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
协作图与序列图的差别和联系
协作图和序列图都表示出了对象间的交互作用,可是它们側重点不同。
序列图清楚地表示了对象间的关系(强调空间),但时间顺序必须从顺序号获得。
协作图和序列图能够相互转化
乘坐电梯的协作图
參与者须要乘坐电梯。他从系统外部按下button。让电梯到达他想去的楼层。此时,电梯系统的操作被启动,电梯控制对象以循环的方式检查全部的电梯,从中选择一个工作队列长度最短的。
然后,它创建一个作业命令,并将该命令放入相应电梯的工作队列,接着激活队列。电梯对象并发运行,从它的队列中选择一个作业并运行。电梯是一个活动对象,它与它的控制线程并发运行。
以下是我自己画的机房收费系统中上下机的序列图,仅供參考。有不足之处,希望大家给我指出来
UML 之 序列图和协作图的更多相关文章
- UML: 序列图
摘自http://www.umlonline.org/school/thread-37-1-1.html 大家都进过餐馆吃饭吧?你是如何和餐厅服务员“眉来眼去”的呢?回忆一下从你进餐馆开始到你离开餐馆 ...
- UML - EA 序列图
序列图中的 Fragment 的类型(Loop.Opt.Par和Alt) (还有: ) 序列图主要用于展示对象之间交互的顺序. 序列图将交互关系表示为一个二维图.纵向是时间轴,时间沿竖线向下延伸.横向 ...
- UML之序列图
一 序列图概述: 序列图主要用于展示对象之间交互的顺序. 序列图将交互关系表示为一个二维图.纵向是时间轴,时间沿竖线向下延伸. 横向轴代表了在协作中各独立对象的类元角色.类元角色用生命线表示.当对象存 ...
- UML动态模型图简单介绍
UML动态模型图描述了系统动态行为的各个方面,包括用例图.序列图.协作图.活动图和状态图.下面就每种图做一个简单介绍: 用例图 用例图描述系统外部的执行者与系统提供的用例之间的某种联系.所谓用例是指对 ...
- [UML]转:浅谈UML的概念和模型之UML九种图
转自:http://blog.csdn.net/jiuqiyuliang/article/details/8552956 目录: UML的视图 UML的九种图 UML中类间的关系 上文我们介绍了,UM ...
- 讨论UML概念和模型UML九种图。
文件夹: UML的视图 UML的九种图 UML中类间的关系 上文我们介绍了,UML的视图.在每一种视图中都包括一个或多种图. 本文我们重点解说UML每种图的细节问题: 1.用例图(use case d ...
- UML九种图汇总
UML视频读,该文件开始起草.我不知道如何下手啊!我想先UML九图和总结的关系,然后开始用它的文件. 首先在地图上. UML的九种图各自是:用例图.类图.对象图.状态图.活动图.协作图.序列图.组件图 ...
- 【转】浅谈UML的概念和模型之UML九种图
原文地址:浅谈UML的概念和模型之UML九种图 目录: UML的视图 UML的九种图 UML中类间的关系 上文我们介绍了,UML的视图,在每一种视图中都包含一个或多种图.本文我们重点讲解UML每种图的 ...
- [转]浅谈UML的概念和模型之UML九种图
目录: UML的视图 UML的九种图 UML中类间的关系 上文我们介绍了,UML的视图,在每一种视图中都包含一个或多种图.本文我们重点讲解UML每种图的细节问题: 1.用例图(use case dia ...
随机推荐
- hdu 2147 SG函数打表(手写也可以) 找规律
kiki's game Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 40000/1000 K (Java/Others) Total ...
- 转]解析C语言中的sizeof
解析C语言中的sizeof 一.sizeof的概念 sizeof是C语言的一种单目操作符,如C语言的其他操作符++.--等.它并不是函数.sizeof操作符以字节形式给出 了其操作数的存储大小.操作数 ...
- MySQL 更新走全表和索引的评估记录数
#!/usr/bin/perl use DBI; $db_name='scan'; $ip='127.0.0.1'; $user="root"; $passwd="123 ...
- 【IOS实例小计】图像移动--可扩展为动态实现图标变化
预备知识: 1.页面切换: 从一个ViewController切换到另一个ViewController有下面几种方法: (1)self.view addSubview:(加载的新页面); 相 ...
- 此三层非彼三层——MVC&UBD
学习了三年编程了,到如今这个阶段,開始接触架构,開始认识架构,怎样设计一个程序的结构,学名称"架构模式"(architectural pattern).个人经历告诉我这在编程中是一 ...
- 蜘蛛侠天堂,打死我mac键盘
今天是周末,在我租住的房间,以一个离奇事件. 一个蜘蛛侠天堂,趴在我的假期车窗玻璃,爬下沿着玻璃.特别糟糕.可以飞檐走壁. 可惜体力不支,摔死在我的mac键盘上. 有图有视频. 视频链接:http:/ ...
- Android中的跨进程通信方法实例及特点分析(二):ContentProvider
1.ContentProvider简单介绍 在Android中有些数据(如通讯录.音频.视频文件等)是要供非常多应用程序使用的.为了更好地对外提供数据.Android系统给我们提供了Content P ...
- Visual Studio 2008中FormatX源代码格式化插件
原地址:http://www.cr173.com/html/15492_1.html 我总是对组里的兄弟代码规范性近乎完美的要求,举个简单的例子: 1. 每个方法必须有注释,方法参数详细说明 2. ...
- docs/pcs/rest/file data apis list - 百度开发者中心
docs/pcs/rest/file data apis list - 百度开发者中心 更新通知: 2013.6.20 上传.下载新域名正式上线使用,相关接口“上传单个文件”.“分片上传-文件分片上传 ...
- Cocos3d初探
预计要相当长的一段时间内研究游戏引擎,在这里做一下过程中的备忘. 上一周项目须要,研究了一下cocos2d-x,本周接着来做cocos3d-x的代码研究 首先是搭建cocos3d-x的开发环境: 依据 ...