软件复用的各个层面

张开发
2026/5/19 16:50:26 15 分钟阅读
软件复用的各个层面
软件复用的一个关键因素是抽象。抽象是对软件可复用对象的提炼和概括即将可复用对象的基本属性和相应的操作从具体的语言、环境和其他细节中提炼出来。软件的复用性很大程度上取决于对可复用对象的认识深度或者说可复用对象的抽象层次。抽象层次越高、与具体环境和特定细节越无关则它被未来系统复用的可能性也越大。领域分析则是进行抽象的有力工具。领域分析借助特定领域、特定行业的专业知识与技能对软件系统对象进行抽象和分类提炼认知的对象及其相互关系获得系统整体结构从而生成可复用的软件构件。可以用于软件复用的软件产品按照其抽象程度的高低可以划分为如下的复用级别:(1)代码的复用。这里的代码既包括二进制形式的经过编译产生的目标代码也包括文本形式的源代码。其中目标代码的复用的抽象程度是最低的。目前大多数高级程序设计语言的开发环境都以库文件的形式向编程人员提供了对许多基本功能的支持例如输人输出、文件访问等功能。编程人员可以通过链接(Link)将库文件和自己编写的代码合并成为一个可执行的文件通过这一方式实现了对库文件中的目标代码的复用避免了编程人员重复地开发一些会被反复使用的程序代码。随着软件技术的发展出现了许多目标代码一级的复用技术。例如(2)设计结果的复用。设计结果比源程序的抽象级别更高因为它的复用受实现环境的影响较小从而使可复用构件被复用的机会更多并且所需的修改更少。这种复用有三种途径:第一种途径是从现有系统的设计结果中提取一些可复用的设计构件并把这些构件应用于新系统的设计中;第二种途径是把一个现有系统的全部设计文档在新的软硬件平台上重新实现也就是把一个设计运用于多个具体的实现;第三种途径是独立于任何具体的应用有计划地开发一些可复用的设计构件。(3)分析结果的复用。这是比设计结果的复用抽象程度更高的复用可被复用的分析结果是针对问题域的某些事物或某些问题的抽象程度更高的解法受设计技术及实现条件的影响非常小所以可复用的机会更大。复用的途径也有三种:从现有系统的分析结果中提取可复用构件用于新系统的分析;用一份完整的分析文档作为输人产生针对不同软硬件平台和其他实现条件的多项设计;独立于具体应用专门开发一些可复用的分析构件。(4)测试信息的复用。主要包括测试用例(Test Case)的复用和测试过程信息的复用。测试用例的复用是在多次的软件系统的测试过程中重复使用同一测试用例以降低测试工作的成本提高软件测试的效率。测试过程信息是在测试过程中记录的测试人员的操作信息软件系统的输入输出信息软件系统的运行环境信息等与测试工作有关的信息。这些信息可以在对同一软件进行修改后的后续测试工作中重复使用。

更多文章