用Visio画UML顺序图
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顺序图的更多相关文章
- 四步轻松实现用Visio画UML类图
本节和大家一起学习一下用Visio画UML类图的方法,主要有四个步骤,这里和大家分享一下,相信通过本节的学习,你对Visio画UML类图的步骤一定会有所了解. 用Visio画UML类图 对于画类图的工 ...
- Visio画UML类图、序列图 for Java
参考文档: 1.百度搜索: 怎样用Visio 2007画C++类图 连接 https://jingyan.baidu.com/article/9f7e7ec07286e16f281554f7.html ...
- visio画UML用例图没有include关系的解决方法
今天用Microsoft Visio画用例图时,发现visio UML用例里面找不到include关系,即“箭头”+“<>” 这个组件,后来终于发现一个可行的解决办法: 首先:打开Micr ...
- 用Visio画UML用例图
1.用例图 用例图描述参与者所理解的系统功能.主要元素是用例和参与者. 用例图的4个基本组件:参与者(Actor).用例(Use Case).关系(Relationship)和系统. 下面以银行储蓄系 ...
- 使用Visio画UML模型
Microsoft Office Visio“UML 模型图” 模板为创建复杂软件系统的面向对象的模型 (模型:建模系统的一种抽象表示,它从特定的视角并在某一抽象级别上指定建模系统.) 提供全面的支持 ...
- 2.5 UML顺序图
相关概念 交互 对象之间为实现某一功能而必须实施的协作过程.动态行为,称为交互 消息 对象间的协作与交流表现为一个对象以某种方式启动另一个对象的活动,这种交流在 UML里被定义为消息 顺序图的建模元素 ...
- 使用Astah画UML类图经验总结
从学习需求工程与UML开始,就开始接触到Astah这款软件,但是当时完全是为了对UML各种图的了解加深才使用了这款软件.当时画图,都是完全凭借自己想,并没有考虑实际情况,而且画的图都是很简单的,甚至有 ...
- 根据需求设计类并且画UML类图练习
题目如下: // 打车时,可以打专车或者快车.任何车都有车牌号和名称// 不同车价格不同,快车每公里1元,专车每公里2元// 行程开始时,显示车辆信息// 行程结束时,显示打车金额(假定行程就5公里) ...
- UML 顺序图
顺序图 顺序图是交互图的一种形式,它显示对象沿生命线发展,对象之间随时间的交互表示为从源生命线指向目标生命线的消息.顺序图能很好地显示那些对象与其它那些对象通信,什么消息触发了这些通信,顺序图不能很好 ...
随机推荐
- Codeforces Round #259 (Div. 2)-D. Little Pony and Harmony Chest
题目范围给的很小,所以有状压的方向. 我们是构造出一个数列,且数列中每两个数的最大公约数为1; 给的A[I]<=30,这是一个突破点. 可以发现B[I]中的数不会很大,要不然就不满足,所以B[I ...
- MySQL复制中slave延迟监控
在MySQL复制环境中,我们通常只根据 Seconds_Behind_Master 的值来判断SLAVE的延迟.这么做大部分情况下尚可接受,但并不够准确,而应该考虑更多因素. 首先,我们先看下SLAV ...
- httpClient多线程请求
使用httpClient可模拟请求Url获取资源,使用单线程的请求速度上会有一定的限制,参考了Apache给出的例子,自己做了测试实现多线程并发请求,以下代码需要HttpClient 4.2的包,可以 ...
- 利用 NGINX 最大化 Python 性能,第一部分:Web 服务和缓存
[编者按]本文主要介绍 nginx 的主要功能以及如何通过 NGINX 优化 Python 应用性能.本文系国内 ITOM 管理平台 OneAPM 编译呈现. Python 的著名之处在于使用简单方便 ...
- css display visibility
当visibility被设置为"hidden"的时候,元素虽然被隐藏了,但它仍然占据它原来所在的位置.注意,当元素被隐藏之后,就不能再接收到其它事件了. display属性就有一点 ...
- Javascript 正则表达式笔记
\d 元字符 + 量词 \w 常用的字符a-zA-Z0-9 .除回车之外的字符 ?0-1个字符 量词 只有前面是元字符,才变现量词 * 0-n 量词 /^\d+$/ 以字符开头,义字符结尾 [0-9] ...
- 二分法查找(大于,大于等于x的最小,小于,小于等于x的最大值)
#include<stdio.h> #include<algorithm> using namespace std; //小于x的最大 //大于x的最小 //x的第一个 //x ...
- inno setup判断是Windows系统版本(其实还是Delphi代码,还能检查域控制器和家庭版)
1.设置Windows最低版本要求 [Setup]: MinVersion 格式: a.bb,c.dd,这里 a.bb 是 Windows 版本,c.dd 是 Windows NT 版本. 默认值: ...
- 私有虚函数的特点(C++和Java的机制还有所不同)
多态性与将实现多态的函数的访问限定符没有任何关系,private 函数仍然可以实现多态,它的指针仍然位于vtbl中,只不过该函数的多态一般只能在基类的内部由其他非虚函数调用该函数的时候反映出来,访问限 ...
- 【重走Android之路】【开篇】序
[重走Android之路][开篇] [序] 本人Nodin,偶尔也叫MoNodin,朋友们都喜欢叫我丁,还有个笔名叫陌上幽人,文艺时叫恋风,发奋时叫不肯腐烂的土壤...也许你觉得我 ...