复用的图(牢记)
软件复用的好处
- 开发加速
- 有效的专家利用
- 提高可依赖性
- 降低开发成本
- 降低过程风险
- 符合标准
软件复用的缺点
- 创建,维护以及使用一个构件库
- 查找,理解以及适配可复用构件
- 维护成本增加
- 缺少工具支持
- “不是在这里发明的”综合症
应用框架
现在已经很清楚,在面向对象开发过程中,通过称为框架的更大粒度的抽象来支持面向对象的复用是最好的。
一组软件制品(例如,类、对象、构件)的有机集合,这些制品相互协作来为一系列相关的应用提供一个可复用的体系结构。
- 框架为很有可能在所有相似类型的应用中使用的通用特性提供支持。
- 框架支持设计复用
- 框架是特定于语言的
软件产品线
- 一个软件产品线是具有一个共性体系结构以及共享构件的一组应用
应用框架与软件产品线的区别
- 应用框架依赖于面向对象特性(例如,继承和多态)来实现对框架的扩展。软件产品线并不一定要使用面向对象方法进行创建。
- 大部分应用框架提供了泛化的支持而不是特定领域的支持。软件产品线通常包含详细的领域和平台信息。
- 软件产品线经常是设备的控制应用。这意味着产品线必须为硬件接口提供支持。应用框架通常是面向软件的,它们通常并不会包含硬件交互构件。
- 软件产品线由一系列相关的应用族构成,属于同一个组织。软件产品线的开发可以基于应用框架来展开。