軟件體系結(jié)構(gòu)知識(shí)點(diǎn)-復(fù)習(xí)概要_第1頁
軟件體系結(jié)構(gòu)知識(shí)點(diǎn)-復(fù)習(xí)概要_第2頁
軟件體系結(jié)構(gòu)知識(shí)點(diǎn)-復(fù)習(xí)概要_第3頁
軟件體系結(jié)構(gòu)知識(shí)點(diǎn)-復(fù)習(xí)概要_第4頁
軟件體系結(jié)構(gòu)知識(shí)點(diǎn)-復(fù)習(xí)概要_第5頁
已閱讀5頁,還剩13頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第3章軟件體系結(jié)構(gòu)風(fēng)格1.軟件體系結(jié)構(gòu)結(jié)構(gòu)風(fēng)格是描述某一特定應(yīng)用領(lǐng)域中系統(tǒng)組織方式的慣用模式。軟件體系結(jié)構(gòu)風(fēng)格又稱軟件體系結(jié)構(gòu)習(xí)慣模式。風(fēng)格的本質(zhì)是:一些特定的元素按照特定的方式組成一個(gè)有利于上下文環(huán)境里的特定問題的解決的結(jié)構(gòu)。體系結(jié)構(gòu)風(fēng)格的使用幾乎完全是特定的。2.使用體系結(jié)構(gòu)風(fēng)格的好處:(a)能夠促進(jìn)設(shè)計(jì)的重用性;(b)有關(guān)風(fēng)格的使用帶來了設(shè)計(jì)者的交流形式;(c)使用風(fēng)格能夠使代碼的重用性得到提高。3.體系結(jié)構(gòu)風(fēng)格最關(guān)鍵的四要素:(a)提供一個(gè)詞匯表;(b)定義一套配置規(guī)則;(c)定義一套語義解釋原則;(d)定義對基于這種風(fēng)格的系統(tǒng)所進(jìn)行的分析。4.經(jīng)典的體系結(jié)構(gòu)風(fēng)格:(a)數(shù)據(jù)流風(fēng)格(管道和過濾器風(fēng)格);(b)調(diào)用/返回風(fēng)格(面向?qū)ο蠼M織風(fēng)格);(c)獨(dú)立構(gòu)件風(fēng)格(事件系統(tǒng));(d)虛擬機(jī)風(fēng)格;(e)倉庫風(fēng)格。4.1管道和過濾器風(fēng)格的優(yōu)點(diǎn):(a)使得軟構(gòu)件具有良好的隱蔽性和高內(nèi)聚、低耦合的特點(diǎn);(b)允許設(shè)計(jì)者將整個(gè)系統(tǒng)的輸入/輸出行為看成是多個(gè)過濾器的行為的簡單合成;(c)支持軟件重用;(d)系統(tǒng)維護(hù)和增強(qiáng)系統(tǒng)性能簡單;(e)允許對一些如吞吐量、死鎖等屬性的分析;(f)支持并行執(zhí)行。管道和過濾器風(fēng)格的缺點(diǎn):(a)通常導(dǎo)致進(jìn)程成為批處理的結(jié)構(gòu);(b)不適合處理交互的應(yīng)用;(c)系統(tǒng)性能下降,增加了編寫過濾器的復(fù)雜性。4.2面向?qū)ο笙到y(tǒng)風(fēng)格的優(yōu)點(diǎn):(a)因?yàn)閷ο髮ζ渌鼘ο箅[藏它的表示,所以可以改變一個(gè)對象的表示,而不影響其它的對象;(b)設(shè)計(jì)者可將一些數(shù)據(jù)存取操作的問題分解成一些交互的代理程序的集合。面向?qū)ο蠼M織風(fēng)格的缺點(diǎn):(a)為了使一個(gè)對象和另一個(gè)對象通過過程調(diào)用等進(jìn)行交互,必須知道對象的標(biāo)識(shí),只要一個(gè)對象的標(biāo)識(shí)改變了,就必須修改所有其他明確調(diào)用它的對象;(b)必須修改所有顯式調(diào)用它的其它對象,并消除由此帶來的一些副作用。4.3基于事件的隱式調(diào)用風(fēng)格的優(yōu)點(diǎn):(a)為軟件重用提供了強(qiáng)大的支持;(b)為改進(jìn)系統(tǒng)帶來了方便。基于事件的隱式調(diào)用風(fēng)格的缺點(diǎn):(a)構(gòu)件放棄了對系統(tǒng)計(jì)算的控制;(b)數(shù)據(jù)交換的問題;(c)既然過程的語義必須依賴于被觸發(fā)事件的上下文約束,關(guān)于正確性的推理存在問題。4.4分層系統(tǒng)風(fēng)格的優(yōu)點(diǎn):(a)支持基于抽象程度遞增的系統(tǒng)設(shè)計(jì),使設(shè)計(jì)者可以把一個(gè)復(fù)雜系統(tǒng)按遞增的步驟進(jìn)行分解;(b)支持功能增強(qiáng);(c)支持重用。分層系統(tǒng)風(fēng)格的缺點(diǎn):(a)并不是每個(gè)系統(tǒng)都可以很容易地劃分為分層的模式,甚至即使一個(gè)系統(tǒng)的邏輯結(jié)構(gòu)是層次化的,出于對系統(tǒng)性能的考慮,系統(tǒng)設(shè)計(jì)師不得不把一些低級或高級的功能綜合起來;(b)很難找到一個(gè)合適的、正確的層次抽象方法。5.C2:通過連接件綁定在一起的按照一組規(guī)則運(yùn)作的并行構(gòu)件網(wǎng)絡(luò)。5.1C2風(fēng)格的中心原則是有限可視原則,或者說是下層獨(dú)立的原則:在C2風(fēng)格的體系結(jié)構(gòu)中,某一構(gòu)件只能感知層次高于自己的構(gòu)件所提供的服務(wù),而不能感知到層次比自己更低的構(gòu)件的服務(wù)。這種單向的傳遞性,有利于系統(tǒng)的維護(hù)和擴(kuò)展。5.2C2風(fēng)格的通信規(guī)則:C2中,所有構(gòu)件間的通信必須通過消息來實(shí)現(xiàn),這也是構(gòu)件之間的唯一通信途徑。5.3C2風(fēng)格的特點(diǎn):(a)系統(tǒng)中的構(gòu)件可實(shí)現(xiàn)應(yīng)用需求,并能將任意復(fù)雜度的功能封裝在一起;(b)所有構(gòu)件之間的通訊是通過以連接件為中介的異步消息交換機(jī)制來實(shí)現(xiàn)的;(c)構(gòu)件相對獨(dú)立,構(gòu)件之間依賴性較少。6.C/S(/服務(wù)器)體系結(jié)構(gòu)的主要組成部分:數(shù)據(jù)庫服務(wù)器、應(yīng)用程序和網(wǎng)絡(luò)。6.1C/S體系結(jié)構(gòu)的任務(wù)分配:(1)服務(wù)器:(a)數(shù)據(jù)庫安全性的要求;(b)數(shù)據(jù)庫訪問并發(fā)性的控制;(c)數(shù)據(jù)庫前端的應(yīng)用程序的全局?jǐn)?shù)據(jù)完整性規(guī)則;(d)數(shù)據(jù)庫的備份與恢復(fù);(2)應(yīng)用程序:(a)提供用戶與數(shù)據(jù)庫交互的界面;(b)向數(shù)據(jù)庫服務(wù)器提交用戶請求并接收來自數(shù)據(jù)庫服務(wù)器的信息;(c)利用應(yīng)用程序?qū)Υ嬖谟诙说臄?shù)據(jù)執(zhí)行應(yīng)用邏輯要求。6.2C/S體系結(jié)構(gòu)的優(yōu)點(diǎn):(a)C/S體系結(jié)構(gòu)具有強(qiáng)大的數(shù)據(jù)操作和事務(wù)處理能力,模型思想簡單,易于人們理解和接受;(b)系統(tǒng)的應(yīng)用程序和服務(wù)器構(gòu)件分別運(yùn)行在不同的計(jì)算機(jī)上,系統(tǒng)中每臺(tái)服務(wù)器都可以適合各構(gòu)件的要求,這對于硬件和軟件的變化顯示出極大的適應(yīng)性和靈活性,而且易于對系統(tǒng)進(jìn)行擴(kuò)充和縮小;(c)系統(tǒng)中的功能構(gòu)件充分隔離,應(yīng)用程序的開發(fā)集中于數(shù)據(jù)的顯示和分析,而數(shù)據(jù)庫服務(wù)器的開發(fā)則集中于數(shù)據(jù)的管理,不必在每一個(gè)新的應(yīng)用程序中都要對一個(gè)DBMS進(jìn)行編碼,將大的應(yīng)用處理任務(wù)分布到許多通過網(wǎng)絡(luò)連接的低成本計(jì)算機(jī)上,以節(jié)約大量費(fèi)用。6.3C/S體系結(jié)構(gòu)的缺點(diǎn):(a)開發(fā)成本較高;(b)端程序設(shè)計(jì)復(fù)雜;(c)信息內(nèi)容和形式單一;(d)用戶界面風(fēng)格不一,使用繁雜,不利于推廣使用;(e)軟件移植困難;(f)軟件維護(hù)和升級困難;(g)新技術(shù)不能輕易應(yīng)用。7.三層C/S體系結(jié)構(gòu)的具體結(jié)構(gòu):數(shù)據(jù)層、功能層、表示層。7.1三層C/S體系結(jié)構(gòu)的優(yōu)點(diǎn):(a)允許合理地劃分三層結(jié)構(gòu)的功能,使之在邏輯上保持相對獨(dú)立性,能提高系統(tǒng)和軟件的可維護(hù)性和可擴(kuò)展性;(b)允許更靈活有效地選用相應(yīng)的平臺(tái)和硬件系統(tǒng),使之在處理負(fù)荷能力上與處理特性上分別適應(yīng)于結(jié)構(gòu)清晰的三層,并且這些平臺(tái)和各個(gè)組成部分可以具有良好的可升級性和開放性;(c)應(yīng)用的各層可以并行開發(fā),可以選擇各自最適合的開發(fā)語言;(d)利用功能層有效地隔離開表示層與數(shù)據(jù)層,未授權(quán)的用戶難以繞過功能層而利用數(shù)據(jù)庫工具或黑客手段去非法地訪問數(shù)據(jù)層,為嚴(yán)格的安全管理奠定了堅(jiān)實(shí)的基礎(chǔ)。7.2三層C/S體系結(jié)構(gòu)中要注意的問題:(a)三層C/S結(jié)構(gòu)各層間的通信效率若不高,即使分配給各層的硬件能力很強(qiáng),其作為整體來說也達(dá)不到所要求的性能;(b)設(shè)計(jì)時(shí)必須慎重考慮三層間的通信方法、通信頻度及數(shù)據(jù)量。這和提高各層的獨(dú)立性一樣是三層C/S結(jié)構(gòu)的關(guān)鍵問題。8.B/S(瀏覽器/服務(wù)器)體系結(jié)構(gòu)的具體結(jié)構(gòu):瀏覽器、Web服務(wù)器、數(shù)據(jù)庫服務(wù)器。8.1B/S體系結(jié)構(gòu)的優(yōu)點(diǎn):(a)基于B/S體系結(jié)構(gòu)的軟件,系統(tǒng)安裝、修改和維護(hù)全在服務(wù)器端解決,用戶在使用系統(tǒng)時(shí),僅僅需要一個(gè)瀏覽器就可運(yùn)行全部的模塊,真正達(dá)到了“零端”的功能,很容易在運(yùn)行時(shí)自動(dòng)升級;(b)B/S體系結(jié)構(gòu)還提供了異種機(jī)、異種網(wǎng)、異種應(yīng)用服務(wù)的聯(lián)機(jī)、聯(lián)網(wǎng)、統(tǒng)一服務(wù)的最現(xiàn)實(shí)的開放性基礎(chǔ)。8.2B/S體系結(jié)構(gòu)的缺點(diǎn):(a)B/S體系結(jié)構(gòu)缺乏對動(dòng)態(tài)頁面的支持能力,沒有集成有效的數(shù)據(jù)庫處理功能;(b)B/S體系結(jié)構(gòu)的系統(tǒng)擴(kuò)展能力差,安全性難以控制;(c)采用B/S體系結(jié)構(gòu)的應(yīng)用系統(tǒng),在數(shù)據(jù)查詢等響應(yīng)速度上,要遠(yuǎn)遠(yuǎn)地低于C/S體系結(jié)構(gòu);(d)B/S體系結(jié)構(gòu)的數(shù)據(jù)提交一般以頁面為單位,數(shù)據(jù)的動(dòng)態(tài)交互性不強(qiáng),不利于在線事務(wù)處理(OLTP)應(yīng)用。9.C/S和B/S混合體系結(jié)構(gòu)的做法:(1)內(nèi)部:C/S模式,直接訪問數(shù)據(jù)庫服務(wù)器;(2)外部:B/S模式,通過Web服務(wù)器訪問數(shù)據(jù)庫服務(wù)器。10.CORBA(公共對象請求代理)技術(shù)規(guī)范:(a)接口定義語言(IDL);(b)接口池(IR);(c)動(dòng)態(tài)調(diào)用接口(DII);(d)對象適配器(OA)。11.正交軟件體系結(jié)構(gòu)是一種以垂直線索構(gòu)件族為基礎(chǔ)的層次化結(jié)構(gòu),其基本思想是把應(yīng)用系統(tǒng)的結(jié)構(gòu)按功能的正交性,垂直分割為若干個(gè)線索(子系統(tǒng)),線索又分為幾個(gè)層次,每個(gè)線索由多個(gè)具有不同層次功能和不同抽象級別的構(gòu)件構(gòu)成。各線索的相同層次的構(gòu)件具有相同的抽象級別。12.正交軟件體系結(jié)構(gòu)的特征:(a)正交軟件體系結(jié)構(gòu)由完成不同功能的n(n1)個(gè)線索(子系統(tǒng))組成;(b)系統(tǒng)具有m(m1)個(gè)不同抽象級別的層;(c)線索之間是相互獨(dú)立的(正交的);(d)系統(tǒng)有一個(gè)公共驅(qū)動(dòng)層(一般為最高層)和公共數(shù)據(jù)結(jié)構(gòu)(一般為最低層)。13.正交軟件體系結(jié)構(gòu)的優(yōu)點(diǎn):(a)結(jié)構(gòu)清晰,易于理解;(b)易修改,可維護(hù)性強(qiáng);(c)可移植性強(qiáng),重用粒度大。14.HMB(層次消息總線)風(fēng)格:基于層次消息總線、支持構(gòu)件的分布和并發(fā),構(gòu)件之間通過消息總線進(jìn)行通信。HMB風(fēng)格的構(gòu)件模型包括系統(tǒng)的靜態(tài)結(jié)構(gòu)、動(dòng)態(tài)行為以及功能。15.為什么要使用異構(gòu)結(jié)構(gòu)?答:(a)不同的結(jié)構(gòu)有不同的處理能力的強(qiáng)項(xiàng)和弱點(diǎn),一個(gè)系統(tǒng)的體系結(jié)構(gòu)應(yīng)該根據(jù)實(shí)際需要進(jìn)行選擇,以解決實(shí)際問題;(b)關(guān)于軟件包、框架、通信以及其他一些體系結(jié)構(gòu)上的問題,目前存在多種標(biāo)準(zhǔn)。即使在某段時(shí)間內(nèi)某一種標(biāo)準(zhǔn)占統(tǒng)治地位,但變動(dòng)最終是絕對的;(c)實(shí)際中,我們總會(huì)遇到一些遺留下來的代碼,它們?nèi)杂行в茫菂s與新系統(tǒng)有某種程度上的不協(xié)調(diào)。然而在許多場合,將技術(shù)與經(jīng)濟(jì)綜合進(jìn)行考慮時(shí),總是決定不再重寫它們;(d)即使在某一單位中,規(guī)定了共享共同的軟件包或相互關(guān)系的一些標(biāo)準(zhǔn),仍會(huì)存在解釋或表示習(xí)慣上的不同。16.C/S與B/S混合之“內(nèi)外有別”模型的優(yōu)點(diǎn):外部用戶不直接訪問數(shù)據(jù)庫服務(wù)器,能保證企業(yè)數(shù)據(jù)庫的相對安全。企業(yè)內(nèi)部用戶的交互性較強(qiáng),數(shù)據(jù)查詢和修改的響應(yīng)速度較快。C/S與B/S混合之“內(nèi)外有別”模型的優(yōu)點(diǎn):企業(yè)外部用戶修改和維護(hù)數(shù)據(jù)時(shí),速度較慢,較煩瑣,數(shù)據(jù)的動(dòng)態(tài)交互性不強(qiáng)。17.C/S與B/S混合之“查改有別”模型的優(yōu)缺點(diǎn):體現(xiàn)了B/S體系結(jié)構(gòu)和C/S體系結(jié)構(gòu)的共同優(yōu)點(diǎn)。但因?yàn)橥獠坑脩裟苤苯油ㄟ^Inter連接到數(shù)據(jù)庫服務(wù)器,企業(yè)數(shù)據(jù)容易暴露給外部用戶,給數(shù)據(jù)安全造成了一定的威脅。18.DSSA(特定領(lǐng)域軟件體系結(jié)構(gòu))必備的特征:(a)一個(gè)嚴(yán)格定義的問題域和/或解決域;(b)具有普遍性,使其可以用于領(lǐng)域中某個(gè)特定應(yīng)用的開發(fā);(c)對整個(gè)領(lǐng)域的合適程度的抽象;(d)具備該領(lǐng)域固定的、典型的在開發(fā)過程中可重用元素。19.DSSA的基本活動(dòng):領(lǐng)域分析、領(lǐng)域設(shè)計(jì)、領(lǐng)域?qū)崿F(xiàn)。20.DSSA和體系結(jié)構(gòu)風(fēng)格的比較:(a)DSSA以問題域?yàn)槌霭l(fā)點(diǎn),體系結(jié)構(gòu)風(fēng)格以解決域?yàn)槌霭l(fā)點(diǎn);(b)DSSA只對某一個(gè)領(lǐng)域進(jìn)行設(shè)計(jì)專家知識(shí)的提取、存儲(chǔ)和組織,但可以同時(shí)使用多種體系結(jié)構(gòu)風(fēng)格,而在某個(gè)體系結(jié)構(gòu)風(fēng)格中進(jìn)行體系結(jié)構(gòu)設(shè)計(jì)專家知識(shí)的組織時(shí),可以將提取的公共結(jié)構(gòu)和設(shè)計(jì)方法擴(kuò)展到多個(gè)應(yīng)用領(lǐng)域;(c)DSSA通常選用一個(gè)或多個(gè)適合所研究領(lǐng)域的體系結(jié)構(gòu)風(fēng)格,并設(shè)計(jì)一個(gè)該領(lǐng)域?qū)S玫捏w系結(jié)構(gòu)分析設(shè)計(jì)工具;(d)體系結(jié)構(gòu)風(fēng)格的定義和該風(fēng)格應(yīng)用的領(lǐng)域是直交的,提取的設(shè)計(jì)知識(shí)比用DSSA提取的設(shè)計(jì)專家知識(shí)的應(yīng)用范圍要廣

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論