軟件構(gòu)架實(shí)踐教案課程_第1頁(yè)
軟件構(gòu)架實(shí)踐教案課程_第2頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余16頁(yè)可下載查看

下載本文檔

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

文檔簡(jiǎn)介

1、軟件構(gòu)架實(shí)踐教案本課程上課時(shí)間為16周,每周講解一個(gè)主題第一周構(gòu)架商業(yè)周期學(xué)生開課的第一周,除了講解專業(yè)知識(shí)之外,首先要簡(jiǎn)單介紹關(guān)于這本書的背景知識(shí),讓學(xué)生對(duì)這門課有所了解,增強(qiáng)其學(xué)習(xí)的興趣;然后說明學(xué)習(xí)這門功課的意義以及教學(xué)安排;最后講解構(gòu)架商業(yè)周期的概念。第一堂課直接涉及的專業(yè)知識(shí)不要太多,否則學(xué)生會(huì)囫圇吞棗,也達(dá)不到教學(xué)的目的軟件構(gòu)架實(shí)踐這本書是CMU/SEI(卡內(nèi)基.梅隆大學(xué)/軟件工程研究所)編寫的軟件工程系列叢書之一,SEI(SoftwareEngineeringlnstitute)于1984年由美國(guó)國(guó)防部岀資建立,其主要工作是研究軟件過程能力成熟度模型(CapabilityMatu

2、rityModel,CMM),其目的使開發(fā)組織開發(fā)“正確的”和“無缺陷”的程序。CMM已經(jīng)成為衡量軟件公司開發(fā)管理水平的重要參考因素,并成為軟件過程改進(jìn)的事實(shí)標(biāo)準(zhǔn)。學(xué)習(xí)本書的目的是:1、了解構(gòu)架的基本概念2、了解保證軟件構(gòu)架正確的各種質(zhì)量屬性(QualityAttributes)和實(shí)現(xiàn)這些質(zhì)量屬性的戰(zhàn)術(shù)(Tactics)3、學(xué)會(huì)創(chuàng)建軟件構(gòu)架的方法和評(píng)估的方法4、把學(xué)到的知識(shí)運(yùn)用到將來的開發(fā)中去構(gòu)架商業(yè)周期一一軟件構(gòu)架是技術(shù)、商業(yè)和社會(huì)諸多因素作用的結(jié)果,而軟件構(gòu)架的存在反過來又會(huì)影響技術(shù)、商業(yè)和社會(huì)環(huán)境,從而影響到未來的構(gòu)架。我們把這種相互影響的周期一一從環(huán)境到構(gòu)架又返回環(huán)境稱為構(gòu)架商業(yè)周期(

3、ArchitectureBusinessCycle,ABC),商業(yè)構(gòu)架周期是本書的核心內(nèi)容,所有的例子都圍繞ABC展開。從構(gòu)架商業(yè)周期的概念我們可以看岀,構(gòu)架與之交互的外界環(huán)境之間存在著密切的關(guān)系,他們相互影響,相互作用,相互促進(jìn)。一方面構(gòu)架受到多種因素的影響:1、涉眾的影響;2、構(gòu)架開發(fā)組織的影響;3、構(gòu)架設(shè)計(jì)師素質(zhì)和經(jīng)驗(yàn)的影響;4、技術(shù)環(huán)境的影響;5、其他影響因素。另一方面,環(huán)境反過來又會(huì)對(duì)構(gòu)架的形成和發(fā)展產(chǎn)生影響:1、影響著開發(fā)組織的結(jié)構(gòu);2、影響著開發(fā)組織的目標(biāo);3、影響客戶對(duì)下一個(gè)系統(tǒng)的要求;4、影響著構(gòu)架設(shè)計(jì)師;5、構(gòu)架影響著軟件工程的發(fā)展第二周什么是軟件構(gòu)架首先簡(jiǎn)單介紹軟件構(gòu)架形

4、成的背景和過程,然后通過一個(gè)簡(jiǎn)單線框圖的例子引入軟件構(gòu)架的概念:某個(gè)軟件或計(jì)算機(jī)系統(tǒng)的軟件構(gòu)架是該系統(tǒng)的一個(gè)或多個(gè)結(jié)構(gòu),他們由軟件元素,這些元素之間的外部可見屬性和這些元素之間的關(guān)系組成。我們要得到最終的構(gòu)架需要一個(gè)循序漸進(jìn)的過程,在最粗略的線框圖和構(gòu)架之間有很多中間步驟,逐步求精得到真正意義上的構(gòu)架,這些中間步驟包括:1、構(gòu)架模式是對(duì)元素和關(guān)系類型以及一組對(duì)其使用方式的限制的描述,我們可以把它看作是對(duì)構(gòu)架的一組制約條件一一即對(duì)各元素類型及其交互模式的限制條件,而這些制約條件確定了一組或一系列能滿足他們要求的構(gòu)架,比如,客戶機(jī)/服務(wù)器構(gòu)架模式。構(gòu)架模式最重要的作用是它們展示了已知的質(zhì)量屬性。2

5、、參考模型是一種考慮數(shù)據(jù)流的功能劃分,它對(duì)已知問題進(jìn)行分解,分解得到的各個(gè)部分相互協(xié)作,構(gòu)成問題的解決方案3、參考構(gòu)架是映射到軟件元素及元素之間數(shù)據(jù)流上的參考模型三者之間的關(guān)系是:2、軟件構(gòu)架是系統(tǒng)的早期設(shè)計(jì)決策3、軟件構(gòu)架是可傳遞的系統(tǒng)抽象為了能夠清晰的表達(dá)構(gòu)架,我們引入了如下兩個(gè)概念:視圖一一視圖是構(gòu)架元素內(nèi)聚集的表述,由系統(tǒng)涉眾編寫和閱讀,它由一個(gè)元素集合表示和元素之間的關(guān)系組成,用于表示構(gòu)架中的某個(gè)結(jié)構(gòu)結(jié)構(gòu)一一結(jié)構(gòu)是元素本身的集合,他們存在于軟件和硬件中,比如,模塊結(jié)構(gòu)是系統(tǒng)的模塊和其組織的結(jié)構(gòu),模塊視圖是該結(jié)構(gòu)的表示我們使用視圖和結(jié)構(gòu)來表示系統(tǒng)的構(gòu)架,構(gòu)架結(jié)構(gòu)根據(jù)元素的主要特性可以分

6、為三類:1、模塊結(jié)構(gòu):表示一種考慮系統(tǒng)的基于代碼的表示方法2、組件一連接器結(jié)構(gòu):展示了軟件運(yùn)行是各個(gè)部分之間的交互3、分配結(jié)構(gòu):展示了軟件元素和創(chuàng)建并執(zhí)行軟件的一個(gè)或多個(gè)外部環(huán)境中的元素之間的關(guān)系模塊第三周A-案例分析各種構(gòu)架結(jié)構(gòu)的1分7e航空模塊常見的軟件構(gòu)架結(jié)構(gòu)中和表述。該項(xiàng)組件-連接旦系統(tǒng)服務(wù)器F打數(shù)據(jù)分配目的目的:通過該項(xiàng)目的開發(fā)證實(shí)軟件工程的理論研究成果適用于需求靈活、內(nèi)存占進(jìn)程亠口部署其指導(dǎo)思想:留下一并發(fā)整的工程模型,把相關(guān)的文檔、設(shè)計(jì)方案、代碼、方法電子系統(tǒng)項(xiàng)目的開發(fā)戶要服務(wù)器用少、開發(fā)時(shí)間短的軟件系和原則都公之于眾,供相關(guān)人員模仿使用。分層從該項(xiàng)目的開發(fā)中獲得了以下兩條經(jīng)驗(yàn):

7、1、信息隱藏是軟件開發(fā)中可行的和明智的設(shè)計(jì)準(zhǔn)則2、從實(shí)現(xiàn)系統(tǒng)質(zhì)量指標(biāo)的角度看,認(rèn)真設(shè)計(jì)構(gòu)架層次上的各種結(jié)構(gòu)可以達(dá)到事半功倍的效果圖A-7E航空電子系統(tǒng)的構(gòu)架商業(yè)周期構(gòu)建A-7E系統(tǒng)構(gòu)架時(shí),設(shè)計(jì)并確定了構(gòu)架層次上的3個(gè)結(jié)構(gòu)結(jié)構(gòu)元素元素間的關(guān)系影響對(duì)象分解結(jié)構(gòu)模塊是一個(gè)子模塊,共享秘密更改容易程度使用結(jié)構(gòu)過程要求正確岀現(xiàn)實(shí)現(xiàn)子集和增量式開發(fā)的能力進(jìn)程結(jié)構(gòu)進(jìn)程、線程同步、互斥,共享CPU可調(diào)度性;可并行實(shí)現(xiàn)性能目標(biāo)A-7E軟件所滿足的質(zhì)量目標(biāo)包括:1、實(shí)時(shí)性能,軟件系統(tǒng)每秒鐘顯示內(nèi)容的更新次數(shù)和武器投放的計(jì)算速度2、針對(duì)期望更改的可修改性,對(duì)武器、平臺(tái)、顯示屏上符號(hào)的變更,以及通過鍵盤數(shù)據(jù)新的內(nèi)容容

8、易更改A-7E軟件的三個(gè)結(jié)構(gòu)分解結(jié)構(gòu)將系統(tǒng)的功能劃分為可以獨(dú)立實(shí)現(xiàn)的模塊,模塊劃分的具體目標(biāo):1、每個(gè)模塊結(jié)構(gòu)應(yīng)足夠簡(jiǎn)單,能夠被充分理解2、應(yīng)該能夠在無需了解其他模塊的具體實(shí)現(xiàn),并且不影響其它模塊的行為的情況下修改某個(gè)模塊的實(shí)現(xiàn)3、對(duì)設(shè)計(jì)進(jìn)行修改的容易程度應(yīng)該與該修改可能發(fā)生的程度有合理的對(duì)應(yīng)關(guān)系4、應(yīng)該能夠把要對(duì)軟件系統(tǒng)做的比較大的改動(dòng)分解成對(duì)各個(gè)模塊的一組獨(dú)立的修改A-7E軟件的一級(jí)模塊結(jié)構(gòu)包括:硬件隱藏模塊、行為隱藏模塊和軟件決策模塊。使用結(jié)構(gòu)的思想是建立在使用關(guān)系的基礎(chǔ)上的。如果過程A的運(yùn)行必須以過程B的正確運(yùn)行為前提,則我們說過程A使用過程BFD:功能驅(qū)動(dòng)模塊圖使用結(jié)構(gòu)的分層圖進(jìn)程結(jié)

9、構(gòu)是以一組協(xié)同順序的進(jìn)程來實(shí)現(xiàn)的,這些協(xié)同順序進(jìn)程保持同步關(guān)系、以協(xié)調(diào)對(duì)共享資源的使用也SS:共享服務(wù)模塊DI:設(shè)備接口模塊第四周理解構(gòu)架質(zhì)量屬性(上):我們開發(fā)一個(gè)系統(tǒng)是為了給用戶使用,因此系統(tǒng)的質(zhì)量好壞最終要由用戶來評(píng)判。評(píng)判的依據(jù):1、系統(tǒng)是否能夠滿足客戶的功能需求(直接)J2、系統(tǒng)是否能夠滿足一定的質(zhì)量需求AT接應(yīng)長(zhǎng)數(shù)據(jù)影響模塊EC:擴(kuò)展的計(jì)算機(jī)模塊功能性(functionality)是指系統(tǒng)能夠完成所期望的工作的能力質(zhì)量屬性(qualityattributes)是高于系統(tǒng)功能基本要求的,它是對(duì)多種更高層次需求的抽象描述,如安全、可靠、易用及易于修改等,顯然它適用于多個(gè)特定系統(tǒng)而非一個(gè)

10、。構(gòu)架是實(shí)現(xiàn)質(zhì)量需求的軟件創(chuàng)建中的第一階段,軟件構(gòu)架確定了該構(gòu)架對(duì)特定質(zhì)量屬性的支持,比如實(shí)時(shí)性,安全性等。構(gòu)架和質(zhì)量屬性的關(guān)系:1、對(duì)我們關(guān)心的許多系統(tǒng)質(zhì)量屬性的實(shí)現(xiàn)而言,構(gòu)架具有重要意義2、對(duì)一個(gè)構(gòu)架而言,往往只支持某些質(zhì)量屬性3、構(gòu)架并不能獨(dú)立實(shí)現(xiàn)質(zhì)量屬性,它為質(zhì)量屬性的實(shí)現(xiàn)提供了基礎(chǔ),但不是全部實(shí)際上,構(gòu)架之所以重要,就是因?yàn)樗軌虮WC設(shè)計(jì)系統(tǒng)的質(zhì)量屬性。質(zhì)量屬性是一個(gè)較為抽象的概念,為了能夠清晰的表達(dá)質(zhì)量屬性,我們使用了質(zhì)量屬性場(chǎng)景的概念。質(zhì)量屬性場(chǎng)景(seenarios)是描述質(zhì)量屬性的手段,是一種面向特定的質(zhì)量屬性的需求,質(zhì)量屬性場(chǎng)景由以下6個(gè)部分組成:1、刺激源(Sourceo

11、fstimulus):生成刺激的實(shí)體(人、計(jì)算機(jī)或其他)2、刺激(Stimulus):當(dāng)刺激源產(chǎn)生的刺激達(dá)到系統(tǒng)后需要考慮的條件,或指可能對(duì)系統(tǒng)的影響3、環(huán)境(Environment):刺激到達(dá)時(shí)系統(tǒng)的狀態(tài),或指刺激在系統(tǒng)的某些條件內(nèi)發(fā)生4、制品(Artifact):被刺激的部分,可能是整個(gè)系統(tǒng),也可能是其中的一部分5、響應(yīng)(Response):刺激到達(dá)后系統(tǒng)所采取的措施6、響應(yīng)度量(Responsemeasure):當(dāng)響應(yīng)發(fā)生時(shí),我們以某種方式對(duì)其進(jìn)行度量,便于我們對(duì)需求進(jìn)行測(cè)試一般質(zhì)量屬性場(chǎng)景是指那些獨(dú)立于系統(tǒng),很可能適合任何系統(tǒng)的場(chǎng)景,一般場(chǎng)景的集合描述了質(zhì)量屬性具體質(zhì)量屬性場(chǎng)景是指適合

12、正在考慮的某個(gè)特定系統(tǒng)的場(chǎng)景質(zhì)量屬性圖質(zhì)量屬性、質(zhì)量屬性場(chǎng)景和系統(tǒng)的關(guān)系本書主要討論可修質(zhì)量屬性及其一般3通性能(系統(tǒng)1、可用性Availability)系統(tǒng)故障及其相關(guān)后果有關(guān)。可用性erformance),4、安全性(性能<場(chǎng)景1一般質(zhì)S量屬性),場(chǎng)景可用性(Availability特定),2、可修改性(Modifiability),5、可測(cè)試性系統(tǒng)estabi組合,,寸、易用性|質(zhì)量系統(tǒng)|質(zhì)量屬性當(dāng)系統(tǒng)不冉提供其規(guī)范中所說明的服務(wù)時(shí),就岀現(xiàn)了系關(guān)注的問題:如何檢測(cè)故障,發(fā)生故障的頻度,岀現(xiàn)故障時(shí)的現(xiàn)象,系統(tǒng)故障排除Usability)的時(shí)限,如何防止故障的發(fā)生以及發(fā)生故障時(shí)的處理2

13、、可修改性(Modifiability)可修改性是關(guān)于變更的成本問題,1、可以修改什么?如修改系統(tǒng)功能、系圖可用性的一般場(chǎng)景r制品:-234系統(tǒng)容量、質(zhì)量屬性4IIil.L/錯(cuò)誤)勿記錄、通知、2、何時(shí)進(jìn)行變更以及由誰進(jìn)行變更忽修改時(shí)環(huán)包括設(shè)計(jì)時(shí)修改禁止繼續(xù)源代碼)、禰譯時(shí)修改(編譯條件),略、崩潰、時(shí)禁止、繼續(xù)(正正常、降級(jí)操作刺部署時(shí)修改(系統(tǒng)配置響等正常、降常/降級(jí))或不修復(fù)時(shí)間、可用第五周理解構(gòu)架質(zhì)量屬性(下)級(jí)操作性、可獲得/降級(jí)的時(shí)間間隔3、性能(Performance)性能與事件發(fā)生時(shí),將要耗費(fèi)系統(tǒng)多長(zhǎng)時(shí)間做出響應(yīng)有關(guān)。影響性能的因素包括:事件源的數(shù)量和達(dá)到模式,到達(dá)系統(tǒng)的事件包

14、括:周期性事件、隨機(jī)事件或偶然事件性能的一般性場(chǎng)景場(chǎng)景部分可用的值刺激源大量獨(dú)立源中的一個(gè),可能來自系統(tǒng)內(nèi)部刺激定期、隨機(jī)或偶然事件到達(dá)制品環(huán)境正常模式;超載模式響應(yīng)處理刺激;改變服務(wù)級(jí)別相應(yīng)度量等待時(shí)間、時(shí)間期限、吞吐量、抖動(dòng)、缺失率、數(shù)據(jù)丟失4、安全性(Security)安全性是衡量系統(tǒng)在向合法用戶提供服務(wù)的同時(shí),阻止非授權(quán)使用的能力安全性被刻畫為一個(gè)提供認(rèn)可(交易不能被交易的任何一方拒絕)、機(jī)密性(未經(jīng)授權(quán)不能訪問數(shù)據(jù)或服務(wù))、完整性(根據(jù)計(jì)劃來提交數(shù)據(jù)或服務(wù))、保證(交易各方是所聲稱的人)、可用性(系統(tǒng)可用于合法用途)和審核(在系統(tǒng)內(nèi)部跟蹤系統(tǒng)活動(dòng))的系統(tǒng)安全性的一般性場(chǎng)景場(chǎng)景部分可用

15、的值刺激源授權(quán)或非授權(quán)用戶;訪問了有限的資源/大量資源刺激試圖修改數(shù)據(jù),訪問系統(tǒng)服務(wù)制品系統(tǒng)服務(wù)、系統(tǒng)中的數(shù)據(jù)環(huán)境在線或離線、直接或通過防火墻入網(wǎng)響應(yīng)對(duì)用戶驗(yàn)證,阻止或允許訪問數(shù)據(jù)或服務(wù)相應(yīng)度量避開安全措施所需要的時(shí)間或資源;恢復(fù)數(shù)據(jù)/服務(wù)5、可測(cè)試性(Testability)可測(cè)試性是指通過測(cè)試揭示軟件缺陷的容易程度。如果要對(duì)系統(tǒng)進(jìn)行正確的測(cè)試,那么必須能夠控制”每個(gè)組件的內(nèi)部狀態(tài)及其輸入,然后觀察”其輸岀,測(cè)試可以由開發(fā)人員、測(cè)試人員、驗(yàn)證人員或用戶進(jìn)行;可以對(duì)代碼、設(shè)計(jì)以及整個(gè)系統(tǒng)進(jìn)行測(cè)試可測(cè)試性的一般性場(chǎng)景場(chǎng)景部分可用的值刺激源單元開發(fā)人員、系統(tǒng)集成人員、系統(tǒng)驗(yàn)證人員、測(cè)試人員、用戶刺

16、激已完成的一個(gè)階段,如分析、構(gòu)架、類和子系統(tǒng)的集成,所交付的系統(tǒng)制品設(shè)計(jì)、代碼段、完整的應(yīng)用環(huán)境設(shè)計(jì)時(shí)、開發(fā)時(shí)、編譯時(shí)、部署時(shí)響應(yīng)可以控制系統(tǒng)執(zhí)行所期望的測(cè)試相應(yīng)度量已執(zhí)行的可執(zhí)行語句的百分比;最長(zhǎng)測(cè)試鏈的長(zhǎng)度,執(zhí)行測(cè)試的時(shí)間,準(zhǔn)備測(cè)試環(huán)境的時(shí)間6、易用性(Usability)易用性關(guān)注的是對(duì)用戶來說完成某個(gè)期望任務(wù)的容易程度和系統(tǒng)所提供的用戶支持種類。包括如下幾個(gè)方面:1學(xué)習(xí)系統(tǒng)的特性,2、有效地使用系統(tǒng),提高用戶操作效率,3、將錯(cuò)誤的影響降到最低,4、使系統(tǒng)適應(yīng)用戶的需要,5、提高自信和滿意度。易用性的一般性場(chǎng)景場(chǎng)景部分可用的值刺激源最終用戶刺激想要學(xué)習(xí)系統(tǒng)特性、有效使用系統(tǒng)、使錯(cuò)誤的影響

17、最低,適配系統(tǒng)等制品系統(tǒng)環(huán)境在運(yùn)行時(shí)或配置時(shí)響應(yīng)上下文相關(guān)的幫助系統(tǒng),導(dǎo)航,撤銷、取消操作,從系統(tǒng)故障中恢復(fù),國(guó)際化,定制能力相應(yīng)度量任務(wù)時(shí)間,錯(cuò)誤數(shù)量,用戶滿意度等本章除了講述上面6種質(zhì)量屬性之外,還對(duì)商業(yè)質(zhì)量屬性和構(gòu)架本身的質(zhì)量屬性作了介紹,以下是我們所關(guān)心的商業(yè)目標(biāo):1、上市時(shí)間2、成本和收益3、所希望的系統(tǒng)生命期的長(zhǎng)短4、目標(biāo)市場(chǎng),通用市場(chǎng)還是專用市場(chǎng)5、推岀計(jì)劃6、與老系統(tǒng)的集成構(gòu)架的質(zhì)量屬性包括:1、概念完整性,在各個(gè)層次上統(tǒng)一系統(tǒng)設(shè)計(jì)的根本指導(dǎo)思想2、正確性和完整性,這是構(gòu)架能夠滿足系統(tǒng)的各種需求及運(yùn)行時(shí)的資源要求的必要條件3、可構(gòu)建性,保證能夠由指定的開發(fā)小組在規(guī)定的時(shí)間里及時(shí)

18、開發(fā)系統(tǒng),并允許在開發(fā)過程中做某些更改,其目的是最大程度地實(shí)現(xiàn)并行開發(fā)第六周實(shí)現(xiàn)質(zhì)量屬性(上)質(zhì)量屬性對(duì)于一個(gè)軟件系統(tǒng)而言至關(guān)重要,那么我們?nèi)绾蝸韺?shí)現(xiàn)這些質(zhì)量屬性呢?首先我們來了解一些基本概念戰(zhàn)術(shù)(tactics)影響質(zhì)量屬性響應(yīng)的設(shè)計(jì)決策構(gòu)架策略(architecturalstrategy)戰(zhàn)術(shù)的集合構(gòu)架模式(architecturalpattern)以某種方式將戰(zhàn)術(shù)打包在一起戰(zhàn)術(shù)是幫助我們實(shí)現(xiàn)質(zhì)量屬性的策略,下面我們就對(duì)每一種質(zhì)量屬性所采用的戰(zhàn)術(shù)進(jìn)行討論1、可用性(Availability)可用性戰(zhàn)術(shù)將會(huì)阻止錯(cuò)誤發(fā)展為故障,或者至少能夠把錯(cuò)誤的影響限制在一定范圍內(nèi),從而使修改成為可能。維持

19、可用性的方法包括:1、錯(cuò)誤預(yù)防一一某種類型的冗余2、錯(cuò)誤檢測(cè)一一用來檢測(cè)故障的某種類型的健康監(jiān)視3、自動(dòng)恢復(fù)一一檢測(cè)到故障時(shí)某種類型的恢復(fù)可修1、局2、可修改性(改性戰(zhàn)術(shù)的目標(biāo)是控制實(shí)復(fù)、:測(cè)試和部署變更的時(shí)間和成本。根據(jù)其實(shí)現(xiàn)目標(biāo)可以分監(jiān)測(cè)和修復(fù)重新引入尋部化修改一一目標(biāo)是減少由某個(gè)變更直接影響的模塊的數(shù)量3所屏蔽的錯(cuò)誤或所作的修改、防止令鎖反應(yīng)到其他模塊異常3、延遲綁定時(shí)間目表是限制對(duì)局部化的模塊的修改,以防止對(duì)主動(dòng)冗余狀態(tài)再同步被動(dòng)冗余回滾目備標(biāo)是控制部署時(shí)間并允許非開發(fā)人員進(jìn)行修改刪除的修改間進(jìn)程監(jiān)視器接地影響圖可修改性戰(zhàn)術(shù)局部化變更防止連鎖反應(yīng)推遲綁定時(shí)間性能戰(zhàn)術(shù)的目標(biāo)是對(duì)一定的時(shí)間

20、限制內(nèi)到達(dá)系統(tǒng)的事件生成一個(gè)響應(yīng),這些事件可以使消息到達(dá)、定時(shí)器到時(shí),系統(tǒng)狀態(tài)的變化。性能戰(zhàn)術(shù)包括3個(gè)分類:1、資源需求一一分析影響性能的資源因素2、資源管理一一提高資源的應(yīng)用效率3、資源仲裁一一解決資源的爭(zhēng)用圖性能戰(zhàn)術(shù)性能4、安全性(Security)安全性戰(zhàn)術(shù)包括抵抗攻擊的戰(zhàn)術(shù)、資源需求資源仲裁5、可estability)可測(cè)事件戰(zhàn)達(dá)標(biāo)是發(fā)現(xiàn)錯(cuò)誤的目標(biāo)寸個(gè)副本增加可用資源安全圖安全性戰(zhàn)術(shù)攻擊6、易用性(Usality開銷管理事件率控制采樣頻率身份驗(yàn)證用戶授權(quán)數(shù)據(jù)加密入侵檢可測(cè)試恢用術(shù)靜識(shí)態(tài)調(diào)可測(cè)試性軟件進(jìn)行測(cè)試。進(jìn)/先出定優(yōu)先級(jí)動(dòng)態(tài)優(yōu)先級(jí)識(shí)別度測(cè)試細(xì)間限制內(nèi)生成響應(yīng)易用性與用戶戰(zhàn)個(gè)増構(gòu)架模

21、成期望任務(wù)I限制理輸入/輸出限制訪問系:余的支持種計(jì)類有關(guān)系統(tǒng)檢測(cè)、抵抗或從攻擊中恢復(fù)度以及系統(tǒng)為的關(guān)圖易用內(nèi)部監(jiān)視易用性務(wù)完完成于響應(yīng)某個(gè)特檢測(cè)出錯(cuò)誤的集合來支持某種構(gòu)戰(zhàn)術(shù)、并發(fā)用術(shù)等等,這架。性;構(gòu)架模式是將用現(xiàn)分離持用戶主動(dòng).某種方式進(jìn)行打用戶模型疋將接分口與實(shí)_特化訪戰(zhàn)個(gè)系統(tǒng)支持可用性和性能,那么我們可能會(huì)考慮包以一個(gè)戰(zhàn)術(shù)第八周空中交通管(AirTrafficControl)白冗余戰(zhàn)術(shù)、同步為用戶提供適當(dāng)?shù)姆答伣楹蛥f(xié)助中交通管制系統(tǒng)些特定于一類系統(tǒng)的戰(zhàn)術(shù)集合我們稱之為構(gòu)架模式取性設(shè)計(jì)方案模先撤銷系統(tǒng)模型J背景知識(shí),空中交通管制合(ATC任務(wù)指由人通過一定的設(shè)備來對(duì)民航系統(tǒng)的制系統(tǒng)一一高

22、可向同學(xué)各航班進(jìn)行必要的規(guī)劃、指揮和管理;空中交通管制系統(tǒng)是輔助空中交通管制的一整套設(shè)備,包括雷達(dá)、雷達(dá)顯示,數(shù)據(jù)通訊、數(shù)據(jù)記錄等等,其中最重要的是雷達(dá)數(shù)據(jù)處理和雷達(dá)顯示終端圖空中交通管制系統(tǒng)的構(gòu)架商業(yè)周期本節(jié)討論的構(gòu)架為初始區(qū)段組系統(tǒng)(InitialSectorSuiteSystem,ISSS),它是對(duì)美國(guó)22個(gè)中途中心的軟硬件升級(jí)系統(tǒng)。ISSS系統(tǒng)的質(zhì)量屬性要求:1、極高的可用性:保證系統(tǒng)不能正常工作的狀態(tài)只延續(xù)極短的時(shí)間(全年5分鐘)2、高性能:系統(tǒng)必須在不丟失”任何數(shù)據(jù)的情況下對(duì)大量數(shù)據(jù)(2440架飛機(jī))進(jìn)行處理其他需求:1、開放性:系統(tǒng)必須能夠與按商業(yè)運(yùn)作開發(fā)岀來的其它軟件進(jìn)行集成,

23、比如航圖顯示系統(tǒng),2、可提交的子系統(tǒng),3、能夠更改功能和處理軟硬件的升級(jí),4、能夠與眾多的外部系統(tǒng)相接并協(xié)同工作為了實(shí)現(xiàn)ATC系統(tǒng)極高的可用性,在構(gòu)架中大量的采樣了冗余戰(zhàn)術(shù),包括硬件冗余和軟件冗余。為了實(shí)現(xiàn)高性能,采用了并發(fā)和資源調(diào)度等戰(zhàn)術(shù)圖ISSS系統(tǒng)的物理視圖(采用了大量冗余設(shè)計(jì)戰(zhàn)術(shù))1、存在一個(gè)強(qiáng)大的構(gòu)架構(gòu)想2、應(yīng)用管理良好的迭代式增量開發(fā)周期演變交付生命期模型使開發(fā)的軟件系統(tǒng)具有上述兩個(gè)特征功能、質(zhì)量和商業(yè)需求的某個(gè)集合塑造了構(gòu)架。我們把這些塑造需求稱為構(gòu)架驅(qū)動(dòng)因素我們這里講解的構(gòu)架設(shè)計(jì)方法就是屬性驅(qū)動(dòng)的設(shè)計(jì)方法(AttributeDrivenDesign,ADD),該方法可以用于設(shè)計(jì)

24、一個(gè)滿足一定質(zhì)量需求和功能需求的構(gòu)架ADD把一組質(zhì)量屬性場(chǎng)景作為輸入,并使用對(duì)質(zhì)量屬性實(shí)現(xiàn)和構(gòu)架之間的關(guān)系的了解,對(duì)構(gòu)架進(jìn)行設(shè)計(jì)。ADD設(shè)計(jì)的結(jié)果是構(gòu)架的模塊分解視圖和其他視圖的最初幾個(gè)層次。ADD方法的步驟1、選擇要分解的模塊2、根據(jù)下面的步驟對(duì)模塊進(jìn)行求精a、從具體的質(zhì)量場(chǎng)景和功能需求集合中選擇構(gòu)架驅(qū)動(dòng)因素b、選擇滿足構(gòu)架驅(qū)動(dòng)因素的構(gòu)架模式,根據(jù)用來實(shí)現(xiàn)驅(qū)動(dòng)因素的戰(zhàn)術(shù)創(chuàng)建模式c、實(shí)例化模塊并根據(jù)用例分配功能,使用多個(gè)視圖進(jìn)行表示d、定義子模塊的接口。該分解提供了模塊和對(duì)模塊交互類型的限制e、驗(yàn)證用例和質(zhì)量屬性場(chǎng)景并對(duì)其進(jìn)行求精,使它們成為子模塊的限制3、對(duì)需要進(jìn)一步分解的每個(gè)模塊重復(fù)上述步

25、驟在構(gòu)架的模塊分解結(jié)構(gòu)的最初幾個(gè)層次穩(wěn)定后,就可以把這些模塊分配給開發(fā)小組,這就是工作分配視圖,分配任務(wù)的原則:1、開發(fā)小組內(nèi)部是高內(nèi)聚,外部是松耦合2、根據(jù)開發(fā)小組的特長(zhǎng)進(jìn)行分配3、盡量與模塊的分界原則一致在使用ADD方法完成了系統(tǒng)的構(gòu)架設(shè)計(jì)之后,就可以構(gòu)建系統(tǒng)的骨架系統(tǒng)了。本章通過一個(gè)車庫(kù)門系統(tǒng)設(shè)計(jì)的例子來加強(qiáng)對(duì)ADD構(gòu)架設(shè)計(jì)方法的理解。第十周飛行模擬器:構(gòu)架可集成性案例分析飛機(jī)飛行訓(xùn)練模擬器主要用于民用與軍用飛機(jī)飛行員的飛行訓(xùn)練以及飛機(jī)制造工程模擬。作為飛行員培養(yǎng)的主要手段。飛行模擬器是當(dāng)今世界上最復(fù)雜的軟件系統(tǒng)之一。它具有很強(qiáng)的分布性,有嚴(yán)格的時(shí)間要求,而且還必須能夠經(jīng)常更新,以保持與

26、所模擬的不斷變化的飛行器及環(huán)境的逼真性。飛行模擬器具有以下4個(gè)特征:1、實(shí)時(shí)性能要求嚴(yán)格飛行模擬器必須保持非常高的顯示幀頻和響應(yīng)速度,如果響應(yīng)延遲會(huì)引發(fā)所謂的模擬厭倦癥2、連續(xù)的開發(fā)和修改采用飛行模擬系統(tǒng)是為了在實(shí)際的飛機(jī)訓(xùn)練代價(jià)昂貴或非常危險(xiǎn)時(shí),用飛行模擬系統(tǒng)提供等效的訓(xùn)練環(huán)境,因此需要適應(yīng)于不同的飛機(jī)和不同的環(huán)境狀態(tài)3、規(guī)模大、復(fù)雜程度高飛行模擬軟件一般需要上百萬行的軟件代碼4、在分散的地理位置上開發(fā)根據(jù)上述特征,這里列舉了飛行模擬器的質(zhì)量屬性要求:1、性能,2、可修改性,3、可集成性使單獨(dú)開發(fā)的元素協(xié)同工作,以實(shí)現(xiàn)軟件的需求,對(duì)于這個(gè)屬性可以采用的戰(zhàn)術(shù)有:使接口簡(jiǎn)單、穩(wěn)定;遵守已定義的協(xié)

27、議;元素之間的依賴最??;使用組件框架;使用已有版本的接口等圖飛行模擬機(jī)的構(gòu)架商業(yè)周期飛行模擬系統(tǒng)中存在的兩個(gè)嚴(yán)重問題:1、調(diào)試、測(cè)試和修改代價(jià)很高,2、軟件結(jié)構(gòu)和飛機(jī)結(jié)構(gòu)的對(duì)應(yīng)關(guān)系不明確為了解決飛行模擬系統(tǒng)中存在的這兩個(gè)問題,我們采用結(jié)構(gòu)化的模型構(gòu)架方式,該構(gòu)架方式強(qiáng)調(diào):1、系統(tǒng)子結(jié)構(gòu)的簡(jiǎn)單性和相似性,2、將數(shù)據(jù)和控制信息的傳遞策略與運(yùn)算分離開,3、模塊類型數(shù)量最少,4、較少的系統(tǒng)及協(xié)調(diào)策略(性能),5、設(shè)計(jì)的透明性(信息隱藏)飛行模擬器的結(jié)構(gòu)化模型構(gòu)架模式分為兩部分:1、管理部分管理部分處理協(xié)調(diào)問題:子系統(tǒng)的實(shí)時(shí)調(diào)度、處理器的同步、數(shù)據(jù)共享,數(shù)據(jù)完整性等。管理部分由以下4個(gè)部分構(gòu)成:1、時(shí)間

28、同步器:它負(fù)責(zé)維持系統(tǒng)內(nèi)部時(shí)鐘2、周期時(shí)序器:用于完成模擬子系統(tǒng)所要做的周期性處理的系統(tǒng)級(jí)通信3、事件處理器:協(xié)調(diào)子系統(tǒng)所做的所有非周期性處理4、代理:負(fù)責(zé)完成飛行器模型和環(huán)境模型或教練臺(tái)模型之間2、應(yīng)用部分應(yīng)用部分處理飛行模擬系統(tǒng)的運(yùn)算,對(duì)飛行器建模,其功能由子系統(tǒng)和組件兩部分完成。盡管飛行模擬系統(tǒng)規(guī)模很大,但僅用6個(gè)模塊類型就可以描述這個(gè)系統(tǒng),包括:組件、子系統(tǒng)、時(shí)間同步器、周期時(shí)序器、事件處理器和代理。這使得構(gòu)架容易構(gòu)建、理解、集成、發(fā)展和修改。飛行模擬器第十一周構(gòu)架編檔我們?yōu)橄到y(tǒng)設(shè)計(jì)的圖飛行模擬器的模塊分解視圖y涉眾之間交流的作流,我們需要對(duì)設(shè)計(jì)的構(gòu)架進(jìn)行編檔。得到我們的最終構(gòu)架以及方

29、便涉眾之間的交構(gòu)架編檔(DocumentingSoftwareArc一是對(duì)構(gòu)架的描述,構(gòu)架必然存在,構(gòu)架編檔不一機(jī)身發(fā)動(dòng)機(jī).定存在;構(gòu)架的建立源于系統(tǒng)的需求,構(gòu)架文檔的編寫源于構(gòu)架描述、交流的需求,構(gòu)架編寫的基燃油本規(guī)則是:從讀者的角度進(jìn)行編寫+1、視構(gòu)架編檔既然如此重要發(fā)我機(jī)該火何對(duì)構(gòu)架進(jìn)行編檔呢?構(gòu)架編檔包括如下三部分內(nèi)容:圖編檔;2、接口編檔;3、視圖的組織F面就分別對(duì)這三部分對(duì)容進(jìn)行詳細(xì)介紹一、視圖編檔視圖(View)就是構(gòu)架元素的內(nèi)聚集合的表示,由系統(tǒng)涉眾編寫和閱讀;軟件構(gòu)架(SoftwareArchitecture)是由多個(gè)視圖構(gòu)成,并且表示了這些視圖之間的關(guān)系。構(gòu)架編檔就是將相關(guān)

30、視圖編成文檔,然后向其中添加適合多個(gè)視圖的文件。我們需要對(duì)軟件構(gòu)架中的每一個(gè)視圖進(jìn)行編檔,每個(gè)編檔視圖通常包含7部分的內(nèi)容:1、展示視圖中的元素和元素間關(guān)系的主要表示2、使用元素目錄描述在主要表示中所描述的元素和他們之間的關(guān)系及其他。在這一部分內(nèi)容中我們將對(duì)元素的行為和元素接口進(jìn)行描述3、展示在視圖中描述的系統(tǒng)的環(huán)境相關(guān)上下文4、可變性指南展示了如何應(yīng)用該視圖中所展示的構(gòu)架的一部分的任何變化點(diǎn),應(yīng)該包含每個(gè)變化點(diǎn)的文檔5、解釋視圖中所反映的設(shè)計(jì)合理性的構(gòu)架背景,包括:基本原理,分析結(jié)果,設(shè)計(jì)中所反映的假定6、視圖中所使用的術(shù)語表7、其他信息,如管理信息等二、視圖編檔接口(Interface)是

31、兩個(gè)獨(dú)立的實(shí)體相遇并進(jìn)行交互或通信的邊界,由于接口展示了軟件元素之間的交互關(guān)系,對(duì)于軟件構(gòu)架而言非常重要,因此需要對(duì)構(gòu)架中的接口單獨(dú)編檔,接口編檔屬于視圖編檔的一部分內(nèi)容。對(duì)接口進(jìn)行編檔就是在暴露太少信息和太多信息之間達(dá)到一個(gè)平衡,經(jīng)驗(yàn)就是把重點(diǎn)放在元素如何與其操作環(huán)境進(jìn)行交互上,而非放在其實(shí)現(xiàn)方式上。接口文檔的模板包括9個(gè)部分的內(nèi)容:1、接口身份,通常是接口命名2、所提供的資源,這是接口文檔的核心,包括資源語法、語義和資源使用的限制3、數(shù)據(jù)類型的定義4、異常定義,描述可以由接口上資源引發(fā)的異常5、該接口提供的可變性,可變性示例包括可見數(shù)據(jù)結(jié)構(gòu)的容量以及基礎(chǔ)算法的性能等6、接口的質(zhì)量屬性特征,

32、可以把接口元素的質(zhì)量屬性特征編成文檔7、元素需求,可能是具體的、由其它元素提供的已命名資源8、基本原理和設(shè)計(jì)問題,對(duì)整個(gè)構(gòu)架的基本原理、設(shè)計(jì)的動(dòng)機(jī)、限制和折衷進(jìn)行描述9、使用指南三、視圖的組織視圖組織是使視圖文檔完整所必需的。盡管我們?yōu)檐浖?gòu)架中的每個(gè)視圖和使用到的接口進(jìn)行了編檔,但是他們是零散的,涉眾不容易從中找岀所需要的信息。那么我們?nèi)绾螌⑦@些分散的視圖通過一定的方式組織起來呢?這就是視圖組織,它由3個(gè)主要方面組成:1、如何安排和組織構(gòu)架文檔,以使構(gòu)架的涉眾能夠有效可靠地找到所需要的信息,這部分的內(nèi)容包括對(duì)視圖目錄(viewcataloq)與視圖模板(viewtemplate)的介紹視圖目

33、錄(viewcatalog)是對(duì)視圖的介紹性信息,它告訴讀者在什么地方找到需要的信息。視圖模板(viewtemplate)是視圖的標(biāo)準(zhǔn)組織結(jié)構(gòu),它定義了視圖文檔的標(biāo)準(zhǔn)部分以及每一部分的內(nèi)容和規(guī)則2、闡述構(gòu)架是什么?它能夠使涉眾從整體上了解系統(tǒng)的目的,視圖的關(guān)聯(lián)方式等,這部分的內(nèi)容包括:系統(tǒng)概述,視圖之間的映射,元素列表和項(xiàng)目司匯3、說明為什么構(gòu)架是這樣的,它闡明了系統(tǒng)的上下文。構(gòu)架實(shí)際上是其需求的一個(gè)解決方案,包括的內(nèi)容有:關(guān)于滿足需求和限制的設(shè)計(jì)決策的含義;當(dāng)改變現(xiàn)有需求時(shí)對(duì)該構(gòu)架的影響;在實(shí)現(xiàn)解決方案中對(duì)開發(fā)人員的限制;拒絕采用的決策方案等第十二周ATAM構(gòu)架評(píng)估方法我們?cè)O(shè)計(jì)的構(gòu)架是否正確

34、,是否滿足設(shè)計(jì)目標(biāo)和要求?要回答這些問題,就需要進(jìn)行構(gòu)架評(píng)估。構(gòu)架評(píng)估能夠起到規(guī)避風(fēng)險(xiǎn)的作用,在我們的構(gòu)架設(shè)計(jì)完成后需要盡早進(jìn)行評(píng)估。ATAM(ArchitectureTradeoffAnalvsisMethod)構(gòu)架權(quán)衡分析方法:戸種方法不僅可以揭示岀構(gòu)架滿足特定質(zhì)量目標(biāo)的情況,而且可以使我們更清楚地認(rèn)識(shí)到質(zhì)量目標(biāo)之間的聯(lián)系,即如何權(quán)衡多個(gè)質(zhì)量目標(biāo)。ATAM構(gòu)架評(píng)估包括以下三方面的內(nèi)容一、評(píng)估人員組成1、評(píng)估小組:該小組是所評(píng)估構(gòu)架項(xiàng)目外部的小組,通常由35人組成。該小組的每個(gè)成員都要扮演大量的特定角色。他們可能是開發(fā)組織內(nèi)部的,也可能是外部的。任何時(shí)候,他們都應(yīng)該是有能力、沒有偏見而且私下

35、沒有其他工作要做的人員2、項(xiàng)目決策者對(duì)開發(fā)項(xiàng)目具有發(fā)言權(quán),并有權(quán)要求進(jìn)行某些改變,他們包括項(xiàng)目管理人員,重要的客戶代表,構(gòu)架設(shè)計(jì)師等。構(gòu)架評(píng)估的一個(gè)基本準(zhǔn)則就是構(gòu)架設(shè)計(jì)師必須愿意參與評(píng)估3、構(gòu)架涉眾完成工作的能力與支持可修改性、安全性、高可靠性等特性的構(gòu)架密切相關(guān)。包括:開發(fā)人員、測(cè)試人員、集成人員、用戶等二、ATAM構(gòu)架評(píng)估結(jié)果1、一個(gè)簡(jiǎn)潔的構(gòu)架表述2、表述清楚的業(yè)務(wù)目標(biāo)3、用場(chǎng)景集合捕獲的質(zhì)量屬性4、所確定的敏感點(diǎn)和權(quán)衡點(diǎn)的集合5、有風(fēng)險(xiǎn)決策和無風(fēng)險(xiǎn)決策6、風(fēng)險(xiǎn)主題的集合敏感點(diǎn)(sensitivitypoints)與某個(gè)質(zhì)量屬性相關(guān)的構(gòu)架決策權(quán)衡點(diǎn)(tradeoffpoints)與多個(gè)質(zhì)量

36、屬性相關(guān)的構(gòu)架決策有風(fēng)險(xiǎn)決策(riskset)根據(jù)所陳述的質(zhì)量屬性需求,可能導(dǎo)致不期望結(jié)果的構(gòu)架決策無風(fēng)險(xiǎn)決策(nonriskset)根據(jù)分析被認(rèn)為是安全的構(gòu)架決策三、ATAM構(gòu)架評(píng)估的過程1、ATAM評(píng)估包括4個(gè)階段階段活動(dòng)參與人員一般需要的時(shí)間1關(guān)系和準(zhǔn)備評(píng)估小組負(fù)責(zé)人和主要的項(xiàng)目決策者大約需要幾周時(shí)間2部分評(píng)估評(píng)估小組和項(xiàng)目決策者1周,然后中斷2-3周3全體評(píng)估評(píng)估小組、項(xiàng)目決策者以及涉眾2天4后續(xù)工作評(píng)估小組和客戶1周2、ATAM評(píng)估的具體步驟包括以下八步:1)、由評(píng)估負(fù)責(zé)人向參加會(huì)議的項(xiàng)目代表介紹ATAM評(píng)估方法,在這一步,要說明每個(gè)人將參與的過程,回答提岀的問題,并為其他活動(dòng)確定上

37、下文和期望2)、項(xiàng)目決策者從商業(yè)的角度介紹系統(tǒng)的概況,包括:系統(tǒng)最重要的功能;任何相關(guān)的技術(shù)、管理、經(jīng)濟(jì)和政治限制;與項(xiàng)目相關(guān)的商業(yè)目標(biāo)和上下文;主要的涉眾;構(gòu)架的驅(qū)動(dòng)因素(主要質(zhì)量屬性目標(biāo))等3)、設(shè)計(jì)師使用各種視圖來介紹構(gòu)架的本質(zhì),促使形成構(gòu)架的需求,構(gòu)架受到的技術(shù)約束條件,以及系統(tǒng)與之交互的系統(tǒng),構(gòu)架方法、模式,采用的戰(zhàn)術(shù)等4)、ATAM評(píng)估主要通過理解其構(gòu)架方法來分析構(gòu)架5)、使用質(zhì)量屬性效用樹對(duì)質(zhì)量目標(biāo)進(jìn)行詳細(xì)清晰地闡述。效用樹的作用是使質(zhì)量屬性需求具體化,從而迫使設(shè)計(jì)師和客戶代表準(zhǔn)確地定義岀他們將要提供的相關(guān)質(zhì)量需求;效用樹實(shí)際上就是使用最重要的質(zhì)量屬性場(chǎng)景來對(duì)質(zhì)量屬性進(jìn)行討論和評(píng)

38、估。在這一步中還需要確定場(chǎng)景的優(yōu)先級(jí)6)、評(píng)估小組根據(jù)設(shè)計(jì)師的講解分析每一個(gè)優(yōu)先級(jí)高的場(chǎng)景,確定每個(gè)場(chǎng)景的敏感點(diǎn),權(quán)衡點(diǎn),有風(fēng)險(xiǎn)和無風(fēng)險(xiǎn)決策等;評(píng)估小組為每一個(gè)場(chǎng)景生成一個(gè)評(píng)估表格上面的6個(gè)步驟由評(píng)估小組和項(xiàng)目決策者參加,下面的評(píng)估則增加了涉眾的參與,這樣能夠得到更全面更合理的構(gòu)架設(shè)計(jì)方案7)、全體涉眾確定進(jìn)行評(píng)估的優(yōu)先級(jí)8)、全體涉眾對(duì)每一個(gè)重要的質(zhì)量屬性場(chǎng)景進(jìn)行討論和提問。第十三周CBAM構(gòu)架評(píng)估方法及軟件產(chǎn)品線一、CBAM構(gòu)架評(píng)估方法ATAM構(gòu)架評(píng)估方法保證構(gòu)架滿足了我們?cè)O(shè)計(jì)目標(biāo)中性能和質(zhì)量屬性的要求,但是對(duì)于商業(yè)軟件系統(tǒng)而言,我們還需要對(duì)此構(gòu)架生成系統(tǒng)的經(jīng)濟(jì)性進(jìn)行評(píng)估,這就是CBAM評(píng)

39、估。CRAM(CcstRenefitAnalysisMethcd)成本收益分析方法是對(duì)軟件系統(tǒng)進(jìn)行經(jīng)濟(jì)建模的方法,它提供了對(duì)技術(shù)與經(jīng)濟(jì)問題以及構(gòu)架決策的評(píng)估。相對(duì)于ATAM構(gòu)架評(píng)估方法而言,CRAM雖然為從經(jīng)濟(jì)的角度評(píng)估構(gòu)架提供了一種方法原型,但不夠成熟。另外,CRAM評(píng)估以ATAM評(píng)估為基礎(chǔ),即它利用了ATAM評(píng)估方法得到的結(jié)果。CBAM的基本思想:構(gòu)架策略影響系統(tǒng)的質(zhì)量屬性,反過來這些質(zhì)量屬性又會(huì)為系統(tǒng)的涉眾帶來一定的收益,我們稱該收益為效用。每個(gè)構(gòu)架策略都為涉眾提供了一特定級(jí)別的效用,同時(shí),每個(gè)策略對(duì)應(yīng)一個(gè)成本,我們將收益和成本的比值叫做ROI(ReturnonInvestment)投資

40、回報(bào),CBAM方法就是計(jì)算各種構(gòu)架策略的ROI,然后協(xié)助涉眾選擇構(gòu)架策略CBAM使用場(chǎng)景來表達(dá)具體的質(zhì)量屬性,但是它不是使用一個(gè)單獨(dú)的場(chǎng)景,而是通過改變響應(yīng)值對(duì)某一質(zhì)量屬性生成一組場(chǎng)景,每個(gè)場(chǎng)景對(duì)應(yīng)一個(gè)效用,那么一組響應(yīng)值就對(duì)應(yīng)一組效用,這樣就形成了效用響應(yīng)曲線圖幾種不同的效用-響應(yīng)曲線通過以下幾個(gè)值就可以描繪出效用-響應(yīng)曲線:1、最壞情況質(zhì)量屬性級(jí)別,效用為02、最好情況質(zhì)量屬性級(jí)別,效用為1003、當(dāng)前效用級(jí)別,效用為504、所期望的效用級(jí)別,效用為905、對(duì)不同質(zhì)量屬性不同的響應(yīng)生成不同的效用,這是一個(gè)根據(jù)響應(yīng)得到的效用變化值有了效用-響應(yīng)曲線,我們就可以計(jì)算各種構(gòu)架策略的ROI,從而為

41、我們的構(gòu)架決策提供一種經(jīng)濟(jì)上的依據(jù)。對(duì)于每個(gè)構(gòu)架策略而言,總收益為Bi,總成本為Ci,每個(gè)構(gòu)架策略的ROI為Ri,則:Ri=Bi/CiCBAM評(píng)估方法的步驟:1、整理場(chǎng)景:確定場(chǎng)景的優(yōu)先級(jí),然后選擇優(yōu)先級(jí)最高的1/3場(chǎng)景2、對(duì)場(chǎng)景進(jìn)行求精:確定該場(chǎng)景的最好情況、最壞情況、當(dāng)前情況和期望情況的質(zhì)量屬性響應(yīng)級(jí)別3、再次確定場(chǎng)景的優(yōu)先級(jí),只保留一半場(chǎng)景4、為每個(gè)場(chǎng)景的當(dāng)前級(jí)別和期望級(jí)別分配效用5、為每個(gè)場(chǎng)景開發(fā)構(gòu)架策略,并確定質(zhì)量響應(yīng)級(jí)別6、使用內(nèi)插法確定所期望的構(gòu)架策略效用值7、計(jì)算某個(gè)構(gòu)架策略的總收益8、計(jì)算ROI,根據(jù)ROI選擇構(gòu)架策略9、運(yùn)用直覺來確認(rèn)所得到的結(jié)果二、軟件產(chǎn)品線:重用構(gòu)架資產(chǎn)

42、產(chǎn)品線在制造業(yè)中得到廣泛應(yīng)用,包括汽車、飛機(jī)等大型設(shè)備的制造往往通過產(chǎn)品線來實(shí)現(xiàn)。1969年,McIlroy首先認(rèn)識(shí)到了開創(chuàng)可重用軟件組件行業(yè)的需要,但是,直到今天現(xiàn)在軟件團(tuán)體也沒有實(shí)現(xiàn)這一目標(biāo)。軟件產(chǎn)品線(SoftwareProductLines)一組軟件密集型系統(tǒng),它們共享一個(gè)公共的、可管理的特性集,滿足了某個(gè)特定市場(chǎng)或任務(wù)的具體需要,是以規(guī)定的方式用公共的核心資產(chǎn)集開發(fā)岀來的,比如醫(yī)學(xué)圖像處理軟件成功采用產(chǎn)品線能夠帶來的生產(chǎn)成本的降低、上市時(shí)間的縮短和生產(chǎn)效率的提高產(chǎn)品線的本質(zhì)是在生產(chǎn)產(chǎn)品家族時(shí),以一種規(guī)范的、策略性的方法重用資產(chǎn)產(chǎn)品線之所以有效,是因?yàn)榭梢酝ㄟ^重用充分利用產(chǎn)品的共性,從

43、而實(shí)現(xiàn)生產(chǎn)的經(jīng)濟(jì)性,可以重用的范圍包括:1、需求:大多數(shù)需求與早期開發(fā)的系統(tǒng)相同,因此不再需要進(jìn)一步的需求分析2、構(gòu)架設(shè)計(jì):已有成功系統(tǒng)的構(gòu)架證明是合時(shí)的,設(shè)計(jì)產(chǎn)品線產(chǎn)品利用成功的構(gòu)架可以節(jié)約大量的時(shí)間3、元素:軟件產(chǎn)品的元素在產(chǎn)品線中是可重用的,包括元素接口、文檔、測(cè)試計(jì)劃等4、建模和分析:以前關(guān)于性能分析、可調(diào)度性分析等模型和分析均可重用5、測(cè)試:以前的測(cè)試計(jì)劃、測(cè)試過程、測(cè)試用例、測(cè)試數(shù)據(jù)、測(cè)試工具均可重用6、過程、方法和工具等7、人員:開發(fā)相似系統(tǒng)的人員已經(jīng)具有了開發(fā)此類系統(tǒng)的經(jīng)驗(yàn)和技術(shù)積累8、樣本系統(tǒng):已開發(fā)系統(tǒng)可以作為新開發(fā)系統(tǒng)的樣本9、缺陷消除:產(chǎn)品線可以提高產(chǎn)品質(zhì)量,因?yàn)橐郧暗娜毕菰谛庐a(chǎn)品設(shè)計(jì)時(shí)可以避免建立產(chǎn)品線構(gòu)架在產(chǎn)品線的核心資產(chǎn)庫(kù)中,軟件構(gòu)架是重中之重。構(gòu)建一個(gè)成

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論