52浙江大學(xué)王燦《軟件體系結(jié)構(gòu)》視頻課程7-構(gòu)架設(shè)計(jì)案例省公開課一等獎(jiǎng)全國示范課微課金獎(jiǎng)?wù)n件_第1頁
52浙江大學(xué)王燦《軟件體系結(jié)構(gòu)》視頻課程7-構(gòu)架設(shè)計(jì)案例省公開課一等獎(jiǎng)全國示范課微課金獎(jiǎng)?wù)n件_第2頁
52浙江大學(xué)王燦《軟件體系結(jié)構(gòu)》視頻課程7-構(gòu)架設(shè)計(jì)案例省公開課一等獎(jiǎng)全國示范課微課金獎(jiǎng)?wù)n件_第3頁
52浙江大學(xué)王燦《軟件體系結(jié)構(gòu)》視頻課程7-構(gòu)架設(shè)計(jì)案例省公開課一等獎(jiǎng)全國示范課微課金獎(jiǎng)?wù)n件_第4頁
52浙江大學(xué)王燦《軟件體系結(jié)構(gòu)》視頻課程7-構(gòu)架設(shè)計(jì)案例省公開課一等獎(jiǎng)全國示范課微課金獎(jiǎng)?wù)n件_第5頁
已閱讀5頁,還剩20頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

設(shè)計(jì)構(gòu)架(1)1/25簡(jiǎn)短回顧在前幾節(jié)課我們學(xué)習(xí)了構(gòu)架商業(yè)性方面構(gòu)架視圖和結(jié)構(gòu)質(zhì)量屬性實(shí)現(xiàn)質(zhì)量屬性構(gòu)架戰(zhàn)術(shù)和模式這些組成了我們進(jìn)行構(gòu)架設(shè)計(jì)背景知識(shí)生命周期中構(gòu)架設(shè)計(jì)構(gòu)架形成團(tuán)體結(jié)構(gòu)創(chuàng)建骨架系統(tǒng)2/25軟件生命周期常見軟件生命周期模型瀑布模型瀑布模型將軟件生命周期各項(xiàng)活動(dòng)要求為依固定次序聯(lián)接若干階段工作,形如瀑布流水,最終得到軟件產(chǎn)品演化模型用戶能夠給出待開發(fā)系統(tǒng)關(guān)鍵需求,而且當(dāng)看到關(guān)鍵需求實(shí)現(xiàn)后,能夠有效地提出反饋,以支持系統(tǒng)最終設(shè)計(jì)和實(shí)現(xiàn)。螺旋模型瀑布模型與演化模型相結(jié)合,并加入二者所忽略風(fēng)險(xiǎn)分析所建立一個(gè)軟件開發(fā)模型。構(gòu)架在軟件生命周期中處于一個(gè)什么位置?3/25演化模型生命周期軟件概念初步需求分析構(gòu)架和系統(tǒng)關(guān)鍵設(shè)計(jì)交付最終版本獲取客戶反饋開發(fā)一個(gè)版本匯總客戶反饋交付該版本4/25何時(shí)能夠開始構(gòu)架設(shè)計(jì)首先要有需求但我們并不需要太多需求來開始構(gòu)架設(shè)計(jì)形成構(gòu)架原因包含功效需求質(zhì)量需求商業(yè)需求這些需求我們成為構(gòu)架驅(qū)動(dòng)原因比如:第三章案例中介紹A-7E航空電子系統(tǒng)可修改性和性能需求第六章案例中空中交通管制系統(tǒng)可用性需求5/25決定構(gòu)架驅(qū)動(dòng)原因識(shí)別構(gòu)架驅(qū)動(dòng)原因識(shí)別最高優(yōu)先級(jí)商業(yè)目標(biāo)應(yīng)該只有幾個(gè)將這些商業(yè)目標(biāo)轉(zhuǎn)化為質(zhì)量屬性場(chǎng)景或使用案例從中選擇對(duì)構(gòu)架產(chǎn)生最大影響部分這些就是構(gòu)架驅(qū)動(dòng)原因應(yīng)該不多于10個(gè)使用案例是對(duì)一個(gè)系統(tǒng)所執(zhí)行一系列動(dòng)作描述,通常功效屬性需求都能夠由用戶案例表示6/25屬性驅(qū)動(dòng)設(shè)計(jì)(ADD)ADD是一個(gè)設(shè)計(jì)軟件構(gòu)架方法,該方法依據(jù)軟件質(zhì)量屬性需求對(duì)系統(tǒng)進(jìn)行分解一個(gè)遞歸分解過程系統(tǒng)分解基于系統(tǒng)必須滿足質(zhì)量屬性每個(gè)階段都選擇戰(zhàn)術(shù)和構(gòu)架模式來滿足一組質(zhì)量屬性場(chǎng)景,然后對(duì)功效進(jìn)行分配,以實(shí)例化由該模塊所提供模塊類型ADD結(jié)果:得到一個(gè)粗粒度劃分,即模塊分解視圖和其它視圖最初幾個(gè)層次系統(tǒng)被描述為功效和功效之間交互一組容器7/25案例分析-車庫門開關(guān)器(1)目標(biāo):為家庭信息系統(tǒng)(HIS)中車庫門開關(guān)器設(shè)計(jì)一個(gè)產(chǎn)品線構(gòu)架開關(guān)器負(fù)責(zé)經(jīng)過開關(guān)、遠(yuǎn)程控制或家庭信息系統(tǒng)來實(shí)現(xiàn)車門升起或下降A(chǔ)DD輸入:一組需求使用用戶案例表示功效需求限制使用質(zhì)量屬性場(chǎng)景表示質(zhì)量需求8/25案例分析-車庫門開關(guān)器(2)車庫門系統(tǒng)質(zhì)量屬性場(chǎng)景對(duì)于產(chǎn)品線中各種產(chǎn)品而言,用于開門和關(guān)門設(shè)備和控制裝置是不一樣不一樣產(chǎn)品中使用處理器不一樣假如車庫門在下降過程中檢測(cè)到一個(gè)障礙物,它必須在0.1秒內(nèi)停頓能夠在家庭信息系統(tǒng)內(nèi)使用產(chǎn)品相關(guān)診療協(xié)議來診療和管理車庫門開關(guān)器。因改能夠直接產(chǎn)生一個(gè)反應(yīng)該協(xié)議構(gòu)架9/25ADD步驟1.選擇要分解模塊從整個(gè)系統(tǒng)開始進(jìn)行分解時(shí),要求全部輸入都是可取得限制條件、功效需求、質(zhì)量需求2.依據(jù)這些步驟對(duì)模塊進(jìn)行求精從詳細(xì)質(zhì)量場(chǎng)景和功效需求集合中選擇構(gòu)架驅(qū)動(dòng)原因選擇或創(chuàng)建滿足構(gòu)架驅(qū)動(dòng)原因構(gòu)架模式,確定所用戰(zhàn)術(shù)需要子模塊實(shí)例化模塊并依據(jù)使用案例分配功效,使用多個(gè)視圖進(jìn)行表示定義子模塊接口驗(yàn)證使用案例和質(zhì)量場(chǎng)景并對(duì)其進(jìn)行求精,使它們成為子模塊限制3.對(duì)需要深入分解每個(gè)模塊重復(fù)上述步驟10/25選擇要分解模塊系統(tǒng)分解步驟:系統(tǒng)子系統(tǒng)子模塊示例中,系統(tǒng)指是車庫門開關(guān)器在這個(gè)級(jí)別一個(gè)限制是:開關(guān)器必須能與家庭信息系統(tǒng)進(jìn)行交互11/252.a選擇構(gòu)架驅(qū)動(dòng)原因進(jìn)行分解時(shí),需要從質(zhì)量屬性場(chǎng)景和功效需求中選擇對(duì)應(yīng)構(gòu)架驅(qū)動(dòng)原因構(gòu)架驅(qū)動(dòng)原因在模塊高優(yōu)先級(jí)需求中在車庫門系統(tǒng)中,已給出4個(gè)場(chǎng)景就是構(gòu)架驅(qū)動(dòng)原因,它們給出了以下需求可修改性實(shí)時(shí)性能需求ADD特點(diǎn)在于,對(duì)于模塊全部需求并非同等對(duì)待經(jīng)過選擇構(gòu)架驅(qū)動(dòng)原因,我們將問題簡(jiǎn)化為滿足最主要需求在滿足最主要需求條件下,才滿足不太主要需求12/25選擇構(gòu)架模式(1)對(duì)于每個(gè)質(zhì)量屬性需求,在構(gòu)架設(shè)計(jì)中,我們都有對(duì)應(yīng)戰(zhàn)術(shù)來實(shí)現(xiàn)它每個(gè)戰(zhàn)術(shù)都有對(duì)應(yīng)成本每個(gè)戰(zhàn)術(shù)都能夠?qū)崿F(xiàn)一個(gè)或多個(gè)質(zhì)量屬性,不過也可能對(duì)一些質(zhì)量屬性產(chǎn)生負(fù)面影響通常我們會(huì)在構(gòu)架設(shè)計(jì)中選擇戰(zhàn)術(shù)組合來實(shí)現(xiàn)多個(gè)質(zhì)量屬性平衡13/25選擇構(gòu)架模式(2)該步驟目標(biāo)是建立一個(gè)由模塊類型組成總體構(gòu)架模式該模式經(jīng)過組合選定戰(zhàn)術(shù),滿足構(gòu)架驅(qū)動(dòng)原因影響戰(zhàn)術(shù)選擇兩個(gè)原因驅(qū)動(dòng)原因本身實(shí)現(xiàn)戰(zhàn)術(shù)模式對(duì)其它質(zhì)量屬性產(chǎn)生副作用14/25選擇構(gòu)架模式(3)---示例比如:為了達(dá)成系統(tǒng)可修改性,一個(gè)經(jīng)典戰(zhàn)術(shù)就是使用“解釋器”模式不過使用解釋器模式會(huì)對(duì)性能產(chǎn)生較大負(fù)面影響是否使用“解釋器”模式依賴于可修改性與性能主要性對(duì)比一個(gè)可行決議為:對(duì)總體模式部分使用“解釋器”,其它部分則使用其它戰(zhàn)術(shù)15/25選擇構(gòu)架模式(4)按照案例分析中所提到兩個(gè)關(guān)鍵需求:性能和可修改性,我們能夠使用學(xué)過響應(yīng)戰(zhàn)術(shù)來滿足可修改性戰(zhàn)術(shù)回顧局部化變更預(yù)防連鎖反應(yīng)推遲綁定時(shí)間我們案例中,可修改性場(chǎng)景主要與系統(tǒng)設(shè)計(jì)時(shí)出現(xiàn)變更相關(guān),所以我們能夠使用“局部化變更”戰(zhàn)術(shù)所采取詳細(xì)戰(zhàn)術(shù)為:“語義一致性”和信息隱藏16/25選擇構(gòu)架模式(5)性能戰(zhàn)術(shù)回顧資源需求提升計(jì)算效率資源仲裁優(yōu)化調(diào)度算法資源管理不論是引入并發(fā),還是維持?jǐn)?shù)據(jù)或計(jì)算備份,還是增加可用資源,都無助于提升車庫門響應(yīng)速度17/25選擇構(gòu)架模式(6)最終選定和應(yīng)用詳細(xì)戰(zhàn)術(shù)語義一致性將處理用戶接口、通訊和傳感器部分都放入各自單獨(dú)模塊信息隱藏為通訊和傳感器模塊使用“虛擬機(jī)”技術(shù),隱藏內(nèi)部實(shí)現(xiàn)提升計(jì)算效率提升關(guān)鍵部分(瓶頸)計(jì)算效率精心調(diào)度對(duì)關(guān)鍵性能計(jì)算進(jìn)行調(diào)度,確保實(shí)時(shí)響應(yīng)需求18/25應(yīng)用了戰(zhàn)術(shù)后導(dǎo)出模式這并非唯一可導(dǎo)出模式這是一個(gè)滿足了需求模式非關(guān)鍵性能計(jì)算虛擬機(jī)關(guān)鍵性能計(jì)算用戶界面確保時(shí)限時(shí)間調(diào)度程序選擇構(gòu)架模式(7)19/25實(shí)例化模塊(1)前面步驟確定了模塊分解結(jié)構(gòu),接下來要確定怎樣實(shí)例化這些模塊類型在ADD方法中,功效分配標(biāo)準(zhǔn)類似于其它設(shè)計(jì)方法實(shí)際系統(tǒng)中往往有多個(gè)模塊,每組功效都會(huì)有一個(gè)模塊模塊功效實(shí)例化升/降門(沒有時(shí)限,非關(guān)鍵性能計(jì)算)診療(非關(guān)鍵性能計(jì)算)障礙物檢測(cè)(有時(shí)限,關(guān)鍵性能計(jì)算)通信、傳感等(有可修改性需求,使用“虛擬機(jī)”技術(shù))20/25實(shí)例化模塊(2)診療通訊虛擬機(jī)障礙物檢測(cè)用戶接口確保時(shí)限時(shí)間調(diào)度程序升/降門傳感器/啟發(fā)器虛擬機(jī)21/25分配功效(1)該步驟目標(biāo)是驗(yàn)證現(xiàn)有分解時(shí)限所要求功效預(yù)防功效遺漏應(yīng)用與父模塊相關(guān)用例能夠讓構(gòu)架師更詳細(xì)了解功效分布情況可能造成增加或刪除子模塊父模塊每個(gè)用例都可用子模塊一系列責(zé)任來表示22/25分配功效(2)為分解模塊中子模塊分配責(zé)任還會(huì)幫助發(fā)覺必要信息交換這必須作為生產(chǎn)者/消費(fèi)者關(guān)系統(tǒng)計(jì)下來信息交互細(xì)節(jié)在這一步并不主要一些交互將引入模塊間交互特定模式比如:公布/訂閱模式必須統(tǒng)計(jì)這些模式,對(duì)于受影響模塊而言,它們將轉(zhuǎn)化為責(zé)任23/25用多個(gè)視圖表示構(gòu)架(1)通常使用三種主要視圖類型中,每種選擇一個(gè)視圖來表示構(gòu)架(假如這些視圖表示還不足夠怎么辦?)模塊分解視圖為責(zé)任提供容器;確定模塊間主要數(shù)據(jù)流關(guān)系并發(fā)視圖確定資源競(jìng)爭(zhēng)、可能出現(xiàn)死鎖和數(shù)據(jù)一致性問題可能會(huì)發(fā)覺模塊新責(zé)任比如對(duì)臨界資源并發(fā)訪問必須在模塊視圖中對(duì)這個(gè)新責(zé)任進(jìn)行統(tǒng)計(jì)可能造成新模塊產(chǎn)生比如:一個(gè)資源管理器24/25用多個(gè)視圖表示構(gòu)架(2)了

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論