技术成就梦想

知道用户需求,做到专注!c#,donet,Frameworks,UML,面向对象,设计模式!
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

银弹,构件技术

Posted on 2009-11-22 12:33  我不是高手  阅读(247)  评论(0编辑  收藏  举报
软件越来越复杂,时间要求越来越短,软件的代码从20年前的几百行到现在的上百万行。虽然高级语言的描述能力在增强,由于句子数目是固定的,高级语言就只有几十个变化的句子,描述的代码只能增长,这样软件中的变数越来越大,任何一个系统开发完成后很难测试,而且用CMM这种管理模式更无法解决这个变数的问题。因此,黄柳青认为,“软件没有银弹是因为系统中的变化因子是在指数级的变化。”而现在,一旦我们将一个软件转变为由构件来进行开发,软件就不是由100万行代码,而是有几千个构件构成的,这样变化的因素就少了,控制和管理的能力就加强。



同时,构件的内涵也可以不断扩展,比如集成电路尽管其内部电路在不断的增加和复杂,但从外部看来仍然是一个集成块。计算机尽管越来越复杂,但打开机箱,其中的部件反而减少了很多。所以不管软件系统多么复杂,都可以看作是一些构件的组成,系统的构件数可能是固定的。因此,构件的范畴也可以不断扩大,整个系统的复杂度由以前不能控制的代码指数级增长变成了可控制。因此,曾表示“没有银弹”的Frederick Brooks后来表示:构件技术就是软件行业的银弹。