|
这是本书中唯一的一节废话。
我是个书狂,积习甚深,费尽心机在软件工程、系统工程方面积累了一些书。书分为神品、精品和普通三个等级,其中精品、神品又分别分为一品、二品和三品。其中大部分软件工程书都属于精品,神品只有两本,Fred
Brooks的这本书就属于神品之列。
软件作为一个行业,一直背着解决错误的问题名声。由于问题决定解决方案,这就意味着我们一直在制造错误解决方案!这方面有大量的证据,其中最著名的是美国政府统计署(GAO)的数据:全球最大的软件消费商--美国军方--每年要花费数十亿美元购买软件,而在其所购软件中,可直接使用的只占2%,另外3%需要做一些修改,其余95%都成了垃圾(Rubbish),不管这些软件是否符合需求规格,一句话,并没有满足他们的需求。面向对象技术并没有给我们带来“神奇的效应”,不管现在的厂商如何吹嘘他们面向对象OO(Object-Oriented)工具多么万能,也不管那些OO狂热者是多么毅然的前赴后继,这方面的数据从80年代以来并没有发生大的改观。
这实在是令我们的软件工程专家和从业人员们羞愧,因为它揭示了我们可能一开始就从根本上做错了什么!90年代中期,当Michael
Jackson(not the moon-walker)宣布他们的研究结果时,立刻在软件工程届激起了阵阵涟漪。Jackson指出软件行业人员/方法学大师们只是简单地模仿、照搬其他学科的方法,却将最重要的方面--问题域给忽略了。他指出,面向对象方法和结构化方法对问题域的处理没有什么大的区别,却被人们过分地用美好的词汇给美化了:
“...You can see the results clearly in many object-oriented
modeling descriptions. Often they are accompanied by fine
words about modeling the real world. But when you look closely
you can see that they are really descriptions of programming
objects, pure and simple. Any similarity to real-world objects,
living or dead, is purely coincidental......”
(......从众多面向对象建模的描述中,你可以很清楚地看到这些恶果。而且它们还经常伴随着有关现实世界建模的非常美好的词汇。然而,仔细看看,你就会发现它们其实是彻头彻尾的编程对象!如果说有任何和现实世界对象相似的地方,不管是活是死,纯属巧合......)
回首软件工程近40年的发展,Jackson哀叹软件行业普遍缺乏专业性,充满了业余人员,“手中有个锤子,看到什么都是钉子”,谁都可以开发攸关乎人们生命的软件。
这就是我们面临的严峻复杂现实,也许您会感到震惊!然而在Fred Brook眼里,是那么的平静。因为早在28年前,他就在其《The
Mythical Man-Month》这本不朽著作中对这些内容作了深入论述。
这本小册子行文优美,思想博大精深,字字真言,精读之有不尽的趣味,藏之又是极珍贵的文献,名眼高人,自能鉴之。
前些年,一位朋友从印度归来,说此书印度极为普及,我也动起笔来,但惭愧终未成正果。汪颖兄素来勤恳,明知此翻译为success
without applause, diligence without reward,却兢兢业业,反复琢磨,历经单调、繁琐、艰辛的劳动,终于付梓,可喜可贺,钦佩之余随即作序共勉。
Dave Wang
SE Forum China
2002年3月,于深圳
[返回]
|