序列图(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 之 序列图和协作图的更多相关文章

  1. UML: 序列图

    摘自http://www.umlonline.org/school/thread-37-1-1.html 大家都进过餐馆吃饭吧?你是如何和餐厅服务员“眉来眼去”的呢?回忆一下从你进餐馆开始到你离开餐馆 ...

  2. UML - EA 序列图

    序列图中的 Fragment 的类型(Loop.Opt.Par和Alt) (还有: ) 序列图主要用于展示对象之间交互的顺序. 序列图将交互关系表示为一个二维图.纵向是时间轴,时间沿竖线向下延伸.横向 ...

  3. UML之序列图

    一 序列图概述: 序列图主要用于展示对象之间交互的顺序. 序列图将交互关系表示为一个二维图.纵向是时间轴,时间沿竖线向下延伸. 横向轴代表了在协作中各独立对象的类元角色.类元角色用生命线表示.当对象存 ...

  4. UML动态模型图简单介绍

    UML动态模型图描述了系统动态行为的各个方面,包括用例图.序列图.协作图.活动图和状态图.下面就每种图做一个简单介绍: 用例图 用例图描述系统外部的执行者与系统提供的用例之间的某种联系.所谓用例是指对 ...

  5. [UML]转:浅谈UML的概念和模型之UML九种图

    转自:http://blog.csdn.net/jiuqiyuliang/article/details/8552956 目录: UML的视图 UML的九种图 UML中类间的关系 上文我们介绍了,UM ...

  6. 讨论UML概念和模型UML九种图。

    文件夹: UML的视图 UML的九种图 UML中类间的关系 上文我们介绍了,UML的视图.在每一种视图中都包括一个或多种图. 本文我们重点解说UML每种图的细节问题: 1.用例图(use case d ...

  7. UML九种图汇总

    UML视频读,该文件开始起草.我不知道如何下手啊!我想先UML九图和总结的关系,然后开始用它的文件. 首先在地图上. UML的九种图各自是:用例图.类图.对象图.状态图.活动图.协作图.序列图.组件图 ...

  8. 【转】浅谈UML的概念和模型之UML九种图

    原文地址:浅谈UML的概念和模型之UML九种图 目录: UML的视图 UML的九种图 UML中类间的关系 上文我们介绍了,UML的视图,在每一种视图中都包含一个或多种图.本文我们重点讲解UML每种图的 ...

  9. [转]浅谈UML的概念和模型之UML九种图

    目录: UML的视图 UML的九种图 UML中类间的关系 上文我们介绍了,UML的视图,在每一种视图中都包含一个或多种图.本文我们重点讲解UML每种图的细节问题: 1.用例图(use case dia ...

随机推荐

  1. OleContainer操作Excel以二进制方式读写数据库

    需求源头:OleContainer操作Excel,想把Excel以二进制方式存入数据库,并且以二进制方式读取存入流:Procedure SaveToStream(ADOTable1: TAdoTabl ...

  2. Ajax请求URL后加随机数原理

    原文:Ajax请求URL后加随机数原理 例如: $.ajax({             type: "GET",    url: "login.action?ran=& ...

  3. 在Window和Linux下使用Zthread库

    ZThread库是一个开源的跨平台高级面向对象的线性和sycnchronization 库,以运行POSIX 和Win32 系统中的C++程序. ZThread库的主页:http://zthread. ...

  4. Cocos2d-x 3.0 创建一个场景,并设置现场的时候,项目开始执行上主动

    头 #ifndef __TEST_H__ #define __TEST_H__ #include "cocos2d.h" USING_NS_CC; class Test : pub ...

  5. 关于Oralce数据库优化的几点总结

    个人理解,数据库性能最关键的因素在于IO,因为操作内存是快速的,但是读写磁盘是速度很慢的,优化数据库最关键的问题在于减少磁盘的IO,就个人理解应该分为物理的和逻辑的优化, 物理的是指oracle产品本 ...

  6. BI中事实表和维度表的定义

    一个典型的样例是,把逻辑业务比作一个立方体,产品维.时间维.地点维分别作为不同的坐标轴,而坐标轴的交点就是一个详细的事实.也就是说事实表是多个维度表的一个交点.而维度表是分析事实的一个窗体. 首先介绍 ...

  7. Jquery节点遍历

    jquery 节点遍历 <html> <head> <title></title> <script src="Jquery/jquery ...

  8. loj1336(数学)

    传送门:Sigma Function 题意:定义f(n)为n的约数之和,求[1,n]中f值为偶数的数的个数. 分析:由题目给定公式可知,若f(n)为奇数,则相乘的每一项都必须为奇数. 每一项为奇数的条 ...

  9. linux上svn连接visual svn server时ssl鉴权失败,问题解决(转)

    场景:1.在windows 7上安装了visual svn server作为自己的svn服务器. 2.在虚拟机centos 6.3上使用svn客户端check代码,报错: [plain] view p ...

  10. RequireJS学习资料

    RequireJS学习资料汇总   入门系列 [1]阮一峰 RequireJS用法 [2]RequireJS入门指南 文档系列 [1]RequireJS中文文档 [2]RequireJS英文文档 代码 ...