提高软件复用是一个多方面的过程,涉及设计、实现、测试和维护的各个阶段。以下是一些关键策略:
代码基线管控策略
建立一条主干代码,持续维护。
对客户的新需求,拉一条临时分支进行开发,稳定后回归主干。
这样可以确保所有研发成果在一个代码分支上追溯,便于后续类似需求的快速满足,节约人力成本。
共享和重用基础模块(CBB)
不同产品系统间共用的零部件、模块、技术成果。
模块化拆分,以组件、服务的形式打造共用基础模块,方便插拔和重新组合。
对于客户定制化需求,通过“胶水”代码调用组件,装配工作留给交付现场。
建立资产市场
将可复用的代码、模块、框架等资产进行统一管理,方便其他项目使用。
通过资产市场,可以促进知识的共享和复用,提高整体开发效率。
提高软件质量
高内聚低耦合的设计原则,确保数据和操作的功能明晰和抽象。
可复用的软件通常有更高的质量保障,因为它们在不断的复用过程中排除了许多bug和缺陷。
面向对象设计原则
面向对象的设计是对接口编程,而不仅仅是对实现编程。
继承是实现的复用,多态是接口的复用。
通过类库、构件库和构架库支持不同级别的软件复用。
代码资产管理
对代码进行有效的版本控制和分支管理,确保代码的可追溯性和可维护性。
定期对代码进行重构和优化,提高代码的复用性。
设计可复用的软件组件
组件的接口应清晰、简洁,易于理解和使用。
组件应模块化,不依赖于其他组件的内部实现。
组件应具有可配置性和可测试性,以便在不同场景下使用。
实现可复用的软件组件
使用通用编程语言和框架,遵循编码规范。
封装变化,减少对外部环境的依赖。
提供详细的文档和示例,方便他人理解和使用组件。
人员复用
分配任务时,相近模块尽量分给同一个人或曾经有类似经验的人。
通过管理手段实现人员的复用,提高团队效率。
领域分析和构架库
通过领域分析,提炼出可复用的软件构架。
建立构件库和构架库,支持更高层次的软件复用。
工具和流程
使用支持复用的软件工具,如类库、构件/构架库的管理、维护与浏览工具,构件提取及描述工具,以及构件检索工具。
优化OOA和OOD过程,支持多个级别的软件复用。
通过上述策略的综合应用,可以有效提高软件的复用性,从而节约开发资源,缩短开发周期,提高产品质量。