軟件體系結(jié)構(gòu)復(fù)習(xí)總結(jié)

軟件體系結(jié)構(gòu)復(fù)習(xí)總結(jié)

ID:14704382

大小:3.72 MB

頁數(shù):35頁

時間:2018-07-30

軟件體系結(jié)構(gòu)復(fù)習(xí)總結(jié)_第1頁
軟件體系結(jié)構(gòu)復(fù)習(xí)總結(jié)_第2頁
軟件體系結(jié)構(gòu)復(fù)習(xí)總結(jié)_第3頁
軟件體系結(jié)構(gòu)復(fù)習(xí)總結(jié)_第4頁
軟件體系結(jié)構(gòu)復(fù)習(xí)總結(jié)_第5頁
資源描述:

《軟件體系結(jié)構(gòu)復(fù)習(xí)總結(jié)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。

1、感謝在職班同學(xué)架構(gòu)定義1.LenBass,PaulClements等人對軟件構(gòu)架所做的定義(黃皮18頁):某個軟件或計算系統(tǒng)的軟件構(gòu)架是該系統(tǒng)的一個或多個結(jié)構(gòu),它由軟件元素、這些元素的外部可見屬性以及這些元素之間的關(guān)系組成。2.含義:(黃皮書19-20頁,此處需要看書,因為估計考的比較靈活)?首先,構(gòu)架定義了軟件元素。–構(gòu)架必須省略元素中與其交互無關(guān)的某些信息?第二,該定義明確指出系統(tǒng)可能而且確實由多個結(jié)構(gòu)組成。–其中任何一個結(jié)構(gòu)并不能與構(gòu)架等同–結(jié)構(gòu)的多重性是理解軟件構(gòu)架的關(guān)鍵?第三,該定義意味著具有軟

2、件的每個計算系統(tǒng)都有一個軟件構(gòu)架。–每個軟件系統(tǒng)都可以看成由若干個元素及其相互聯(lián)系構(gòu)成?第四,只要某個元素的行為可以從其他元素的角度觀察到或區(qū)別開,這個元素的行為就是構(gòu)架的內(nèi)容。–這種行為使各元素的交互成為可能,是構(gòu)架的一部分(要求:弄清這個定義的含義并能根據(jù)這個定義分析現(xiàn)有的一些關(guān)于構(gòu)架的描述是否正確。)3.軟件體系結(jié)構(gòu)異構(gòu)的方式,特點?異構(gòu)的方式:一種方式是使用層次結(jié)構(gòu),一個系統(tǒng)構(gòu)件被組織成某種體系結(jié)構(gòu)風(fēng)格,但它的內(nèi)部結(jié)構(gòu)可能是另一種完全不同的風(fēng)格。第二種組合風(fēng)格的方式是,允許單一構(gòu)件使用復(fù)合的連接件

3、。比如一個構(gòu)件可能通過它的接口訪問知識庫,但通過管道與系統(tǒng)中其他構(gòu)件進行交互,又通過其他接口接受控制信息。第三種組合方法是用完全不同的軟件體系結(jié)構(gòu)風(fēng)格對一個系統(tǒng)水平的軟件體系結(jié)構(gòu)進行描述。4、構(gòu)件:構(gòu)件是計算或數(shù)據(jù)儲存的單元;構(gòu)件定義:構(gòu)件是指語義完整、語法正確和有可復(fù)用價值的單位軟件,是軟件復(fù)用過程中可以明確辨識的元素;結(jié)構(gòu)上,它是語義描述、通訊接口和實現(xiàn)代碼的復(fù)合體。5、連接件:連接件是構(gòu)件之間的交互和指導(dǎo)這些交互的規(guī)則進行建模的體系結(jié)構(gòu)元素軟件體系結(jié)構(gòu)(構(gòu)架)研究的問題?結(jié)構(gòu)性問題?系統(tǒng)的組織,由哪

4、些組件構(gòu)成?全局性的控制結(jié)構(gòu)?通訊、同步或訪問的協(xié)議?將功能分配到不同的系統(tǒng)組成部分?設(shè)計元素的組成?系統(tǒng)的物理分布?可擴展性、性能(要求:要弄清哪些方面的問題是屬于構(gòu)架的,哪些方面的問題是不屬于構(gòu)架的)常見的架構(gòu)風(fēng)格一、什么是軟件架構(gòu)風(fēng)格軟件體系結(jié)構(gòu)風(fēng)格描述某一特定應(yīng)用領(lǐng)域中系統(tǒng)組織方式的慣用模式,以結(jié)構(gòu)組織模式定義了一個系統(tǒng)家族a)關(guān)于構(gòu)件和連接件類型的術(shù)語詞匯表b)一組約束它們組合方式的規(guī)定c)一個或多個語義模型,規(guī)定了如何從各成分的特性決定系統(tǒng)整體特性概括地說,一種軟件體系結(jié)構(gòu)風(fēng)格刻畫一個具有共享

5、結(jié)構(gòu)和語義的系統(tǒng)家族【MaryShow和DavidGarlan認為:軟件體系結(jié)構(gòu)風(fēng)格就是就是軟件體系結(jié)構(gòu)模式。FrankBuschmann認為,有區(qū)別:模式比風(fēng)格更加面向問題,模式通常有問題出現(xiàn)的語境、解決方案和適用的場景;風(fēng)格更側(cè)重于從應(yīng)用系統(tǒng)中抽取他們的總體結(jié)構(gòu),極少從實際設(shè)計環(huán)境來考慮設(shè)計技術(shù)?!浚私猓┒?、常見的架構(gòu)風(fēng)格–管道和過濾器模式–數(shù)據(jù)抽象/面向?qū)ο竽J建C基于事件的模式–分層模式–倉庫(Repository)模式–解釋器模式–過程控制–C/S,B/S–特點,不變式,優(yōu)點,缺點答:比較典型的

6、體系結(jié)構(gòu)風(fēng)格有:數(shù)據(jù)流風(fēng)格(Dataflow):批處理序列、管道-過濾器風(fēng)格(Pipe-and-Filter)調(diào)用/返回風(fēng)格:主程序/子程序、面向?qū)ο箫L(fēng)格(ADT)、層次系統(tǒng)(LayeredSystems)獨立構(gòu)件風(fēng)格:進程通信、事件系統(tǒng)虛擬機風(fēng)格:解釋器、基于規(guī)則的系統(tǒng)倉庫風(fēng)格:數(shù)據(jù)庫系統(tǒng)、超文本系統(tǒng)、黑板系統(tǒng)1、–管道和過濾器模式?每個構(gòu)件都有一組輸入和輸出,構(gòu)件讀輸入的數(shù)據(jù)流,經(jīng)過內(nèi)部處理,然后產(chǎn)生輸出數(shù)據(jù)流。這個過程通常通過對輸入流的變換及增量計算來完成,所以在輸入被完全消費之前,輸出便產(chǎn)生了?這

7、里的構(gòu)件被稱為過濾器,這種風(fēng)格的連接件就象是數(shù)據(jù)流傳輸?shù)墓艿?,將一個過濾器的輸出傳到另一過濾器的輸入?優(yōu)點–使得軟構(gòu)件具有良好的隱蔽性和高內(nèi)聚、低耦合的特點;–允許設(shè)計者將整個系統(tǒng)的輸入/輸出行為看成是多個過濾器的行為的簡單合成;–支持軟件復(fù)用。只要提供適合在兩個過濾器之間傳送的數(shù)據(jù),任何兩個過濾器都可被連接起來;–系統(tǒng)維護和增強系統(tǒng)性能簡單。新的過濾器可以添加到現(xiàn)有系統(tǒng)中來;舊的可以被改進的過濾器替換掉;–允許對一些如吞吐量、死鎖等屬性的分析–支持并行執(zhí)行。每個過濾器是作為一個單獨的任務(wù)完成,因此可與其

8、它任務(wù)并行執(zhí)行?缺點–通常導(dǎo)致進程成為批處理的結(jié)構(gòu)。這是因為雖然過濾器可增量式地處理數(shù)據(jù),但它們是獨立的,所以設(shè)計者必須將每個過濾器看成一個完整的從輸入到輸出的轉(zhuǎn)換;–不適合處理交互的應(yīng)用。當需要增量地顯示改變時,這個問題尤為嚴重;–因為在數(shù)據(jù)傳輸上沒有通用的標準,每個過濾器都增加了解析和合成數(shù)據(jù)的工作,這樣就導(dǎo)致了系統(tǒng)性能下降,并增加了編寫過濾器的復(fù)雜性。2、數(shù)據(jù)抽象和面向?qū)ο蠼M織?這種風(fēng)格建立在數(shù)據(jù)抽象和面向?qū)ο蟮幕A(chǔ)上,

當前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。