软件复用包括以下软件成分:
代码级复用
包括源代码的剪贴、源代码包含和继承等方式来实现代码的复用。
设计结果复用
复用某个软件系统的设计模型,适用于软件系统的移植。
分析结果复用
复用某个软件系统的分析模型,适用于用户需求未改变,而系统体系结构变化的场合。
项目计划、成本估计、体系结构、需求模型和规格说明
这些文档和计划可以在新软件项目中复用,以缩减开发时间和成本。
设计、用户文档和技术文档
包括概要设计、详细设计、用户手册等,这些文档可以在新软件项目中复用。
用户界面
可以复用现有的用户界面设计,以加快新软件的开发速度。
数据结构
复用已有的数据结构,有助于提高软件的性能和可靠性。
测试用例
复用已有的测试用例,可以确保新软件的质量和稳定性。
领域知识、开发经验、设计决定
这些软性知识可以在新软件项目中复用,以提高开发效率和软件质量。
可复用构件
包括可执行程序、动态链接库和静态库等,这些构件可以直接或经过适当修改后用于新软件。
黑盒复用和白盒复用
黑盒复用指对已有产品或构件不需作任何修改,直接进行复用;白盒复用指根据用户需求对已有产品进行适应性修改后才可使用。
软件过程复用
包括项目计划、需求定义、分析、设计、编码、测试等过程的复用,以提高软件开发的整体效率和质量。
这些成分在不同的复用级别上都可以应用,包括代码级、组件级、模块级和构架级复用。通过这些成分的复用,可以显著减少软件开发和维护的成本,提高软件的质量和生产效率。