




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第一部分.概述一般認為,一個軟件系統的體系結構定義了組成該系統的計算構件和構件之間的相 互作用關系。可以用一個三元組來描述軟件系統結構:SA = 構件 (components), 連接件 (connectors), 約束 (constraints) 。其中, components 是組件的集合,它們提供了一個系統所需的基本功能和操作, 構成了一個系統的基本框架; connectors 是連接件的集合, 表示兩個或兩個以上組件之 間的交互方式,定義了組件交互的規則并且也給出了一些實現機制,如協議(連接的交 互特性)、數據模式(通信過程中交換的數據類型) ; constraints 包括了組件和連
2、接件 的使用、選擇及其互連的限制等。連接件是比較抽象的,往往體現為組件與組件之間的 接口規范,可能最終是由互相連接的組件各自實現一部分。在一個大規模軟件系統的開發中,必須從一個較高的層次來考慮組成系統的構件、 構件之間的交互方式(連接件) ,以及由構件與構件交互形成的拓撲結構。這些要素應 該滿足一定的限制,遵循一定的設計規則,能夠在一定的環境下進行演化。而且,軟件 體系結構能反映系統開發中具有重要影響的設計決策,便于各種人員的交流,反映多種 關注,并據此開發的系統能夠完成既定的功能和性能需求。軟件系統結構可以描述軟件的不同抽象層次。 軟件的設計過程是體系結構的逐步細 化過程。軟件體系結構的構建
3、風格 管道 - 過濾器風格在管道 - 過濾器風格下,每個功能模塊都有一組輸入和輸出。功能模塊稱作過濾器 ( filters );功能模塊間的連接可以看作輸入、輸出數據流之間的通路,所以稱作 管道( pipes )。管道 -過濾器風格的特性之一在于過濾器的相對獨立性,即過濾器獨立完成自身功能,相互之間無需進行狀態交互。過濾器是獨立運行的構件,非臨近的過濾器之間不共享狀態,過濾器自身無狀態 過濾器對其處理上下連接的過濾器“無知” ,對相鄰的過濾器不施加任何限制結果的正確性不依賴于各個過濾器運行的先后次序,各過濾器在輸入具備后完成 自己的計算,完整的計算包含在過濾器的拓撲結構中。一個管道 - 過濾器
4、風格的示意圖如下圖所示:一個采用了嵌套的管道過濾器的系統示例:System Simple: PipeFilter管道-過濾器風格優點:設計者可以將整個系統的輸入、輸出特性簡單的理解為各個過濾器功能的合成。設計人員將整個系統的輸入輸出行為理解為單個過濾器行為的疊加與組合。這樣可以將問題分解,化繁為簡。將系統抽象成一個“黑箱”,其輸入是系統中第一個過濾器的輸入管道,輸出是系統中最后一個過濾器的輸出管道,而其內部各功能模塊的具體實現對用戶完全透明。管道-過濾器風格支持功能模塊的復用任何兩個過濾器,只要它們之間傳送的數據遵守共同的規約,就可以相連接。每個過濾器都有自己獨立的輸入輸出接口,如果過濾器間傳
5、輸的數據遵守其規約,只要用管道將它們連接就可以正常工作。基于管道-過濾器風格的系統具有較強的可維護性和可擴展性。舊的過濾器可以被替代,新的過濾器可以添加到已有的系統上。軟件的易于維護和升級是衡量軟件系統質量的重要指 標之一,在管道-過濾器模型中,只要遵守輸入輸出數據規約,任何一個過濾器都可以被另 一個新的過濾器代替,同時為增強程序功能,可以添加新的過濾器。這樣,系統的可維護性和可升級性得到了保證。支持一些特定的分析, 如吞吐量計算和死鎖檢測等。利用管道-過濾器風格的視圖, 可以很容易的得到系統的資源使用和請求的狀態圖。然后,根據操作系統原理等相關理論中的死鎖檢測方法就可以分析出系統目前所處的狀
6、態,是否存在死鎖可能及如何消除死鎖等問題。管道-過濾器風格具有并發性每個過濾器作為一個單獨的執行任務,可以與其它過濾器并發執行。過濾器的執行是獨立的,不依賴于其它過濾器的。在實際運行時,可以將存在并 發可能的多個過濾器看作多個并發的任務并行執行,從而大大提高系統的整體效率,加快處理速度 管道-過濾器風格不足:交互式處理能力弱。管道 -過濾器模型適于數據流的處理和變換,不適合為與用戶交互頻繁的系統建模。在這種模型中,每個過濾器都有自己的數據,這些數據 或者是從磁盤存儲器中讀取來,或者是由另一個過濾器的輸出導入進來,整個系統 沒有一個共享的數據區。這樣,當用戶要操作某一項數據時,要涉及到多個過濾器
7、 對相應數據的操作,其實現較為復雜。由以上的缺點,可以對每個過濾器增加相應 的用戶控制接口,使得外部可以對過濾器的執行進行控制。管道-過濾器風格往往導致系統處理過程的成批操作。設計者也許不得不花費精力協調兩個相對獨立但又存在某種關系的數據流之間的關系,例如多過濾器并發執行時數據流之間的同步問題等。根據實際設計的需要,設計者也需要對數據傳輸進行特定的處理(如為了防止數據泄漏而采取加密等手段)導致過濾器必須對輸入、輸出管道中的數據流進行解析或反解析,增加了過濾器具 體實現的復雜性 面向對象風格特征概述面相對象模式集數據抽象、抽象數據類型、類繼承為一體,使軟件工程公認 的模塊化、信息隱藏、抽象、重用
8、性等原則在面向對象風格下得以充分實現。應用場合面向對象的體系結構模式適用于數據和功能分離的系統中,同樣也適合于問題域模型比較明顯,或需要人機交互界面的系統。大多數應用事件驅動風格 的系統也常常應用了面向對象風格。面向對象風格的體系結構圖面向對象風格優點:高度模塊性,封裝功能,代碼共享,靈活性,易維護性,可擴充性面向對象風格不足:面向對象風格最大的不足在于如果一個對象需要調用另一個對象,它就必須知道那個對 象的標識(對象名或對象引用),這樣就無形之中增強了對象之間的依賴關系。如果一個對 象改變了自己的標識, 就必須通知系統中所有和它有調用關系的對象,否則系統就無法正常運行。 層次系統風格層次系統
9、組織成一個層次結構,每一層為上層服務, 并作為下層客戶。 在一些層次系統中,除了一些精心挑選的輸出函數外,內部的層只對相鄰的層可見。這樣的系統中構件在一些層實現了虛擬機(在另一些層次系統中層是部分不透明的)。連接件通過決定層間如何交互的協議來定義,拓撲約束包括對相鄰層間交互的約束。這種風格支持基于可增加抽象層的設計。這樣,允許將一個復雜問題分解成一個增量步驟序列的實現。由于每一層最多只影響兩層,同時只要給相鄰層提供相同的接口,允許每層用不同的方法實現,同樣為軟件重用提供了強大的支持。分層風格具有一些系統設計者無法抗拒的優勢:分層風格支持系統設計過程中的逐級抽象,基于分層風格的系統具有較好的可擴
10、展性 分層風格支持軟件復用分層風格不足:并不是所有的系統都適合用分層風格來描述的,對于抽象出來的功能具體應該放在哪個 層次上也是設計者頭疼的一個問題 解釋器風格基于解釋器風格的系統核心在于虛擬機。一個基于解釋器風格的系統通常包括:正在被解釋執行的偽碼和解釋引擎; 偽碼:由需要被解釋執行的源代碼和解釋引擎分析所得的中間代碼組成; 解釋引擎包括:語法解釋器和解釋器當前的運行狀態解釋器風格示意圖如下圖所示:解釋后的代碼output解釋引擎數據訪問工作解釋引擎 內部狀態in put待解釋的源代碼解釋工作解釋器風格優點:在文法規則比較簡單的情況下,解釋器風格工作的很好;易于改變和擴展文法。因為解釋器風格
11、使用類來表示文法規則,用戶可以使用繼承來改變和擴展文法。已有的表 達式可以采用增量的方式逐漸擴充,而新的表達式可以定義為舊表達式的變體;易于實現文法。可以用多種操作來“解釋”一個句子。解釋器風格缺點:無法解釋復雜的文法規則:對于比較簡單的文法規則,解釋器風格工作的很好,而對于復雜的文法規則,則由于文法層次的龐大而難于管理;應用范圍比較狹窄;在文法規則比較復雜,則文法的層次變得無法管理,系統中需要包含許多表示文法規則的類。 反饋控制環風格控制工程是一個十分強調方法論的專業領域,因此控制工程方法完全是獨立于各種應用領域的。為了將過程控制方法從單純的控制領域中抽象出來,我們引入了動態系統的概念。 動
12、態系統表示信號處理和傳輸的一個功能單元(例如:信號可以是能量、材料、 信息、資金及其他形式),其中系統的起因和由此引起的時間上的效果分別作為系統的 輸入量和輸出量來考慮。如此定義的系統具有共同的特征,即在其中一定存在有目標的作用、信息處理、 閉環和開環控制過程, 正如N.Wiener所提出的,以上概念可以用控制論這個更高級的 概念來總結。控制論也可以應用于軟件體系結構的創建。根據上述的動態系統的定義,在系統中必然存在信號的處理和傳輸。這時系統 也可描述為傳輸環節或傳輸系統。傳輸環節具有唯一的作用方向,這由輸入、輸出信號的箭頭方向給出。單變量系統如下圖所示g X旦輸出量A動態系統多變量系統如下圖
13、所示:輸入量1輸入量2輸出量1A補動態系統輸出量2輸入量3”輸出量3除了用方框圖來表達動態系統以外,還可以用信號流圖,如下圖所示:UGYUYG節點支路節點1WEUWEGiUGI一k -r1L J°、-G2_/GH/Gi:ZUWEIZW、G1.1h -1UJ、嚴 2 /GL一般的動態系統描述框圖可以分為開環控制和閉環控制系統,但在實際應用中這兩種不 同的動態系統往往很容易混淆在一起,對它們之間的區別強調的不夠。現在通過一個市內暖氣系統來指出這兩者之間的不同和相同之處。開環控制圖如下圖所示:閉環控制圖如下圖所示:輸入量+負反饋開環控制和閉環控制的差別:閉環控制:表示一個閉合的作用過程,(
14、控制回環);根據閉環作用原理可增加抗干擾性(負反饋);可能不穩定,也即被控量不再衰減,而是增長到無窮大(理論上) 開環控制表示一個開放的作用過程(控制序列);只能對抗指定由其處理的干擾,對于其他一些干擾因素無法消除; 只要被控制對象自己保持穩定,整個開環控制系統也就保持穩定。反饋控制環風格基本結構以閉環控制系統為例分析過程控制環的基本結構;一個自動控制系統包括如下 4個主要組成部分:被控對象、測量環節、調節器和執 行環節,如下圖所示:反饋控制環風格-自適應反饋控制環 直接法模型如下圖所示:間接法模型如下圖所示 倉庫風格 在倉庫風格中,有兩種不同的構件:中央數據結構說明當前狀態,獨立構件在中央數
15、 據存貯上執行,倉庫與外構件間的相互作用在系統中會有大的變化。控制原則的選取產生兩個主要的子類。 若輸入流中某類時間觸發進程執行的選擇, 則 倉庫是一傳統型數據庫 ;另一方面,若中央數據結構的當前狀態觸發進程執行的選擇,則倉 庫是一黑板系統。黑板系統的組成:(1) 知識源。知識源中包含獨立的、與應用程序相關的知識,知識源之間不直接進行 通訊,它們之間的交互只通過黑板來完成。(2) 黑板數據結構。黑板數據是按照與應用程序相關的層次來組織的解決問題的數據, 知識源通過不斷地改變黑板數據來解決問題。(3) 控制。控制完全由黑板的狀態驅動,黑板狀態的改變決定使用的特定知識。三總結 軟件體系結構風格為大
16、粒度的軟件重用提供了可能。然而 , 對于應用體系結構風格來 說, 由于視點的不同 , 系統設計師有很大的選擇空間。要為系統選擇或設計某一個體系結構 風格, 必須根據特定項目的具體特點 , 進行分析比較后再確定 , 體系結構風格的使用幾乎完 全是特化的。在本文中 ,我們只講述了“ 純” 的體系結構。但是 , 從上面的介紹中 ,我們知道 , 不同的結構有不同的處理能力的強項和弱點 , 一個系統的體系結構應該根據實際需要進行 選擇, 以解決實際問題。第二部分分層風格實例:計算機網絡的設計網絡協議設計者將計算機網絡中的各個部分按其功能劃分為若干個層次(Layer),其中的每一個層次都可以看成是一個相對
17、獨立的黑箱、一個封閉的系統。用戶只關心每一層的外部特性,只需要定義每一層的輸入、數據處理和輸出等外部特性。ISO/OSI網絡體系結構ISO/OSI采用了 7層體系結構,從高到低分別是:應用層、表示層、會話層、傳輸層、 網絡層、數據鏈路層和物理層,如圖所示。其最高層為第 7層應用層,用于同應用服務之間交換數據;最低層為第1層物理層,用于連接物理傳輸介質實現真正的數據通信。層與層之間的聯系是通過各層之間的接口來實現的,上層通過接口向下層提出服務請求,而下層通過接口向上層提供服務。兩臺計算機通過網絡進行通信時,只有兩物理層之間能夠通過媒體進行真正的數據通信,其余各對等層之間均不存在直接的通信關系,各
18、對等層之間只能通過各對等層的協議來進行虛擬通信。應用控制項(資源子網)傳輸介質接口通訊控制項(通訊子網)第1層是物理層(Physical Layer ),它負責在物理信道上傳輸原始的數據bit流。它應該提供為建立、維護和拆除物理鏈路連接所需的機械的、電氣的、功能和規程的特性,第2層是數據鏈路層(Data Link Layer),它的主要功能是糾錯和流量控制,負責 在可能出現差錯的物理線路中實現無差錯的數據傳送。它應該在物理層的基礎上,建立相鄰結點之間的數據鏈路,通過差錯控制提供數據幀(Frame)的無差錯傳輸,并進行數據流量控制。第 3 層是網絡層( Network Layer ),它的主要功能是路由控制(找路) 、擁塞控制和 數據打包。 它應該為其上一層傳輸層的數據傳輸提供建立、 維護和終止網絡連接的手段, 把 上層傳來的數據分割成一個一個的數據包(Packet ,也叫報文分組) 在結點之間進行交換傳送,并且負責路由控制和擁塞控制。第 4 層是傳輸層( Transport Layer ),它的主要功能是在上層和下層之間起到一種 接口的功能。它應該為上層提供端到端(最終用戶到最終用戶) 、的透明的、可靠的數據傳 輸服務。所謂透明的傳輸是指在通信過程中上層可以將下面各層看作是一個封閉的黑箱系統, 傳輸
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 客服培訓班管理制度
- 宰殺廠刀具管理制度
- 家庭公司化管理制度
- 庫房蟲鼠害管理制度
- 引流產藥物管理制度
- 影像科感染管理制度
- 德魯克時間管理制度
- 快遞員薪酬管理制度
- 快餐店衛生管理制度
- 總公司印鑒管理制度
- 2024年金華市中考數學試卷
- DB13(J) 8457-2022 海綿城市雨水控制與利用工程設計規范
- 人教版五年級上冊小數乘除法豎式計算題200道及答案
- 部編版(2024)一年級語文上冊識字3《口耳目手足》精美課件
- 班級管理案例與應用智慧樹知到期末考試答案章節答案2024年哈爾濱師范大學
- CJ/T 43-2005 水處理用濾料
- 尼曼-半導體物理與器件第十章
- 監理服務方案技術標
- 啤酒專場合同范本
- 四川省眉山市2023-2024學年八年級下學期期末數學試題(無答案)
- DZ∕T 0270-2014 地下水監測井建設規范
評論
0/150
提交評論