论文部分内容阅读
60年代的“软件危机”使程序设计人员明白难于维护的软件成本是极其高昂的,当软件的规模不断扩大时,这种软件的综合成本可以说是没有人能负担,并且即使投入了高昂的资金也难以得到可靠的产品,而软件复用的思想是解决这一问题的根本方法。随着软件系统不断复杂和庞大,任何个人都无法全面了解到其方方面面的知识,软件系统都是构建在复用基础之上,复用是软件系统的基本特征。人们很早就认识到在软件开发过程中存在着大量的手工重复性劳动,这些重复性手工劳动可能发生文档编写,代码编写,软件测试等过程中,因而复用的重要性越来越受到开发人员的重视,提高软件开发过程中的复用率能够减少这些重复性手工劳动,从而大大提高开发速度和开发质量。因为通过软件复用,在应用系统开发中可以充分地利用已有的开发成果,消除了包括分析、设计、编码、测试等在内的许多重复劳动,从而提高了软件开发的效率;同时,通过复用高质量的已有开发成果,避免了重新开发可能引入的错误,从而提高了软件的质量。在惠普公司所做的研究中报告中提到:被复用代码的缺陷率是每千行代码(KLOC)中有0.9个错误,而新开发代码的缺陷率是每千行代码中有4.1个缺陷;对一个包含68%的复用代码的应用系统来说,缺陷率是每千行代码中有2.0个缺陷——相对于不使用复用开发的应用系统,对期望的缺陷率有51%的改善。过去人们对软件复用的理解仅仅局限在代码编写阶段,如何降低程序员的重复劳动,提高软件开发工具的自动化水平成了提高复用率的关键。从汇编语言到C语言在到面向对象的语言,从函数库到类库再到COM技术.Net平台,从以前用记事本编写代码到最新的智能化开发工具Microsoft Visual Studio 2005,无疑大大提高了代码复用率,降低了程序员的重复劳动,使得软件开发的速度和质量有了很大提高。然而,随着软件系统越来越庞大,软件系统的运行环境越来越复杂,仅仅通过提高代码复用率已经很难能大幅度提高软件开发速度和质量,很难能满足时常变化的用户需求。从整个软件项目来看,代码编写只占整个软件项目中很小一部分,只有将复用的思想推广到整个软件项目,才能大幅度提高软件开发速度和质量,才能向用户提供更加优质的服务。本文正是基于软件复用不仅仅是代码复用这点,对软件开发全过程进行详细分析寻找其中的复用机会,然后在利用相关的技术和管理手段来提高复用率。