uml 时序图_画图新方式——文本画UML图

墙裂呼吁:

每个软件工程师都要学会画UML图!

  软件开发过程中需要经常画各种图,流程图,时序图,状态转移图,组件图等等,画图的好处就是化繁为简,提炼本质,帮助自己和他人了解和明确需求和程序的表达。

  小伙伴们都知道怎么用代码来表达一件事情,一段逻辑,但是世界是丰富的,表达的方法也是丰富的,比如有人用音乐表达,有人用绘画表达,有人用PPT表达等等,但是软件开发工程师除了使用代码来表达外,还应该掌握UML模型描述图的方法。试想在评审你负责的模块时,一开始评审人员对你的设计一无所知,突然面对一堆密密麻麻的代码是多么让人崩溃的事情。

  如果你懂得如何绘制UML图,评审人员通过看UML图,例如通过流程图了解你软件的运行逻辑,通过时序图了解软件与内外部其它软件的交互关系,通过状态流图了解模块的状态流转,从多个维度评审你的软件,评审的价值才能体现,效率也会很高。而不是让大家关注的代码本身的问题,例如指针是否释放等等,这些由工具也能检查出来。

  但是图也不是随便乱画的,你画的图需要大家能看得懂,UML图提供了一种标准的用图形表达的方法,掌握了这个方法,你的图就能被大家所接收,也更加专业。

01

UML介绍

  UML (Unified Modeling Language),即统一建模语言,UML提供了多种类型的模型描述图(diagram),首先要注意的是 UML 涉及很多不同的图(模型),其原因是提供从许多不同的角度来审视系统。软件开发流程往往有许多角色参与其中,例如:

 -分析师

-设计师

-程序员

-测试员

-质量保证员

-客户

-技术文件撰稿员

  这些人都对系统的不同方面各持不同兴趣,故在建模时需要考虑不同的细节层次。例如,程序员需要了解系统的设计,并将设计转换为代码,而技术文件撰稿员则对整个系统的行为感兴趣,借以了解产品的功能。UML 提供了极富表达能力的建模语言,好让各角色至少可以从一个 UML 图表得到感兴趣的资讯。

cbdeb6182968bb24b9d1891644239954.png

UML 模型描述图

  虽然UML的内涵远不只是这些模型描述图,但是对于入门来说,通过把标准的UML图放进您的工作产品中,精通UML的人员就更加容易加入项目并迅速进入角色。

02

如何画UML模型描述图

  经常画图的人都知道,画好的图如果需要反复修改是非常痛苦的,图越画越大,导致画布不够大;处女座最不能忍受线条不直;要插一个小的组建或流程,挪动原来的图,然后再重新布局……

  一种画图工具,利用写文本,UML图自动生成,经过我多方调查和亲身使用体验,推荐的工具如下:

工具类型

工具名

费用

评价

在线工具

https://sequencediagram.org/

免费

功能简单,只能画时序图,但帮助文档详细

付费软件

PlantUML

免费

帮助文档详细,但需安装软件和依赖库graphviz和JRE

免费软件

EA,291服务器已安装

付费

可以画流程图,时序图,组建图等等,操作难度相当大,帮助文档相当晦涩难懂

____

03

PlantUML的安装

系统要求:WIN10

软件包:PlantUML.jar

依赖软件:graphviz-2.38,JRE

双击PlantUML.jar ,运行界面如下图:

279cac8716919ca23718153fbe2c9653.png

  先用任一文本编辑器,编写一段文本,然后将该文本保存到某一目录下,在PlantUML软件上,点击【Change Directory】选择该目录,PlantUML就会自动生成UML图,当文本变化时,PlantUML会自动检测到变化,更新UML图。

04

UML图绘制举例

  下面以绘制时序图举例,介绍PlantUML绘制UML图的方法

  首先,你需要了解时序图的各种定义,根据UML2.5,时序图的定义如下图,你需要了解生命线,同步message,异步message,返回message,分支(类似于if/else)等等表达方法。

680ce4cd289c23b4052241b5bd895369.png 70d37926c76f1e5d9c9274365072b71b.png 82528839ac82eb5221d6e3d3535d1116.png

时序图Node和Path定义

  然后,你打开PlantUML 帮助文档,找到你需要画的Node类型和Path类型,编写文本。

f01707e28559ca6d84ec182750c6b15d.png

 当你需要增加1个节点时,只要修改文本内容,图自动更新

c619c99dd1950a44bc3d64174186cc37.png

05

相关Link

网上有很多UML 图的介绍,大家可以自行查阅。

?UML2.5有一个中文的翻译,地址为:https://zhoujg.gitbooks.io/uml-2_5-zh/content/chapter17/17.2/notation_examples.html

?英文版本的下载地址为:https://www.omg.org/spec/UML/2.5/About-UML/

?PlantUML的帮助文档地址:http://plantuml.com/zh/guide

                                                                                Editor:Mingyue Tang

往期图文

了解常见的深度学习卷积网络

MCAL和Configurator那些小破事

DEFECT解决指北

UFFS文件系统简述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
UML(Unified Modeling Language)是一种通用的建模语言,其中包括了许多形符号,如用例活动图、类时序图等。其中,包UML中的一个重要概念,用于描述系统中的包和包之间的关系。下面介绍一下如何UML建模: 1. 了解包的概念:包是UML中的一个基本元素,用于组织模型元素。一个包可以包含其他包、类、接口、对象等元素,也可以与其他包形成关系。 2. 确定画图的目的和需求:在开始画图前,需要明确画图的目的和需求。比如,你需要描述一个系统中的包和它们之间的关系,或者需要描述一个软件模块中的不同部分等。 3. 确定画图的范围:根据画图的目的和需求,确定需要出哪些包和它们之间的关系。可以通过分析需求文档、系统设计文档等来确定画图的范围。 4. 选择画图工具:在确定了画图范围后,需要选择适合自己使用的UML建模工具,如Visio、StarUML等。 5. 绘制包:根据确定的范围,在UML建模工具中绘制出包。在画图过程中,需要注意以下几点: (1) 包名要具有可读性,并且要符合命名规范; (2) 包之间的关系要用适当的符号表示,如“依赖关系”、“聚合关系”、“组合关系”、“继承关系”等; (3) 为每个包添加适当的注释和说明文字,以便于理解。 6. 完善包:在绘制出包后,需要对其进行完善。可以通过添加更多的细节信息、优化关系表示方式等来使包更加完整和准确。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值