UML那些事
2024-08-29 05:15:35
什么是UML?它的全名:Unified Modeling Language,统一建模语言。最近我用到了uml,顺便重温了下这些知识。知乎上有一个讨论话题:uml还有用吗?这个讨论挺有意思的,看完后,受益匪浅,感触颇多。
中国古人就说了:“君子善假于物也”。软件工程师要善于利用特定的工具来帮助自己完成特定的任务。比如说,有一款分析http请求的工具fiddler比较强大易用;比如说,当知识积累到一定程度时,我用印象笔记来做记录。比如说,当我们资料几十个G需要在不同设备或者在网络上共享时,我们可以用云盘。话说回来,我们用工具,是因为我们自身的不足,“君子生非异也”。
接下来咱们讨论下,UML经常使用的一些场景吧。
当我们的软件涉及到多个系统,多个角色的人员时,可以画用例图,分析这些角色如何使用系统,如下图:
这是一个比较简单的用例图,某些线条,我省略没有画出来,但不影响实际的效果,这是一个静态图,着重描述的是什么人能做什么事情,是对功能需求的一个图形化展示。其实,我们不仅需要静态的描述,也需要动态地描述系统的行为,展示系统之间是如何协调工作的,这时候,我们用时序图,看一个简单的请求VPN的过程:
不需要我解释,一张图胜过千言万语。
还有一种称作活动图的东西,我想用它来画流程图,不怎么好用,但还是用了:
从上图看,这个流程也是比较简单的,它从发起到结束都是直线型的,没有任何分支。其实这个流程图没有反映出请求vpn的实际流程,因为这个流程不是直线型的,而是肯定具有分支结构的。这个流程图可以看作是一个简化了的协作图。
最后一个很重要的图,那就类图,它反映是类之间的关系。我们也可以用VS编辑器画类图,这个是设计类常用的图。
最新文章
- javascript设计模式-工厂方法模式
- Html锚点定位偏差计算解决插件
- 发布mvc遇到的HTTP错误 403.14-Forbidden解决办法
- js取整函数
- 转 夕甲甲:孔乙己之 C++ 版
- 黑马程序员_Java基础:JDK1.5后的新特性:自动拆装箱,以及注意事项
- Javascript模块化编程笔记
- 第 21 章 CSS3 文本效果
- sharepoint2010问卷调查(3)-实现问卷的开始和结束时间(采用自定义字段类型)
- iOS 开发之 Xcode6 installation failed invalid argument!
- PHP缓存主要技术
- Unix文本处理工具之awk
- 基于SQLite日志记录工具--Log4W
- 关于AR,你想要的全在这儿了
- BZOJ3810: [Coci2015]Stanovi
- Integer.valueOf()与Integer.parseInt()区别
- Centos7.4别名设置提高工作效率
- VSS源代码管理器运行代码分析工具的命令
- UVALive 4877 Non-Decreasing Digits 数位DP
- Android Room使用详解
热门文章
- TensorFlow 实战之实现卷积神经网络
- Python:main函数
- ubuntu17.10 python3.6 install plugins for AI
- Yii2中把路由地址中的%2F改为/
- Spring boot 整合mybatis
- Flask從入門到入土(三)——Web表單
- Qt 5.9.4 如何静态编译和部署?
- python中__name__=='__main__'的作用
- MongoDB,子查询
- Appium疑难杂症