軟件體系風格

1、定義

軟件體系結構風格是指某一特定應用領域系統組織方式的慣用模式
體系結構定義了一個系統家族,即定義了一個詞彙表和一組約束。詞彙表包含了一些構件和連接件類型,而約束指出的是如何將這些構件和連接件組合起來。
體系結構反映了衆多系統當中共有的結構和語義特性,並指導如何將各個模塊和子系統有效地組織成一個完整的系統。

2、BS風格的優缺點

瀏覽器/服務器(B/S)風格就是三層應用結構的一種實現方式,其具體的結構爲:瀏覽器/Web服務器/數據庫服務器
優點:
1、基於B/S體系結構的軟件、系統,安裝修改和維護全都在服務器端解決。用戶在使用系統時,僅僅需要一個瀏覽器就可以運行全部的模塊,真正達到”零客戶端“,很容易在運行時自動升級。
2、B/S體系結構還提供了異種機、異種網、異種應用服務的聯機、聯網、統一服務的最現實的開發性基礎。
缺點:
1、沒有集成有效的數據庫處理功能,對數據的處理功能不強
2、安全性難以控制
3、在數據庫查詢等響應速度要遠遠低於C/S體系結構
4、B/S體系結構的數據提交一般以也頁面爲單位,數據的動態交互性不強,不利於在線事務處理(OLTP)應用

3、CS風格

優點:
1、模式簡單,易於人們理解和接受
2、靈活、易維護與擴充:系統的客戶應用程序和服務器構件分別運行在不同的計算機上,系統中每臺服務器都可以適合個構件的要求,這對硬件和軟件的變化顯示出極大的適應性和靈活性,而且易於對系統進行擴充和縮小。
3、資源可以進行合理配置:在C/S體系結構中,系統中的功能充分隔離,客戶應用程序開發集中於數據點顯示和分析,而數據庫的服務器的開發集中於數據的管理,不必在每一個新的應用程序中都要對一個DBMS進行編碼,將大的應用處理任務分佈到許多通過網絡連接的低成本計算機上,以節省大量的費用!

缺點:
1、開發成本較高
2、客戶端程序設計複雜
3、用戶界面風格不統一,使用複雜,不利於推廣使用
4、軟件移植困難
5、軟件維護和升級困難
6、新技術不能輕易應用

4、管道過濾器風格

優點:
1、使得軟構件具有良好的隱蔽性和高內聚、低耦合的特點
2、允許設計者將整個系統的輸入/輸出行爲看成是多個過濾器的行爲的簡單合成
3、支持軟件重用。只要提供適合在兩個過濾器之間傳遞的數據,任何連個過濾器都可以被連接起來
4、系統維護和增強系統性能簡單,新的過濾器可以增加到現有系統中來,舊的可以杯改進的過濾器替代掉
5、允許對一些如吞吐量、死鎖等屬性的分析
6、支持並行執行,每個過濾器是作爲一個單獨的任務完成,因此可以與其他任務並行執行

缺點:
1、通常導致進程成爲批處理的結構
2、不適合處理交互的應用
3、因爲在數據傳輸上沒有通用的標準,每個過濾器都增加了解析和分析數據的工作,這樣就導致了系統性能的下降,並增加了編寫過濾器的複雜性

5、OO風格

優點:
1、因爲對象對其他對象隱藏它的標識,所以可以改變一個對象的表示,而不影響其他的對象
2、設計者可將一些數據存取操作的問題分解成一些交互的代理程序集合

缺點:
1、爲了使一個對象和另外一個對象通過過程調用等進行交互,必須知道對象的標識。只要一個對象的標識改變了就必須修改所有其他明確調用它的對戲那個
2、必須修改所有顯式調用它的其他對象,並消除由此帶來的一些副作用

6、層次體系結構

優點:
1、支持基於抽象程度遞增的系統設計,使設計者可以把一個複雜系統按遞增的步驟進行分解
2、支持功能增強因爲每一層至多和相鄰的上下層交互,因此功能的改變最多影響相鄰的上下層
3、支持重用,只要提供的服務接口的定義不變,同一層的不同實現可以交換使用,這樣就可以定義一組標準的接口,而允許各種不同的實現方法

缺點:
1、並不是每個系統都可以很容易地劃分分層模式,甚至即使一個系統的邏輯結構是層次化的,處於對系統性能的考慮,系統設計師不得不把一些低級或高級的的功能綜合起來
2、很難找到一個合適的、正確的層次抽象方法

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章