按照软件工程鼻祖,《人月神话》作者 Brooks
在“没有银弹——软件工程中的根本和次要问题”一章中阐述的思想,软件开发的核心问题就是如何从概念上对一个复杂的业务系统进行建模。这个建模是含义广泛的,不仅仅包括对象建模,还包括数据建模、算法建模等等一系列的内容。总而言之是要先找到解决复杂问题的突破口(先要搞明白需要做什么,然后再考虑如何做)。至于采用什么表示方法(简单文本、UML
图、E-R 图)、采用什么高级语言、是否一定要用面向对象、使用什么开发工具都是次要的问题。
有些人每做一个新项目,不管三七二十一先画一大堆图出来。其实你看《编写有效用例》这本书中用到了很多图形吗(当然我不否认图形在有些场合的重要性)?很多时候可能你只需要把你的想法简单地在纸上画出来(一只铅笔、一张白纸,成本接近于
0)就足以帮助你理清思路了。如果你的想法都无法清晰地画在纸上,那么 ROSE
这样昂贵的工具就能帮助你了吗?还是你只能装装样子,否则混老板的工资于心不忍呢?
软件开发中,工具是非常重要的,完全有必要非常纯熟地掌握所使用的工具。但是一旦掌握以后,就应该进一步思考一些深层次的问题了。按照我的看法,开源软件解决了工具的问题,然而如果你一味依赖开源软件,而不去利用这些很好的基础解决复杂的问题(建造更加复杂的架构),那么等于是把你的明天拱手相送了。
我有很多计算机书,买的和从网上下载的。我把这些书分成两类:可以增加知识的,可以增加智慧的,并且优先阅读第二类书。几乎所有的书只要你买来都能增加你某方面的知识,但是第二类书可以使你变得更聪明。《人月神话》毫无疑问属于第二类书。你要问我读这本书的感受,我的感受就象是大热天踢球后喝了一杯清凉的饮料,套用一句广告词:“从这到这都舒服”。
|