读《UML用户指南》有感

前言

今天突然读到了《UML用户指南》这本书,在看到第一章的时候,突然就想总结以下,于是便有了下文,以下只是个人见解。

建模的重要性

书中大致是这样描述的:如果我们是在简单的盖一所狗窝那么我们仅仅需要准备好木材和工具就可以开工,因为这项工程并不复杂,成本也并不高,即使中途出现问题也可以回头再来。若我们是在建造一栋办公大厦,准备好材料和工具就直接开工是很愚蠢的,因为这是一个相当大且复杂并且成本很高的一项工程,直接上手做会出现很多问题,且出现问题基本上是不可逆的,最终导致工程的失败(从一开始就注定是一个失败的工程)。

从现实生活中理解建模

好比我们中秋节吃的月饼,在做月饼的时候,都会有一个被提前做好的一个特定模具,刻画的月饼的样子以及大小,这样就可以保证月饼的产出和模具是基本一致的。建模在软件工程生命周期占据了一半以上,而真正编码仅会占据3成的比例。如何理解?好比服装设计,作者可能在设计/绘制服装的图纸花费一个月甚至一年的时间,而真正确定投入生产时一天就会产出N多件,这也就是说明了建模的重要性。

“分而治之”思想

在《UML用户指南》一书中作者提到了一种叫做“分而治之”的思想,或者说方法,也就是说将复杂的问题(相对软件中的功能)进行细化和分离,然后逐步进行解决。就目前我对面向对象编程的了解,我认为面向对象就充分体现了这种“分而治之”的思想,将特定的复杂功能分配到特定的对象中来完成,完成对复杂功能的解剖进而理清思路。一个可以称之为主导性的思想来应用到之后的问题解决中来。