软件复用 - SilverBullet
Brooks博士在1986年说“No Silver Bullet”。软件复用到底是不是Silver Bullet,我不敢枉下评说。但是我个人认为,复用是解决目前很多问题最有效的方法。
比尔盖茨在《未来时速》的第一章中说,“我有一个简单而又强烈的信念。将您的公司和竞争对手区别开来的最有意义的方法…就是利用信息来干出色的工作…我可以预料您的反应。不对,应当是高效的企业程序起作用!是质量!是创造品牌和取得市场份额!是与客户保持密切关系!当然成功依靠所有这一切。…如果您对质量问题不警惕,如果您不建立品牌,如果您对客户的服务很糟糕…如果您干够了蠢事,您就只好关门停业。”
如果您是软件开发组织的老板,您和竞争对手区别开来的最有意义的方法是什么呢?
实施软件工程当然是解决“软件危机”的最好方案。如果您不注重软件质量,如果您不关心软件过程,如果您不使用面向对象的方法,如果您不利用合适的开发工具,如果您不实施有效的项目管理来组织这一切,也就是说,如果您干够了蠢事,那么只好关门停业。
《未来时速》的序言中说,“如果说80年代是注重质量的年代,90年代是注重再设计的年代,那么新世纪的头10年就是注重速度的年代”。不要重新发明轮子。是的,但是那还不够,最好不要再自己造轮子,就更加能赶上速度。我们认为,大规模软件复用将是一个开发组织区别于竞争对手的最有意义的方法。
呼唤大规模软件复用:
复用(或者重用,英语为Reuse)是很简单容易理解的思想。构建一栋大楼,不会从烂泥开始,而会使用现成的砖和钢材等。开发一个应用程序同样不需要重头开始。
Ivar Jacobson在《Software Reuse, Architecture, Process and Organization for Business Success》(下面引用为《Software Reuse》)中写道,依赖于关键任务业务信息系统