可重用软件

来自中文百科,文化平台
跳转至: 导航搜索

  可重用软件(reusable software),在环境和功能发生变化后,可通过局部修改和重组,保持整体稳定性,以适应新要求的软件。据统计,开发一个新的应用系统,40%~60%的代码是重复以前类似系统的成分,重复比例有时甚至更高。因此,软件重用能节约软件开发成本,真正有效地提高软件生产效率。软件重用性一般可从抽象层次、剪裁方法和重用条件3方面进行描述。

  抽象层次 指重用的级别。一般可分为代码重用、设计重用、规范重用和概念重用。设计重用指使用在不同环境下构造的设计。此时应考虑环境中硬件或性能约束带来的影响,从相同的设计可以得到不同的代码。规范重用有同设计重用相似的特征。但从相同的规范可得出不同的设计和不同的代码。代码重用有非常明显的效益,它能大量节省程序设计人员的时间,因此为一般人所接受。但代码重用的问题只能发生在编码阶段,在软件开发过程的早期阶段无法确定是否要重用以及重用带来的影响。另一个困难在于很难找到无需修改即可重用的代码段,其原因是代码一般与其运行环境有着紧密的依赖关系。由于规范和设计尚未考虑表示细节,因此其潜在的重用性是巨大的。另外,重用应在软件开发的前期阶段考虑,所以只有将规范重用、设计重用和代码重用三者结合起来才能真正达到节省软件开发费用,提高软件生产效率的目的。概念重用指在决定采用软件重用技术之前,应对应用领域进行分析,找出软件可重用的概念。此项工作称为域分析。仅当找出的概念满足下列条件(即具有较好的模块化结构、较强适应能力的界面和适当的功能)时,软件成分才可能成为可重用部件。

  剪裁方法 软件重用还涉及如何剪裁和修改可重用部件以适应新的要求。采用的剪裁方法有:①根本不剪裁。如程序设计语言所带的库函数。②手工剪裁法,即手工修改可重用部件的内部细节,它要求用户了解可重用部件的内部详细情况。③模板修改法,按模板修改比手工剪裁方便且安全,但同手工剪裁一样,仍有可能因修改可重用部件而使其出错。④类属参数化方法,能保证修改不会使原可重用部件出错 ,但为设计和编码有一定要求。可重用技术中一般都采用此方法。

  重用条件 可重用软件应满足如下的条件:①软件系统应是模块化结构。只有在模块化结构中,模块内部的修改和局部系统的重构(部分模块的替换、部分接口的改动)才不致于影响系统的功能和总体面貌。②软件系统应不依赖于具体的运行环境。在这种结构的系统中,依赖于具体运行环境的部分可以集中在少数模块。一旦系统环境发生变化,就可以用其他模块加以替换。③软件系统应建立在标准的、统一的数据接口上,即软件系统在建立数据模块进行数据操作时,都要求以标准的数据模式为依据。这样可以减少系统中模块之间的数据交换和相互依赖关系,并将数据模块的操作集中在少数几个模块进行统一管理。④软件系统应有知识的帮助。这一要求不是必须的,但在软件系统进行重构、扩充时,知识库系统可以提供并学习系统组合、生成及重用方面的知识,从而提高工作效率、改进工作质量。