一篇文章就能学会UML图

前言

关于自己

我第一次应用UML是在学习C++面向对象程序设计(Object Oriented Programming)的时候,课本上用类图介绍一个类的的成员和属性,那时对这样的结构没有特别的在意,仅仅以为这不过就是把数据抽象出来了那么简单。那时候简单的定义就是我一眼就能看懂,可这不就是uml存在的意义吗?让人一眼就能够看懂。依稀记得我只画了几个类的类图,不断在纠结private还是public又或者protect,选择困难症的我在初学的时候真的很头疼。


而现在为了熟悉一个完整商业项目的代码(只有代码…注释只有关键处才有),导师给我的建议就是将所有的类都用UML图的形式展现,这样能更加迅速理解整个项目的代码结构,还有一点好处就是,画下来可以避免忘记了某个内容而要去重新的理解,只需要看下这个框架就可以了。
我花了一个早上的时间去寻找UML逆向工程的一些项目,大多数都只是支持C++,JAVA等,没有找到支持TypeScript的,不过有一个在线的工具https://tsuml-demo.firebaseapp.com/可以输入脚本然后生成svg类图,但因为我这个是商业项目,为了不泄露一些信息就没法使用了。


于时我又重新拾起UML,并且趁着这次机会梳理一下UML的一些知识。

UML简介

统一建模语言(Unified Modeling Language,UML) 是一种为面向对象系统的产品进行说明、可视化和编制文档的一种标准语言,是非专利的第三代建模和规约语言。


UML是面向对象设计的建模工具,独立于任何具体程序设计语言。

具体的一些组成元素什么的说了也没多大意义,重要的是理解UML图所要展现的内容。

概括起来说,UML主要有以下作用:

  • 为软件系统建立可视化模型。
    UML符号具有良好的语义,不会引起歧义;基于UML的可视化模型,使系统结构直观、易于理解;使用UML进行软件系统的模型不但有利于系统开发人员和系统用户的交流,还有利于系统维护。模型是系统的蓝图,它可以对开发人员的规划进行补充,模型可以帮助开发人员规划要建的系统。有了正确的模型就可以实现正确的系统设计,保证用户的要求得到满足,系统能在需求改变时站得住脚。对于一个软件系统,模型就是开发人员为系统设计的一组视图。这组视图不仅描述了用户需要的功能,还描述了怎样去实现这些功能。
  • 为软件系统建立构件。
    UML不是面向对象的编程语言,但它的模型可以直接对应到各种各样的编程语言。例如,它可以使用代码生成器工具将UML模型转换为多种程序设计语言代码,如可生成C++,XML,DTD,JAVA, Visual basic等语言的代码,或使用反向生成器工具将程序源代码转换为UML;甚至还可以生成关系数据库中的表。
  • 为软件系统建立文档。
    UML可以为系统的体系结构及其所有细节建立文档。不同的UML模型图可以作为项目不同阶段的软件开发文档。

UML图

我本来使用的 Draw.io 进行UML绘制,这个工具有在线的web平台,也可以自己下载到本地,或者使用vscode插件进行使用,不过后来感觉连线不太友好,我就使用starUML
史上最全的StarUML使用教程

类图

这里面的内容会随着不断的学习,进行不断地增加修改。

一篇文章就能学会UML图中的类图

时序图

一篇文章就能学会UML图中的时序图

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

雪野Solye

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值