復用的圖(牢記)
軟件復用的好處
- 開發加速
- 有效的專家利用
- 提高可依賴性
- 降低開發成本
- 降低過程風險
- 符合標準
軟件復用的缺點
- 創建,維護以及使用一個構件庫
- 查找,理解以及適配可復用構件
- 維護成本增加
- 缺少工具支持
- “不是在這里發明的”綜合癥
應用框架
現在已經很清楚,在面向對象開發過程中,通過稱為框架的更大粒度的抽象來支持面向對象的復用是最好的。
一組軟件制品(例如,類、對象、構件)的有機集合,這些制品相互協作來為一系列相關的應用提供一個可復用的體系結構。
- 框架為很有可能在所有相似類型的應用中使用的通用特性提供支持。
- 框架支持設計復用
- 框架是特定于語言的
軟件產品線
- 一個軟件產品線是具有一個共性體系結構以及共享構件的一組應用
應用框架與軟件產品線的區別
- 應用框架依賴于面向對象特性(例如,繼承和多態)來實現對框架的擴展。軟件產品線并不一定要使用面向對象方法進行創建。
- 大部分應用框架提供了泛化的支持而不是特定領域的支持。軟件產品線通常包含詳細的領域和平臺信息。
- 軟件產品線經常是設備的控制應用。這意味著產品線必須為硬件接口提供支持。應用框架通常是面向軟件的,它們通常并不會包含硬件交互構件。
- 軟件產品線由一系列相關的應用族構成,屬于同一個組織。軟件產品線的開發可以基于應用框架來展開。