![演示文檔-軟件體系結(jié)構(gòu)-第二章-軟件體系結(jié)構(gòu)風(fēng)格_第1頁(yè)](http://file4.renrendoc.com/view/05ae73f47620b4c65961a1edba914dd1/05ae73f47620b4c65961a1edba914dd11.gif)
![演示文檔-軟件體系結(jié)構(gòu)-第二章-軟件體系結(jié)構(gòu)風(fēng)格_第2頁(yè)](http://file4.renrendoc.com/view/05ae73f47620b4c65961a1edba914dd1/05ae73f47620b4c65961a1edba914dd12.gif)
![演示文檔-軟件體系結(jié)構(gòu)-第二章-軟件體系結(jié)構(gòu)風(fēng)格_第3頁(yè)](http://file4.renrendoc.com/view/05ae73f47620b4c65961a1edba914dd1/05ae73f47620b4c65961a1edba914dd13.gif)
![演示文檔-軟件體系結(jié)構(gòu)-第二章-軟件體系結(jié)構(gòu)風(fēng)格_第4頁(yè)](http://file4.renrendoc.com/view/05ae73f47620b4c65961a1edba914dd1/05ae73f47620b4c65961a1edba914dd14.gif)
![演示文檔-軟件體系結(jié)構(gòu)-第二章-軟件體系結(jié)構(gòu)風(fēng)格_第5頁(yè)](http://file4.renrendoc.com/view/05ae73f47620b4c65961a1edba914dd1/05ae73f47620b4c65961a1edba914dd15.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、軟件體系結(jié)構(gòu)風(fēng)格軟件體系結(jié)構(gòu)風(fēng)格:Architectural Style能重復(fù)使用的軟件體系結(jié)構(gòu)模式。有原則使用結(jié)構(gòu)風(fēng)格的益處:促進(jìn)了對(duì)體系結(jié)構(gòu)設(shè)計(jì)的復(fù)用;帶來顯著的代碼復(fù)用。體系結(jié)構(gòu)風(fēng)格不變部分可以共享同一個(gè)實(shí)現(xiàn)代碼;只要系統(tǒng)是使用常用的、規(guī)范的方法來組織,就可使別的設(shè)計(jì)者很容易地理解系統(tǒng)的體系結(jié)構(gòu);對(duì)標(biāo)準(zhǔn)風(fēng)格的使用也支持了互操作性。CORBA與基于事件機(jī)制的集成;結(jié)構(gòu)風(fēng)格通常允許進(jìn)行特殊的和風(fēng)格有關(guān)的分析,這與連接件的特性有關(guān);通常有可能對(duì)特定的風(fēng)格提供可視化手段(visualization)。注意:結(jié)構(gòu)風(fēng)格的使用幾乎完全是特化的,必須根據(jù)特定項(xiàng)目的具體特點(diǎn)進(jìn)行分析比較后確定。軟件體系結(jié)構(gòu)
2、風(fēng)格軟件體系結(jié)構(gòu)風(fēng)格的四種基本要素:1.提供一個(gè)詞匯表:定義與設(shè)計(jì)元素有關(guān)的部件、連接件類型等。2.定義一套配置規(guī)則或系統(tǒng)的拓?fù)湎拗疲好鞔_設(shè)計(jì)元素的合法組成方式。3.定義一套語義解釋原則:使得設(shè)計(jì)元素的組成可以適當(dāng)?shù)丶s束于配置規(guī)則之中,并具有清晰的含義。4.定義可以對(duì)基于這種風(fēng)格建立的系統(tǒng)進(jìn)行的分析。如:Client/Server結(jié)構(gòu)風(fēng)格的實(shí)時(shí)處理過程的可調(diào)度性?;镜能浖w系結(jié)構(gòu)風(fēng)格Garlan和Shaw對(duì)通用體系結(jié)構(gòu)風(fēng)格的分類:數(shù)據(jù)流風(fēng)格:批處理序列;管道/過濾器;過程/調(diào)用風(fēng)格:主程序/子過程;面向?qū)ο?;分層系統(tǒng);獨(dú)立組件風(fēng)格:進(jìn)程通訊;基于事件驅(qū)動(dòng)的系統(tǒng)(顯式調(diào)用隱式調(diào)用)虛擬機(jī)風(fēng)格:
3、表格驅(qū)動(dòng)的解釋器(類似CPU);基于規(guī)則的系統(tǒng)(類似工業(yè)控制);數(shù)據(jù)中心風(fēng)格:數(shù)據(jù)庫(kù)系統(tǒng);超文本系統(tǒng);黑板系統(tǒng)。小結(jié):一個(gè)體系結(jié)構(gòu)風(fēng)格定義了有相同組織結(jié)構(gòu)模式的一系列系統(tǒng),并定義了組件和連接器類型的列表以及一套組件連接的約束。 許多體系結(jié)構(gòu)模型還有一個(gè)或多個(gè)語義模型來指定如何由各部分的屬性決定系統(tǒng)的整體屬性。體系結(jié)構(gòu)風(fēng)格說明調(diào)用返回式主程序子程序:結(jié)構(gòu)化面向?qū)ο蠓謱咏Y(jié)構(gòu)(層次結(jié)構(gòu)):OSI/ISO數(shù)據(jù)流式批處理序列: 批處理文件,C編譯過程管道-過濾器數(shù)據(jù)中心式中央數(shù)據(jù)庫(kù):常見的數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)超文本系統(tǒng): WWW黑板獨(dú)立部件式互通信進(jìn)程:UNIX系統(tǒng)事件系統(tǒng)(隱式調(diào)用):Windows 顯式調(diào)
4、用虛擬機(jī)式解釋器: JAVA虛擬機(jī)基于規(guī)則的系統(tǒng): 過程控制系統(tǒng)基本的軟件體系結(jié)構(gòu)風(fēng)格出發(fā)點(diǎn):側(cè)重于軟件體系結(jié)構(gòu)的結(jié)構(gòu)模型,即觀察軟件部件、連接件、部件及連接件組合的約束條件。1. 管道和過濾器(pipes and filters)2. 數(shù)據(jù)抽象和面向?qū)ο蠼M織(data abstraction and OO-organization)3. 基于事件的隱式調(diào)用(event-based,implicit invocation)4. 分層系統(tǒng)(layered systems)5. 倉(cāng)庫(kù)系統(tǒng)(repositories)6. 表格驅(qū)動(dòng)的解釋器(table driven interpreters)7. 其
5、它類型的體系結(jié)構(gòu)基本的軟件體系結(jié)構(gòu)風(fēng)格-管道/過濾器(pipes and filters)計(jì)算過濾器計(jì)算過濾器管道過濾器:對(duì)輸入數(shù)據(jù)進(jìn)行局部變換,并采用漸進(jìn)式計(jì)算方法,在未處理完所有輸入數(shù)據(jù)以前,就可以產(chǎn)生部分計(jì)算結(jié)果,并將其送到輸出端口。管道:各過濾器之間的連接器將一個(gè)過濾器的輸出傳到下一過濾器的輸入端。特征:1.過濾器一定是獨(dú)立的實(shí)體,即各過濾器之間不能共享狀態(tài); 2.過濾器與其連接的上下游的過濾器互相獨(dú)立。過濾器只能涉及限制哪類數(shù)據(jù)可以出現(xiàn)在它的輸入管道中,可以保證它將輸出何種類型的計(jì)算結(jié)果,但不能識(shí)別與其相連的管道的另一邊的過濾器。基本的軟件體系結(jié)構(gòu)風(fēng)格-管道/過濾器(pipes an
6、d filters)1.系統(tǒng)的整體行為可以理解為各獨(dú)立過濾器行為的簡(jiǎn)單合成。 2.系統(tǒng)維護(hù)容易:過濾器可以容易地替換和增加。 3.允許進(jìn)行如吞吐量和死鎖等性能分析。 4.很自然地支持并發(fā)執(zhí)行。1.過濾器容易被看成提供一個(gè)完整的將輸入數(shù)據(jù)轉(zhuǎn)換成輸出數(shù)據(jù)的模塊。實(shí)際上,過濾器是以漸進(jìn)式處理數(shù)據(jù)的。 2.維護(hù)兩個(gè)分離但相關(guān)的數(shù)據(jù)流時(shí),很難設(shè)計(jì)這樣的系統(tǒng)。 3.由于管道遵循最一般的數(shù)據(jù)傳輸標(biāo)準(zhǔn),所以,過濾器必須承擔(dān)數(shù)據(jù)語法分析和編碼的額外工作,增加了復(fù)雜性,降低了性能?;镜能浖w系結(jié)構(gòu)風(fēng)格-數(shù)據(jù)抽象和面向?qū)ο蠼M織(data abstraction and OO-organization)部件:對(duì)象,
7、或者說是抽象數(shù)據(jù)類型的實(shí)例。連接:對(duì)象間通過函數(shù)和過程調(diào)用發(fā)生相互關(guān)系。(繼續(xù)、關(guān)聯(lián))特征:1.對(duì)象負(fù)責(zé)維持本身的完整性; 2.信息隱藏:對(duì)象的結(jié)構(gòu)和方法的實(shí)現(xiàn)對(duì)其它對(duì)象不可見。抽象、封裝、信息隱藏、繼承、多態(tài)性、動(dòng)態(tài)聯(lián)編等.一個(gè)對(duì)象與另一個(gè)對(duì)象交互時(shí)必須知道對(duì)方的標(biāo)識(shí),這種顯式調(diào)用使得系統(tǒng)的維護(hù)變得較困難?;镜能浖w系結(jié)構(gòu)風(fēng)格-基于事件的隱式調(diào)用(event -based,implicit invocation)思想:組件不直接調(diào)用一個(gè)過程,而是觸發(fā)或廣播一個(gè)或多個(gè)事件。系統(tǒng)中其它組件的過程在一個(gè)或多個(gè)事件中注冊(cè),當(dāng)一個(gè)事件被觸發(fā),系統(tǒng)自動(dòng)調(diào)用在這個(gè)事件中注冊(cè)的所有過程。這樣,事件的觸發(fā)就
8、可以隱式調(diào)用模塊中的過程。特點(diǎn):事件的聲明者不用知道哪些部件會(huì)被事件影響。部件:模塊,既可以是過程,又可以是事件集合。連接:顯式和隱式過程調(diào)用強(qiáng)有力支持軟件復(fù)用;系統(tǒng)容易升級(jí)。軟件部件放棄了對(duì)計(jì)算的控制,控制完全由系統(tǒng)完成。數(shù)據(jù)傳遞常常需要依賴一個(gè)存儲(chǔ)庫(kù)來完成,資源管理成為問題。系統(tǒng)正確性的評(píng)判問題。因?yàn)檫^程的調(diào)用依賴于調(diào)用時(shí)的環(huán)境。基本的軟件體系結(jié)構(gòu)風(fēng)格-分層系統(tǒng)(layered systems)內(nèi)核基本工具有用的系統(tǒng)用戶軟部件:實(shí)現(xiàn)在層次結(jié)構(gòu)中的虛擬機(jī)連接件:層次與層次之間交互的協(xié)議層次化組織原則:每一層向其上層提供服務(wù),并利用下層的服務(wù)?;镜能浖w系結(jié)構(gòu)風(fēng)格-分層系統(tǒng)(layered
9、systems)支持基于抽象程度遞增的系統(tǒng)設(shè)計(jì)。支持功能擴(kuò)展、增強(qiáng)。因?yàn)楣δ艿母淖冏疃嘤绊懴噜彽膶哟?。支持?fù)用。只要提供的服務(wù)接口定義不變,同一層的不同實(shí)現(xiàn)可以交換使用。并不是每個(gè)系統(tǒng)都可以很容易地劃分為分層的模式,有時(shí)即使存在邏輯層次結(jié)構(gòu),但出于對(duì)系統(tǒng)性能的考慮,將低層和高層的功能耦合起來。很難找到一個(gè)合適的、正確的層次抽象方法?;镜能浖w系結(jié)構(gòu)風(fēng)格-倉(cāng)庫(kù)系統(tǒng)(repositories)軟件部件表示當(dāng)前狀態(tài)的中心數(shù)據(jù)結(jié)構(gòu)一組相互獨(dú)立的處理中心數(shù)據(jù)的部件部件交互方式根據(jù)輸入數(shù)據(jù)流的事務(wù)處理類型決定執(zhí)行哪個(gè)處理過程根據(jù)中心數(shù)據(jù)結(jié)構(gòu)的當(dāng)前狀態(tài)觸發(fā)進(jìn)行執(zhí)行傳統(tǒng)的數(shù)據(jù)庫(kù)系統(tǒng)黑板系統(tǒng)基本的軟件體系結(jié)構(gòu)
10、風(fēng)格-倉(cāng)庫(kù)系統(tǒng)(repositories)中心數(shù)據(jù)庫(kù)(共享數(shù)據(jù))數(shù)據(jù)處理數(shù)據(jù)處理數(shù)據(jù)處理數(shù)據(jù)處理倉(cāng)庫(kù)系統(tǒng)與黑板系統(tǒng)的區(qū)別:倉(cāng)庫(kù)系統(tǒng)使用數(shù)據(jù)推(push):操作驅(qū)動(dòng)數(shù)據(jù)處理部件接受外部命令,執(zhí)行數(shù)據(jù)處理任務(wù)基本的軟件體系結(jié)構(gòu)風(fēng)格-黑板系統(tǒng)(blackboard)黑板(共享數(shù)據(jù))知識(shí)源知識(shí)源知識(shí)源知識(shí)源直接存?。褐R(shí)源不斷改變黑板的狀態(tài)。按照與應(yīng)用程序相關(guān)的層次組織的問題求解數(shù)據(jù)獨(dú)立、分離的與應(yīng)用程序相關(guān)的知識(shí)及其處理單元黑板狀態(tài)驅(qū)動(dòng)控制:使用特定的知識(shí)。倉(cāng)庫(kù)系統(tǒng)與黑板系統(tǒng)的區(qū)別:黑板系統(tǒng)使用數(shù)據(jù)推(pull):數(shù)據(jù)驅(qū)動(dòng)基本的軟件體系結(jié)構(gòu)風(fēng)格-表格驅(qū)動(dòng)的解釋器(table driven inter
11、preters)工作存儲(chǔ)區(qū)對(duì)解釋引擎控制狀態(tài)的表示被解釋程序的當(dāng)前狀態(tài)的表示解釋引擎輸入輸出計(jì)算狀態(tài)機(jī)被選數(shù)據(jù)和指令存儲(chǔ)器數(shù)據(jù)存取解釋器基本的軟件體系結(jié)構(gòu)風(fēng)格-表格驅(qū)動(dòng)的解釋器(table driven interpreters)、狀態(tài)機(jī)工作狀態(tài)存儲(chǔ)區(qū)規(guī)則庫(kù)規(guī)則選擇數(shù)據(jù)元素選擇規(guī)則解釋引擎輸入輸出計(jì)算狀態(tài)機(jī)被選數(shù)據(jù)和規(guī)則存儲(chǔ)器數(shù)據(jù)存取事實(shí)存儲(chǔ)區(qū)專家系統(tǒng)、狀態(tài)機(jī)基本的軟件體系結(jié)構(gòu)風(fēng)格-其它類型的體系結(jié)構(gòu)分布式系統(tǒng)中最常用的體系結(jié)構(gòu):客戶/服務(wù)器模型服務(wù)器:為客戶提供服務(wù);事先并不知道有哪些客戶對(duì)其進(jìn)行訪問??蛻簦罕仨氈苯踊蜷g接知道服務(wù)器的標(biāo)識(shí)。遠(yuǎn)過程調(diào)用注意:結(jié)構(gòu)的層次可以是兩層,也可以是三層(
12、在客戶和服務(wù)器之間增加了一個(gè)中間層:中間件),三層結(jié)構(gòu)中相鄰兩層仍然保持客戶/服務(wù)器的關(guān)系。其它常見軟件體系結(jié)構(gòu)風(fēng)格工業(yè)控制中常用的體系結(jié)構(gòu):反饋-控制(過程控制)風(fēng)格抽象描述開環(huán)閉環(huán), 前饋反饋Open Loop Control(開環(huán)控制)Closed Loop Control(閉環(huán)控制)其它常見的軟件體系結(jié)構(gòu)風(fēng)格科學(xué)研究中常用的體系結(jié)構(gòu):狀態(tài)機(jī)風(fēng)格體系結(jié)構(gòu)風(fēng)格? 遠(yuǎn)乎?近乎?實(shí)際上,很多大家目前在使用的一些系統(tǒng)和術(shù)語,都屬于體系結(jié)構(gòu)風(fēng)格JVM:是什么風(fēng)格的?J2EE,是什么風(fēng)格的?Windows,是什么風(fēng)格的?最早的C+/C開發(fā)系統(tǒng)是什么風(fēng)格的?常用的MIS系統(tǒng)是什么風(fēng)格的?C/S、 B/
13、S結(jié)構(gòu), 三層結(jié)構(gòu),ISO/OSI網(wǎng)絡(luò)體系是什么風(fēng)格的?面向?qū)ο蟮姆治龊驮O(shè)計(jì)是什么風(fēng)格的?異構(gòu)體系結(jié)構(gòu)1. 異構(gòu)是不可避免的不同的體系結(jié)構(gòu)在處理能力上有不同的優(yōu)缺點(diǎn),一個(gè)系統(tǒng)的體系結(jié)構(gòu)應(yīng)該根據(jù)實(shí)際需要進(jìn)行選擇,以解決實(shí)際問題。同一種體系結(jié)構(gòu)下的可重用的部件和連接件在不同時(shí)期可能存在不同的標(biāo)準(zhǔn),特別是連接件中的通信協(xié)議標(biāo)準(zhǔn)。如果要重用原來系統(tǒng)中遺留下來的代碼,那么就要解決與新系統(tǒng)體系結(jié)構(gòu)的不協(xié)調(diào)問題。2.異構(gòu)體系結(jié)構(gòu)的組合組合的方法很多,如可以利用分層組織方式,基于某種體系結(jié)構(gòu)的系統(tǒng)的一個(gè)組成部分,其內(nèi)容可以是另一種與之完全不同的結(jié)構(gòu)。以完全不同的結(jié)構(gòu)類型完整描述體系結(jié)構(gòu)中的每一層。異構(gòu)體系結(jié)構(gòu)?異構(gòu)體系結(jié)構(gòu)組合時(shí),如何解決不同體系結(jié)構(gòu)下
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2學(xué)會(huì)溝通交流(說課稿)-2023-2024學(xué)年道德與法治五年級(jí)上冊(cè)統(tǒng)編版
- 2025暫估價(jià)材料公開招標(biāo)合同范本變頻水泵排污泵
- 6~9的認(rèn)識(shí)(說課稿)-2024-2025學(xué)年一年級(jí)上冊(cè)數(shù)學(xué)人教版
- 2025以買賣合同擔(dān)保
- 2024年秋九年級(jí)化學(xué)上冊(cè) 第四單元 自然界的水說課稿 (新版)新人教版
- 2023三年級(jí)英語上冊(cè) Assessment 3說課稿1 湘少版
- 路基邊坡防滑平臺(tái)施工方案
- Unit 4 My tidy bag Lesson 1 I have a big bag (說課稿)-2024-2025學(xué)年粵人版(2024)英語三年級(jí)上冊(cè)
- 2023八年級(jí)地理上冊(cè) 第一章 中國(guó)的疆域與人口第一節(jié) 中國(guó)的疆域說課稿 (新版)湘教版
- 出租代工合同范例
- (康德一診)重慶市2025屆高三高三第一次聯(lián)合診斷檢測(cè) 英語試卷(含答案詳解)
- 2025年福建泉州文旅集團(tuán)招聘24人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 建筑行業(yè)砂石物資運(yùn)輸方案
- 腫瘤全程管理
- 融資報(bào)告范文模板
- 桃李面包盈利能力探析案例11000字
- GB/Z 30966.71-2024風(fēng)能發(fā)電系統(tǒng)風(fēng)力發(fā)電場(chǎng)監(jiān)控系統(tǒng)通信第71部分:配置描述語言
- 污泥處置合作合同模板
- 腦梗死的護(hù)理查房
- 2025高考數(shù)學(xué)專項(xiàng)復(fù)習(xí):概率與統(tǒng)計(jì)的綜合應(yīng)用(十八大題型)含答案
- 2024-2030年中國(guó)紫蘇市場(chǎng)深度局勢(shì)分析及未來5發(fā)展趨勢(shì)報(bào)告
評(píng)論
0/150
提交評(píng)論