1.前言
为什么要看这本书呢,因为很多人推荐这本书。自己对UML的学习也没有很系统,所以拿来看看。阅读一番后,发现其风格偏白话,比较容易理解。现在不讲人话的八股文太多,必须全部下架,否则会严重阻碍我国科学技术发展。
2.内容理解随记
-
UML主要分为静态的结构图和动态的行为图两大类。结构图之所以是静态的是因为其描述的是事物间结构关系,很少变化。动态图之所以是动态的,是因为动态图描述了某类事物的变化过程,反之如果没有变化就不需要动态图。我们知道变化是永恒的,静止是相对的。世界运行过程符合动静结合的特点,所以用UML图来描述世界,从理论上是合理的。
-
UML可以用来干嘛?只有弄懂UML可以用来干嘛,才能把UML在软件工程中的功效发挥出来。UML的功能就一句话:UML图用来做软件需求分析与设计,便于人员沟通与工程文档化 。我们知道盖房子需要画图纸,软件开发也需要画图纸,UML就是用来画软件图纸的。我们知道软件工程分为很多阶段,在每一个阶段,都可以用UML图来进行文档化描述。前期的需求分析,中期的软件设计与开发,后期的部署,全都可以用UML进行描述,相关人员通过阅读UML图明确双方意图,同时相关文档也可以长期保存,以供审查。
-
这里有一个误区,我之前认为UML中所有的图,我都必须用上,否则不完整,不专业,这是错误的理解。UML中不同的图适用于不同的软件开发阶段,比如说软件需求分析阶段,最好是使用用例图,活动图等描述工具,这样方便和客户交流,客户很容易就能看懂。结果你非得要用类图去画,客户根本看不懂,导致沟通不顺,这是很不专业的做法。因为类图是在软件设计阶段给技术人员看的,不同的设计阶段,要用不同的图。不同的图描述的内容的侧重点不一样,对应的读者也不一样。UML是一个工具箱,按需使用即可,不可生搬硬套。参考下表:
| 开发阶段 | UML图 |
|---|---|
| 需求分析 | 主要用例图,活动图,时序图 |
| 概要设计 | 主要包图,构件图,(概要性)类图,部署图 |
| 详细设计 | 主要静态:包图(细化),构件图(细化),部署图(细化),类图(细化)。动态:活动图,顺序图,状态图,时序图 |
| 软件开发 | 主要同详细设计 |
| 软件部署 | 主要部署图 |
静态4种,动态5种,一共9钟常用的,学会就行了。
还有一些图(对象图,通信图),几乎不会用到,可以忽略。
- 未完待续