在写一份升级方案的时候,发现文字描述半天,好多句子,依然不容易被人看明白,使用visio画了个流程图,后来觉得画个时序图是最清晰得了。

  于是在找了一个工具: startUML,当然,做时序图,建模之类的工具还是比较多的,比如:

  PowerDesigner:http://www.sybase.com/products/modelingdevelopment/powerdesigner

  StartUML:http://staruml.sourceforge.net/en/  现在跳转至 http://staruml.io/

  下载安装之后,我用它简要画了几个简单的图:

  1.基本用例图:

  

  2.场景一:基本时序图:

  

  3.场景二:简要的另一份时序图:

  

  4.场景3:另外一种场景简要描述

  

  这里主要说一下关于竖线的问题,很多人不知道这个竖线怎么来的。其实在用例图上面,右键,选择 Add Diagram --> Sequence Diagram ,然后在新的标签下,建立相应的 Object 之类的,就可以了

  

  也就是你要注意下面这两副图片的区别:

  

  在用例图模式下,和序列分布模式左侧的是不同的。

  当然,如果你想了解更多的关于 StarUML 应用的东西,可以参考:http://wenku.baidu.com/view/196c5a4c69eae009581bec69.html

  另外,这位大神在6年前写的文章更为实用: http://www.cnblogs.com/daizhj/archive/2008/04/14/1153121.html

  还有这份文档,步骤写得比较详细:http://wenku.baidu.com/view/2a67901efc4ffe473368ab08.html

  工具都简单,基本简单点两下鼠标,摸索一下大家就都明白了,主要是要能够通过图把业务表达清楚,这才是重点和关键!

  当然,这工具还有很多好用的东西,我简单尝试了一下,发现还真是好用。有兴趣的同学,可以再去摸索。

  另外,废话一句,业务想明白了,使用任何工具,甚至不实用工具,直接手画,其实都无所谓。

  工具只是工具。人和动物的最大区别,在于会使用工具。但同样记得,不要受制于工具,不要成为工具的奴隶。

  So,Enjoy it.

  2014年9月17日14:43:41


  在后面,我们补充一下时序图相关的基本概念:

  时序图(Sequence Diagram),亦称为序列图或循序图,是一种UML行为图。它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。它可以表示用例的行为顺序,当执行一个用例行为时,时序图中的每条消息对应了一个类操作或状态机中引起转换的触发事件。
时序图中包括如下元素:角色,对象,生命线,激活期和消息。
1、角色(Actor)
    系统角色,可以是人或者其他系统,子系统。
2、对象(Object)
    对象代表时序图中的对象在交互中所扮演的角色,位于时序图顶部和对象代表。

对象一般包含以下三种命名方式:
    第一种方式包含对象名和类名。
    第二种方式只显示类名不显示对象名,即为一个匿名对象。
    第三种方式只显示对象名不显示类名。
3、生命线(Lifeline)
    生命线代表时序图中的对象在一段时期内的存在。时序图中每个对象和底部中心都有一条垂直的虚线,这就是对象的生命线,对象间 的消息存在于两条虚线间。
4、激活期(Activation)
    激活期代表时序图中的对象执行一项操作的时期,在时序图中每条生命线上的窄的矩形代表活动期。它可以被理解成C语言语义中一对花括号“{}”中的内容。
5、消息(Message)
    消息是定义交互和协作中交换信息的类,用于对实体间的通信内容建模,信息用于在实体间传递信息。允许实体请求其他的服务,类角色通过发送和接受信息进行通信。

【原】使用StarUML画用例图的更多相关文章

  1. 手把手教你使用startuml画用例图

    转自:http://www.2cto.com/os/201502/377091.html 最近准备研究下volley的源码,但看了网上一些大牛的博客都是配合图这样看起来更直观,分析起来逻辑也很好,什么 ...

  2. Pownerdesigner画用例图_类图_时序图

    1. 问题描述 软件过程中,设计阶段有几个常用的工具:Rational Rose.Visio.Pownerdesigner,一般用Rose用例图/类图/时序图,Visio画流程图,Pownerdesi ...

  3. 使用Visio 2007画用例图没有include(包含)关系且包含关系使用的线不是虚线的解决办法

    使用Visio 2007画用例图没有include(包含)关系且包含关系使用的线不是虚线的解决办法 1 在工具栏选择UML------>选择构造型 如下操作 2 拖动 "扩展" ...

  4. 软件文档写作-plantuml画用例图和时序图

    背景 当下的软件开发人员,不可避免的需要输出一些软件设计文档,作为一个软件工程专业毕业的工程师,最常用的设计工具就是UML,使用UML工具绘制一些软件相关的图,是必备技能,也是输出的技术文档中的重要组 ...

  5. 使用StarUML画类图

    1.综述(What) StarUML是一种生成类图和其他类型的UML图表的工具. StarUML(简称SU),是一种创建UML类图,并能够自动生成Java的“stub code” 的工具.SU也可以做 ...

  6. 【StarUML】用例图

    用例图是在项目初期确认需求的时候,需要明确各个参与者之间的关系以及对应的功能,它可视化地展示了整个系统的功能以及功能之间.功能与参与者之间的关系. 1.元素 1.1 角色(actor) 角色不一定是人 ...

  7. 使用starUML画顺序图

    https://blog.csdn.net/gary0917/article/details/79968762

  8. UML 中的用例图解析以及starUML详细介绍

    UML中的用例(Use Case)概念分析及StarUML实例 在UML 中use case 似 乎最簡單的,用例建模的最主要功能就是用来表达系统的功能性需求或行为,依我的理解用例建模可分为用例图和用 ...

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

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

随机推荐

  1. javascript字符串中包含特殊字符问题

    我们都知道,在javascript中,字符串写在单引号或者双引号之中.因为这种要求,我们有些时候一些需要的字符串不能够被javascript解析,如下: "We are "Huma ...

  2. 【python】python2.x 与 python3.x区别对照+缩进错误解决方法

    仅仅列出我用到的,不全. 划重点: 1. urllib2 用 urllib.request 代替 2. urllib.urlencode 用 urllib.parse.urlencode 代替 3. ...

  3. Selenium2+python自动化42-判断元素(expected_conditions)【转载】

    前言 经常有小伙伴问,如何判断一个元素是否存在,如何判断alert弹窗出来了,如何判断动态的元素等等一系列的判断,在selenium的expected_conditions模块收集了一系列的场景判断方 ...

  4. Appium+python自动化28-name定位【转载】

    本篇转自博客:上海-悠悠 前言 appium1.5以下老的版本是可以通过name定位的,新版本从1.5以后都不支持name定位了 一. name定位报错 1.最新版appium V1.7用name定位 ...

  5. 前端基础BOM和DOM

    前言 到目前为止,我们已经学过了JavaScript的一些简单的语法.但是这些简单的语法,并没有和浏览器有任何交互. 也就是我们还不能制作一些我们经常看到的网页的一些交互,我们需要继续学习BOM和DO ...

  6. AC日记——[JSOI2008]火星人prefix bzoj 1014

    1014 思路: 平衡树+二分答案+hash: 好了懂了吧. 代码: #include <cstdio> #include <cstring> #include <ios ...

  7. 【cocos2d-js官方文档】十二、对象缓冲池

    cc.pool的使用场景 经常创建和销毁的元素,例如打飞机游戏里面的子弹等. 不适用的场景:不是很经常创建的物体,比如背景,建筑等. 如何使用cc.pool 让你的类支持cc.pool 首先,你需在需 ...

  8. mongodb复制集搭建

    注:mongodb当前版本是3.4.3 1.准备三个虚拟机做服务器 192.168.168.129:27017 192.168.168.130:27017 192.168.168.131:27017 ...

  9. HDU1009:FatMouse' Trade(初探贪心,wait)

    FatMouse prepared M pounds of cat food, ready to trade with the cats guarding the warehouse containi ...

  10. [linux]压缩、解压命令

    .tar.gz 和 .tgz 解压:tar zxvf FileName.tar.gz 压缩:tar zcvf FileName.tar.gz DirName tar 解包:tar xvf FileNa ...