




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、1徐徐 進進2課程內容課程內容第一章第一章 軟件體系結構基本概念軟件體系結構基本概念第二章第二章 軟件體系結構經典風格軟件體系結構經典風格第三章第三章 軟件體系結構應用軟件體系結構應用第四章第四章 軟件體系結構設計模式軟件體系結構設計模式第五章第五章 軟件體系結構研究與發展軟件體系結構研究與發展3第第2 2章章 軟件體系結構的經典風格軟件體系結構的經典風格2.1 2.1 管道過濾器風格管道過濾器風格2.22.2 主程序與子過程風格主程序與子過程風格2.3 2.3 數據抽象與面向對象風格數據抽象與面向對象風格2.42.4 事件驅動隱式調用風格事件驅動隱式調用風格2.52.5 黑板知識庫風格黑板知
2、識庫風格2.62.6 虛擬機(解釋器)風格虛擬機(解釋器)風格2.7 2.7 過程控制回路風格過程控制回路風格2.82.8 部件鏈接器部件鏈接器C2C2風格風格4經典體系結構:總結軟件系統組織結構的慣用形式,認識特定軟件結構的原理和價值,提供軟件體系結構設計的選擇空間。某種結構風格的基本成分和連接方式是什么?某種結構風格的基本形式是什么?某種結構風格潛在的計算模式是什么?某種結構風格中不變的因素是什么?某種結構風格可以使用的示例是什么?某種結構風格的優缺點是什么?討論中考慮的問題:5管道過濾器結構特征過濾器A過濾器B過濾器C過濾器D過濾器E增量計算的 功能模塊輸入/輸出 數據流以數據流向的過程
3、為核心(也稱:數據流風格)過濾器自身功能獨立而完整,相互之間無狀態交互過濾器不需要知道其他過濾器的存在與否過濾器僅對輸入的數據流有限制,并保證輸出流的正確系統內各部分的執行,與整體系統的最終輸出不相關管道1管道2管道3管道4管道5管道6管道8管道7返回本章目錄6管道過濾器軟件成分管道過濾器的連接器被動過濾器:通過事件或過程調用激發動作,接受前續成分推入的內容主動過濾器:作為獨立的過程或線程任務,主動取前續成分的內容。數據源:作為系統的輸入過濾器,提供探測數據、采集數據的功能,以 及主動推出數據,激發或者等待后繼成分啟動。數據池:作為收集結果的過濾器,分為主動取數據和被動接受推入數據 兩種方式。
4、管道是兩個過濾器的連接器,是先進先出的數據緩沖區。如果兩個主動式過濾器相連,管道需要有同步控制能力。如果過濾器的行為受到相鄰過濾器的控制,管道就是被動過濾器的過程調用實現。7管道過濾器形式的示例(1)數字通信系統結構簡略描述:信息源加密器編碼器調制器 發送設備解調器解碼器解密器 接收設備受信者噪聲源信息源: 把各種可能的數據轉換成原始電信號。發送設備: 對原始電信號完成信號加密、差錯控制編碼和調制解調。信道: 信號傳輸的通道也相當于過濾器,因為它對傳輸信息進行適 當的處理。接收設備: 與發送設備反向。同步控制部件:圖中沒有標出。因為它在其中的位置并不固定,它負責收發 雙方的一致性控制。信道8
5、編輯存儲編輯存儲光譜采樣集光譜采樣集 圖形處理圖形處理(光譜篩選)(光譜篩選) 存儲調整存儲調整建模樣本集建模樣本集 建模建模 處理處理 模型模型 管理管理建摸公式建摸公式 管理管理給定性質給定性質模型模型建模樣本集建模樣本集光譜采樣集光譜采樣集建摸公式建摸公式建模公式建模公式模型模型管理要求管理要求圖符說明:圖符說明:控制流:控制流:數據流:數據流:I/O:處理:處理:化學光譜分析系統化學光譜分析系統管道過濾器形式的示例(2)9管道過濾器形式的優勢 對整個系統的理解簡單化。可理解系統的各功能為抽象“黑盒子”。 支持可維護性,容易替換。只要輸入/輸出管道達成一致的任何兩個過濾器(可能一個是另一
6、個的擴充性或修改),則可以任意替換。 支持復用。一個過濾器可以被多次掛接,只要它們對數據的需求場合是一致的。 支持并發設計。可以將存在并發可能的過濾器,在調度算法的基礎上,組織為多任務并發系統。 系統的結構清晰,容易進行某些性能的分析,例如:數據流量、死鎖問題,計算正確性等等。10管道過濾器形式的不足 由于過濾器的獨立特性,每個過濾器完成從輸入到輸出的轉換需要成批量而完整,這樣,為了交互必須表示的過濾內容與輸出的流方式差異很大,導致實現交互困難。 由于支持并發設計,兩個相互獨立的過濾器,如果存在同步問題,則需要花較大的精力去協調。 每個過濾器的輸出只強制公共的命名,要保持數據的一致必須對傳輸的
7、數據解析,這樣造成系統效率資源的損耗,以及程序復雜性增加。 直接調用被動過濾器,使過濾器的重新組織產生困難。 需要處理數據在管道中的阻塞狀態。11主程序子過程1子過程2子過程n主程序與子過程的結構特征:主程序將基于功能分解的子過程,通過調用的形式連接起來;子過程可作為主程序,繼續以同樣的方式連接子過程。子過程k1子過程k2調用返回子過程f返回本章目錄12主程序與子調用結構的成分主程序與子調用結構的連接器主程序:基本的程序主體成分子過程:各種層次上的函數,可調用成分模塊包:由主程序子過程組成的大粒度結構成分函數庫:通用子過程集合過程調用機制13主程序與子調用結構的優勢 由于直接對應過程性程序語言
8、機制,因此,具有代碼率高的優勢主程序與子調用結構的缺陷 基于功能的過程嵌套式分解使系統的維護困難。 因為基于功能的分解,只能覆蓋特定的問題,不具普遍性。所以,子過程實現的功能成分很難復用。14對象實體對象實體對象實體對象實體對象實體對象實體對象實體對象實體消息消息消息消息消息消息消息消息消息消息消息 對象實體是具有自身屬性和行為能力的主動的獨立個體。 任何事務處理都是對象采用“消息”相互作用的結果。 發送消息給對象是“請求”,接受的對象是“響應”請求,完成自身的行為或動作,也可以向其他對象發出請求。面向對象結構的特征返回本章目錄15化學光譜分析系統化學光譜分析系統給定給定性質性質光譜光譜文件文
9、件光譜光譜采樣采樣集集建摸建摸公式公式建模建模樣本集樣本集模型模型 設定消息設定消息采樣消息采樣消息請求消息請求消息請求消請求消息息采集消采集消息息存儲消息存儲消息返回消息返回消息輸出消息輸出消息調整消息調整消息建模消息建模消息管理消息管理消息面向對象形式的示例16面向對象結構的成分面向對象結構的連接器類:對象實體的抽象,可復用的類型模板。繼承類:抽象類型的復用,提供類的可擴充、可變化方式對象:某類的實體,具有屬性和各種行為能力的獨立執行體消息: 與對象的聯系僅通過消息。發送請求給對象,向對象發出執行它動作的信息。接受請求的對象,根據自身的屬性狀態,完成動作,也可以向其它對象發出請求,并且可以
10、同時發出多個請求,除非它繼續的工作與發出的請求有同步關系。多態機制: 相關的對象行為,可以通過相同的消息形式。這正是行為的多種形態概念。所謂相關,是指同范疇對象(有繼承關系類的實體對象是同范疇的)。同樣的消息,連接不同的執行成分,這就是多態機制。17面向對象結構的優勢 接近人們的認知習慣,即:事物主體和事物行為是不可分的整體,處理事務的關注點只是事物可操作的外部行為。 實現真正意義的信息封裝,把對象的屬性和行為封裝在一起,對外可見的只有操作。 穩定的結構,系統建造的基礎依賴于獨立的對象實體,而不是處理過程。這使改變或增加系統的處理過程與系統的整體架構關聯減弱,因為,大部分的修改是對象個體上的行
11、為擴充,或是增加新的對象成分。 本身的并發特性,支持普遍應用的分布式系統。 實體對象比起過程在語義上容易理解一致,因此更容易復用;類和繼承使軟件成份又達到更高層的復用。18面向對象結構的缺陷對象的標識是發送消息必須知道的,如果標識被改變,消息就不知去向。在系統中對象本來是獨立的,但他們必須相互知道、懂得和理解,否則將無法協同完成工作。這一點又使得他們似乎很密切相關,互為依賴。對象接受多個來自不同請求者的同一個消息,所得到的結果有時不可預測,因為其自身的狀態屬性可能被改變,這種情況系統必須考慮,并付出代價。19外部實體外部實體1外部實體外部實體n事件過濾事件過濾1事件過濾事件過濾n中斷服務中斷服
12、務n中斷服務中斷服務1系統系統消息消息調度調度應用應用A 消息消息 調度調度應用線程應用線程1應用線程應用線程n應用應用B 消息消息 調度調度系統傳送系統傳送系統傳送系統傳送消息發送消息發送消息發送消息發送事件事件事件事件1)1)外部事件以中斷方式被接受;外部事件以中斷方式被接受;2)2)接受后的事件,通過統一的形式接受處理;接受后的事件,通過統一的形式接受處理;3)3)在系統的統一調度下在系統的統一調度下, ,事件被轉換為消息發送到對應的應用隊列中;事件被轉換為消息發送到對應的應用隊列中;4)4)每個應用隊列通過消息循環機制,連接應用線程操作每個應用隊列通過消息循環機制,連接應用線程操作應用
13、線程應用線程1應用線程應用線程n基本過程基本過程消息消息等待等待 B消息消息等待等待 A返回本章目錄20指外部事件,包括硬件設備和軟件的應用發出的請求,指外部事件,包括硬件設備和軟件的應用發出的請求,通過中斷方式形成為消息通過中斷方式形成為消息事件驅動事件驅動隱式調用隱式調用指消息不是直接地被各響應的處理操作接收,而是通過指消息不是直接地被各響應的處理操作接收,而是通過了隱藏在中間的一個層次(透明訪問概念的體現)。了隱藏在中間的一個層次(透明訪問概念的體現)。事件驅動和隱式調用結構概念事件驅動和隱式調用結構概念21隱式調用的方式隱式調用的方式兩種發送方式兩種發送方式點發式:經過中間轉發,一點到
14、一點響應點發式:經過中間轉發,一點到一點響應廣播式:經過中間轉發,一點到多點響應,也叫增生廣播式:經過中間轉發,一點到多點響應,也叫增生異步方式異步方式發送成分與接收成分之間采用異步方式,各自獨立,不發送成分與接收成分之間采用異步方式,各自獨立,不受約束。其限定和約束由中間隱式層處理。受約束。其限定和約束由中間隱式層處理。消息過濾消息過濾 變換:轉變消息形式成為某種統一的類型和取值范圍變換:轉變消息形式成為某種統一的類型和取值范圍 抑制:截獲或阻止某種消息抑制:截獲或阻止某種消息 轉發:轉發經過某種處理的消息到需要響應的成分轉發:轉發經過某種處理的消息到需要響應的成分22事件驅動和隱式調用結構
15、的示例源對象源對象 注冊連接提供監聽對象注冊和注銷的方法 接口登記源對象的操作方法監聽對象監聽對象監聽對象監聽對象監聽對象 事件驅動機制 事件狀態對象 事件狀態對象JavaBean事件驅動 適配轉發類 適配轉發類源對象:產生事件的對象。監聽對象:響應事件的對象。事件驅動機制:通過監聽注冊和事件接口,連接源對象和監聽對象。適配器:一組響應事件的組裝配發。事件狀態:封裝事件的發生時的類型、位置等信息。23轉換接口對象輸入操作事件驅動和隱式調用分析 用戶按下鼠標或鍵盤的一個鍵,操作系統的AWT(抽象窗口工具)將不同平臺的信息轉換成統一的事件對象。然后,將對象事件及狀態,作為參數,向接口對象發出請求。
16、接口對象中有已經注冊的監聽對象,通過適配對象向監聽對象發出該事件。這樣,一個輸入操作事件,就被監聽對象接收并響應處理它。鼠標對象 注冊的 監聽對象菜單條對象文本框對象事件狀態對象適配對象復選框對象適配對象鍵盤對象24事件驅動和隱式調用結構的優勢在消息與響應中間建立隱式層,完成消息形式的統一處理及統一調度,對接受消息的成分進行必要的管理和控制。使請求成分與響應成分之間形成松散耦合關系。可以動態調整事件的請求與響應關系,為靈活設計創造了條件支持軟件復用。由于成分之間的沒有直接的聯系,任何已有的軟件成分只要處理邏輯適用,都可以無所顧忌地使用,將一切限定留給中間層處理。使系統更易維護。替換某一軟件成份
17、,除了中間轉接的適應,對其他成分影響極小。對于異步并發系統是一種極好的控制方式。25事件驅動和隱式調用結構的不足請求成份和接收成份完全自主而獨立,不易管理和控制,需要消耗較大系統的精力去控制,包括:必要識別、轉換和統一。相比直接方式的連接,增加了中間層必要的消耗,包括時間和資源,提升系統運行效率成為系統的關鍵所在。26 黑板(共享狀態 和策略數據)知識源1知識源8知識源7知識源6知識源3知識源4知識源2知識源5以黑板作為協同操作的核心,狀態是核心控制的依據每個知識源作為問題求解的獨立單位知識源需要協同完成一個事務的多個計算求解步驟協同的策略和調度算法,作為特殊的知識源由特殊的知識源改變操作的核
18、心狀態黑板知識庫結構要點返回本章目錄27黑板知識庫結構的成分知識源:軟件中獨立的處理成分。執行成分的結果和狀態,以及決策成分的指令都作為知識源提供給黑板,并主動從黑板獲取繼續執行的操作數據和指令黑板: 系統存儲和數據管理的機制。存儲系統解決問題所用的相關基礎知識,以及系統運行中各個知識源產生的狀態、計算結果和決策方案等28知識庫黑板知識庫結構的示例專家系統(Expert System)基本模型模型庫事實庫規則庫 知識維護界面 系統應用界面應用信息數據庫信息管理推理機用戶系統維護者知識獲取決策解釋知識庫管理29黑板知識庫結構的優勢每個知識源的動作依據是黑板中的信息,包括需要的交互及協同 系統中的
19、執行者和決策者享有同等的地位 使系統中多對多的關系,以及執行者和決策者的復雜關系變得簡單而清晰對于協同求解等專家系統是極好的控制方式黑板知識庫結構的不足所有系統成分對共享區過分依賴,也是系統風險因素的最大隱患。30虛擬機程序的交互輸入 被解釋的 程序執行偽碼解釋引擎輸出輸入選擇指示執行程序以能被被解釋的一種偽碼形式表示解釋引擎根據固定的語法結構,按照偽碼的語義逐句解釋偽碼,同時,根據已經處理解釋的狀態,以及需要的輸入的數據來完成輸出。解釋器過程解釋狀態返回本章目錄31與運行程序交互的數據集合被解釋程序的偽代碼集合執行解釋過程的狀態集合轉換關系的操作集合虛擬機(解釋器)結構的成分虛擬機(解釋器)
20、成分的連接器根據文法約定以及通用的搜索算法,實現固定形式的解釋引擎連接。32布爾表達式求值系統:通過解釋一串布爾求值的程序語句來實現布爾程序的運算。利用布爾正則表達式解決語法的匹配問題。使用通用的搜索算法來解釋執行正則表達式,其執行結果就是最終的運行計算值。虛擬機(解釋器)結構的示例布爾正則表達式:BooleanExpression:=VariableExpression|ConstantExpression| OrExpression|AndExpression|NotExpression|(Expression)VariableExpression:=A|B|Y|ZConstant:=tu
21、re|falseOrExpression|:= BooleanExpression or BooleanExpressionAndExpression:= BooleanExpressionand BooleanExpressionNotExpression:=not BooleanExpression33用類表示布爾表達式的文法規則BooleanExpressionEvaluate()VariableExpressionEvaluate()ConstantExpressionEvaluate()OrExpressionEvaluate()AndExpressionEvaluate()NotE
22、xpressionEvaluate() Evaluate() 為對應表達式的操作方法任意一個布爾表達式,可以是類對象實例所構成的一個文法樹,可以按照對應的方法,完成規定形式的操作。34表達式的文法樹,構成解釋器結構中的解釋引擎,按照每個類上定義的求值操作,根據表達式上下文和已經執行到哪一步的狀態,匹配輸入表達式的具體值,實現對應類上的操作OrExpressionAndExpressionAndExpressionOrExpressionNot XVariableExpressionYVariableExpressionXConstant true例:(true and x) or (y and
23、(not x)表達式例中實例所構成的文法樹35引擎執行過程過程建模工具工作流模型工作流引擎工作流引擎工作流引擎過程狀態工作流運行數據企業應用系統應用系統數據庫任務管理操作界面工作流控制數據應用系統運行核心角色管理用戶操作輸入工作流引擎結構及工作示意虛擬機(解釋器)結構的示例36虛擬機(解釋器)結構的優勢虛擬機(解釋器)結構的不足通過擴充文法,可適應系統的改變良好的環境無關性解決方案如果復雜規則文法,使系統龐大而無法管理,不宜采取正則表達式解釋結構,而應該采取語法分析程序。37采集特定目標的信息,以及返回的前續監測系統狀態,傳送給計算部件,在特定控制目標設定下,完成預定計算,通過輸出裝置實現對目
24、標的控制,運行的系統狀態通過檢測再回饋送給采集機制。過程控制回路是特定的控制關系的描述采集1采集n計算部件設定目標定時器執行裝置1執行裝置n檢測n檢測1返回本章目錄38閉環系統開環系統 熔爐熱氣 回程氣熱氣爐:火源不變,通過定時器在固定的間隔時間打開火源例:例:熱氣爐:通過測量溫度,不斷調節火源大小熱感控制 熔爐熱氣 回程氣過程控制回路結構特征更適用于閉環系統負反饋實用價值高于正反饋兩種常用的自適應控制回路定時開關39負反饋回路正反饋回路控制計算輸出檢測反饋輸入值設定值差值+控制計算輸出檢測反饋輸入值設定值和值差值反饋:目標與檢測值的差,作為控制依據,得到穩定的輸出和值反饋:目標與檢測值求和,
25、作為控制依據,得到變化的輸出40兩種自適應回路參數自適應回路:性能自適應回路:參數修正參數辨識機制控制計算前饋控制機制反饋控制機制-/+觀察輸入和輸出,降低參數的不確定性范圍。前饋控制機制控制計算反饋控制機制性能估算模型參考 調整通過性能分析,調整系統輸入。經常采用模型參考方式-/+參考輸入41過程控制回路結構成分和連接過程控制回路結構發展趨勢組態可編程控制器通用機和通用機設計環境嵌入式設計技術和方法結構成分:控制計算前饋機制(包括:采集、目標設定和調整機制)反饋機制(包括:檢測、回路值計算)連件:采用固定形式的結構成分和連接形式42部件和連接器是軟件結構成分的兩大部分。部件是軟件的組成成分,
26、在系統構架中起結構塊的作用。連接件是建立部件和部件之間連接的成分,是專門承接連接作用 的特殊部件。部件可以組合,連接器可以相互連接。部件部件部件部件部件部件部件部件復合部件部件和連接器也稱為 C2 (Components and Connectors)風格。它總結了所有體系結構的組成成分,歸納并深入探討其規律、特性,引導了軟件體系結構研究的新途徑。返回本章目錄43C2風格的構件分類構件分類純計算構件簡單輸入輸出處理,不保留處理狀態的關聯成分,如函數、過濾器、轉換器等。數據存儲構件具有永久存儲性的結構化數據成分。如數據庫、文件系統、符號表、超文本等。管理構件系統狀態以及相關規定、限制的操作成分。
27、如抽象數據類型、系統服務器等。控制構件系統中事件發生時間、序列的控制和管理的成分。如調度程序、同步處理等。連接構件充當信息轉換角色的成分,如通信連接和用戶界面等。44連接件成分過程調用成份之間實現單線程控制的連接機制,如普通過程調用等。數據流通過數據流進行交互的獨立處理流程連接機制。如同不交互控制、管道機制等。隱含觸發并發(非同步交互)事件實現成分之間的連接機制。如時間調度、自動回收處理等。消息傳遞獨立成分之間離散和非線性的交互連接機制。如協議等。數據共享協議 成份之間通過統一數據空間進行協調操作的機制。如黑板、共享數據區等。C2風格的連接件分類45部件的類別部件的表達形式部件的特性接口特性運行特性遠程服務特性關聯特性動態特性等級或層次特性連接的種類連接的實現連接協議連接的特性連接方向性連接的角色連接的激發連接的響應連接的匹配性部件:連接件:C2風格的描述C2風格部件分類: 按過程層次分 基礎部件(硬件)、中層部件(技術支持)、高層部件(領域需求)。 按應用分 通用部件、專用部件。 按功能分 數據服務部件、功能服務部件、邏輯處理部件、界面部件、連接部件、體系結構部件等。 按運行特性分 調度和非調度部件、中斷和非中斷部件、多客戶服務部件。47C2風格部件的表達形式: 部件的表示: 具有操作接口定義的抽象數據類型。 部件接口表示: 依據訪問目的的操作方法分類描述 標準的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 藥品采購投訴管理制度
- 藥店保健食品管理制度
- 藥店援助藥品管理制度
- 營運客車安全管理制度
- 設備健康指標管理制度
- 設備施工過程管理制度
- 設備物資安全管理制度
- 設備維護養護管理制度
- 設備隱患整改管理制度
- 設計公司薪酬管理制度
- 行政職業能力測驗公務員考試行測試卷及答案指導(2025年)
- 夏令營安全管理工作制度
- 2024年黑龍江、吉林、遼寧高考生物試卷(含答案解析)
- 5【選必下】高中語文部編版教材選必下冊課內文言文精練
- 中醫疾病癥狀評分總表(終極版)
- 實驗室安全教育課件
- 2024年知識競賽-《民用爆炸物品安全管理條例》知識競賽考試近5年真題集錦(頻考類試題)帶答案
- 透析病人不安腿綜合征
- 市政病媒生物防制基礎知識練習題及答案(200題)
- 2024年國資委研究中心事業單位招聘5人歷年(高頻重點復習提升訓練)共500題附帶答案詳解
- 2023年上海高中學業水平合格性考試歷史試卷真題(含答案詳解)
評論
0/150
提交評論