可重用性
計算機科學和軟件工程中的可重用性(reusability),是指可以重新使用以某種軟件開發過程下產生的已有「資產」(assets)。「資產」是指在軟體開發生命週期中產生的產品以及副產品,可以是程式碼、軟體模組、測試套件、設計以及文件。代碼複用就是程式碼可重用性的呈現。另外一種概念稱為「槓桿」(leverage),是指為了符合特定的系統需求,修改現有的資產。因為重用可以減少同一資產的不同版本,因此在版本管理上會比槓桿要好[1]。
以程式碼來說,子程序或函式是可以重用的最小單位。一長串的程式碼一般會用模塊或命名空間進行管理,區分為不同的層次。一些支持者認為對象以及軟體組件是可重用性更高的型式。不過很難客觀的衡量可重用性,為其定義等級或是評分。
可重用性非常依賴由較小的部份建構出較大東西的能力,而且要可以識別出這些部份的共性。可重用性是系統平台軟體必要的特質。可重用性也帶出許多軟件開發中的不同層面,若沒有可重用性,這些層面可以不需要考慮。
可重用性表示對於軟體組建、包裝、分銷、安裝程式、組態、軟件部署、軟體維護和升級,有一些具體的管理方式。若沒有考慮這些議題,可能在軟件設計的觀點來看,可以復用程式,但在實務上仍然無法復用。
軟體可重用性更多的是指軟體單元(或是許多軟體單元)在設計上的特質,這個特質使其適合於復用。
許多復用的設計原則是在WISR的workshop中提出的[2]。
以下是一些軟體重用旳設計特徵:
有關上述特徵中,哪一個比較重要,或是在特定應用下,那一個議題影響比較大,目前也還沒有共識。
相關條目
編輯參考資料
編輯- ^ Lombard Hill Group. What is Software Reuse. www.lombardhill.com. Lombard Hill Group. October 22, 2014 [22 October 2014]. (原始內容存檔於2014-10-22).
- ^ Design for Reuse and Object Oriented Reuse Methods. Umcs.maine.edu. 1995-01-20 [2012-07-31]. (原始內容存檔於1997-07-15).