連載11:軟件體系設計新方向:數學抽象、設計模式、系統架構與方案設計(簡化版)(袁曉河著)

置換與軟件複用

軟件複用是一種計算機軟件工程方法和理論。60年代的“軟件危機”使程序設計人員明白難於維護的軟件成本是極其高昂的,當軟件的規模不斷擴大時,這種軟件的綜合成本可以說是沒有人能負擔的,並且即使投入了高昂的資金也難以得到可靠的產品,而軟件重用的思想是解決這一問題的根本方法。

軟件複用的主要思想是,將軟件看成是由不同功能部分的“組件”所組成的有機體,每一個組件在設計編寫時可以被設計成完成同類工作的通用工具,這樣,如果完成各種工作的組件被建立起來以後,編寫一特定軟件的工作就變成了將各種不同組件組織連接起來的簡單問題,這對於軟件產品的最終質量和維護工作都有本質性的改變。

軟件複用一直作爲軟件設計的一個顯著的目標,從目前的研究結果來看,置換的研究更加提升對軟件複用的幫助,而且置換推導出來的一些結果也將更有利於進行更恰當的軟件複用。

在軟件複用中,需要讓所複用的組件或者模塊具有在概念、原則和規則上都保持一致,而“置換”的研究正是以爲了達到這樣的目標,能夠通過一個更加廣泛的邏輯抽象方法針對軟件系統設計進行數學模型化的過程,而且此本書中大家也能夠體會到我正在試圖使用一種統一方法來構建軟件設計,因此這兩者之間是息息相關的。

軟件複用要求複用和被複用這間更少的耦合,最好採用接口的方式,這樣在複用上會變得更加的容易方便一些,而通過“置換”的研究我們也發現,耦合度的減少一般的情形下是通過增加中間層來滿足,而中間層是否合理,正好可以使用“置換”來進行度量。而接口在“置換”觀點中看來,其具有兩個方向上的置換,所以其置換的效果更好,其靈活性也是最好的處理方式。

軟件複用要求複用以後其接口必須保持一致性以及可替換性,而只要更好的使用“置換”的一些設計原則,則一致性和可替換性其實是顯而易見的,這方面應該是達到驚人的一致要求。

另外,軟件複用要求被複用的組件具有統一性,具有通用性,其實這就迫切的需要軟件系統設計必須統一起來,需要找尋到一些原理上的證明,只有這樣才能通過更加抽象的方式來對軟件設計進行更加統一化的處理。而對於“置換”來說,即使不是最終的原理,然而,我想此方式是正確的,即使最終不是通過“置換”來完全表達,然而,更好的理論卻要求必須包含“置換”已經呈現的這些原則和現象。

 

發佈了42 篇原創文章 · 獲贊 2 · 訪問量 2361
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章