




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、清華大學出版社1清華大學出版社2內容提要內容提要p5.1 軟件體系結構風格概述軟件體系結構風格概述p5.2 軟件體系結構基本風格解析軟件體系結構基本風格解析l5.2.1管道-過濾器l5.2.2數據抽象與面向對象風格 l5.2.3基于事件的隱式調用風格l5.2.4 分層系統風格 l5.2.5 倉庫風格和黑板風格 l5.2.6 模型-視圖-控制器(MVC)風格l5.2.7 解釋器風格l5.2.8 C2風格 5.3 案例研究案例研究l5.3.1案例1:上下文關鍵字l5.3.2案例2:儀器軟件l5.3.3平臺層PaaS和應用程序層SaaS清華大學出版社3 5.4 客戶客戶/服務器風格服務器風格 5.5
2、 三層三層C/S結構風格結構風格l5.5.1三層三層C/S結構的優點結構的優點l5.5.2實例:某石油管理局勞動管理信息系統實例:某石油管理局勞動管理信息系統5.6 B/S風格風格5.7 C/S與與B/S混合結構風格混合結構風格5.8 正交軟件體系結構風格正交軟件體系結構風格 5.8.1正交軟件體系結構的概念正交軟件體系結構的概念 5.8.2正交軟件體系結構的優點正交軟件體系結構的優點 5.8.3正交軟件體系結構的實例正交軟件體系結構的實例5.9 基于層次消息總線的體系結構風格基于層次消息總線的體系結構風格 5.9.1構件模型構件模型 5.9.2構件接口構件接口 5.9.3消息總線消息總線 5
3、.9.4構件靜態結構構件靜態結構 5.9.5構件動態行為構件動態行為 5.9.6運行時刻的系統演化運行時刻的系統演化清華大學出版社4p5.10異構結構風格異構結構風格l5.10.1 使用異構結構的原因l5.10.2 異構體系結構的實例l5.10.3 異構組合匹配問題p5.11小結小結5.1 軟件體系結構風格概述軟件體系結構風格概述 軟件體系結構風格,是描述某一特定應用軟件體系結構風格,是描述某一特定應用領域中系統組織方式的慣用模式。體系結構風領域中系統組織方式的慣用模式。體系結構風格定義一個系統家族,即一個體系結構定義一格定義一個系統家族,即一個體系結構定義一個詞匯表和一組約束。詞匯表中包含了
4、一些構個詞匯表和一組約束。詞匯表中包含了一些構件和連接件類型,而這組約束指出系統是如何件和連接件類型,而這組約束指出系統是如何將這些構件和連接件組合起來的。體系結構風將這些構件和連接件組合起來的。體系結構風格,反映了領域中眾多系統所共有的結構和語格,反映了領域中眾多系統所共有的結構和語義特征,并指導如何將各個模塊和子系統有效義特征,并指導如何將各個模塊和子系統有效地組織成一個完整的系統。按這種方式理解,地組織成一個完整的系統。按這種方式理解,軟件體系結構風格定義了用于描述系統的術語軟件體系結構風格定義了用于描述系統的術語表和一組指導構建系統的規則。表和一組指導構建系統的規則。5.2 軟件體系結
5、構基本風格解析軟件體系結構基本風格解析5.2.1 管道管道-過濾器過濾器 適用于對有序數據進行一系列已經定義的相互計算適用于對有序數據進行一系列已經定義的相互計算的應用程序。管道過濾器模式下,每個功能模塊都有一的應用程序。管道過濾器模式下,每個功能模塊都有一組輸入和輸出。功能模塊從輸入集合讀入數據流,并在組輸入和輸出。功能模塊從輸入集合讀入數據流,并在輸出集合產生輸出數據流,即功能模塊對輸入數據流進輸出集合產生輸出數據流,即功能模塊對輸入數據流進行增量計算得到輸出數據流。管道過濾器模式下,功能行增量計算得到輸出數據流。管道過濾器模式下,功能模塊稱作過濾器(模塊稱作過濾器(filter);功能模
6、塊間的連接可以看作);功能模塊間的連接可以看作輸入、輸出數據流之間的通路,所以稱作管道(輸入、輸出數據流之間的通路,所以稱作管道(pipe)。)。圖圖5-1 管道管道過濾器風格的體系結構過濾器風格的體系結構 清華大學出版社8采用管道采用管道-過濾器模式建立的系統主要過濾器模式建立的系統主要有以下幾個優點:有以下幾個優點:p(1)由于每個構件的行為不受其他構件的影響,)由于每個構件的行為不受其他構件的影響,因此,整個系統的行為比較易于理解。因此,整個系統的行為比較易于理解。l設計者可以將系統抽象成一個“黑匣子”,其輸入是系統中第一個過濾器的輸入管道,輸出是系統中最后一個過濾器的輸出管道,而其內部
7、各功能模塊的具體實現對用戶完全透明。p(2)支持功能模塊的復用。任意兩個過濾器只)支持功能模塊的復用。任意兩個過濾器只要在相互的輸入、輸出管道格式上達成一致,就要在相互的輸入、輸出管道格式上達成一致,就可以連接在一起。可以連接在一起。l過濾器A和過濾器B只要對管道C中傳輸的數據格式達成一致就可以實現互連,其中過濾器A并不關心過濾器B如何處理管道C的內容,而過濾器B也不知道管道C的內容究竟是如何產生的,即在管道過濾器模式中,過濾器之間僅需很少的信息交換就可以完成互連。清華大學出版社9p(3)具有較強的可維護性與可擴展性。)具有較強的可維護性與可擴展性。可維護性體現在系統過濾器部件的更新或可維護性
8、體現在系統過濾器部件的更新或升級。升級。l由于技術改進等原因,過濾器A的實現發生了改變,采用新技術開發的過濾器D具有和A完全相同的輸入、輸出管道接口,這時可以直接將A替換為D,而無須對系統中的其他過濾器或管道進行任何修改。圖圖5-2 管道管道-過濾器支持功能模塊復用過濾器支持功能模塊復用圖圖5-3 管道管道-過濾器的可擴展性過濾器的可擴展性清華大學出版社11p (4)支持特殊的分析:如吞吐量計算和死)支持特殊的分析:如吞吐量計算和死鎖檢測等。利用管道鎖檢測等。利用管道-過濾器模式圖,可以很容過濾器模式圖,可以很容易地得到系統的資源使用與請求狀態圖,然后,易地得到系統的資源使用與請求狀態圖,然后
9、,根據操作系統原理等相關理論中的死鎖檢測方法根據操作系統原理等相關理論中的死鎖檢測方法就可以分析出系統目前所處的狀態,是否存在死就可以分析出系統目前所處的狀態,是否存在死鎖可能及如何消除死鎖等問題。鎖可能及如何消除死鎖等問題。p (5)支持并發執行。基于管道)支持并發執行。基于管道-過濾器模式過濾器模式的系統存在很多并行的過濾器,這樣的系統在實的系統存在很多并行的過濾器,這樣的系統在實際運行時,可以將存在并發可能的多個過濾器看際運行時,可以將存在并發可能的多個過濾器看作多個并發的任務并行執行,從而大大提高了系作多個并發的任務并行執行,從而大大提高了系統的整體效率,加快了處理速度。當然,在調度統
10、的整體效率,加快了處理速度。當然,在調度并行任務的時候,必須有相應的并行算法作基礎,并行任務的時候,必須有相應的并行算法作基礎,否則,可能導致系統功能的混亂。否則,可能導致系統功能的混亂。清華大學出版社125.2.2 數據抽象與面向對象風格數據抽象與面向對象風格 圖圖5-4 數據抽象與面向對象風格的體系結構數據抽象與面向對象風格的體系結構面向對象的系統有許多優點,并早已為人所知:面向對象的系統有許多優點,并早已為人所知: (1)因為對象對其他對象隱藏它的表示,所以可以改變一)因為對象對其他對象隱藏它的表示,所以可以改變一個對象的表示,而不影響其他的對象。個對象的表示,而不影響其他的對象。 (2
11、)設計者可將一些數據存取操作的問題,分解成一些交)設計者可將一些數據存取操作的問題,分解成一些交互的代理程序的集合。互的代理程序的集合。但是,面向對象的系統也存在著某些問題。但是,面向對象的系統也存在著某些問題。 (1)為了使一個對象和另一個對象通過過程調用等進行交)為了使一個對象和另一個對象通過過程調用等進行交互,必須知道對象的標識,只要一個對象的標識改變了,就必須修互,必須知道對象的標識,只要一個對象的標識改變了,就必須修改所有其他明確調用它的對象。改所有其他明確調用它的對象。 (2)必須修改所有顯式調用它的其他對象,并消除由此帶)必須修改所有顯式調用它的其他對象,并消除由此帶來的一些副作
12、用。例如,如果來的一些副作用。例如,如果A使用了對象使用了對象B,C也使用了對象也使用了對象B,那么那么C對對B的使用所造成的對的使用所造成的對A的影響,可能是預想不到的。的影響,可能是預想不到的。清華大學出版社145.2.3 基于事件的隱式調用風格基于事件的隱式調用風格p 基于事件的隱式調用風格的思想是構基于事件的隱式調用風格的思想是構件不直接調用一個過程,而是觸發或廣播件不直接調用一個過程,而是觸發或廣播一個或多個事件。系統中的其他構件中的一個或多個事件。系統中的其他構件中的過程在一個或多個事件中注冊,當一個事過程在一個或多個事件中注冊,當一個事件被觸發,系統自動調用在這個事件中注件被觸發
13、,系統自動調用在這個事件中注冊的所有過程,這樣,一個事件的觸發就冊的所有過程,這樣,一個事件的觸發就導致了另一模塊中的過程的調用。導致了另一模塊中的過程的調用。清華大學出版社15隱式調用系統的主要優點有以下兩點:隱式調用系統的主要優點有以下兩點:p為軟件重用提供了強大的支持。當需要將為軟件重用提供了強大的支持。當需要將一個構件加入現存系統時,只需將它注冊一個構件加入現存系統時,只需將它注冊到系統的事件中。到系統的事件中。p為改進系統帶來了方便。當用一個構件代為改進系統帶來了方便。當用一個構件代替另一個構件時,不會影響到其他構件的替另一個構件時,不會影響到其他構件的接口。接口。清華大學出版社16
14、隱式調用系統的主要缺點有以下幾方面隱式調用系統的主要缺點有以下幾方面:p 構件放棄了對系統計算的控制。一個構構件放棄了對系統計算的控制。一個構件觸發一個事件時不能確定其他構件是否會響件觸發一個事件時不能確定其他構件是否會響應它。而且即使它知道事件注冊了哪些構件的過應它。而且即使它知道事件注冊了哪些構件的過程,它也不能保證這些過程被調用的順序。程,它也不能保證這些過程被調用的順序。p 數據交換的問題。有時數據可被一個事數據交換的問題。有時數據可被一個事件傳遞,但在另一些情況下,基于事件的系統必件傳遞,但在另一些情況下,基于事件的系統必須依靠一個共享的倉庫進行交互。在這些情況下,須依靠一個共享的倉
15、庫進行交互。在這些情況下,全局性能和資源管理便成了問題。全局性能和資源管理便成了問題。p 既然過程的語義必須依賴于被觸發事既然過程的語義必須依賴于被觸發事件的上下文約束,關于正確性的推理就存在問題。件的上下文約束,關于正確性的推理就存在問題。清華大學出版社175.2.4分層系統風格分層系統風格p一個分層風格的系統按照層次結構組織,每一層一個分層風格的系統按照層次結構組織,每一層向它的上層提供服務,同時又是它的下層客戶;向它的上層提供服務,同時又是它的下層客戶;在某些系統中,除了鄰接的層,一個內部層次對在某些系統中,除了鄰接的層,一個內部層次對于其他外部層次是隱藏的,對體系結構的約束包于其他外部
16、層次是隱藏的,對體系結構的約束包括把系統內的交互限制在鄰接層次之間。交互只括把系統內的交互限制在鄰接層次之間。交互只在相鄰的層間發生;同時,這些交互按照一定協在相鄰的層間發生;同時,這些交互按照一定協議進行。議進行。l連接件可以用層次間的交互協議來定義。每個獨立層都要防止較高層直接訪問較低層。l每一層次是由不同的部件構成的實體集合。層內的部件可以交互。p相鄰層的部件可直接從上向下調用,還可以設計相鄰層的部件可直接從上向下調用,還可以設計統一的層調用接口對層進行保護。統一的層調用接口對層進行保護。圖圖5-5 分層模型分層模型清華大學出版社195.2.5倉庫風格和黑板風格倉庫風格和黑板風格p 倉庫
17、風格的體系結構由兩個構件組成:一倉庫風格的體系結構由兩個構件組成:一個中央數據結構,它表示當前狀態;一個獨立構個中央數據結構,它表示當前狀態;一個獨立構件的集合,它對中央數據結構進行操作。對于系件的集合,它對中央數據結構進行操作。對于系統中數據和狀態的控制方法有兩種:一個傳統的統中數據和狀態的控制方法有兩種:一個傳統的方法是,由輸入事務選擇進行何種處理,并把執方法是,由輸入事務選擇進行何種處理,并把執行結果作為當前狀態存儲到中央數據結構中,這行結果作為當前狀態存儲到中央數據結構中,這時,倉庫是一個傳統的數據庫體系結構;另一種時,倉庫是一個傳統的數據庫體系結構;另一種方法是,由中央數據結構的當前
18、狀態決定進行何方法是,由中央數據結構的當前狀態決定進行何種處理。這時,倉庫是一個黑板體系結構。即黑種處理。這時,倉庫是一個黑板體系結構。即黑板體系結構是倉庫體系結構的特殊化。板體系結構是倉庫體系結構的特殊化。清華大學出版社20p(1)適應的設計問題)適應的設計問題p(2)解決方案)解決方案p “黑板黑板”模式類似于這樣一個情形,即讓專家們坐模式類似于這樣一個情形,即讓專家們坐在真實黑板前并一起工作來解決一個問題。每個專家獨在真實黑板前并一起工作來解決一個問題。每個專家獨立評估解法的當前狀態,并可在任何時間到黑板上添加、立評估解法的當前狀態,并可在任何時間到黑板上添加、更改或刪除信息。人們往往要
19、決定接下來誰去訪問黑板。更改或刪除信息。人們往往要決定接下來誰去訪問黑板。在黑板模式中,如果可用的組件超過一個,仲裁者在黑板模式中,如果可用的組件超過一個,仲裁者(moderator)組件決定程序執行的順序。)組件決定程序執行的順序。圖圖5-6 黑板風格的體系結構黑板風格的體系結構清華大學出版社22 從圖從圖5-6中不難看出,一個標準的黑板中不難看出,一個標準的黑板型倉庫模式系統通常包括型倉庫模式系統通常包括3個組成部分:個組成部分: (1)知識源:)知識源: (2)中央數據單元:)中央數據單元: (3)控制單元:)控制單元:清華大學出版社23黑板風格的體系結構的優點有:黑板風格的體系結構的優
20、點有:p 便于多客戶共享大量數據,它們不用關心便于多客戶共享大量數據,它們不用關心數據是何時出現的、誰提供的、怎樣提供的。數據是何時出現的、誰提供的、怎樣提供的。 p 既便于添加新的作為知識源代理的應用程既便于添加新的作為知識源代理的應用程序,也便于擴展共享的黑板數據結構。序,也便于擴展共享的黑板數據結構。p 可重用的知識源。可重用的知識源。l知識源是某類任務的獨立專家。l黑板體系結構有助于使它們可重用。重用的先決條件是知識源和所基于的黑板系統理解相同的協議和數據,或者在這方面相當接近而不排斥協議或數據的自適應程序。p 支持容錯性和健壯性。支持容錯性和健壯性。l在黑板體系結構中,所有的結果都只
21、是假設。l只有那些被數據和其他假設強烈支持的才能生存。這提供了對噪聲數據和不確定結論的容忍。清華大學出版社24黑板風格的體系結構的缺點有:黑板風格的體系結構的缺點有:p 不同的知識源代理對于共享數據結構要達不同的知識源代理對于共享數據結構要達成一致,而且,這也造成對黑板數據結構的修成一致,而且,這也造成對黑板數據結構的修改較為困難。改較為困難。p 需要一定的同步鎖機制保證數據結構的完需要一定的同步鎖機制保證數據結構的完整性和一致性,增大了系統復雜度。整性和一致性,增大了系統復雜度。p 測試困難。由于黑板系統的計算沒有依據測試困難。由于黑板系統的計算沒有依據一個確定的算法,所以其結果常常不可再現
22、。一個確定的算法,所以其結果常常不可再現。此外,錯誤假設也是求解過程的一部分。此外,錯誤假設也是求解過程的一部分。p 不能保證有好的求解方案。不能保證有好的求解方案。l一個黑板系統往往只能正確解決所給任務的某一百分比。l難以建立一個好的控制策略。l控制策略不能以一種直接方式設計,而需要一種試驗的方法。清華大學出版社25p低效。低效。l黑板系統在拒絕錯誤假設中要承受多余的計算開銷。l但是,如果沒有確定的算法存在,那么與根本不存在的系統相比,低效總比沒有強。p開發成本高。開發成本高。l絕大多數黑板系統要花幾年時間來進化。l我們把這歸因于病態結構問題。5.2.6 模型模型-視圖視圖-控制器(控制器(
23、MVC)風格)風格1. MVC模式模式 MVC由由Trygve Reenskaug提出,首先被應用在提出,首先被應用在SmallTalk-80環境中,是許多交互和界面系統的構成基礎。環境中,是許多交互和界面系統的構成基礎。MVC結構是為那些需要為同樣的數據提供多個視圖的應結構是為那些需要為同樣的數據提供多個視圖的應用程序而設計的,它很好地實現了數據層與表示層的分離。用程序而設計的,它很好地實現了數據層與表示層的分離。作為一種開發模型,作為一種開發模型,MVC通常用于分布式應用系統的設通常用于分布式應用系統的設計和分析中,以及用于確定系統各部分間的組織關系。對計和分析中,以及用于確定系統各部分間
24、的組織關系。對于界面設計可變性的需求,于界面設計可變性的需求,MVC(ModelViewController)把交互系統的組成分解成模)把交互系統的組成分解成模型、視圖、控制器三種部件。型、視圖、控制器三種部件。清華大學出版社27p2. MVC中的模型、視圖和控制類中的模型、視圖和控制類p MVC中的模型、視圖和控制類如圖中的模型、視圖和控制類如圖5-7所示。所示。p (1)模型類)模型類p (2)視圖類)視圖類p (3)控制類)控制類清華大學出版社28模型類模型類數據結構關系數據結構關系變化變化-傳播注冊關系傳播注冊關系內部數據和邏輯計算內部數據和邏輯計算向視圖和控制器通知數據變化向視圖和控
25、制器通知數據變化(a)視圖類視圖類顯示形式顯示形式顯示模式控制顯示模式控制從模型獲得數據視圖從模型獲得數據視圖更新操作更新操作(b)控制類控制類狀態狀態事件控制事件控制控制視圖更新控制視圖更新(c)清華大學出版社29p3.MVC的實現的實現p 實現基于實現基于MVC的應用需要完成以下工作,如圖的應用需要完成以下工作,如圖5-8所示:所示:圖圖5-8 MVC的實現的實現清華大學出版社30p(1)分析應用問題,對系統進行分離)分析應用問題,對系統進行分離p(2)設計和實現每個視圖)設計和實現每個視圖p(3)設計和實現每個控制器)設計和實現每個控制器p(4)使用可安裝和卸載的控制器)使用可安裝和卸載
26、的控制器5.2.7解釋器風格解釋器風格p 解釋器風格通常被用于建立一種虛擬機以解釋器風格通常被用于建立一種虛擬機以彌合程序的語義與作為計算引擎的硬件的間隙。彌合程序的語義與作為計算引擎的硬件的間隙。由于解釋器實際上創建了一個軟件虛擬出來的由于解釋器實際上創建了一個軟件虛擬出來的機器,所以這種風格又常常被稱為虛擬機風格。機器,所以這種風格又常常被稱為虛擬機風格。l(例如:程序設計語言的編譯器,比如Java、Smalltalk等;基于規則的系統,比如專家系統領域的Prolog等;腳本語言,比如Awk、Perl等。)清華大學出版社32圖圖5-9 解釋器風格的體系結構解釋器風格的體系結構清華大學出版社
27、33p解釋器風格的優點如下:解釋器風格的優點如下:p 有助于應用程序的可移植性與程序有助于應用程序的可移植性與程序設計語言的跨平臺能力;可以對未實現的設計語言的跨平臺能力;可以對未實現的硬件進行仿真。硬件進行仿真。p解釋器風格的缺點,解釋器風格的缺點,p 是額外的間接層次帶來的系統性能的是額外的間接層次帶來的系統性能的下降。下降。5.2.8C2風格風格 C2體系結構風格可以概括為通過連接件綁定在體系結構風格可以概括為通過連接件綁定在一起的、按照一組規則運作的并行構件網絡。一起的、按照一組規則運作的并行構件網絡。圖圖5-10 C2風格的體系結構風格的體系結構清華大學出版社35p C2風格,是最常
28、用的一種軟件體風格,是最常用的一種軟件體系結構風格。從系結構風格。從C2風格的組織規則和風格的組織規則和結構圖中可以得出,結構圖中可以得出,C2風格具有以下風格具有以下特點:特點: 系統中的構件可實現應用需求,并能將任意復系統中的構件可實現應用需求,并能將任意復雜度的功能封裝在一起。雜度的功能封裝在一起。p 所有構件之間的通信是通過以連接件為中介的所有構件之間的通信是通過以連接件為中介的異步消息交換機制來實現的。異步消息交換機制來實現的。p 構件相對獨立,構件之間依賴性較少。系統中構件相對獨立,構件之間依賴性較少。系統中不存在某些構件將在同一地址空間內執行,或某些不存在某些構件將在同一地址空間
29、內執行,或某些構件共享特定控制線程之類的相關性假設。構件共享特定控制線程之類的相關性假設。清華大學出版社365.3 案例研究案例研究p5.3.1案例案例1:上下文關鍵字:上下文關鍵字p (a)解決方案)解決方案1:使用共享數據的主程序:使用共享數據的主程序子程序子程序圖圖5-11 KWIC:共享數據解決方案:共享數據解決方案清華大學出版社37p(b)解決方案)解決方案2:抽象數據類型:抽象數據類型清華大學出版社38p(c)解決方案)解決方案3:隱式調用:隱式調用p(d)解決方案)解決方案4:管道過濾器:管道過濾器 圖圖5-14 KWIC:管道過濾器方案:管道過濾器方案清華大學出版社39(e)各
30、種方案的比較)各種方案的比較共享共享數據數據抽象數據抽象數據類型類型隱式隱式調用調用管道過管道過濾器濾器算法變更算法變更-+數據表示數據表示變更變更-+-功能變更功能變更+-+性能性能+-重用重用+-+清華大學出版社405.3.2案例案例2:儀器軟件:儀器軟件p1. 面向對象模型面向對象模型圖圖5-16 示波器:面向對象模型示波器:面向對象模型清華大學出版社41p2. 分層模型分層模型圖圖5-17 示波器分層模型示波器分層模型3.管道過濾器模型管道過濾器模型圖圖5-18 一個管道過濾器模型一個管道過濾器模型清華大學出版社43p4. 改進后的管道過濾器模型改進后的管道過濾器模型圖圖5-19示波器
31、:改造后的管道過濾器模型示波器:改造后的管道過濾器模型清華大學出版社445.4 客戶客戶/服務器風格服務器風格p 客戶客戶/服務器(服務器(Client/Server,C/S)計算技術在信息產業)計算技術在信息產業中占有重要的地位。網絡計算經歷了從基于宿主機的計算模型到客戶中占有重要的地位。網絡計算經歷了從基于宿主機的計算模型到客戶/服務器計算模型的演變服務器計算模型的演變。圖圖5-20 C/S體系結構示意圖體系結構示意圖清華大學出版社455.5 三層三層C/S結構風格結構風格p C/S體系結構具有強大的數據操作與事務處理能力,體系結構具有強大的數據操作與事務處理能力,模型思想簡單,易于人們理
32、解和接受,但隨著企業規模的模型思想簡單,易于人們理解和接受,但隨著企業規模的日益擴大,軟件的復雜程度不斷提高,傳統的二層日益擴大,軟件的復雜程度不斷提高,傳統的二層C/S結結構存在諸多局限,三層構存在諸多局限,三層C/S體系結構應運而生。其結構如體系結構應運而生。其結構如圖圖5-21所示。所示。圖圖5-21 三層三層C/S結構示意圖結構示意圖圖圖5-22 三層三層C/S結構的一般處理流程結構的一般處理流程清華大學出版社47p1. 表示層表示層 2. 功能層功能層 3. 數據層數據層圖圖5-23 三層三層C/S物理結構比較物理結構比較清華大學出版社485.6 B/S風格風格p B/S軟件體系結構
33、,即軟件體系結構,即Browser/Server(瀏覽器(瀏覽器/服務器)結構,服務器)結構,是隨著是隨著Internet技術的興起,對技術的興起,對C/S體系結構體系結構進行改進后一種結構。在進行改進后一種結構。在B/S體系結構下,用戶體系結構下,用戶界面完全通過界面完全通過WWW瀏覽器實現,部分事務邏瀏覽器實現,部分事務邏輯在前端實現,但是主要事務邏輯在服務器端實輯在前端實現,但是主要事務邏輯在服務器端實現。它利用瀏覽器技術,結合瀏覽器的多種腳本現。它利用瀏覽器技術,結合瀏覽器的多種腳本語言并通過瀏覽器就實現了原來需要復雜的專用語言并通過瀏覽器就實現了原來需要復雜的專用軟件才能實現的強大功
34、能,是一種全新的軟件體軟件才能實現的強大功能,是一種全新的軟件體系結構。系結構。B/S軟件體系結構圖如圖軟件體系結構圖如圖5-27所示。所示。圖圖5-27 瀏覽器服務器體系結構圖瀏覽器服務器體系結構圖清華大學出版社50p B/S與與C/S混合軟件體系結構是一混合軟件體系結構是一種典型的異構體系結構。種典型的異構體系結構。B/S軟件體系結軟件體系結構,即構,即Browser/Server(瀏覽器(瀏覽器/服服務器)結構,是隨著務器)結構,是隨著Internet技術的興技術的興起,對起,對C/S體系結構的一種變化或者改進體系結構的一種變化或者改進的結構。在的結構。在B/S體系結構下,用戶界面完體系
35、結構下,用戶界面完全通過全通過WWW瀏覽器實現,部分事務邏瀏覽器實現,部分事務邏輯在前端實現,但是主要事務邏輯在服務輯在前端實現,但是主要事務邏輯在服務器端實現。器端實現。5.7 C/S與與B/S混合結構風格混合結構風格清華大學出版社515.8 正交軟件體系結構風格正交軟件體系結構風格p5.8.1 正交軟件體系結構的概念正交軟件體系結構的概念p 正交(正交(orthogonal)軟件體系結構,由組)軟件體系結構,由組織層和線索的構件構成。層是由一組具有相同抽織層和線索的構件構成。層是由一組具有相同抽象級別的構件構成的。線索是子系統的特例,它象級別的構件構成的。線索是子系統的特例,它由完成不同層
36、次功能的構件組成(通過相互調用由完成不同層次功能的構件組成(通過相互調用來關聯),每一條線索完成整個系統中相對獨立來關聯),每一條線索完成整個系統中相對獨立的一部分功能。每一條線索的實現與其他線索的的一部分功能。每一條線索的實現與其他線索的實現無關或關聯很少,在同一層中的構件之間是實現無關或關聯很少,在同一層中的構件之間是不存在相互調用的。不存在相互調用的。清華大學出版社52p正交軟件體系結構的主要特征如下:正交軟件體系結構的主要特征如下:p(1)正交軟件體系結構由完成不同功能的)正交軟件體系結構由完成不同功能的n(n1)個線索(子系統)組成。)個線索(子系統)組成。p(2)系統具有)系統具有
37、m(m1)個不同抽象級別的)個不同抽象級別的層。層。p(3)線索之間是相互獨立的(正交的)。)線索之間是相互獨立的(正交的)。p(4)系統有一個公共驅動層(一般為最高層,)系統有一個公共驅動層(一般為最高層,和公共數據結構(一般為最低層)。和公共數據結構(一般為最低層)。清華大學出版社53p圖圖5-28 正交軟件體系結構框架正交軟件體系結構框架清華大學出版社54p5.8.2正交軟件體系結構的優點正交軟件體系結構的優點p(1)結構清晰,易于理解。)結構清晰,易于理解。 p(2)易修改,可維護性強。)易修改,可維護性強。 p(3)可移植性強,重用粒度大。)可移植性強,重用粒度大。p p5.8.3正
38、交軟件體系結構的實例正交軟件體系結構的實例清華大學出版社555.9基于層次消息總線的體系結構風格基于層次消息總線的體系結構風格圖圖5-33 HMB風格的系統示意圖風格的系統示意圖清華大學出版社56p5.9.1構件模型構件模型圖圖5-34 HMB風格的構件模型風格的構件模型清華大學出版社57p5.9.2構件接口構件接口p5.9.3消息總線消息總線圖圖5-35 消息總線的結構消息總線的結構清華大學出版社58p5.9.4構件靜態結構構件靜態結構圖圖5-36 系統復合構件的靜態結構示意圍系統復合構件的靜態結構示意圍清華大學出版社59p5.9.5構件動態行為構件動態行為p5.9.6運行時刻的系統演化運行時刻的系統演化p(1)動態增加或刪除構件)動態增加或刪除構件p(2)動態改變構件響應的消息類型)動態改變構件響應的消息類型p(3)消息過濾)消息過濾清華大學出版社605.10異構結構風格異構結構風格p5.10.1 使用異構結構的原因使用異構結構的原因 p 前面介紹和討論了一些所謂的前面介紹和討論了一些所謂的“純純
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 任丘素質拓展活動方案
- 企業學雷鋒活動方案
- 仿生設計活動方案
- 企業互助活動方案
- 企業黨內活動方案
- 企業公益瑜伽活動方案
- 江西省贛州市章貢區2022-2023學年五年級下學期數學素質評價試卷(含答案)
- 企業員工國慶活動方案
- 企業困難活動方案
- 企業安全培訓活動方案
- 法律文書寫作能力測試題庫及解答分析
- 2025合作合同范本:兩人合伙協議書模板
- DB31/T 595-2021冷庫單位產品能源消耗指標
- 2025年計算機Photoshop操作實務的試題及答案
- 2024-2030全球WiFi 6移動熱點行業調研及趨勢分析報告
- 2025年廣東省廣州市越秀區中考物理一模試卷(含答案)
- 中醫針灸治療腦梗塞后遺癥的應用實踐
- 2025年高等數學期末考試試題及答案
- 2024中國國新基金管理有限公司相關崗位招聘7人筆試參考題庫附帶答案詳解
- 人體解剖學題庫(含答案)
- 2025年浙江省新能源投資集團股份有限公司招聘筆試參考題庫附帶答案詳解
評論
0/150
提交評論