软件工程期末复习8-软件体系结构与设计模式
1.軟件體系結構的概念
1.1 什么是軟件體系結構
 軟件體系結構既決定系統的框架和主題結構,又決定系統的基本功能及某些細節特征。具體來說,軟件體系結構是系統的一個或多個結構,包括以下幾部分:
 (1)軟件的組成元素(組件)。
 (2)這些(組件)元素的外部可見性。
 (3)這些元素(組件)之間的相互關系。
 1.2 軟件體系結構的建模
 研究軟件體系結構的首要問題是如何表示軟件體系結構,即如何對軟件體系結構建模。根據建模的側重點的不同,可以將軟件體系結構的模型分為5種:結構模型、框架模型、動態模型、過程模型和功能模型。在這5個模型中,最常用的是結構模型和動態模型。
 (1)結構模型
 這是一個最直觀、最普遍的建模方法。這種方法以體系結構的構件、連接件和其他概念來刻畫結構,并力圖通過結構來反映系統的重要語義內容,包括系統的配置、約束、隱含的假設條件、風格、性質。研究結構模型的核心是體系結構描述語言。
 (2)框架模型
 框架模型與結構模型類似,但它不太側重描述結構的細節而更側重于整體的結構。框架模型主要以一些特殊的問題為目標建立只針對和適應該問題的結構。
 (3)動態模型
 動態模型是對結構或框架模型的補充,研究系統的"大顆粒"的行為性質。例如,描述系統的重新配置或演化。動態可能指系統總體結構的配置、建立或拆除通信通道或計算的過程。這類系統常是激勵型的。
 (4)過程模型
 過程模型研究構造系統的步驟和過程。因而結構是遵循某些過程腳本的結果。
 (5)功能模型
 該模型認為體系結構是由一組功能構件按層次組成,下層向上層提供服務。它可以看作是一種特殊的框架模型。
 1.3 軟件體系結構的分層模型
 軟件體系結構的層次模型從低到高分別是計算機硬件層、軟件硬件層、基礎控制描述層、資源和管理調度層、應用層。
2. 典型的軟件體系結構風格
(1)數據流風格:批處理序列;管道/過濾器
 (2)調用/返回風格:主程序/子程序;面向對象風格;層次結構
 (3)獨立構件風格:進程通訊;事件系統
 (4)虛擬機風格:解釋器;基于規則的系統
 (5)倉庫風格:數據庫系統;超文本系統;黑板系統
3. 軟件質量屬性
質量屬性可以分為3類:系統屬性,商業屬性和構架屬性。
4. 分布式系統結構
4.1 多處理器體系結構
 系統同時運行許多進程,這些進程分布在不同的處理器上。可以極大地提高系統的性能。
 4.2 客戶端/服務器體系結構
 為解決傳統二層模式與應用需求日益突出的矛盾,以交易中間件為基礎框架的三層應用模式應運而生,三層結構以中間層管理大量的客戶端并為其聯接、集成多種異構的服務器平臺,通過有效的組織和管理,在極為寬廣的范圍內將客戶機與服務器進行高效組合。同時中間件開創的以負載平衡、動態伸縮等功能為代表的管理模式,已被廣泛證實為建立關鍵業務應用系統的最佳環境,使在二層模式下不可能實現的應用成為可能,并為應用提供了充分的擴展余地。這種模式的成功應用已為許多國際大型企業在應用的開發和部署方面節省了大量的時間和金錢。由此促使越來越多的系統開發商和用戶采用三層結構模式開發和實施其應用。
 三層客戶機/服務器模式的核心概念是利用中間件將應用的用戶界面、業務邏輯和數據邏輯分為三個不同的處理層。
 1. 表示層(用戶界面):它的主要功能是實現用戶交互和數據表示,為以后的處理收集數據,向第二層的業務邏輯請求調用核心服務處理,并顯示處理結果。這一層通常采用VB,PB,DELPHI等語言編寫,或采用瀏覽器實現
 2. 應用邏輯層(業務邏輯):實現整個應用系統核心業務邏輯,通常把業務邏輯劃分成一個個獨立的模塊,用中間件提供的API結合數據庫提供的編程接口實現。客戶端通過調用這些模塊實現相應的業務操作。
 3. 數據層(數據邏輯):數據庫負責管理整個應用系統的數據資源,完成數據操作。中間層上應用程序在處理客戶端的請求時,通常要存取數據庫。
 4.3 分布式對象體系結構
 4.4 對等端體系結構
 4.5 代理
5.體系結構框架
5.1 模型-視圖-控制器(MVC)
 V即View視圖是指用戶看到并與之交互的界面。比如由html元素組成的網頁界面,或者軟件的客戶端界面。MVC的好處之一在于它能為應用程序處理很多不同的視圖。在視圖中其實沒有真正的處理發生,它只是作為一種輸出數據并允許用戶操縱的方式。
 M即model模型是指模型表示業務規則。在MVC的三個部件中,模型擁有最多的處理任務。被模型返回的數據是中立的,模型與數據格式無關,這樣一個模型能為多個視圖提供數據,由于應用于模型的代碼只需寫一次就可以被多個視圖重用,所以減少了代碼的重復性。
 C即controller控制器是指控制器接受用戶的輸入并調用模型和視圖去完成用戶的需求,控制器本身不輸出任何東西和做任何處理。它只是接收請求并決定調用哪個模型構件去處理請求,然后再確定用哪個視圖來顯示返回的數據。
 5.2 模型-視圖-表示器(MVP)
 由于對View的操作放在了Presenter中,所以View和Presenter的交互會過于頻繁。如果Presenter過多地操作視圖,往往會使得它與特定的 View聯系過于緊密。一旦視圖需要改變,那么Presenter也需要改變。
 5.3 J2EE體系結構框架
 J2EE的核心體系結構就是在MVC框架的基礎上進行擴展得到的。J2EE模型是分層結構,中間是3層(表示層、業務層和集成層)包含應用的構件,客戶層和資源層處于應用的外圍。
 5.4 PCMEF框架
 表示-控制-中介-實體-基礎。
 PCMEF框架包含4層:表示層、控制層、領域層和基礎層。
 5.5 PCBMER框架
 表示-控制器-Bean-中介-實體-資源
6.軟件系統的設計模式
分為3種類型:創建型模式、結構型模型和行為型模型。
總結
以上是生活随笔為你收集整理的软件工程期末复习8-软件体系结构与设计模式的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 防飞溅装置(挡泥板)emark认证详解
- 下一篇: paper笔记 | 城市计算概述(郑宇)
