使用StarUML画用例图

简介:

在写一份升级方案的时候,发现文字描述半天,好多句子,依然不容易被人看明白,使用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)
    消息是定义交互和协作中交换信息的类,用于对实体间的通信内容建模,信息用于在实体间传递信息。允许实体请求其他的服务,类角色通过发送和接受信息进行通信。



本文转自 念槐聚 博客园博客,原文链接:http://www.cnblogs.com/haochuang/p/3977065.html,如需转载请自行联系原作者

相关文章
|
Android开发
autojs无Root访问data目录实现
牙叔教程 简单易懂
3480 0
|
数据处理
详细讲解ArcGIS中栅格计算器常用函数的使用
详细讲解ArcGIS中栅格计算器常用函数的使用
2570 1
|
10月前
|
存储 机器学习/深度学习 人工智能
告别信息焦虑,用这个国产AI工具做知识管理,大脑终于解放了
文章介绍了纳米AI知识库作为“第二大脑”的强大功能。它能高效管理海量信息,支持54种文件格式上传,自动提取关键数据并打标签,轻松整合工作与生活中的碎片化信息。通过场景测试显示,在工作和生活中,纳米AI可快速生成报告、提供精准数据,极大提升效率。其共享机制还促进了团队协作,释放了创造力,让用户从琐碎事务中解脱,专注于深度思考与创新。
|
C++ Python Perl
终于解决VScode中python/C++打印中文全是乱码的问题了
终于解决VScode中python/C++打印中文全是乱码的问题了
1544 0
终于解决VScode中python/C++打印中文全是乱码的问题了
|
3月前
Snipaste 截图工具安装使用教程:桌面 "贴" 图神器,高效截图不费力
Snipaste 不只是截图工具,更是让截图“活”起来的效率神器!支持快速截图(F1)、贴图置顶(F3)、缩放旋转、透明穿透等灵活操作,还可将文字颜色转为图片窗口。轻巧强大,提升办公效率必备!
677 8
Snipaste 截图工具安装使用教程:桌面 "贴" 图神器,高效截图不费力
|
10月前
|
机器学习/深度学习 数据采集 API
Python自动化解决滑块验证码的最佳实践
Python自动化解决滑块验证码的最佳实践
|
10月前
|
测试技术 API 持续交付
如何免费解决 Postman 集合限制
这里有几种方法可以解决 Postman 集合运行器 (Postman Collection Runner) 的限制。然而,使用 Apifox 创建你的集合没有任何限制,而且是免费的。
如何免费解决 Postman 集合限制
|
7月前
|
人工智能 缓存 NoSQL
跨境电商必备:亚马逊API实现海外商品信息实时同步
本方案基于亚马逊官方 API 实现跨境商品信息实时同步,涵盖权限申请、数据采集、存储与应用全流程。提供可复用代码模板与优化策略,助力企业提升运营效率。
|
IDE Java 开发工具
C语言入门(前期准备工作)——超级详细的建议和教学,带你顺利跨越编程门槛
C语言入门(前期准备工作)——超级详细的建议和教学,带你顺利跨越编程门槛
|
关系型数据库 MySQL 数据库
数据库(四)
`DELETE` 语句用于从表中移除数据。基本语法是 `DELETE FROM 表名 WHERE 条件表达式`,条件可选,若省略则删除所有数据。例如,`DELETE FROM emp WHERE dept_id = 10` 删除10号部门员工。`TRUNCATE` 表名更快,用于清空表,但不支持条件,且数据不可恢复。子查询可用于`CREATE TABLE AS SELECT`来复制表,或在`INSERT`, `UPDATE`语句中进行复杂操作,如更新特定区域员工的工资。
408 1

热门文章

最新文章