一、體系結構
軟件體系結構代表了系統公共的高層次的抽象,它是系統設計成敗的關鍵。其設計的核心是能否使用重復的體系模式。傳統的應用系統體系結構從基于主機的集中式框架,到在網絡的客戶端上通過網絡訪問服務器的框架,都不能適應目前企業所處的商業環境,原因是:
企業過分地依賴于某個供應商的軟件和硬件產品。這種單一供應商使得企業難以利用計算供應商的免費市場,將計算基礎設施的重要決定交給第三方處理,這顯然不利于企業在合作伙伴之間共享信息。
不能適應遠程訪問的分布式、多層次異構系統。
封裝的應用系統在出現某種組織需要時,難以用定制來維護系統,從而難以滿足多變的需求。
不能實現分析、設計核心功能重用,最多只能實現代碼重用。
如今,應用系統已經發展成為在Intr.net和Internet上的各種客戶端可遠程訪問的分布式、多層次異構系統。CBSD為開發這樣的應用系統提供了新的系統體系結構。它是標準定義的、分布式、模塊化結構,使應用系統可分成幾個獨立部分開發,可用增量方式開發。
這樣的體系結構實現了CBSD的以下幾點目標:
能夠通過內部開發的、第三方提供的或市場上購買的現有中間件,來集成和定制應用軟件系統。
鼓勵在各種應用系統中重用核心功能,努力實現分析、設計的重用。
系統都應具有靈活方便的升級和系統模塊的更新維護能力。
封裝最好的實踐案例,并使其在商業條件改變的情況下,還能夠被采用,并能保留已有資源。
由此看出,CDSD從系統高層次的抽象上解決了復用性與異構互操作性,這正是分布式網絡系統所希望解決的難題。
二、開發過程
傳統的軟件開發過程在重用元素、開發方法上都與CBSD有很大的不同。雖然面向對象技術促進了軟件重用,但是,只實現了類和類繼承的重用。在整個系統和類之間還存在很大的缺口。為填補這個缺口,人們曾想了許多方法,如系統體系結構、框架、設計模式等。
自從中間件出現以來,軟件的重用才得到了根本改變。CBSD實現了分析、設計、類等多層次上的重用。圖1顯示了它的重用元素分層實現。在分析抽象層上,重用元素有子系統、類;在設計層上重用元素有系統體系結構、子系統體系結構、設計模式、框架、容器、中間件、類庫、模板、抽象類等。
原文轉自:http://www.anti-gravitydesign.com