1、顺序图

顺序图又称为时序图,顾名思义,它着重表现的是对象间消息传递的时间顺序。顺序图描述的对象也是一个用例,即一组行为操作,而它表现的是这组行为的先后关系(纵坐标),以及每个行为是属于哪个对象的(横坐标)。

作用:用对象间的交互来描述用例。

组成成分:参与者、对象

对象的生命线:用于表示某段时间内该对象是存在的,表示对象的生存时间。

消息:表示对象间的通信。当收到消息后,接收消息的对象立即开始执行活动,起到激活对象的作用。通常用消息名和参数表来标识。

横坐标:表示不同的对象。对象的左右顺序不重要,但是为了整洁清晰,应该遵循以下两个原则:(观点来自于http://www.lupaworld.com/article-233409-1.html)

(1)把交互频繁的对象尽可能地靠拢。

(2)把初始化整个交互活动的对象(有时是一个参与者)放置在最左边。

纵坐标:表示行为的先后关系。在图上方的消息在时间上先于下方的消息,消息的阅读顺序是严格自上而下的。

下面以银行储蓄系统为例:

参与者:储户、业务员

对象:窗口类(Windows)的对象表单(form)、账户类(Account)的对象、取款记录类(WithdrawRecord)的对象。

消息:

1)首先业务员向表单对象发送消息:inputWithdrawInfo(输入取款信息);

2)表单对象接收到消息后向账户对象发送消息:withdraw(取款),消息含有参数:accountNo(账户编号)、amount(取款数量);

3)账户对象接收消息后向自己发送消息,激活自己的行为活动:checkBalance(查询余额),消息含有参数:accountNo(账户编号)、amount(取款数量);

4)接下来账户对象向窗口对象(表单)发送返回消息:requestPassword(要求输入密码);

5)储户输入密码后,向账户对象发送消息:checkPassword(请求检验密码),消息含有参数:pwd(密码);

6)账户对象检查密码后,如果密码正确,则回馈给储户密码正确的信息(return true);

7)、8)账户对象向自身发送信息,激活自身的行为:compInterest(计算利息)、compBalance(计算账户余额);

9)账户对象向取款记录对象发送消息:addRecord(增加记录),消息参数有:accountNo(账户编号)、amount(取款数量)、interest(利息);

10)如果添加记录成功,取款记录对象向账户对象返回正确的消息(return true);

11)如果账户对象收到正确的消息,则向业务员返回正确的消息(return true)。

2、用Visio画UML顺序图

(1)打开Visio 2010软件

(2)点击“新建”->“软件和数据库”->“UML模型图”。

(3)在“模型资源管理器”中右击“顶层包”或者先新建一个子系统,“新建”->“序列图”

(4)下面就可以拖拽各种组件来构建自己的顺序图了。

其中“参与者”在“UML用例”中可以找到,其他的组件都在“UML序列”中可以找到。

如果想更改对象或者消息的名称,则双击绘制屏幕上的组件,输入信息即可。

用Visio画UML顺序图的更多相关文章

  1. 四步轻松实现用Visio画UML类图

    本节和大家一起学习一下用Visio画UML类图的方法,主要有四个步骤,这里和大家分享一下,相信通过本节的学习,你对Visio画UML类图的步骤一定会有所了解. 用Visio画UML类图 对于画类图的工 ...

  2. Visio画UML类图、序列图 for Java

    参考文档: 1.百度搜索: 怎样用Visio 2007画C++类图 连接 https://jingyan.baidu.com/article/9f7e7ec07286e16f281554f7.html ...

  3. visio画UML用例图没有include关系的解决方法

    今天用Microsoft Visio画用例图时,发现visio UML用例里面找不到include关系,即“箭头”+“<>” 这个组件,后来终于发现一个可行的解决办法: 首先:打开Micr ...

  4. 用Visio画UML用例图

    1.用例图 用例图描述参与者所理解的系统功能.主要元素是用例和参与者. 用例图的4个基本组件:参与者(Actor).用例(Use Case).关系(Relationship)和系统. 下面以银行储蓄系 ...

  5. 使用Visio画UML模型

    Microsoft Office Visio“UML 模型图” 模板为创建复杂软件系统的面向对象的模型 (模型:建模系统的一种抽象表示,它从特定的视角并在某一抽象级别上指定建模系统.) 提供全面的支持 ...

  6. 2.5 UML顺序图

    相关概念 交互 对象之间为实现某一功能而必须实施的协作过程.动态行为,称为交互 消息 对象间的协作与交流表现为一个对象以某种方式启动另一个对象的活动,这种交流在 UML里被定义为消息 顺序图的建模元素 ...

  7. 使用Astah画UML类图经验总结

    从学习需求工程与UML开始,就开始接触到Astah这款软件,但是当时完全是为了对UML各种图的了解加深才使用了这款软件.当时画图,都是完全凭借自己想,并没有考虑实际情况,而且画的图都是很简单的,甚至有 ...

  8. 根据需求设计类并且画UML类图练习

    题目如下: // 打车时,可以打专车或者快车.任何车都有车牌号和名称// 不同车价格不同,快车每公里1元,专车每公里2元// 行程开始时,显示车辆信息// 行程结束时,显示打车金额(假定行程就5公里) ...

  9. UML 顺序图

    顺序图 顺序图是交互图的一种形式,它显示对象沿生命线发展,对象之间随时间的交互表示为从源生命线指向目标生命线的消息.顺序图能很好地显示那些对象与其它那些对象通信,什么消息触发了这些通信,顺序图不能很好 ...

随机推荐

  1. 《深入浅出JavaScript》

    第一章JS入门 第二章数据和判定常用的转义序列\b 回退 \f换页 \n换行 \r回车 \t制表符 \'单引 \"双引 \\反斜乘除求余的优先级相同,从左向右执行string对象indexO ...

  2. 一系列JavaScript的基础工具

    在我们的bootcamp训练营中,学员们介绍了一些工具和库来扩展他们代码的能力.Kalina,目前我们JavaScript学员中的一员,列举了这些工具,想和其它爱好代码的小伙伴一起分享. 点击看大图 ...

  3. wordpress无法安装这个包。: PCLZIP_ERR_MISSING_FILE (-4) : Missing archive file 'C:\WINDOWS\TEMP/wordpress-4.tmp'

    朋友的wp博客好久没管理了,让ytkah帮忙打理一下,进到后台发现版本还是3.9的,那是比较早以前的版本了,早该升级了. 在升级wordpress时出现以下错误: 无法安装这个包: PCLZIP_ER ...

  4. 编写更好的CSS

    编写好的CSS代码能提升页面的渲染速度.本质上,一条规则都没有引擎解析的最快.MDN上将CSS选择符归拆分成四个主要类别,如下所示,性能依次降低. ID 规则 Class 规则 标签规则 通用规则 对 ...

  5. [大牛翻译系列]Hadoop(5)MapReduce 排序:次排序(Secondary sort)

    4.2 排序(SORT) 在MapReduce中,排序的目的有两个: MapReduce可以通过排序将Map输出的键分组.然后每组键调用一次reduce. 在某些需要排序的特定场景中,用户可以将作业( ...

  6. XHProf的安装和使用(PHP性能测试神器)

    XHProf是Facebook开发的性能调试工具,帮助我们的PHP程序性能调优,更加健壮.XHProf安装和使用方法将在本章讲解.XHProf是PHP的PECL扩展.没有XDeBug那些耗费资源,更加 ...

  7. java基础知识回顾之javaIO类---BufferedReader和BufferedWriter

    使用了装饰设计模式:此类的设计是为了提高流操作数据的效率.思想就是定义容器将数据进行临时存储,对于缓冲区对象,其实就是将这个容器进行了分装,并提供了更高效的操作方法. BufferReader: pa ...

  8. js小技巧(二)

    //移动的图层,拖动 1.<span style='position:absolute;width:200;height:200;background:red' onmousedown=Mous ...

  9. iphone 异常捕获处理

    iphone 异常捕获处理 1 void UncaughtExceptionHandler(NSException *exception) { 2 NSArray *arr = [exception ...

  10. SPRING IN ACTION 第4版笔记-第十一章Persisting data with object-relational mapping-003编写JPA-based repository( @PersistenceUnit、 @PersistenceContext、PersistenceAnnotationBeanPostProcessor)

    一.注入EntityManagerFactory的方式 package com.habuma.spittr.persistence; import java.util.List; import jav ...