序列图(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. 使用Iterator遍历Sheet(POI)验证及解释结果有序性

    test.xlsx: Code: package poi; import static org.junit.Assert.*; import java.io.IOException; import j ...

  2. 同步linux服务器的时间

    1:看系统时间的时候发现有点儿误差,大概在2分钟左右. 于是想自动同步系统的时间. 2:找到ntpdate命令,没有就安装.debian(apt-get install ntpdate) 3:获取时间 ...

  3. Webserver管理系列:5、利用MSConfig排查木马

    木马程序最喜欢去的地方有两个一个是服务里面,一个是启动里面.利用msconfig我们能够高速的找到可疑程序. 在命令行中输入msconfig回车 选择服务项: 这里面的服务有非常多我们非常难排查,我告 ...

  4. OpenCV在矩阵上的卷积

    转载请注明出处!!!http://blog.csdn.net/zhonghuan1992 OpenCV在矩阵上的卷积 在openCV官网上说是戴面具,事实上就是又一次计算一下矩阵中的每个value,那 ...

  5. 配置虚拟主机并更改Apache默认解析路径

    配置虚拟主机,非常easy 改动以下文件: 加入以下几句话 <VirtualHost *:80> ##ServerAdmin webmaster@dummy-host2.example.c ...

  6. 系统没有“internet信息服务(IIS)管理器”

    系统没有“internet信息服务(IIS)管理器” | 浏览:8981 | 更新:2014-06-19 14:43 1 2 3 4 5 6 7 分步阅读 很多用户都在咨询:系统控制面板的管理工具中没 ...

  7. PropertyPlaceholderConfigurer类的使用注意

    如果你在spring的applicationcontext.xml中需要使用属性配置文件,那PropertyPlaceholderConfigurer这个类就是必须的. <bean class= ...

  8. 02将代码开源到github(不会使用github的来看看吧)

    github不多说了,新建一个repository.如图: 这个创建好了之后,我们在eclipse中新建项目WeatherPro,安装githubclient. 安装好了之后,打开git bash,进 ...

  9. A Game of Thrones(20) - Eddard

    Eddard Stark rode through the towering bronze doors of the Red Keep sore, tired, hungry, and irritab ...

  10. 分布式发布订阅消息系统Kafka

    高吞吐量的分布式发布订阅消息系统Kafka--安装及测试   一.Kafka概述 Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据. 这种动作(网页浏览, ...