使用Astah制作UML时序图
Astah制作UML图--详解 时序图的制作
开篇语:
做测试的难免看到开发画出各种设计图,都很羡慕,比如:
帅么,漂亮么,其实我们测试人员也可以轻松搞定这样的图哦哦哦~~~~~
下面会对UML进行简单介绍以及能够画出顺序图的工具Astah
一、UML简介:
- UML是Unified Modeling Language 统一建模语言, UML被应用到面向对象的问题的解决上,提供了分析师,设计师和程序员之间在软件设计时的通用语言。
- UML的九种建模图:用例图,类图,对象图,顺序图(本文重点介绍),协作图,状态图,活动图,组件图,配置图
-
顺序图( Sequence Diagram )别称:“交互流程图” 或“时序图”或“序列图”。
- 开发人员常用的是 类图和对象图,一般出现在对开发文档要求严格的公司或研发团队,如下图:
二、Astah简介
Astah (原名JUDE)发音:阿斯塔
Astah Professional 开发语言:100% 纯 Java 应用程序,可以跨平台在各种主流操作系统中使用,在本文中主要讲解如何使用该工具描画顺序图。
软件语言版本:英文和日文
下载地址:http://astah.net/download
0、Astah安装之后桌面会出现如下启动快捷方式,双击即可开启该工具
1、Astah创建顺序图
2、时序图组成详解
顺序图( Sequence Diagram )别称:“交互流程图” 或“时序图”或“序列图”。
- 时序图元素(Sequence Diagram Elements)
- 角色(Actor)
- 对象(Object)
- 生命线(Lifeline)
- 控制焦点(Focus of Control)
- 消息(Message)
- 自关联消息(Self-Message)
- 组合片段Combined Fragments
三、使用说明
1、生命线
时序图中表示为从对象图标向下延伸的一条虚线,表示对象存在的时间, 一般用来描述 系统 :如 客户端,代理层,缓存层,服务器层1.....服务器层N,数据库等。
2、消息分类
消息的定义(个人理解的白话文):生命线与生命线之间的交互就是由"消息"来完成,消息说白了就是系统与系统之间请求(Request)与响应(Response)。
i、同步消息(Synchronous Message):消息的发送者把控制传递给消息的接收者,然后停止活动,等待消息的接收者放弃或者返回控制,用来表示同步的意义。
有点类似网络协议里的TCP协议,系统A给系统B发了消息,就等着B回消息或者超时之后就不理睬B了
ii、异步消息(Asynchronous Message):消息发送者通过消息把信号传递给消息的接收者,然后继续自己的活动,不等待接受者返回消息或者控制。异步消息的接收者和发送者是并发工作的。
有点类似网络协议里的UDP协议,系统A给系统B发了消息,然后,系统A对系统B的态度就是:B回不回消息无所谓。
iii、返回消息(Return Message): 同步消息的一部分,是一种响应反馈的消息。
A发同步消息给B,B收到消息后给A发送响应就是返回消息。
总结下同步与异步消息:
1、你叫我去吃饭,我听到了就和你去吃饭;如果没有听到,你就不停的叫,直到我告诉你听到了,才一起去吃饭。(同步消息)
2、你叫我去吃饭,然后自己去吃饭,我得到消息后可能立即走,也可能等到下班才去吃饭。(异步消息)
所以,要我请你吃饭就用同步的方法,要请我吃饭就用异步的方法。
3、自关联消息
表示方法的自身调用以及一个对象内的一个方法调用另外一个方法。
结束语:
UML的时序图很有用,甚至可以这个姿势来表现,看不透彻的大场景都可以模拟一下,如三国演义的赤壁之战的时序图:
之上的种种,作为测试的我们还没有领悟到UML的时序图可以用在什么地方么?
1、理不清道不明的大型系统业务流可以用时序图抽象,你的理解力会瞬间升华;
2、再有开发叨逼叨逼的说测试不懂流程的时候,就给他画个时序图,请教他一下测试人员的理解是否有误;
那效果。。。小伙伴们,自己乐吧。
参考文章:http://www.lupaworld.com/article-233409-1.html