软件复用的定义
- 软件复用是指利用现有的软件成分构造出高质量、高效率的新的软件系统。
- 软件复用不只包括程序的复用,还包括每个活动所产生的制成品的复用。
- 软件复用技术目前面临的难点是:如何能够将软件复用技术准确地、合理地运用到软件开发中。并将软件复用技术的优势充分发挥出来。
内容
应用软件系统的开发过程包含以下几个阶段:领域和需求分析、设计、编码、测试以及维护等,各个阶段的工作中均存在重复,而这些重复都可以作为软件复用的内容。
复用一般可以分四个层次:
1.领域和需求分析阶段的复用。这个层主要包括对领域知识、软件总体框架结构、项目计划、成本估计等的复用;
2.设计阶段的复用。这个层主要包括对分析建模方法、领域模型、软件功能模型等的复用;
3.编码阶段的复用。这个层主要包括对功能模块、用户和技术文档、用户界面风格等的复用;
4.测试阶段的复用。这个层主要包括对测试方法、测试用例等的复用。
优势
软件复用的优势主要表现在以下几个方面:
(1)提高软件生产效率。因为可复用构件经过了高度的优化,并且在实践中经受过考验,用可复用的构件构造系统可以提高系统的性能和可靠性,减少开发代价。
(2)减少系统的维护代价。由于使用经过检验的构件,减少了可能的错误,同时软件中需要维护的部分也减少了。
(3)提高系统间的互操作性。通过使用统一的接口,系统将更为有效地实现与其他系统之间的互操作性。
(4)支持快速原型设计。利用可复用构件可以快速有效地构造出应用程序的原型,以获得用户对系统功能的反馈。