UML
UML(Unified Modeling Language,统一建模语言)
为什么用UML
一个企业或组织往往由不同岗位不同职业的人共同组成。以互联网公司举例。
一家互联网公司基本会有开发、产品、测试、运维、商务等人员构成。开发往下分,又可以分为前端开发,后端开发,大数据开发,DBA等......
公司的正常运转,往往需要这些人员的通力合作。于是这些人员合作时,沟通产生的成本问题就被凸显出来了。
俗话说,隔行如隔山。开发讲的东西产品有可能不懂,产品表达的意思开发理解起来又很困难。就像一个在讲南方方言,一个讲北方方言。在沟通的过程中,难免会造成误解,增加沟通成本。
那么,怎么解决沟通成本呢。那大家都说普通话就好了呗。
UML其实就是工程开发中的普通话。它对语言描述建立了一套统一的规范。通过这套规范,我们可以很容易的向他人表达出自己的想法。
怎么用
UML通常用简图来表示,常见的UML图有
- 用例图(Use Case Diagram)
- 活动图(Activity Diagram)
- 类图(Class Diagram)
- 对象图(Object Diagram)
- 顺序图(Sequence Diagram)
- 通讯图(Communication Diagram)
- 状态图(State Machine Diagram)
- 部署图(Deployment Diagram)
- ...
UML表达方式虽然有很多,但是经常用的主要有以下几个。
类图:多用于源码分析和设计模式说明
顺序图:多用于程序逻辑梳理和说明
活动图:多用于业务逻辑说明
类图
- 对象表示
- demo
类图主要由两方面构成,一个是类对象,另一个就是类与类之间的关系。
由图一可知,一个类对象,主要由类名,属性,操作构成。比如说
类名:人
属性:姓名(公开,大家都可以知道)、年龄(私有,保密就自己知道)、收入(保护,自己和自己家人知道)
操作:睡觉、看电影、玩游戏
在图二中,类之间的关系已经说明的很清楚了。这里补充一下个人的理解。
-
依赖关系 A方法参数中用到了B或A用了B的静态方法,总而言之就是A在局部范围内引用到了B。则A与B为依赖关系。
-
关联关系 A含有实例化变量B,A与B就是关联关系
-
聚合关系 与关联关系一样,但在语义上,A has-a B,则A与B为聚合关系。如,雁群和大雁。所以个人理解集体包含个体关系时,就是聚合。
-
组合关系 与关联关系一样,但在语义上,A contains-a B,则A与B为组合关系。如鸟和翅膀。所以个体包含个体关系时,就是组合。
顺序图
- demo
活动图
- demo
三种图的关系
顺序图和活动图的区别,个人认为顺序图在详细描述一个程序逻辑时,更为合适,顺序图更能体现细节。而活动图在描述一个大的产品说明时,更适合。它可以说明整体的关系逻辑,对细节要求不高。
比如说你要完成一个产品。整个产品的工作流可以用活动图来说明:客户怎么接入,怎么使用,中间会经历几个的平台等等。但对于产品的一个模块的说明,就可以用顺序图来说明:这个模块第一步怎么请求,返回是什么等等细节都可以描述。
最后产品完成时,在代码Review时,你就可以采用类图来说明你的设计模式。
工具
以上的所有UML图全都由StartUML制作完成。StartUML是严格遵守UML规范的,个人感觉使用起来很方便,而且作图美观,故此推荐。
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名,转载请标明出处
最后编辑时间为:
2019-10-11
学习帮顶!
😂 up up up !!!