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 5045(Contest-费用流)[template:费用流]
Contest Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Total Submi ...
- qsettings 保存自定义结构体(QVariant与自定义结构体相互转化)
参考博文:QVariant与自定义数据类型转换的方法. 这里摘取其关键内容: 1.将自定义数据类型使用Q_DECLARE_METATYPE宏进行声明,便于编译器识别. 2.在插入对象的时候,声明QVa ...
- A Very Easy Triangle Counting Game
题意:在圆上取n个点,相邻两个点之间连线,(注意,n和1相邻),然后所有点对(i ,i+2)相连,问能形成的不同的三角形有多少个? 思路:找规律 n=3,cnt=1; n=4,cnt=8; n=5 c ...
- Practical Common Lisp
Practical Common Lisp Practical Common Lisp
- ME21N增强提示警告消息
在ME21N增强中,可以使用message的方法提示错误的消息,但警告消息使用message则提示不了,需要使用系统宏mmpur_message 提示. data:begin of lw_equp, ...
- wake_lock_timeout的用法
今天实用到用ec43_GPIO的中断来唤醒系统,将系统从深度休眠中唤醒并保证系统wakup 一段时间用过了.方法例如以下.有相同使用的童鞋能够參考一下. 1. 定义一人局部静态变量ec43_wlo ...
- poj1639 Picnic Planning 最小度数限制生成树
题意:若干个人开车要去park聚会,可是park能停的车是有限的,为k.所以这些人要通过先开车到其它人家中,停车,然后拼车去聚会.另外,车的容量是无限的,他们家停车位也是无限的. 求开车总行程最短. ...
- TestComplete实测Flex
1.TestComplete提供了已经编译好的Flex界面,可以直接使用: http://support.smartbear.com/samples/testcomplete9/flex/orders ...
- Spring整合的quartz任务调度的实现方式
一.在web.xml中将配置文件的位置指定好. Web.xml的配置如下: <?xmlversion="1.0"encoding="UTF-8"?> ...
- 端口映射工具 redir/socat/xinetd - 运维技术 - 开源中国社区
端口映射工具 redir/socat/xinetd - 运维技术 - 开源中国社区 端口映射工具 redir/socat/xinetd 10人收藏此文章, 我要收藏 发表于3天前(2013-08 ...