从类、API、框架层面设计可复用的软件
1.背景
现在对于公司开发项目来说,节约成本的最快方法就是对已开发软件的复用。通过复用以前的开发内容,可以让公司把更多的注意力去放在客户的实际功能需求中。
2.软件复用的级别
先来介绍一下软件的复用级别。代码的复用、设计的复用、分析的复用、测试信息的复用。
代码的复用主要包括目标代码和源代码的复用。其中目标代码的复用级别最低,历史也最久,当前大部分编程语言的运行支持系统都提供了连接、绑定等功能来支持这种复用。
设计的复用,设计结果比源程序的抽象级别更高,因此它的复用受实现环境的影响较少,从而使可复用构件被复用的机会更多,并且所需的修改更少。这种复用有三种途径:
1.第一种途径是从现有系统的设计结果中提取一些可复用的设计构件,并把这些构件应用于新系统的设计;
- 第二种途径是把一个现有系统的全部设计文档在新的软硬件平台上重新实现,也就是把一个设计运用于多个具体的实现;
- 第三种途径是独立于任何具体的应用,有计划地开发一些可复用的设计构件。
分析的复用 ,这是比设计结果更高级别的复用,可复用的分析构件是针对问题域的某些事物或某些问题的抽象程度更高的解法,受设计技术及实现条件的影响很少,所以可复用的机会更大。复用的途径也有三种,即从现有系统的分析结果中提取可复用构件用于新系统的分析;用一份完整的分析文档作输入产生针对不同软硬件平台