




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第第2章章軟件體系結(jié)構(gòu)風(fēng)格劉劉 偉偉 (Sunny).教學(xué)內(nèi)容w 定義w 管道和過(guò)濾器w 數(shù)據(jù)抽象和面向?qū)ο蠼M織w 基于事件的隱式調(diào)用w 分層系統(tǒng)w 倉(cāng)庫(kù)系統(tǒng)w 過(guò)程控制環(huán)路w C/S風(fēng)格w 三層C/S風(fēng)格w B/S風(fēng)格.定義w 軟件體系結(jié)構(gòu)風(fēng)格是描述某一特定應(yīng)用領(lǐng)域中系統(tǒng)組織方式的慣用模式。w 體系結(jié)構(gòu)風(fēng)格定義了一個(gè)系統(tǒng)家族,即一個(gè)體系結(jié)構(gòu)定義一個(gè)詞匯表和一組約束。詞匯表中包含一些構(gòu)件和連接件類(lèi)型,而這組約束指出系統(tǒng)是如何將這些構(gòu)件和連接件組合起來(lái)的。w 體系結(jié)構(gòu)風(fēng)格反映了領(lǐng)域中眾多系統(tǒng)所共有的結(jié)構(gòu)和語(yǔ)義特性,并指導(dǎo)如何將各個(gè)模塊和子系統(tǒng)有效地組織成一個(gè)完整的系統(tǒng)。.Definitionw
2、An architectural style defines a family of systems in terms of a pattern of structural organization. More specifically, an architectural style defines a vocabulary of components and connector types, and a set of constraints on how they can be combined.經(jīng)典的體系結(jié)構(gòu)風(fēng)格w 數(shù)據(jù)流風(fēng)格: 批處理序列; 管道/過(guò)濾器。w 調(diào)用/返回風(fēng)格:主程序/子程
3、序;面向?qū)ο箫L(fēng)格;層次結(jié)構(gòu)。w 獨(dú)立構(gòu)件風(fēng)格:進(jìn)程通訊;事件系統(tǒng)。w 虛擬機(jī)風(fēng)格:解釋器;基于規(guī)則的系統(tǒng)。w 倉(cāng)庫(kù)風(fēng)格:數(shù)據(jù)庫(kù)系統(tǒng);超文本系統(tǒng);黑板系統(tǒng)。w 過(guò)程控制環(huán)路w C/S風(fēng)格風(fēng)格w B/S風(fēng)格風(fēng)格.管道和過(guò)濾器w 每個(gè)構(gòu)件都有一組輸入和輸出,構(gòu)件讀輸入的數(shù)據(jù)流,經(jīng)過(guò)內(nèi)部處理,然后產(chǎn)生輸出數(shù)據(jù)流。w 過(guò)濾器風(fēng)格的連接件就象是數(shù)據(jù)流傳輸?shù)墓艿?,將一個(gè)過(guò)濾器的輸出傳到另一個(gè)過(guò)濾器的輸入。w 不變量: 過(guò)濾器雖然可以增量式地處理數(shù)據(jù),但是它們是獨(dú)立的 管道和過(guò)濾器的正確輸出不依賴(lài)其順序w 實(shí)例: 編譯器,功能程序,并行程序.管道和過(guò)濾器.數(shù)據(jù)抽象和面向?qū)ο蠼M織w 數(shù)據(jù)的表示方法和它們的相應(yīng)操
4、作被封裝在一個(gè)抽象數(shù)據(jù)類(lèi)型或?qū)ο笾衱 這種風(fēng)格的構(gòu)件是對(duì)象或者說(shuō)是抽象數(shù)據(jù)類(lèi)型的實(shí)例w 對(duì)象通過(guò)函數(shù)和過(guò)程的調(diào)用來(lái)進(jìn)行交互.數(shù)據(jù)抽象和面向?qū)ο蠼M織.基于事件的隱式調(diào)用w 構(gòu)件不直接調(diào)用一個(gè)過(guò)程,而是觸發(fā)或廣播一個(gè)或多個(gè)事件w 系統(tǒng)中的其他構(gòu)件中的過(guò)程在一個(gè)或多個(gè)事件中注冊(cè),當(dāng)一個(gè)事件被觸發(fā),系統(tǒng)自動(dòng)調(diào)用在這個(gè)事件中注冊(cè)的所有過(guò)程。w 這種風(fēng)格的構(gòu)件是一個(gè)模塊,這些模塊可以是一些過(guò)程,又可以是一些事件的集合。w 不變量:事件的觸發(fā)者并不知道哪些構(gòu)件會(huì)被這些事件影響(觀(guān)察者模式-Observer)w 實(shí)例:數(shù)據(jù)庫(kù)管理系統(tǒng),用戶(hù)界面.基于事件的隱式調(diào)用.分層系統(tǒng)w 組織成一個(gè)層次結(jié)構(gòu)w 每一層都為上
5、一層提供了相應(yīng)的服務(wù),并且接受下一層提供的服務(wù)w 在分層系統(tǒng)的一些層次中構(gòu)件實(shí)現(xiàn)了虛擬機(jī)的功能w 實(shí)例:分層的通信協(xié)議.分層系統(tǒng).倉(cāng)庫(kù)系統(tǒng)w 構(gòu)件:中心數(shù)據(jù)結(jié)構(gòu)(倉(cāng)庫(kù))和一些獨(dú)立構(gòu)件的集合w 倉(cāng)庫(kù)和在系統(tǒng)中很重要的外部構(gòu)件之間的相互作用w 實(shí)例:需要使用一些復(fù)雜表征的信號(hào)處理系統(tǒng).倉(cāng)庫(kù)系統(tǒng).過(guò)程控制環(huán)路w 源自于控制理論中的模型框架,將事務(wù)處理看成輸入、加工、輸出、反饋、再輸入的一個(gè)持續(xù)的過(guò)程模型。w 通過(guò)持續(xù)性的加工處理過(guò)程將輸入數(shù)據(jù)轉(zhuǎn)換成既定屬性的“產(chǎn)品”,在工控系統(tǒng)、供電、水利甚至可以推廣到商務(wù)軟件體現(xiàn)的管理模型中。.過(guò)程控制環(huán)路.C/S風(fēng)格產(chǎn)生背景w 在集中式計(jì)算技術(shù)時(shí)代廣泛使用的是大
6、型機(jī)/小型機(jī)計(jì)算模型。它是通過(guò)一臺(tái)物理上與宿主機(jī)相連接的非智能終端來(lái)實(shí)現(xiàn)宿主機(jī)上的應(yīng)用程序。w 20世紀(jì)80年代以后,集中式結(jié)構(gòu)逐漸被以PC機(jī)為主的微機(jī)網(wǎng)絡(luò)所取代。個(gè)人計(jì)算機(jī)和工作站的采用,永遠(yuǎn)改變了協(xié)作計(jì)算模型,從而導(dǎo)致了分散的個(gè)人計(jì)算模型的產(chǎn)生。.C/S風(fēng)格基本概念w C/S軟件體系結(jié)構(gòu)是基于資源不對(duì)等,且為實(shí)現(xiàn)共享而提出來(lái)的,是20世紀(jì)90年代成熟起來(lái)的技術(shù),C/S體系結(jié)構(gòu)定義了工作站如何與服務(wù)器相連,以實(shí)現(xiàn)數(shù)據(jù)和應(yīng)用分布到多個(gè)處理機(jī)上。w C/S體系結(jié)構(gòu)有三個(gè)主要組成部分:數(shù)據(jù)庫(kù)服務(wù)器、客戶(hù)應(yīng)用程序和網(wǎng)絡(luò)。.C/S風(fēng)格體系結(jié)構(gòu).C/S風(fēng)格任務(wù)分配w 服務(wù)器數(shù)據(jù)庫(kù)安全性的要求;數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)
7、并發(fā)性的控制;數(shù)據(jù)庫(kù)前端的客戶(hù)應(yīng)用程序的全局?jǐn)?shù)據(jù)完整性規(guī)則;數(shù)據(jù)庫(kù)的備份和恢復(fù)。.C/S風(fēng)格任務(wù)分配w 客戶(hù)應(yīng)用程序提供用戶(hù)與數(shù)據(jù)庫(kù)交互的界面;向數(shù)據(jù)庫(kù)服務(wù)器提交用戶(hù)請(qǐng)求并接收來(lái)自數(shù)據(jù)庫(kù)服務(wù)器的信息;利用客戶(hù)應(yīng)用程序?qū)Υ嬖谟诳蛻?hù)端的數(shù)據(jù)執(zhí)行應(yīng)用邏輯要求.C/S風(fēng)格處理流程.C/S風(fēng)格優(yōu)點(diǎn)w C/S體系結(jié)構(gòu)具有強(qiáng)大的數(shù)據(jù)操作和事務(wù)處理能力, 模型思想簡(jiǎn)單,易于人們理解和接受。w 系統(tǒng)的客戶(hù)應(yīng)用程序和服務(wù)器構(gòu)件分別運(yùn)行在不同的計(jì)算機(jī)上,系統(tǒng)中每臺(tái)服務(wù)器都可以適合各構(gòu)件的要求,這對(duì)于硬件和軟件的變化顯示出極大的適應(yīng)性和靈活性,而且易于對(duì)系統(tǒng)進(jìn)行擴(kuò)充和縮小。w 在C/S體系結(jié)構(gòu)中,系統(tǒng)中的功能構(gòu)件充分
8、隔離,客戶(hù)應(yīng)用程序的開(kāi)發(fā)集中于數(shù)據(jù)的顯示和分析,而數(shù)據(jù)庫(kù)服務(wù)器的開(kāi)發(fā)則集中于數(shù)據(jù)的管理,不必在每一個(gè)新的應(yīng)用程序中都要對(duì)一個(gè)DBMS進(jìn)行編碼。將大的應(yīng)用處理任務(wù)分布到許多通過(guò)網(wǎng)絡(luò)連接的低成本計(jì)算機(jī)上,以節(jié)約大量費(fèi)用。.C/S風(fēng)格缺點(diǎn)w 開(kāi)發(fā)成本較高w 客戶(hù)端程序設(shè)計(jì)復(fù)雜w 信息內(nèi)容和形式單一w 用戶(hù)界面風(fēng)格不一,使用繁雜,不利于推廣使用w 軟件移植困難w 軟件維護(hù)和升級(jí)困難w 新技術(shù)不能輕易應(yīng)用.三層C/S風(fēng)格體系結(jié)構(gòu).三層C/S風(fēng)格處理流程.三層C/S風(fēng)格物理結(jié)構(gòu).三層C/S風(fēng)格優(yōu)點(diǎn)w 允許合理地劃分三層結(jié)構(gòu)的功能,使之在邏輯上保持相對(duì)獨(dú)立性,能提高系統(tǒng)和軟件的可維護(hù)性和可擴(kuò)展性。w 允許更
9、靈活有效地選用相應(yīng)的平臺(tái)和硬件系統(tǒng),使之在處理負(fù)荷能力上與處理特性上分別適應(yīng)于結(jié)構(gòu)清晰的三層;并且這些平臺(tái)和各個(gè)組成部分可以具有良好的可升級(jí)性和開(kāi)放性。w 應(yīng)用的各層可以并行開(kāi)發(fā),可以選擇各自最適合的開(kāi)發(fā)語(yǔ)言。w 利用功能層有效地隔離開(kāi)表示層與數(shù)據(jù)層,未授權(quán)的用戶(hù)難以繞過(guò)功能層而利用數(shù)據(jù)庫(kù)工具或黑客手段去非法地訪(fǎng)問(wèn)數(shù)據(jù)層,為嚴(yán)格的安全管理奠定了堅(jiān)實(shí)的基礎(chǔ)。.三層C/S風(fēng)格注意點(diǎn)w 三層C/S結(jié)構(gòu)各層間的通信效率不高,即使分配給各層的硬件能力很強(qiáng),其作為整體來(lái)說(shuō)也達(dá)不到所要求的性能。w 設(shè)計(jì)時(shí)必須慎重考慮三層間的通信方法、通信頻率及數(shù)據(jù)量,這和提高各層的獨(dú)立性一樣是三層C/S結(jié)構(gòu)的關(guān)鍵問(wèn)題。.B
10、/S風(fēng)格基本概念w 瀏覽器/服務(wù)器(B/S)風(fēng)格就是上述三層應(yīng)用結(jié)構(gòu)的一種實(shí)現(xiàn)方式,其具體結(jié)構(gòu)為:瀏覽器/Web服務(wù)器/數(shù)據(jù)庫(kù)服務(wù)器。w B/S體系結(jié)構(gòu)主要是利用不斷成熟的WWW瀏覽器技術(shù),結(jié)合瀏覽器的多種腳本語(yǔ)言,用通用瀏覽器就實(shí)現(xiàn)了原來(lái)需要復(fù)雜的專(zhuān)用軟件才能實(shí)現(xiàn)的強(qiáng)大功能,并節(jié)約了開(kāi)發(fā)成本。從某種程度上來(lái)說(shuō),B/S結(jié)構(gòu)是一種全新的軟件體系結(jié)構(gòu)。.B/S風(fēng)格體系結(jié)構(gòu).B/S風(fēng)格優(yōu)點(diǎn)w 基于B/S體系結(jié)構(gòu)的軟件,系統(tǒng)安裝、修改和維護(hù)全在服務(wù)器端解決。用戶(hù)在使用系統(tǒng)時(shí),僅僅需要一個(gè)瀏覽器就可運(yùn)行全部的模塊,真正達(dá)到了“零客戶(hù)端”的功能,很容易在運(yùn)行時(shí)自動(dòng)升級(jí)。w B/S體系結(jié)構(gòu)還提供了異種機(jī)、異
11、種網(wǎng)、異種應(yīng)用服務(wù)器的聯(lián)機(jī)、聯(lián)網(wǎng)、統(tǒng)一服務(wù)的最現(xiàn)實(shí)的開(kāi)放性基礎(chǔ)。.B/S風(fēng)格缺點(diǎn)w B/S體系結(jié)構(gòu)缺乏對(duì)動(dòng)態(tài)頁(yè)面的支持能力,沒(méi)有集成有效的數(shù)據(jù)庫(kù)處理功能。w B/S體系結(jié)構(gòu)的系統(tǒng)擴(kuò)展能力差,安全性難以控制。w 采用B/S體系結(jié)構(gòu)的應(yīng)用系統(tǒng),在數(shù)據(jù)查詢(xún)等響應(yīng)速度上,要遠(yuǎn)遠(yuǎn)低于C/S體系結(jié)構(gòu)。w B/S體系結(jié)構(gòu)的數(shù)據(jù)提交一般以頁(yè)面為單位,數(shù)據(jù)的動(dòng)態(tài)交互性不強(qiáng),不利于在線(xiàn)事務(wù)處理(OLTP)應(yīng)用。.實(shí)例分析w某集團(tuán)公司要開(kāi)發(fā)一個(gè)網(wǎng)絡(luò)財(cái)務(wù)程序,使各地員工能在互聯(lián)網(wǎng)絡(luò)上進(jìn)行財(cái)務(wù)處理和報(bào)銷(xiāo)。在設(shè)計(jì)該財(cái)務(wù)程序的體系結(jié)構(gòu)時(shí),項(xiàng)目組產(chǎn)生了分歧:(1)張工程師認(rèn)為應(yīng)該采用客戶(hù)機(jī)/服務(wù)器(C/S)結(jié)構(gòu)。各分公司財(cái)務(wù)部要安裝一個(gè)軟件客戶(hù)端,通過(guò)這個(gè)客戶(hù)端連接到總公司財(cái)務(wù)部主機(jī)。如果員工在外地出差,需要報(bào)銷(xiāo)帳務(wù)的,也需要安裝這個(gè)客戶(hù)端才能進(jìn)行。(2)李工程師認(rèn)為應(yīng)該采用瀏覽器/服務(wù)器(B/S)結(jié)構(gòu),各分公司及出差員工直接通過(guò)Windows操作系統(tǒng)自帶的IE瀏覽器就可以連接到總公司的財(cái)務(wù)部主機(jī)。w經(jīng)過(guò)項(xiàng)目組的激烈討論,最終選用了C/S和B/S混合結(jié)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 高定服裝版師筆試試題及答案
- 2025年全自動(dòng)精密貼片機(jī)項(xiàng)目合作計(jì)劃書(shū)
- 2025年金華東陽(yáng)市國(guó)有企業(yè)招聘A類(lèi)工作人員考試試題【答案】
- 2025年山西長(zhǎng)治職業(yè)技術(shù)學(xué)院招聘考試試題【答案】
- 2025年吉林省外事辦公室下屬事業(yè)單位招聘考試筆試試題【答案】
- 2025年泌尿肛腸外科手術(shù)器械合作協(xié)議書(shū)
- 2025餐飲年度工作計(jì)劃
- 2025年汽車(chē)儀表相關(guān)計(jì)數(shù)儀表項(xiàng)目建議書(shū)
- 探索教育創(chuàng)新銀飾工藝與現(xiàn)代教育的結(jié)合
- 2025屆廣西壯族自治區(qū)貴港市桂平市高二物理第二學(xué)期期末達(dá)標(biāo)檢測(cè)試題含解析
- JBT 14645-2023 低溫裝置用密封墊片 (正式版)
- JBT 106-2024 閥門(mén)的標(biāo)志和涂裝(正式版)
- 2024年廣東省香港大學(xué)深圳醫(yī)院財(cái)務(wù)部崗位招聘歷年高頻考題難、易錯(cuò)點(diǎn)模擬試題(共500題)附帶答案詳解
- JC∕T 60016-2022 建筑用免拆復(fù)合保溫模板應(yīng)用技術(shù)規(guī)程
- 三伏貼課件(最終版)
- 《辦公室保健、頸椎、腰椎病防備講座》
- 山東省青島第二中學(xué)2022-2023學(xué)年高一年級(jí)下冊(cè)期末考試數(shù)學(xué)試題
- 檢驗(yàn)設(shè)備的管理課件
- 摔傷安全培訓(xùn)課件
- 體育之研究白話(huà)翻譯
- 新版標(biāo)準(zhǔn)日本語(yǔ)初級(jí)上冊(cè)課文(附中文對(duì)照)-日本初級(jí)課本
評(píng)論
0/150
提交評(píng)論