![新版軟件體系結(jié)構(gòu)(SoftwareArchitecture)培訓(xùn)課件.ppt_第1頁(yè)](http://file4.renrendoc.com/view/5e1b6c9a83f35e6816b4924b1011ac7f/5e1b6c9a83f35e6816b4924b1011ac7f1.gif)
![新版軟件體系結(jié)構(gòu)(SoftwareArchitecture)培訓(xùn)課件.ppt_第2頁(yè)](http://file4.renrendoc.com/view/5e1b6c9a83f35e6816b4924b1011ac7f/5e1b6c9a83f35e6816b4924b1011ac7f2.gif)
![新版軟件體系結(jié)構(gòu)(SoftwareArchitecture)培訓(xùn)課件.ppt_第3頁(yè)](http://file4.renrendoc.com/view/5e1b6c9a83f35e6816b4924b1011ac7f/5e1b6c9a83f35e6816b4924b1011ac7f3.gif)
![新版軟件體系結(jié)構(gòu)(SoftwareArchitecture)培訓(xùn)課件.ppt_第4頁(yè)](http://file4.renrendoc.com/view/5e1b6c9a83f35e6816b4924b1011ac7f/5e1b6c9a83f35e6816b4924b1011ac7f4.gif)
![新版軟件體系結(jié)構(gòu)(SoftwareArchitecture)培訓(xùn)課件.ppt_第5頁(yè)](http://file4.renrendoc.com/view/5e1b6c9a83f35e6816b4924b1011ac7f/5e1b6c9a83f35e6816b4924b1011ac7f5.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、軟件體系結(jié)構(gòu)(Software Architecture)講義八:軟件產(chǎn)品線實(shí)踐與模式內(nèi)容軟件產(chǎn)品線簡(jiǎn)介軟件產(chǎn)品線的基本活動(dòng)典型的產(chǎn)品線實(shí)踐域產(chǎn)品線實(shí)踐模式案例研究小結(jié)軟件產(chǎn)品線簡(jiǎn)介背景(Background)概念(Concept)產(chǎn)品線的好處和代價(jià)(Benefits and Costs of a Product Line)相關(guān)術(shù)語(yǔ)解釋(Note on Terminology)背景(1/2)一個(gè)產(chǎn)品線(Product Line)是共享一組公共的、可管理的特性,并且滿足特定市場(chǎng)需求的產(chǎn)品集合產(chǎn)品線方法必將成為新世紀(jì)中占主導(dǎo)地位的軟件生產(chǎn)模式,產(chǎn)品的靈活性是市場(chǎng)的必然需求,而產(chǎn)品線將通過(guò)裁剪,生產(chǎn)
2、出滿足特定用戶或用戶群需要的產(chǎn)品從開(kāi)發(fā)者的角度,產(chǎn)品線的成功在于產(chǎn)品之間通過(guò)共性的共享,達(dá)到了生產(chǎn)上經(jīng)濟(jì)的目的產(chǎn)品線方法在制造業(yè)中并不新鮮!但在軟件開(kāi)發(fā)中,CMU SEI提出的“軟件產(chǎn)品線” 還是比較新的概念,并被迄今為止的實(shí)踐證明是可行的,可以有效地提高生產(chǎn)率、縮短產(chǎn)品上市時(shí)間、提高質(zhì)量和客戶滿意度背景(2/2)從構(gòu)成軟件成分的抽象粒度和面向應(yīng)用的角度來(lái)看,軟件開(kāi)發(fā)的手段是不斷提高的1960s,子程序(subroutines)1970s,模塊(modules)1980s,對(duì)象(objects)1990s,構(gòu)件(components)Now,系統(tǒng)(Systems)產(chǎn)品線方法可以看作是軟件復(fù)用發(fā)
3、展的一個(gè)更高階段概念一個(gè)軟件產(chǎn)品線是滿足下列性質(zhì)的一組軟件系統(tǒng):共享一組相同的、可管理的特性集合滿足一類特定的市場(chǎng)需求以預(yù)先規(guī)定的方式基于公共核心資產(chǎn)集合開(kāi)發(fā)在一個(gè)軟件產(chǎn)品線中,新產(chǎn)品形成通過(guò)以下步驟:從公共資產(chǎn)庫(kù)中選取合適的構(gòu)件使用預(yù)定義的變化性機(jī)制進(jìn)行裁剪,如參數(shù)化、繼承必要時(shí)增加新的構(gòu)件在整個(gè)產(chǎn)品線范圍內(nèi)共同的體系結(jié)構(gòu)指導(dǎo)下,進(jìn)行構(gòu)件組裝,形成系統(tǒng)新產(chǎn)品(系統(tǒng))的開(kāi)發(fā)從“創(chuàng)造”變?yōu)椤敖M裝(生成)”其中,占支配地位的活動(dòng)是“集成”而非“編程”使用產(chǎn)品線的好處和代價(jià)(1/7)使用產(chǎn)品線帶來(lái)的好處和付出的代價(jià)都是與產(chǎn)品線中產(chǎn)品之間的復(fù)用相關(guān)的好處1:產(chǎn)品線體系結(jié)構(gòu)提供了在產(chǎn)品線中進(jìn)行系統(tǒng)開(kāi)發(fā)的
4、結(jié)構(gòu),構(gòu)件間的關(guān)系和約束。一旦定義好了產(chǎn)品線體系結(jié)構(gòu),意味著產(chǎn)品線中所有產(chǎn)品的系統(tǒng)設(shè)計(jì)已基本完成代價(jià)1:產(chǎn)品線體系結(jié)構(gòu)必須支持產(chǎn)品線內(nèi)部固有的變化性,所以除了定義構(gòu)件本身和構(gòu)件之間的約束(必需的,可選的,可替換的),還要定義在產(chǎn)品線中開(kāi)發(fā)系統(tǒng)時(shí)構(gòu)件使用和演化的原則,增加了產(chǎn)品線體系結(jié)構(gòu)定義的復(fù)雜性 好處2:設(shè)計(jì)決策、數(shù)據(jù)結(jié)構(gòu)、算法、文檔、編碼和調(diào)試信息等都屬于可復(fù)用資產(chǎn),它們?cè)诋a(chǎn)品線的所有產(chǎn)品中可被反復(fù)使用代價(jià)2:因?yàn)榭蓮?fù)用資產(chǎn)要適應(yīng)不同產(chǎn)品之間的差異,所以要求可復(fù)用資產(chǎn)有足夠通用的特性,同時(shí)要保證性能不被降低,增加了資產(chǎn)設(shè)計(jì)和實(shí)現(xiàn)的復(fù)雜性使用產(chǎn)品線的好處和代價(jià)(2/7)好處3:為軟件開(kāi)發(fā)購(gòu)買
5、的開(kāi)發(fā)環(huán)境、配置管理工具、設(shè)備管理工具可以在整個(gè)產(chǎn)品線中使用,相當(dāng)于投資的“分期付款”代價(jià)3:要求這些可復(fù)用的工具和環(huán)境有足夠的適應(yīng)性,適應(yīng)一個(gè)產(chǎn)品線的通用性又可以適應(yīng)單獨(dú)產(chǎn)品的變化性 ,因此對(duì)這些工具和環(huán)境的要求較高好處4:產(chǎn)品線是面向特定領(lǐng)域中的共性產(chǎn)品,開(kāi)發(fā)人員具有適應(yīng)整個(gè)產(chǎn)品線的經(jīng)驗(yàn),可以按照需要隨時(shí)轉(zhuǎn)換項(xiàng)目,提高生產(chǎn)效率代價(jià)4:專業(yè)人員的培訓(xùn)需要花很大代價(jià)使用產(chǎn)品線的好處和代價(jià)(3/7)CEO更高的生產(chǎn)效率更快速的上市持續(xù)的成長(zhǎng)和市場(chǎng)份額經(jīng)濟(jì)地獲取特定市場(chǎng)領(lǐng)域的能力COO勞動(dòng)力的有效使用開(kāi)拓新市場(chǎng)、新技術(shù)和新產(chǎn)品的能力流動(dòng)的人力資源“池”技術(shù)經(jīng)理增長(zhǎng)的可預(yù)測(cè)性良好建立的角色和責(zé)任有效
6、生產(chǎn)使用產(chǎn)品線的好處和代價(jià)(4/7)軟件產(chǎn)品開(kāi)發(fā)人員高昂的士氣更大的工作滿足度集中于產(chǎn)品真正的獨(dú)特方面方便的軟件集成更少的交付延遲組織內(nèi)部更大的機(jī)動(dòng)性更強(qiáng)的市場(chǎng)化能力有更多學(xué)習(xí)新技術(shù)的時(shí)間成為具有良好質(zhì)量記錄和信用記錄的產(chǎn)品開(kāi)發(fā)隊(duì)伍成員使用產(chǎn)品線的好處和代價(jià)(5/7)體系結(jié)構(gòu)設(shè)計(jì)師或核心資產(chǎn)開(kāi)發(fā)人員更大的挑戰(zhàn)工作具有更大的影響組織內(nèi)重要性的提升象產(chǎn)品線一樣具有市場(chǎng)銷路市場(chǎng)銷售人員可預(yù)測(cè)的高質(zhì)量產(chǎn)品可預(yù)測(cè)的交付時(shí)間可以銷售家族系列產(chǎn)品使用產(chǎn)品線的好處和代價(jià)(6/7)客戶更高質(zhì)量的產(chǎn)品可預(yù)測(cè)的交付時(shí)間可預(yù)測(cè)的費(fèi)用特定需求的已知費(fèi)用良好測(cè)試的培訓(xùn)材料和文檔分享維護(hù)費(fèi)用加入一個(gè)用戶組的潛在可能終端用戶
7、更少的缺陷更好的培訓(xùn)材料和文檔建立與其他用戶的網(wǎng)絡(luò)使用產(chǎn)品線的好處和代價(jià)(7/7)好處一個(gè)人承擔(dān)150萬(wàn)行Ada源代碼的集成和測(cè)試工作,該系統(tǒng)是一個(gè)實(shí)時(shí)的、安全要求很高的艦船指揮和控制系統(tǒng)在三年的時(shí)間里,生產(chǎn)效率翻了4番(以單位時(shí)間內(nèi)、每個(gè)工程師在每個(gè)發(fā)布的產(chǎn)品中完成的功能數(shù)目來(lái)衡量)一周完成驅(qū)動(dòng)內(nèi)燃機(jī)運(yùn)行的軟件系統(tǒng)(甚至一個(gè)特殊情況在一個(gè)周末),而不是以前的一年時(shí)間比沒(méi)有采用資產(chǎn)復(fù)用的預(yù)計(jì)時(shí)間提前了12個(gè)月,參加軍事模擬訓(xùn)練代價(jià)把資源用于核心資產(chǎn)庫(kù)的開(kāi)發(fā),為此取消了三個(gè)大項(xiàng)目重新安排不適應(yīng)產(chǎn)品線方法的員工在新方法發(fā)揮作用之前,推遲產(chǎn)品發(fā)布一年時(shí)間相關(guān)術(shù)語(yǔ)解釋(1/4)核心資產(chǎn)庫(kù)(core a
8、ssets base)核心資產(chǎn)庫(kù)是產(chǎn)品線的基礎(chǔ),是管理支持產(chǎn)品開(kāi)發(fā)的可復(fù)用資源的機(jī)制核心資產(chǎn)庫(kù)中的資產(chǎn)通常包括體系結(jié)構(gòu)、可復(fù)用軟件構(gòu)件、框架、領(lǐng)域模型、需求描述、文檔和規(guī)約、性能模型和度量、日程、預(yù)算、測(cè)試計(jì)劃、測(cè)試用例、工作計(jì)劃、過(guò)程描述、通訊協(xié)議描述、用戶界面描述、應(yīng)用生成器、設(shè)計(jì)準(zhǔn)則和設(shè)計(jì)決策,其中,體系結(jié)構(gòu)是最為關(guān)鍵的資產(chǎn)相關(guān)術(shù)語(yǔ)解釋(2/4)開(kāi)發(fā)(development)“開(kāi)發(fā)”在這里是一個(gè)廣義的詞,指的是如何獲得核心資產(chǎn)(或產(chǎn)品)軟件進(jìn)入一個(gè)組織可以通過(guò)以下三個(gè)渠道之一:自己構(gòu)建(build),包括從零開(kāi)始或從遺產(chǎn)系統(tǒng)中挖掘直接購(gòu)買(purchase),通常不做修改委托加工(com
9、mission),同別人簽訂合同為其特別定制這里的“開(kāi)發(fā)”實(shí)際上包括構(gòu)建、獲取、購(gòu)買、翻新老系統(tǒng),或以上各種方式的組合相關(guān)術(shù)語(yǔ)解釋(3/4)產(chǎn)品線(product line) vs. 產(chǎn)品族(product family)產(chǎn)品線是共享一組公共的、可管理的特性,并且滿足特定市場(chǎng)需求的產(chǎn)品集合產(chǎn)品族是一組相關(guān)的軟件系統(tǒng),它們是基于公共的核心資產(chǎn)開(kāi)發(fā)出來(lái)的盡管產(chǎn)品線以產(chǎn)品族的方式構(gòu)造是最高效的,但從技術(shù)上來(lái)講,產(chǎn)品線可以不是產(chǎn)品族同樣,如果產(chǎn)品族的結(jié)果產(chǎn)品在市場(chǎng)目標(biāo)上彼此關(guān)系不大,也不一定構(gòu)成產(chǎn)品線注意:我們關(guān)于軟件產(chǎn)品線的定義隱含了產(chǎn)品線是作為一個(gè)產(chǎn)品族來(lái)開(kāi)發(fā)的,并且其中的產(chǎn)品按照規(guī)定的方式開(kāi)發(fā)術(shù)
10、語(yǔ)對(duì)照Product lineProduct familyCore assetsPlatformProduct familyPlatform-based familyBusiness unitProduct line相關(guān)術(shù)語(yǔ)解釋(4/4)內(nèi)容軟件產(chǎn)品線簡(jiǎn)介軟件產(chǎn)品線的基本活動(dòng)典型的產(chǎn)品線實(shí)踐域產(chǎn)品線實(shí)踐模式案例研究小結(jié)產(chǎn)品線方法的基本活動(dòng)核心資產(chǎn)開(kāi)發(fā)(Core Asset Development)產(chǎn)品開(kāi)發(fā)(Product Development)管理(Management)產(chǎn)品線方法的基本活動(dòng)領(lǐng)域工程和應(yīng)用工程領(lǐng)域工程領(lǐng)域工程是為一組相似或相近系統(tǒng)的應(yīng)用工程建立基本能力和必備基礎(chǔ)的過(guò)程,它覆蓋
11、了建立可復(fù)用軟件構(gòu)件的所有活動(dòng)。針對(duì)一個(gè)領(lǐng)域中的所有系統(tǒng),而不局限于某個(gè)特定的系統(tǒng)。應(yīng)用工程:應(yīng)用工程是開(kāi)發(fā)單個(gè)特定應(yīng)用系統(tǒng)的活動(dòng)。針對(duì)一組特定的需求,產(chǎn)生一個(gè)特定的解決方案。與應(yīng)用工程相比,領(lǐng)域工程處于一個(gè)較高的抽象級(jí)別上。行為產(chǎn)品領(lǐng)域工程領(lǐng)域分析領(lǐng)域設(shè)計(jì)領(lǐng)域?qū)崿F(xiàn)領(lǐng)域模型DSSA領(lǐng)域構(gòu)件應(yīng)用工程系統(tǒng)1系統(tǒng)2系統(tǒng)n分析用戶需求設(shè)計(jì)應(yīng)用系統(tǒng)規(guī)約應(yīng)用系統(tǒng)實(shí)現(xiàn)應(yīng)用系統(tǒng)體系結(jié)構(gòu)應(yīng)用系統(tǒng)應(yīng)用工程系統(tǒng)n+1基于領(lǐng)域模型的分析用戶需求基于DSSA的設(shè)計(jì)應(yīng)用系統(tǒng)規(guī)約應(yīng)用系統(tǒng)實(shí)現(xiàn)/集成應(yīng)用系統(tǒng)體系結(jié)構(gòu)應(yīng)用系統(tǒng)活動(dòng)1:核心資產(chǎn)開(kāi)發(fā)核心資產(chǎn)開(kāi)發(fā)活動(dòng)的輸入(1/5)產(chǎn)品約束產(chǎn)品線中的產(chǎn)品有哪些共性和變化性?它們提供哪
12、些行為特性?根據(jù)市場(chǎng)和技術(shù)預(yù)測(cè)將來(lái)產(chǎn)品要具有哪些功能?遵循什么標(biāo)準(zhǔn)?滿足哪些性能要求?同哪些外部系統(tǒng)交互?滿足哪些物理限制?滿足哪些質(zhì)量要求(如可用性、安全性等)?核心資產(chǎn)必須以最小犧牲產(chǎn)品質(zhì)量(如安全性、可靠性、可用性等)的代價(jià),換取對(duì)產(chǎn)品共性和個(gè)性的滿足核心資產(chǎn)開(kāi)發(fā)活動(dòng)的輸入(2/5)風(fēng)格、模式和框架符合產(chǎn)品約束和生產(chǎn)約束的相關(guān)體系結(jié)構(gòu)是什么?構(gòu)件交互的協(xié)議和模式是什么?有哪些可用的設(shè)計(jì)模式?有哪些可用的應(yīng)用框架?盡管這些是體系結(jié)構(gòu)定義的輸入,它們被提高到如此高度的目的在于強(qiáng)調(diào)體系結(jié)構(gòu)在軟件產(chǎn)品線實(shí)踐中的重要性核心資產(chǎn)開(kāi)發(fā)活動(dòng)的輸入(3/5)生產(chǎn)約束產(chǎn)品線的產(chǎn)品要遵循哪些商業(yè)、軍事或公司的
13、規(guī)范?產(chǎn)品線的產(chǎn)品所基于的底層基礎(chǔ)設(shè)施是什么?產(chǎn)品推向市場(chǎng)的時(shí)間需求是什么? 哪些COTS構(gòu)件是可用的?哪些遺產(chǎn)構(gòu)件可被復(fù)用?對(duì)這些問(wèn)題的回答對(duì)核心資產(chǎn)的構(gòu)造,以及核心資產(chǎn)自身具有顯著的影響核心資產(chǎn)開(kāi)發(fā)活動(dòng)的輸入(4/5)生產(chǎn)策略生產(chǎn)策略是實(shí)現(xiàn)核心資產(chǎn)的總體方法。產(chǎn)品線采用自頂向下還是自底向上的開(kāi)發(fā)方法?轉(zhuǎn)移資產(chǎn)生產(chǎn)成本的策略是什么?通用構(gòu)件是自行開(kāi)發(fā)還是從市場(chǎng)購(gòu)買? 產(chǎn)品是自動(dòng)生成還是組裝?核心資產(chǎn)的生產(chǎn)如何管理?生產(chǎn)策略刻畫(huà)了體系結(jié)構(gòu)和相關(guān)構(gòu)件的獲得及演化途徑核心資產(chǎn)開(kāi)發(fā)活動(dòng)的輸入(5/5)已有資產(chǎn)的清單在開(kāi)發(fā)產(chǎn)品線之前有哪些可用的軟件資產(chǎn),譬如:庫(kù)函數(shù)、框架、算法、工具、構(gòu)件等? 有哪些
14、可用的技術(shù)管理過(guò)程、預(yù)算模型、培訓(xùn)資源?資產(chǎn)清單包括所有事先存在的潛在資產(chǎn)。通過(guò)仔細(xì)分析,開(kāi)發(fā)組織可以確定什么是最適合利用的核心資產(chǎn)開(kāi)發(fā)活動(dòng)的輸出(1/2)產(chǎn)品線空間(Scope)產(chǎn)品線空間描述了構(gòu)成產(chǎn)品線的產(chǎn)品,不僅僅是產(chǎn)品名稱的枚舉列表,還包括這些產(chǎn)品的共性和變化性,例如產(chǎn)品提供的操作,性能和其他質(zhì)量屬性,運(yùn)行的平臺(tái)等此外,產(chǎn)品線空間會(huì)隨著市場(chǎng)條件、組織計(jì)劃、商業(yè)目標(biāo)等的改變而不斷演化,產(chǎn)品線空間的演化是產(chǎn)品線演化的起點(diǎn)核心資產(chǎn)庫(kù)資產(chǎn)庫(kù)是利用產(chǎn)品線進(jìn)行產(chǎn)品開(kāi)發(fā)的基礎(chǔ),包括:產(chǎn)品線中所有產(chǎn)品共享的體系結(jié)構(gòu)支持系統(tǒng)復(fù)用的軟件構(gòu)件,包括設(shè)計(jì)和實(shí)現(xiàn)構(gòu)件測(cè)試計(jì)劃,測(cè)試用例,集成計(jì)劃和各種文檔核心資產(chǎn)
15、開(kāi)發(fā)活動(dòng)的輸出(2/2)生產(chǎn)計(jì)劃生產(chǎn)計(jì)劃描述了怎樣基于資產(chǎn)庫(kù)開(kāi)發(fā)產(chǎn)品所有上述核心資產(chǎn),例如領(lǐng)域模型、需求、體系結(jié)構(gòu)、構(gòu)件、測(cè)試計(jì)劃等,都有“附帶”的過(guò)程(process)定義它們?nèi)绾卧诋a(chǎn)品開(kāi)發(fā)中使用。生產(chǎn)計(jì)劃基本上是這樣一組“附帶”的過(guò)程,它描述了這些個(gè)別的過(guò)程如何組合起來(lái)構(gòu)建產(chǎn)品的總體方案生產(chǎn)計(jì)劃為復(fù)用者提供了一個(gè)基于產(chǎn)品線開(kāi)發(fā)產(chǎn)品的指南。每個(gè)產(chǎn)品的變化性是同預(yù)定義的變化點(diǎn)相一致的,例如,從分類的構(gòu)件中選擇一個(gè)提供某種特性,增加/刪除構(gòu)件,通過(guò)繼承或參數(shù)化裁剪構(gòu)件生產(chǎn)計(jì)劃描述了產(chǎn)品之間必要的變化性,缺乏了生產(chǎn)計(jì)劃,產(chǎn)品的開(kāi)發(fā)者將不知道核心資產(chǎn)之間的聯(lián)系,如何有效地和在產(chǎn)品線約束下利用它們基于
16、核心資產(chǎn)、以生產(chǎn)計(jì)劃為指導(dǎo)、生產(chǎn)出產(chǎn)品線空間的產(chǎn)品開(kāi)發(fā)核心資產(chǎn)庫(kù)(1/4)體系結(jié)構(gòu)是產(chǎn)品線中最重要的核心資產(chǎn),產(chǎn)品線的體系結(jié)構(gòu)既要滿足所有產(chǎn)品線空間中產(chǎn)品的共性,又要滿足每個(gè)產(chǎn)品的個(gè)性規(guī)定可能成為核心資產(chǎn)的軟件構(gòu)件解決核心資產(chǎn)庫(kù)的構(gòu)件和形成產(chǎn)品的構(gòu)件之間的通信問(wèn)題定義一致性規(guī)則以保證產(chǎn)品遵循體系結(jié)構(gòu)規(guī)范保證體系結(jié)構(gòu)在產(chǎn)品線生命周期中的可行性產(chǎn)品線空間的共性體現(xiàn)在體系結(jié)構(gòu)中,變化性體現(xiàn)在可裁剪/可替換的構(gòu)件中影響產(chǎn)品線體系結(jié)構(gòu)開(kāi)發(fā)的因素產(chǎn)品線空間相關(guān)的風(fēng)格、模式和應(yīng)用框架遺產(chǎn)系統(tǒng)的知識(shí)開(kāi)發(fā)核心資產(chǎn)庫(kù)(2/4)體系結(jié)構(gòu)在產(chǎn)品線中的意義體系結(jié)構(gòu)是核心資產(chǎn)庫(kù)的關(guān)鍵部分,既體現(xiàn)了產(chǎn)品線的共性需求,又通過(guò)
17、變化點(diǎn)支持產(chǎn)品空間中的一個(gè)產(chǎn)品譜系; 體系結(jié)構(gòu)描述了產(chǎn)品線中產(chǎn)品的結(jié)構(gòu),而且給出了核心資產(chǎn)庫(kù)中構(gòu)件的接口規(guī)約;體系結(jié)構(gòu)決定要開(kāi)發(fā)哪些構(gòu)件,決定哪些構(gòu)件在整個(gè)產(chǎn)品線中是通用的而哪些構(gòu)件在不同實(shí)例之間存在變化性;開(kāi)發(fā)一個(gè)體系結(jié)構(gòu)需要產(chǎn)品空間、相關(guān)風(fēng)格、模式和框架知識(shí)以及已有資產(chǎn)清單。 開(kāi)發(fā)核心資產(chǎn)庫(kù)(3/4)其他的核心資產(chǎn)包括同可復(fù)用軟件構(gòu)件相關(guān)的資產(chǎn),需求規(guī)約設(shè)計(jì)/界面規(guī)約代碼測(cè)試計(jì)劃/案例/規(guī)程性能模型評(píng)審表格/規(guī)程最后,需要定義當(dāng)產(chǎn)品線演化時(shí),核心資產(chǎn)將如何更新。例如更多的可用資源、技術(shù)改進(jìn)、市場(chǎng)轉(zhuǎn)向等影響了產(chǎn)品線空間開(kāi)發(fā)核心資產(chǎn)庫(kù)(4/4)附加過(guò)程(attached processes)定
18、義產(chǎn)品空間產(chǎn)品線空間確定了產(chǎn)品線中包含的產(chǎn)品,定義了產(chǎn)品的共性和變化性。產(chǎn)品線空間必須被認(rèn)真定義,過(guò)寬:核心資產(chǎn)將無(wú)法適應(yīng)廣譜的變化性,生產(chǎn)的經(jīng)濟(jì)性將喪失,產(chǎn)品線將退化成“一次一個(gè)產(chǎn)品”的老的開(kāi)發(fā)模式過(guò)窄:核心資產(chǎn)的通用性將無(wú)法適應(yīng)未來(lái)發(fā)展的需要,并且規(guī)模經(jīng)濟(jì)無(wú)法實(shí)現(xiàn)影響產(chǎn)品線空間的因素市場(chǎng)需求、競(jìng)爭(zhēng)對(duì)手和企業(yè)目標(biāo)產(chǎn)品約束,例如產(chǎn)品可以在哪些平臺(tái)上運(yùn)行和產(chǎn)品必須具有的性能相關(guān)系統(tǒng)和產(chǎn)品對(duì)于市場(chǎng)和技術(shù)的預(yù)測(cè)開(kāi)發(fā)生產(chǎn)計(jì)劃成功的產(chǎn)品線實(shí)踐依賴于文檔化的、被良好理解的、有效的軟件實(shí)踐和過(guò)程,用于開(kāi)發(fā)和演化產(chǎn)品、體系結(jié)構(gòu)和其他核心資產(chǎn)生產(chǎn)計(jì)劃描述了如何基于資產(chǎn)庫(kù)開(kāi)發(fā)產(chǎn)品,制定將單個(gè)資產(chǎn)的“附加”過(guò)程連接
19、起來(lái)的全局策略,這些過(guò)程包括:產(chǎn)品線的開(kāi)發(fā)方式:自頂向下 vs. 自底向上體系結(jié)構(gòu)的開(kāi)發(fā)和維護(hù)可裁剪/可替換構(gòu)件在開(kāi)發(fā)產(chǎn)品過(guò)程中的使用方式為使用、裁剪和演化核心資產(chǎn),應(yīng)用的特定工具度量由于產(chǎn)品線實(shí)踐(或其它過(guò)程改善)為企業(yè)帶來(lái)的效益,并制定為度量采集相關(guān)數(shù)據(jù)的計(jì)劃生產(chǎn)計(jì)劃在每次產(chǎn)品開(kāi)發(fā)中被實(shí)例化產(chǎn)品線方法的基本活動(dòng)活動(dòng)2:產(chǎn)品開(kāi)發(fā)活動(dòng)產(chǎn)品開(kāi)發(fā)產(chǎn)品開(kāi)發(fā)活動(dòng)是產(chǎn)品線的目標(biāo),核心資產(chǎn)開(kāi)發(fā)只是達(dá)到該目的的一種手段。產(chǎn)品開(kāi)發(fā)活動(dòng)依賴于核心資產(chǎn)開(kāi)發(fā)活動(dòng)的三個(gè)輸出:產(chǎn)品線空間核心資產(chǎn)生產(chǎn)計(jì)劃,再加上特定產(chǎn)品的需求特定產(chǎn)品的需求經(jīng)常表現(xiàn)為產(chǎn)品線通用需求的一個(gè)增量(delta),或一組產(chǎn)品線需求的增量生產(chǎn)計(jì)劃要
20、被實(shí)例化為特定產(chǎn)品的生產(chǎn)計(jì)劃產(chǎn)品開(kāi)發(fā)活動(dòng)中輸入/輸出關(guān)系產(chǎn)品開(kāi)發(fā)活動(dòng)的輸入和輸出之間存在一個(gè)不斷反饋和迭代的過(guò)程快速生成產(chǎn)品線中特定成員的能力會(huì)影響產(chǎn)品線空間,也許被當(dāng)初負(fù)責(zé)定義產(chǎn)品線空間的人所忽視每個(gè)新產(chǎn)品可能同其它產(chǎn)品相似,因此需要生成新的核心資產(chǎn)當(dāng)更多的產(chǎn)品被生產(chǎn)出來(lái)時(shí),生產(chǎn)的效率可能意味著需要新的系統(tǒng)生成過(guò)程,從而引起生產(chǎn)計(jì)劃的變更產(chǎn)品線對(duì)客戶的影響表現(xiàn)為,一個(gè)客戶可能改變他的需求,以便同產(chǎn)品線空間保持一致,從而達(dá)到利用產(chǎn)品線優(yōu)勢(shì),縮短產(chǎn)品上市時(shí)間、提高可靠性和降低開(kāi)發(fā)成本的目的軟件產(chǎn)品的開(kāi)發(fā)/獲取 產(chǎn)品開(kāi)發(fā)的方式產(chǎn)品線中的產(chǎn)品由一個(gè)產(chǎn)品組開(kāi)發(fā);產(chǎn)品線中的產(chǎn)品由分布在整個(gè)企業(yè)的不同產(chǎn)品
21、組開(kāi)發(fā);產(chǎn)品開(kāi)發(fā)的活動(dòng)(應(yīng)用工程)特定系統(tǒng)需求獲取特定系統(tǒng)SA的獲取可復(fù)用構(gòu)件的選擇和組裝變化性處理管理管理在成功的產(chǎn)品線實(shí)踐中起著關(guān)鍵的作用為產(chǎn)品線中的各個(gè)活動(dòng)合理分配資源,起協(xié)調(diào)監(jiān)督的作用協(xié)調(diào)核心資產(chǎn)開(kāi)發(fā)和產(chǎn)品開(kāi)發(fā)迭代過(guò)程中的技術(shù)活動(dòng)設(shè)置適當(dāng)?shù)慕M織機(jī)構(gòu),以保證組織內(nèi)的各部門得到足夠數(shù)量的合適資源(如,良好訓(xùn)練的員工)為保證核心資產(chǎn)演化,確定合適的預(yù)算模型,并提供相應(yīng)的資金組織核心資產(chǎn)庫(kù)中的資產(chǎn),以方便查找合適的可復(fù)用資產(chǎn)如果產(chǎn)品線外包給其他公司,管理活動(dòng)負(fù)責(zé)監(jiān)督承包人,確保資產(chǎn)和產(chǎn)品符合合同要求,通過(guò)資產(chǎn)庫(kù)達(dá)到企業(yè)目標(biāo)管理部門與外部的接口推選一位稱職的管理者,稱為Product Line
22、Champion內(nèi)容軟件產(chǎn)品線簡(jiǎn)介軟件產(chǎn)品線的基本活動(dòng)典型的產(chǎn)品線實(shí)踐域產(chǎn)品線實(shí)踐模式案例研究小結(jié)典型的產(chǎn)品線實(shí)踐域基本概念 (Basic Terminology)產(chǎn)品線實(shí)踐域分類(Categories of Practice Areas)重要實(shí)踐域(Important Practice Areas)基本概念(1/2)一個(gè)實(shí)踐域是一組活動(dòng)的集合或工作體 (body of work),組織必須掌握,以便成功地實(shí)施產(chǎn)品線的基本工作實(shí)踐域是對(duì)產(chǎn)品線基本活動(dòng)(如“開(kāi)發(fā)核心資產(chǎn)”)的細(xì)化,通過(guò)定義一組較小且易于管理的活動(dòng),有助于達(dá)到目標(biāo)實(shí)踐域?yàn)榻M織采用產(chǎn)品線方法提供了起點(diǎn)為了能夠執(zhí)行每個(gè)實(shí)踐域的基本活動(dòng)
23、,要求掌握相關(guān)的實(shí)踐域。這里的“掌握”意味著,能夠重復(fù)成功的實(shí)踐企業(yè)的能力成熟度需要達(dá)到CMM2級(jí)!基本概念(2/2)盡管很多實(shí)踐域在任何成功的軟件開(kāi)發(fā)中都是基本要素,但在產(chǎn)品線方法中有其同單個(gè)系統(tǒng)工程不同的特性描述實(shí)踐域的模板描述(Introductory overview)產(chǎn)品線的特有之處(Aspects peculiar to product lines)應(yīng)用于資產(chǎn)開(kāi)發(fā)(How applied to core asset development)應(yīng)用于產(chǎn)品開(kāi)發(fā)(How applied to product development )具體實(shí)踐(Specific practices)實(shí)踐風(fēng)險(xiǎn)
24、(Practice risks)參考(References)初始級(jí)(1) 軟件配置管理 軟件質(zhì)量保證 軟件子合同管理 軟件項(xiàng)目跟蹤和監(jiān)督 軟件項(xiàng)目規(guī)劃需求管理可重復(fù)級(jí)(2)定義級(jí)(3) 軟件質(zhì)量管理量化的過(guò)程管理管理級(jí)(4) 過(guò)程變化管理 技術(shù)變化管理錯(cuò)誤預(yù)防優(yōu)化級(jí)(5) 軟件配置管理 軟件質(zhì)量保證 軟件子合同管理 軟件項(xiàng)目跟蹤和監(jiān)督 軟件項(xiàng)目規(guī)劃需求管理 對(duì)等復(fù)審 組間協(xié)作 軟件產(chǎn)品工程 集成的軟件管理 培訓(xùn)計(jì)劃 組織過(guò)程定義組織過(guò)程關(guān)注CMM的關(guān)鍵過(guò)程域(KPAs)產(chǎn)品線實(shí)踐域分類產(chǎn)品線的實(shí)踐域可以粗略地分為三類軟件工程實(shí)踐類:采用合適的技術(shù)創(chuàng)建和演化核心資產(chǎn)及產(chǎn)品的實(shí)踐技術(shù)管理實(shí)踐類:采
25、用工程化方法創(chuàng)建和演化核心資產(chǎn)及產(chǎn)品的管理實(shí)踐組織管理實(shí)踐類:協(xié)調(diào)整個(gè)產(chǎn)品線活動(dòng)的管理實(shí)踐軟件工程實(shí)踐類軟件工程實(shí)踐類是那些采用合適的技術(shù)創(chuàng)建和演化核心資產(chǎn)及產(chǎn)品的實(shí)踐:9項(xiàng)體系結(jié)構(gòu)定義(Architecture Definition)體系結(jié)構(gòu)評(píng)價(jià)(Architecture Evaluation)構(gòu)件開(kāi)發(fā)(Component Development)COTS利用(COTS Utilization)挖掘現(xiàn)存資產(chǎn)(Mining Existing Assets)需求工程(Requirements Engineering)軟件系統(tǒng)集成(Software System Integration)測(cè)試(Te
26、sting)理解相關(guān)領(lǐng)域(Understanding Relevant Domains)技術(shù)管理實(shí)踐類技術(shù)管理實(shí)踐類是使創(chuàng)建和演化核心資產(chǎn)及產(chǎn)品“工程化”的管理實(shí)踐:8項(xiàng)配置管理(Configuration Management)數(shù)據(jù)收集、度量和跟蹤(Data Collection, Metrics, and Tracking)開(kāi)發(fā)/購(gòu)買/挖掘/委托的分析(Make/Buy/Mine/Commission Analysis)過(guò)程定義(Process Definition)產(chǎn)品線范圍確定(Product Line Scoping)技術(shù)規(guī)劃(Technical Planning)技術(shù)風(fēng)險(xiǎn)管理(Te
27、chnical Risk Management)工具支持(Tool Support)組織管理實(shí)踐類組織管理實(shí)踐類用于協(xié)調(diào)整個(gè)產(chǎn)品線的活動(dòng):12項(xiàng)形成合適的組織結(jié)構(gòu)(Achieving the Right Organizational Structure)構(gòu)建和交流商業(yè)實(shí)例(Building and Communicating a Business Case)用戶界面管理(Customer Interface Management)開(kāi)發(fā)和實(shí)現(xiàn)獲取策略(Developing and Implementing an Acquisition Strategy)投資預(yù)算(Funding)啟動(dòng)和制度化產(chǎn)品
28、線(Launching and Institutionalizing a Product Line)市場(chǎng)分析(Market Analysis)操作(Operations)組織計(jì)劃(Organizational Planning)組織風(fēng)險(xiǎn)管理(Organizational Risk Management)技術(shù)預(yù)測(cè)(Technology Forecasting)培訓(xùn)(Training)實(shí)踐域同基本活動(dòng)的關(guān)系(1/3)軟件工程實(shí)踐域和基本活動(dòng)“開(kāi)發(fā)核心資產(chǎn)”的輸出“開(kāi)發(fā)產(chǎn)品”的輸出管理產(chǎn)品線范圍核心資產(chǎn)生產(chǎn)計(jì)劃產(chǎn)品體系結(jié)構(gòu)定義X體系結(jié)構(gòu)評(píng)估XX構(gòu)件開(kāi)發(fā)XCOTS利用X挖掘現(xiàn)存資產(chǎn)X需求工程XXX軟件
29、系統(tǒng)集成XX測(cè)試XX理解相關(guān)領(lǐng)域X實(shí)踐域同基本活動(dòng)的關(guān)系(2/3)技術(shù)管理實(shí)踐域和基本活動(dòng)“開(kāi)發(fā)核心資產(chǎn)”的輸出“開(kāi)發(fā)產(chǎn)品”的輸出管理產(chǎn)品線范圍核心資產(chǎn)生產(chǎn)計(jì)劃產(chǎn)品配置管理XX數(shù)據(jù)收集、度量和跟蹤XX開(kāi)發(fā)/購(gòu)買/挖掘/委托的分析X過(guò)程分析XX產(chǎn)品線范圍確定X技術(shù)規(guī)劃XX技術(shù)風(fēng)險(xiǎn)管理XXX工具支持XXX實(shí)踐域同基本活動(dòng)的關(guān)系(3/3)組織管理實(shí)踐域和基本活動(dòng)“開(kāi)發(fā)核心資產(chǎn)”的輸出“開(kāi)發(fā)產(chǎn)品”的輸出管理產(chǎn)品線范圍核心資產(chǎn)生產(chǎn)計(jì)劃產(chǎn)品形成合適的組織結(jié)構(gòu)X構(gòu)建和交流商業(yè)實(shí)例X用戶界面管理X開(kāi)發(fā)和實(shí)現(xiàn)獲取策略XXXX投資預(yù)算X啟動(dòng)和制度化產(chǎn)品線X市場(chǎng)分析XX操作XX組織計(jì)劃X組織風(fēng)險(xiǎn)管理X技術(shù)預(yù)測(cè)XX培
30、訓(xùn)X軟件工程實(shí)踐類軟件工程實(shí)踐類是那些采用合適的技術(shù)創(chuàng)建和演化核心資產(chǎn)及產(chǎn)品的實(shí)踐:9項(xiàng)體系結(jié)構(gòu)定義(Architecture Definition)(P54)體系結(jié)構(gòu)評(píng)價(jià)(Architecture Evaluation)構(gòu)件開(kāi)發(fā)(Component Development)COTS利用(COTS Utilization)挖掘現(xiàn)存資產(chǎn)(Mining Existing Assets)需求工程(Requirements Engineering)軟件系統(tǒng)集成(Software System Integration)測(cè)試(Testing)理解相關(guān)領(lǐng)域(Understanding Relevant Do
31、mains)實(shí)踐域1:體系結(jié)構(gòu)定義該實(shí)踐域描述了定義產(chǎn)品線體系結(jié)構(gòu)所必須的活動(dòng)。體系結(jié)構(gòu)將決定一個(gè)組織能否高效地從共享的資產(chǎn)庫(kù)中生產(chǎn)出產(chǎn)品體系結(jié)構(gòu)是任何軟件項(xiàng)目成功的關(guān)鍵因素,當(dāng)然包括產(chǎn)品線。體系結(jié)構(gòu)是從問(wèn)題空間(用戶需求)向解空間(設(shè)計(jì))過(guò)渡的第一個(gè)制品,它決定了結(jié)果產(chǎn)品的質(zhì)量屬性,例如性能、可修改性、可移植性項(xiàng)目組織結(jié)構(gòu)和管理模式理解軟件系統(tǒng)如何工作的起點(diǎn)體系結(jié)構(gòu)定義體系結(jié)構(gòu)需求產(chǎn)品的質(zhì)量屬性是否同其他系統(tǒng)交互開(kāi)發(fā)組織的業(yè)務(wù)目標(biāo)可用的構(gòu)件資源(制作/購(gòu)買/挖掘/訂做)體系結(jié)構(gòu)方法自頂向下(從需求到設(shè)計(jì)到實(shí)現(xiàn))在設(shè)計(jì)應(yīng)用功能之前,關(guān)注系統(tǒng)基礎(chǔ)結(jié)構(gòu)方面在研究基礎(chǔ)結(jié)構(gòu)之前,關(guān)注應(yīng)用功能體系結(jié)構(gòu)風(fēng)
32、格體系結(jié)構(gòu)定義構(gòu)件接口接口包括了構(gòu)件使用者可以確實(shí)做的一組假設(shè)靜態(tài)特征:合約(contract)描述了每個(gè)服務(wù)的前置條件、后置條件、構(gòu)件不變式動(dòng)態(tài)特征:狀態(tài)機(jī)、時(shí)態(tài)邏輯一個(gè)完整的合約同時(shí)包括了對(duì)外提供的服務(wù)和對(duì)外要求的資源協(xié)議(protocol)描述構(gòu)件之間的交互連接構(gòu)件(connecting components)應(yīng)用是通過(guò)連接構(gòu)件進(jìn)行構(gòu)造的,以使能通訊和協(xié)作過(guò)程調(diào)用、遠(yuǎn)程過(guò)程調(diào)用CORBA、COM+、JavaBeans產(chǎn)品線的特有之處(1/2)同單個(gè)系統(tǒng)的體系結(jié)構(gòu)幾乎固定了系統(tǒng)中可能存在的變化性,產(chǎn)品線體系結(jié)構(gòu)明確規(guī)定了產(chǎn)品線空間允許的變化性,并提供內(nèi)在的機(jī)制在具體產(chǎn)品中實(shí)例化這些變化性相
33、對(duì)于單個(gè)系統(tǒng),產(chǎn)品線對(duì)體系結(jié)構(gòu)在變化性方面提出了更高的要求。產(chǎn)品線中產(chǎn)品之間的差異可能表現(xiàn)在行為、質(zhì)量-屬性、運(yùn)行平臺(tái)、網(wǎng)絡(luò)、物理配置、中間件、規(guī)模等許多方面,例如,一個(gè)產(chǎn)品可能要求高度安全,處理速度較慢另一個(gè)產(chǎn)品要求速度快,安全性較低體系結(jié)構(gòu)必須具有足夠的靈活性同時(shí)支持這兩個(gè)產(chǎn)品產(chǎn)品線的特有之處(2/2)產(chǎn)品線體系結(jié)構(gòu)對(duì)變化性的支持可以采取多種形式:參數(shù)化:所有的變化性事先明確,并固化在代碼內(nèi),在系統(tǒng)構(gòu)造時(shí)對(duì)構(gòu)件、子系統(tǒng)等的形式參數(shù)進(jìn)行賦值繼承和代理:面向?qū)ο笙到y(tǒng)提供的子類對(duì)父類的屬性和行為進(jìn)行改變的機(jī)制構(gòu)件替換:在保持接口一致的前提下,可以用功能強(qiáng)大的構(gòu)件替換以前較弱的構(gòu)件;此外,還包括構(gòu)
34、件數(shù)目的擴(kuò)充應(yīng)用于核心資產(chǎn)開(kāi)發(fā)產(chǎn)品線體系結(jié)構(gòu)是核心資產(chǎn)中關(guān)鍵成員,預(yù)期在同整個(gè)產(chǎn)品線保持相同的生存期,并且保持相對(duì)穩(wěn)定體系結(jié)構(gòu)定義了核心資產(chǎn)庫(kù)中的軟件構(gòu)件集合,以及相關(guān)的支撐資產(chǎn),如各種文檔和測(cè)試制品體系結(jié)構(gòu)本身的“附屬”過(guò)程(或產(chǎn)品開(kāi)發(fā)者指南)也是產(chǎn)品線保持持久的重要核心資產(chǎn)應(yīng)用于產(chǎn)品開(kāi)發(fā)在構(gòu)造新產(chǎn)品時(shí),按照“附屬”的過(guò)程,對(duì)產(chǎn)品線體系結(jié)構(gòu)進(jìn)行實(shí)例化,其中最重要的是固定變化性在構(gòu)造新產(chǎn)品時(shí),如果發(fā)現(xiàn)產(chǎn)品線體系結(jié)構(gòu)無(wú)法支持的變化性,應(yīng)考慮對(duì)其進(jìn)行擴(kuò)充具體實(shí)踐體系結(jié)構(gòu)定義和基于體系結(jié)構(gòu)的開(kāi)發(fā)體系結(jié)構(gòu)風(fēng)格和模式產(chǎn)品開(kāi)發(fā)者指南在產(chǎn)品線體系結(jié)構(gòu)實(shí)現(xiàn)變化性繼承擴(kuò)充和擴(kuò)充點(diǎn)參數(shù)化配置和模塊連接語(yǔ)言(MIL
35、)自動(dòng)生成,如Yacc,Lex編譯時(shí)刻的不同實(shí)現(xiàn)選擇,如#ifdef實(shí)踐風(fēng)險(xiǎn)沒(méi)有熟練的體系結(jié)構(gòu)設(shè)計(jì)師管理和文化落后的工具過(guò)度參數(shù)化過(guò)多的固定點(diǎn)實(shí)踐域2:體系結(jié)構(gòu)評(píng)價(jià)體系結(jié)構(gòu)是軟件產(chǎn)品線的基礎(chǔ)之一,必須盡早對(duì)其評(píng)估,降低修改成本該實(shí)踐可以在不同階段實(shí)施在體系結(jié)構(gòu)還在設(shè)計(jì)時(shí)在初步體系結(jié)構(gòu)設(shè)計(jì)完成和詳細(xì)設(shè)計(jì)開(kāi)始之間甚至在系統(tǒng)開(kāi)發(fā)完成之后(例如再工程或挖掘)體系結(jié)構(gòu)評(píng)價(jià)必須同組織的商業(yè)目標(biāo)緊密聯(lián)系起來(lái),例如如果其中一個(gè)商業(yè)目標(biāo)是希望系統(tǒng)有較長(zhǎng)的生命周期,可修改性就是一個(gè)重要的質(zhì)量屬性質(zhì)量屬性的目標(biāo)必須具體,例如易修改性這一抽象質(zhì)量屬性在評(píng)價(jià)具體體系結(jié)構(gòu)時(shí)必須說(shuō)明是針對(duì)什么樣的變化該體系結(jié)構(gòu)具有(或沒(méi)有
36、)易修改性產(chǎn)品線的特有之處產(chǎn)品線的體系結(jié)構(gòu)和每個(gè)產(chǎn)品的體系結(jié)構(gòu)都要進(jìn)行評(píng)價(jià),但評(píng)價(jià)的標(biāo)準(zhǔn)有所不同對(duì)產(chǎn)品線體系結(jié)構(gòu)的評(píng)價(jià)注重其健壯性和通用性對(duì)產(chǎn)品體系結(jié)構(gòu)的評(píng)價(jià)注重其能否滿足該產(chǎn)品的行為(behavioral)和質(zhì)量要求必須考慮到體系結(jié)構(gòu)為產(chǎn)品線服務(wù)這一事實(shí)產(chǎn)品線體系結(jié)構(gòu)評(píng)估必須在限定硬件和其他變量變化范圍的基礎(chǔ)上確定體系結(jié)構(gòu)所能達(dá)到的性能應(yīng)用于核心資產(chǎn)開(kāi)發(fā)很明顯,體系結(jié)構(gòu)評(píng)價(jià)要應(yīng)用于作為產(chǎn)品線核心資產(chǎn)一部分的產(chǎn)品線體系結(jié)構(gòu)由于需求、商業(yè)目標(biāo)和體系結(jié)構(gòu)都是不斷變化的,因此需要周期性的小型評(píng)估來(lái)保證體系結(jié)構(gòu)和商業(yè)目標(biāo)的一致體系結(jié)構(gòu)評(píng)估也可應(yīng)用于核心資產(chǎn)的候選構(gòu)件和內(nèi)部開(kāi)發(fā)的構(gòu)件不適用于黑盒復(fù)用的體
37、系結(jié)構(gòu)用于評(píng)估的質(zhì)量屬性目標(biāo)包括候選的核心資產(chǎn)是否支持產(chǎn)品線的質(zhì)量目標(biāo)是否能夠支持產(chǎn)品線中產(chǎn)品的預(yù)期發(fā)展應(yīng)用于產(chǎn)品開(kāi)發(fā)體系結(jié)構(gòu)評(píng)估應(yīng)當(dāng)在體系結(jié)構(gòu)的實(shí)例或變化點(diǎn)上進(jìn)行,這些實(shí)例或變化點(diǎn)用來(lái)創(chuàng)建產(chǎn)品線上的一個(gè)或多個(gè)產(chǎn)品對(duì)于產(chǎn)品線體系結(jié)構(gòu)來(lái)說(shuō),產(chǎn)品體系結(jié)構(gòu)評(píng)估是否是一個(gè)相對(duì)獨(dú)立的過(guò)程取決于產(chǎn)品體系結(jié)構(gòu)和產(chǎn)品線體系結(jié)構(gòu)在質(zhì)量屬性影響方式(quality-attribute-affecting ways)上的差異大小由于產(chǎn)品體系結(jié)構(gòu)評(píng)估是產(chǎn)品線體系結(jié)構(gòu)評(píng)估的變種(variation),評(píng)估制品當(dāng)然可以根據(jù)所使用的評(píng)估方法進(jìn)行復(fù)用把產(chǎn)品線體系結(jié)構(gòu)評(píng)估或產(chǎn)品體系結(jié)構(gòu)評(píng)估的附屬過(guò)程建檔當(dāng)提出一個(gè)超出原產(chǎn)品線范
38、圍的新產(chǎn)品時(shí),要重新評(píng)估產(chǎn)品線體系結(jié)構(gòu)。如果不適用于新產(chǎn)品,評(píng)估可用于決定如何修改體系結(jié)構(gòu)來(lái)適應(yīng)新產(chǎn)品具體實(shí)踐ATAM(Architecture Trade-off Analysis Method)SAAM (Software Architecture Analysis Method)SPE (Software Performance Engineering)ARID (Active Reviews for Intermediate Designs)主動(dòng)設(shè)計(jì)評(píng)審(Active Design Reviews)實(shí)踐風(fēng)險(xiǎn)不恰當(dāng)?shù)娜藚⑴c評(píng)估生命周期中的不恰當(dāng)時(shí)機(jī)沒(méi)有時(shí)間進(jìn)行評(píng)估評(píng)估的不恰當(dāng)解釋重新評(píng)估
39、失敗實(shí)踐域3:構(gòu)件開(kāi)發(fā)軟件構(gòu)件是一個(gè)復(fù)合單元,具有“契約”規(guī)定的接口和明確的環(huán)境依賴。軟件構(gòu)件可以被獨(dú)立發(fā)布,并可以被第三方合成構(gòu)件開(kāi)發(fā)指的是在體系結(jié)構(gòu)上下文中,生產(chǎn)實(shí)現(xiàn)特定功能的構(gòu)件。構(gòu)件是被封裝的,通過(guò)接口對(duì)外呈現(xiàn)其功能,并同其他構(gòu)件集成構(gòu)件接口靜態(tài)方面:接口經(jīng)常通過(guò)“契約”的方式進(jìn)行說(shuō)明,即每個(gè)服務(wù)的前置、后置條件,以及表達(dá)構(gòu)件內(nèi)服務(wù)交互的不變式動(dòng)態(tài)方面:狀態(tài)機(jī),時(shí)態(tài)邏輯等完整的“契約”應(yīng)包括構(gòu)件“對(duì)外提供的”和“為完成自身功能所需的”構(gòu)件連接連接機(jī)制提供了構(gòu)件通訊和協(xié)調(diào)的機(jī)制,例如CORBA,COM,IIOP和其它基礎(chǔ)設(shè)施構(gòu)件的連接方式限制了構(gòu)件的可復(fù)用性產(chǎn)品線的特有之處產(chǎn)品線的共性體
40、現(xiàn)在體系結(jié)構(gòu)中,變化性體現(xiàn)在可裁剪/可替換的構(gòu)件中。因此,構(gòu)件必須具有足夠的靈活性以滿足體系結(jié)構(gòu)定義的變化點(diǎn)構(gòu)件開(kāi)發(fā)同產(chǎn)品線相關(guān)的方面包括:計(jì)劃構(gòu)件開(kāi)發(fā)關(guān)鍵基礎(chǔ)設(shè)施、體系結(jié)構(gòu)規(guī)則或模式、實(shí)現(xiàn)技術(shù)說(shuō)明構(gòu)件UML+OCL提供變化性支持Inheritance, Extension, Uses, Configuration, Parameters, Template instantiation, and Generation應(yīng)用于核心資產(chǎn)開(kāi)發(fā)構(gòu)件和相關(guān)的制品(接口規(guī)范,“附屬”的過(guò)程,測(cè)試支持等)構(gòu)成了核心資產(chǎn)庫(kù)的最大部分。相應(yīng)的,構(gòu)件開(kāi)發(fā)是產(chǎn)品線核心資產(chǎn)開(kāi)發(fā)最大的部分構(gòu)件同軟件體系結(jié)構(gòu)一起構(gòu)成了開(kāi)發(fā)
41、產(chǎn)品的概念基礎(chǔ)應(yīng)用于產(chǎn)品開(kāi)發(fā)構(gòu)件是填充產(chǎn)品體系結(jié)構(gòu)“骨架”的構(gòu)造塊。特定產(chǎn)品的體系結(jié)構(gòu)是通過(guò)綁定產(chǎn)品線體系結(jié)構(gòu)的變化點(diǎn)實(shí)現(xiàn)的,變化的綁定是為了達(dá)到特定的產(chǎn)品屬性,例如實(shí)時(shí)效率、容錯(cuò)等,這就有助于確定使用哪些構(gòu)件,以及如何對(duì)這些構(gòu)件的變化性進(jìn)行實(shí)例化一個(gè)產(chǎn)品中的構(gòu)件可以通過(guò)下述途徑獲得:直接來(lái)自核心資產(chǎn)庫(kù)固定內(nèi)在的變化性經(jīng)過(guò)修改和裁剪:adapter設(shè)計(jì)模式,繼承,Wrapper重新開(kāi)發(fā)核心資產(chǎn)庫(kù)中構(gòu)件的“附屬”過(guò)程描述了如何選擇和綁定變化性具體實(shí)踐特定的構(gòu)件模型產(chǎn)品線體系結(jié)構(gòu)應(yīng)包括一個(gè)基本構(gòu)件模型,用作實(shí)現(xiàn)的基礎(chǔ)CORBA (Common Object Request Broker Archi
42、tecture)DCOM (Distributed Common Object Model)JavaBeans實(shí)踐風(fēng)險(xiǎn)Decomposition flawsLack of conformance to specified interfaceInadequate specificationsWrong level of specificityExcessive inter-component dependencies實(shí)踐域4:COTS利用COTS產(chǎn)品獨(dú)立存在于特定的系統(tǒng),由商業(yè)組織為商業(yè)目的而開(kāi)發(fā),COTS產(chǎn)品一般通過(guò)購(gòu)買或許可證的方式獲得。在政府環(huán)境中,又稱為NDI (non-developm
43、ental items)產(chǎn)品在過(guò)去的10年中,中間件技術(shù)和標(biāo)準(zhǔn)的爆炸性增長(zhǎng)使其在大型系統(tǒng)開(kāi)發(fā)中普遍采用COTS產(chǎn)品的利用有以下特點(diǎn):降低成本利用公共體系結(jié)構(gòu)促進(jìn)大規(guī)模復(fù)用失去對(duì)構(gòu)件適應(yīng)體系結(jié)構(gòu)和構(gòu)件演化的控制COTS產(chǎn)品的利用步驟COTS產(chǎn)品的利用一般需要以下的步驟:仔細(xì)分析體系結(jié)構(gòu),COTS構(gòu)件和體系結(jié)構(gòu)存在互動(dòng)關(guān)系理解組織需求,某些組織有特定的技術(shù)約束或標(biāo)準(zhǔn)仔細(xì)研究市場(chǎng),特別注意不斷發(fā)展的新技術(shù)、新標(biāo)準(zhǔn)和新構(gòu)件以靈活的方式處理用戶需求,在需求和COTS之間需要折衷開(kāi)發(fā)評(píng)價(jià)產(chǎn)品和技術(shù)的方法,包括評(píng)價(jià)步驟和評(píng)價(jià)策略選擇可行的產(chǎn)品和技術(shù)購(gòu)買產(chǎn)品把COTS產(chǎn)品集成到體系結(jié)構(gòu)中測(cè)試產(chǎn)品配置,即集成測(cè)
44、試以發(fā)展的觀點(diǎn)管理和演化系統(tǒng)產(chǎn)品線的特有之處同其它產(chǎn)品線構(gòu)件一樣,COTS構(gòu)件必須具有足夠的靈活性以適應(yīng)產(chǎn)品線變化性的需要采用COTS構(gòu)件時(shí),必須考慮到產(chǎn)品維護(hù)和升級(jí)的周期同COTS構(gòu)件周期的不一致COTS構(gòu)件需要的新活動(dòng)包括:鑒定潛在適用的COTS構(gòu)件采用包裝器、中間件等對(duì)構(gòu)件進(jìn)行裁剪組裝經(jīng)過(guò)裁剪后的構(gòu)件當(dāng)新版本發(fā)布時(shí),考慮對(duì)COTS構(gòu)件進(jìn)行升級(jí)應(yīng)用于核心資產(chǎn)開(kāi)發(fā)COTS產(chǎn)品是核心資產(chǎn)的可行選擇,現(xiàn)有的商業(yè)構(gòu)件,包括數(shù)據(jù)庫(kù)、GUI、WWW瀏覽器、基于Java的產(chǎn)品和其它基于DCOM或 CORBA的中間件代表了資產(chǎn)基礎(chǔ)設(shè)施的重要部分選擇COTS構(gòu)件作為核心資產(chǎn),需要考慮以下因素:COTS構(gòu)件的
45、相對(duì)穩(wěn)定性接口、相關(guān)協(xié)議和標(biāo)準(zhǔn)COTS構(gòu)件可能會(huì)對(duì)產(chǎn)品線需求和體系結(jié)構(gòu)產(chǎn)生反作用應(yīng)用于產(chǎn)品開(kāi)發(fā)當(dāng)一個(gè)產(chǎn)品的特有部分恰好可以由COTS構(gòu)件完成時(shí),沒(méi)有理由不考慮采用COTS構(gòu)件這時(shí)需要考慮上述提到的各種活動(dòng),即鑒定潛在適用的COTS構(gòu)件采用包裝器、中間件等對(duì)構(gòu)件進(jìn)行裁剪組裝經(jīng)過(guò)裁剪后的構(gòu)件當(dāng)新版本發(fā)布時(shí),考慮對(duì)COTS構(gòu)件進(jìn)行升級(jí)具體實(shí)踐基于COTS的系統(tǒng)實(shí)踐COTS使用風(fēng)險(xiǎn)評(píng)估 (Cots Usage Risk Evaluation)實(shí)踐風(fēng)險(xiǎn)COTS構(gòu)件之間交互的未知性對(duì)COTS產(chǎn)品的修改COTS構(gòu)件的替換缺乏嚴(yán)格的配置管理缺乏適應(yīng)性缺乏COTS產(chǎn)品的支持實(shí)踐域5:挖掘現(xiàn)有資產(chǎn)挖掘現(xiàn)有資產(chǎn)是指
46、對(duì)舊系統(tǒng)的一部分進(jìn)行挖掘和改善,然后應(yīng)用于原本并不支持的新系統(tǒng)中。不僅包含對(duì)代碼的重用,還包括對(duì)業(yè)務(wù)模型、規(guī)則庫(kù)(rule bases)、需求規(guī)格說(shuō)明等要正確計(jì)算對(duì)遺留資產(chǎn)復(fù)用所需的成本由于資產(chǎn)挖掘時(shí)資源密集型的活動(dòng),所以小粒度的復(fù)用幾乎不可能產(chǎn)生任何經(jīng)濟(jì)效益產(chǎn)品線的特有之處為產(chǎn)品線挖掘的資產(chǎn)必須同新開(kāi)發(fā)的核心資產(chǎn)有相同的質(zhì)量挖掘的資產(chǎn)必須被打包,同時(shí)要考慮到復(fù)用,必須滿足產(chǎn)品線的需求、必須與產(chǎn)品線體系結(jié)構(gòu)保持一致、必須滿足產(chǎn)品線的質(zhì)量目標(biāo)挖掘的資產(chǎn)必須滿足產(chǎn)品線中大多數(shù)產(chǎn)品的需求為軟件產(chǎn)品線挖掘資產(chǎn)要考慮到如下幾個(gè)方面在共性和變化點(diǎn)這兩個(gè)方面,與現(xiàn)有產(chǎn)品的一致性對(duì)未來(lái)潛在產(chǎn)品的適應(yīng)性使資產(chǎn)接
47、口遵循產(chǎn)品線體系結(jié)構(gòu)約束所需要的工作量從體系結(jié)構(gòu)未來(lái)的演化發(fā)展對(duì)資產(chǎn)提出的潛在需求,考慮它的可擴(kuò)展性資產(chǎn)的維護(hù)歷史應(yīng)用于核心資產(chǎn)開(kāi)發(fā)挖掘現(xiàn)有資產(chǎn)的過(guò)程主要是在為產(chǎn)品線尋找合適的候選對(duì)象具有良好結(jié)構(gòu)和文檔,并且經(jīng)過(guò)長(zhǎng)時(shí)間使用的資產(chǎn),可以直接或稍作修改就放入核心資產(chǎn)庫(kù)通過(guò)包裝能夠滿足新的交互性需求的資產(chǎn),也是需要的反之,是我們不需要的。如果包含進(jìn)來(lái),就需要長(zhǎng)期高額的維護(hù)費(fèi)用候選構(gòu)件資產(chǎn)必須與產(chǎn)品線體系結(jié)構(gòu)一致,必須滿足對(duì)該構(gòu)件的行為需求,必須適應(yīng)每一個(gè)變化點(diǎn)應(yīng)用于產(chǎn)品開(kāi)發(fā)可以用于產(chǎn)品開(kāi)發(fā),但與非產(chǎn)品線情況下沒(méi)有任何區(qū)別對(duì)所挖掘的構(gòu)件值得花較多時(shí)間考慮它是真的專用于某個(gè)產(chǎn)品,還是可廣泛應(yīng)用于產(chǎn)品線中
48、其它產(chǎn)品,從而能更準(zhǔn)確的確定修復(fù)(rehabilitation)成本具體實(shí)踐再工程的選擇分析(Options Analysis)建立挖掘上下文建立遺產(chǎn)構(gòu)件庫(kù)分析候選構(gòu)件分析挖掘選項(xiàng)選擇挖掘選項(xiàng)實(shí)踐風(fēng)險(xiǎn)(1/2)與挖掘相關(guān)的主要風(fēng)險(xiǎn)無(wú)法找到適用的資產(chǎn)選擇了錯(cuò)誤的資產(chǎn)與挖掘活動(dòng)相關(guān)的風(fēng)險(xiǎn)不成功的搜索過(guò)于成功的搜索標(biāo)準(zhǔn)模糊(Fuzzy criteria)沒(méi)有搜索出非軟件資產(chǎn)不合適的資產(chǎn)糟糕的修復(fù)(rehabilitation)評(píng)估實(shí)踐風(fēng)險(xiǎn)(2/2)導(dǎo)致挖掘風(fēng)險(xiǎn)的組織因素存儲(chǔ)空間不足(Lack of corporate memory)采用的方法不當(dāng)缺少工具支持Turf conflict無(wú)法獲得開(kāi)發(fā)所需
49、的資源實(shí)踐域6:需求工程(1/2)需求是對(duì)系統(tǒng)要做什么、系統(tǒng)如何工作、要表現(xiàn)出的性質(zhì)、系統(tǒng)必須具備的質(zhì)量以及系統(tǒng)及其開(kāi)發(fā)必須滿足的約束等內(nèi)容的表述,包括:需求獲?。╮equirements elicitation)需求分析需求驗(yàn)證需求管理涉及到的角色需求者(IEEE中定義的用戶)開(kāi)發(fā)者(設(shè)計(jì)和實(shí)現(xiàn)系統(tǒng)的人)作者(編寫(xiě)需求文檔的人)需求工程(2/2)角色之間的溝通對(duì)不同相關(guān)人員提出的需求之間潛在的矛盾進(jìn)行決策需求的易變性導(dǎo)致需要一種管理變更的機(jī)制,即需求變更管理過(guò)程。這個(gè)過(guò)程的基礎(chǔ)是需求和系統(tǒng)產(chǎn)品之間的可跟蹤性(traceability links)以及需求和相關(guān)決策、折中之間的可跟蹤性需求者開(kāi)
50、發(fā)者作者溝通產(chǎn)品線的特有之處產(chǎn)品線需求定義了產(chǎn)品線中的產(chǎn)品及其特性涵蓋整個(gè)產(chǎn)品線的共有需求是極其重要的核心資產(chǎn),必須與只針對(duì)產(chǎn)品某個(gè)子集(或者單個(gè)產(chǎn)品)的需求分開(kāi)描述。只針對(duì)產(chǎn)品某個(gè)子集(或者單個(gè)產(chǎn)品)的需求同樣也需要維護(hù)和管理整個(gè)產(chǎn)品線的公共需求由很多變化點(diǎn)組成,這些變化點(diǎn)同樣也可以用來(lái)創(chuàng)建產(chǎn)品特有需求產(chǎn)品線范圍與產(chǎn)品線需求的關(guān)系針對(duì)產(chǎn)品線的需求工程和針對(duì)具體產(chǎn)品的需求工程的區(qū)別需求抽取需求分析需求規(guī)格說(shuō)明需求驗(yàn)證(verification)需求管理應(yīng)用于核心資產(chǎn)的開(kāi)發(fā)由需求工程生產(chǎn)的需求制品本身就是非常重要的核心資產(chǎn)。另外,產(chǎn)品線需求還有助于其他核心資產(chǎn)的開(kāi)發(fā)和獲取。需求制品將有助于:確定
51、一條產(chǎn)品線的可行性,精化其范圍和業(yè)務(wù)用例(business case)為產(chǎn)品線體系結(jié)構(gòu)奠定基礎(chǔ)確保其他核心資產(chǎn)支持預(yù)期的變化確定產(chǎn)品線和產(chǎn)品的進(jìn)度和預(yù)算創(chuàng)建產(chǎn)品線中產(chǎn)品的測(cè)試用例以及其他測(cè)試制品產(chǎn)品線需求工程還有一個(gè)顯著特點(diǎn)是存在一個(gè)快速的早期設(shè)計(jì),用來(lái)捕獲影響初始設(shè)計(jì)的高層需求應(yīng)用于產(chǎn)品開(kāi)發(fā) 需求工程在以下幾個(gè)方面起重要作用確定將某個(gè)產(chǎn)品作為產(chǎn)品線的一部分進(jìn)行開(kāi)發(fā)的可行性特定產(chǎn)品的開(kāi)發(fā)、測(cè)試和部署由產(chǎn)品開(kāi)發(fā)而導(dǎo)致的產(chǎn)品線演化具體實(shí)踐領(lǐng)域分析技術(shù)相關(guān)人員視圖 (stakeholder-view) 建模特征建模Use-case建模Change-case建模需求與相關(guān)工作產(chǎn)品的可跟蹤性實(shí)踐風(fēng)險(xiǎn)主要
52、風(fēng)險(xiǎn)在于在產(chǎn)品線的整個(gè)生命周期中不能正確地捕獲需求。文檔中包含錯(cuò)誤的或不適當(dāng)?shù)男枨?,沒(méi)有及時(shí)更新需求或者根本沒(méi)有對(duì)需求建檔錯(cuò)誤的需求可能由以下原因造成:沒(méi)有正確區(qū)分產(chǎn)品線范圍的需求和產(chǎn)品特有的需求通用性不足通用性過(guò)度變化點(diǎn)不正確只考慮到行為而沒(méi)考慮到質(zhì)量實(shí)踐域7:軟件系統(tǒng)集成軟件系統(tǒng)集成是指將獨(dú)立的軟件構(gòu)件組合成一個(gè)集成的整體集成受到構(gòu)件接口定義的限制接口:構(gòu)件生產(chǎn)者對(duì)其他構(gòu)件所能做的一系列安全的假設(shè)產(chǎn)品線的特有之處軟件的系統(tǒng)集成出現(xiàn)在將核心資產(chǎn)安裝到核心資產(chǎn)庫(kù)和構(gòu)建單個(gè)產(chǎn)品的過(guò)程中集成所需要做的工作量在產(chǎn)品線的軟件系統(tǒng)集成中,集成成本被分?jǐn)偟奖姸喈a(chǎn)品中去“持續(xù)集成”(continuously
53、 integration)幾乎為0每個(gè)產(chǎn)品都完全由核心資產(chǎn)組成,不存在針對(duì)特定產(chǎn)品的代碼非常大需要相當(dāng)多的編碼工作把需要的核心構(gòu)件集成為一個(gè)內(nèi)聚的整體0considerable大多數(shù)產(chǎn)品線位于中間某一點(diǎn)應(yīng)用于核心資產(chǎn)開(kāi)發(fā)采購(gòu)和挖掘核心資產(chǎn)的過(guò)程中,一定要考慮到集成的因素。盡量不要單純使用自然語(yǔ)言,還要使用一種機(jī)器可檢查的形式來(lái)描述要評(píng)估所挖掘和采購(gòu)的構(gòu)件的可集成性和粒度應(yīng)用于產(chǎn)品開(kāi)發(fā)產(chǎn)品線的一個(gè)好處在于,對(duì)產(chǎn)品線中的每個(gè)后續(xù)產(chǎn)品,軟件的系統(tǒng)集成成本呈下降趨勢(shì)任何情況下,必須根據(jù)與定義的、經(jīng)過(guò)測(cè)試的計(jì)劃來(lái)進(jìn)行集成具體實(shí)踐接口語(yǔ)言封裝中間件系統(tǒng)生成FAST生成器實(shí)踐風(fēng)險(xiǎn)自然語(yǔ)言描述的接口文檔構(gòu)件粒
54、度不夠大對(duì)變化的支持太大太復(fù)雜實(shí)踐域8:測(cè)試(1/2)測(cè)試的兩個(gè)基本目的在開(kāi)發(fā)過(guò)程中,測(cè)試用于幫助開(kāi)發(fā)人員識(shí)別導(dǎo)致失敗的錯(cuò)誤,進(jìn)而對(duì)其修復(fù)。測(cè)試用于確定一個(gè)產(chǎn)品是否滿足其需求。測(cè)試包括以下三個(gè)基本活動(dòng)分析構(gòu)造執(zhí)行和評(píng)價(jià)測(cè)試要遵循以下幾個(gè)原則測(cè)試是客觀的測(cè)試是系統(tǒng)化的測(cè)試是完整(thorough)的測(cè)試是開(kāi)發(fā)過(guò)程中不可或缺的一部分測(cè)試(2/2)下面幾點(diǎn)是我們討論測(cè)試的基礎(chǔ)分析和設(shè)計(jì)模型確認(rèn)(validation)單元測(cè)試子系統(tǒng)集成測(cè)試系統(tǒng)集成測(cè)試回歸測(cè)試適應(yīng)性測(cè)試驗(yàn)收(acceptance)測(cè)試部署測(cè)試可靠性模型(reliability models)產(chǎn)品線的特有之處在產(chǎn)品線組織中的測(cè)試對(duì)象必須
55、包括核心軟件資產(chǎn)、具體軟件產(chǎn)品,以及它們之間的交互與單個(gè)系統(tǒng)開(kāi)發(fā)不同,測(cè)試的職責(zé)分布在組織的不同部分。另一個(gè)不同點(diǎn)是測(cè)試是一個(gè)可以在很多產(chǎn)品中復(fù)用的活動(dòng)指導(dǎo)方針為復(fù)用構(gòu)造測(cè)試軟件的結(jié)構(gòu)產(chǎn)品線體系結(jié)構(gòu)提供對(duì)測(cè)試的支持為了系統(tǒng)集成測(cè)試復(fù)用資產(chǎn)采用回歸測(cè)試保持對(duì)驗(yàn)收(acceptance)測(cè)試的跟蹤應(yīng)用于核心資產(chǎn)開(kāi)發(fā)(1/2)以兩種方式應(yīng)用于核心資產(chǎn)開(kāi)發(fā)測(cè)試本身就是可復(fù)用的核心資產(chǎn),包括:文檔測(cè)試數(shù)據(jù)集測(cè)試軟件測(cè)試其他核心資產(chǎn)測(cè)試非軟件的核心資產(chǎn)測(cè)試軟件核心資產(chǎn)應(yīng)用于核心資產(chǎn)開(kāi)發(fā)(2/2)界面規(guī)格說(shuō)明結(jié)構(gòu)測(cè)試套件規(guī)格說(shuō)明的實(shí)現(xiàn)結(jié)構(gòu)測(cè)試套件多種實(shí)現(xiàn)導(dǎo)致多種測(cè)試套件(suite)應(yīng)用于產(chǎn)品開(kāi)發(fā)以兩種基本
56、方式應(yīng)用于產(chǎn)品開(kāi)發(fā)驗(yàn)證(verification)確認(rèn)(validation)具體實(shí)踐對(duì)分析和模型評(píng)審(review)而言,指導(dǎo)性審查包括審查檢查表和測(cè)試。審查過(guò)程由測(cè)試用例引導(dǎo)實(shí)踐風(fēng)險(xiǎn)主要風(fēng)險(xiǎn)是測(cè)試不充分,以及沒(méi)有采用能帶來(lái)高回報(bào)的方式。包括:不充分的單元測(cè)試工具支持的不足導(dǎo)致的不充分的單元測(cè)試不充分的規(guī)格說(shuō)明不充分的集成測(cè)試不充分的測(cè)試基礎(chǔ)設(shè)施實(shí)踐域9:理解相關(guān)領(lǐng)域必要性應(yīng)履行以下職責(zé)標(biāo)識(shí)出對(duì)建造當(dāng)前(或未來(lái))產(chǎn)品有用的專業(yè)領(lǐng)域標(biāo)識(shí)出領(lǐng)域內(nèi)重復(fù)出現(xiàn)的問(wèn)題及已知的解決方案使用便于相關(guān)人員交流的方式獲取和表達(dá)這些信息,在整個(gè)過(guò)程中使用和重用這些信息對(duì)相關(guān)領(lǐng)域的一個(gè)正式分析的范圍依賴于組織的領(lǐng)域
57、經(jīng)驗(yàn)的深度能夠用于分析的資源數(shù)量當(dāng)組織成功應(yīng)用如下幾點(diǎn)時(shí),表明它已充分理解了產(chǎn)品相關(guān)領(lǐng)域能夠推理出一個(gè)要進(jìn)行的設(shè)計(jì)所蘊(yùn)含的技術(shù)和業(yè)務(wù)要求決定所要生產(chǎn)的產(chǎn)品應(yīng)具有什么樣的特性、能力以及需要的技術(shù)生產(chǎn)一組使用了相關(guān)領(lǐng)域知識(shí)的制品產(chǎn)品線的特有之處理解相關(guān)領(lǐng)域是理解產(chǎn)品線范圍內(nèi)所定義產(chǎn)品的共性和變化性的第一步不同于單個(gè)產(chǎn)品,產(chǎn)品線開(kāi)發(fā)強(qiáng)調(diào)獲取和描述覆蓋多領(lǐng)域的多個(gè)系統(tǒng)的共性和變化性。產(chǎn)品線的領(lǐng)域模型將明確識(shí)別領(lǐng)域中的共性和變化性,而單個(gè)系統(tǒng)的領(lǐng)域模型可能不會(huì)這樣領(lǐng)域模型尤其有助于判別:哪些功能(capability)會(huì)成為領(lǐng)域中各系統(tǒng)的共性以及有哪些變化點(diǎn)哪些功能的子集會(huì)被打包并作為產(chǎn)品線的資產(chǎn)領(lǐng)域中
58、的系統(tǒng)要受到哪些約束(如標(biāo)準(zhǔn)、法律約束、業(yè)務(wù)限制、特定硬件平臺(tái))哪些資產(chǎn)構(gòu)成典型的領(lǐng)域成員是否繼續(xù)產(chǎn)品線的開(kāi)發(fā)應(yīng)用于核心資產(chǎn)開(kāi)發(fā)為產(chǎn)品線生命周期中早期整個(gè)產(chǎn)品線中可實(shí)現(xiàn)大力度軟件復(fù)用的機(jī)會(huì)進(jìn)行標(biāo)識(shí)和建模還支持產(chǎn)品線的業(yè)務(wù)用例(business case),以及“確定范圍(scoping)”和“需求工程”實(shí)踐域應(yīng)用于產(chǎn)品開(kāi)發(fā)消費(fèi)者兌現(xiàn)產(chǎn)品或現(xiàn)有產(chǎn)品新功能(capability)的需求導(dǎo)致業(yè)務(wù)決策。這些決策可以也應(yīng)該受到領(lǐng)域理解的支持。最簡(jiǎn)單的情況是所要求的功能已作為核心資產(chǎn)開(kāi)發(fā)的一部分完成了建模和分析否則,就要根據(jù)該需求對(duì)產(chǎn)品線的影響作出決策新產(chǎn)品或新功能是作為特定消費(fèi)者的一次性解決方案來(lái)開(kāi)發(fā)嗎
59、?考慮到將來(lái)復(fù)用的可能性,是否把所要求的新功能加入到產(chǎn)品線中。對(duì)相關(guān)領(lǐng)域的理解有助于對(duì)這些問(wèn)題的判定具體實(shí)踐主要的實(shí)踐是找到相關(guān)領(lǐng)域中的資深人員。提取和表達(dá)相關(guān)領(lǐng)域信息的實(shí)踐具體體現(xiàn)在以下分析過(guò)程中:范圍、共性和變化性分析領(lǐng)域分析和設(shè)計(jì)過(guò)程面向特征的領(lǐng)域分析復(fù)用驅(qū)動(dòng)的軟件過(guò)程方法的合成過(guò)程 (synthesis process of the reuse-driven software process approach)組織領(lǐng)域建模的領(lǐng)域分析過(guò)程實(shí)踐風(fēng)險(xiǎn)分析癱瘓(analysis paralysis)缺少必須的領(lǐng)域?qū)<椅臋n和相關(guān)領(lǐng)域信息的共享不充分缺乏對(duì)分析過(guò)程的理解缺乏適當(dāng)?shù)墓ぞ咧С诸I(lǐng)域分析過(guò)
60、程和領(lǐng)域產(chǎn)品缺少管理委員會(huì)技術(shù)管理實(shí)踐域技術(shù)管理實(shí)踐是指那些對(duì)核心資產(chǎn)和產(chǎn)品的創(chuàng)建及其演化進(jìn)行設(shè)計(jì)和工程化所必須的管理實(shí)踐技術(shù)管理中的實(shí)踐域包括8項(xiàng):配置管理數(shù)據(jù)收集、度量(metrics)和跟蹤開(kāi)發(fā)/購(gòu)買/挖掘/委托分析過(guò)程定義確定范圍技術(shù)規(guī)劃(Technical Planning)技術(shù)風(fēng)險(xiǎn)管理工具支持實(shí)踐域1:配置管理(1/2)配置管理是對(duì)制品的變化進(jìn)行評(píng)估、調(diào)整、審批以及實(shí)現(xiàn)的一種規(guī)范,這些制品用來(lái)構(gòu)造和維護(hù)軟件系統(tǒng)軟件配置管理的目的是在項(xiàng)目的軟件生命周期中建立和維護(hù)軟件項(xiàng)目中產(chǎn)品的完整性軟件配置管理包括識(shí)別軟件項(xiàng)目中的配置項(xiàng)、控制這些配置項(xiàng)及其變更,并且記錄和報(bào)告這些配置項(xiàng)的狀態(tài)及其變
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- Fmoc-Phe-bis-Boc-4-guanidino-OH-生命科學(xué)試劑-MCE-3788
- Cannabidiphorol-CBDP-生命科學(xué)試劑-MCE-5981
- 2025年度區(qū)塊鏈技術(shù)股份投資協(xié)議
- 二零二五年度股權(quán)質(zhì)押合同樣本:適用于體育產(chǎn)業(yè)股權(quán)質(zhì)押
- 2025年度民宿窗簾墻布溫馨家居布置合同
- 二零二五年度股東致行動(dòng)協(xié)議書(shū):文化產(chǎn)業(yè)股權(quán)合作與數(shù)字版權(quán)保護(hù)協(xié)議
- 二零二五年度建筑垃圾處理與簡(jiǎn)易房屋拆除合同
- 二零二五年度產(chǎn)學(xué)研合作聘用及錄用合同
- 施工現(xiàn)場(chǎng)施工防化學(xué)毒品泄漏制度
- 施工日志填寫(xiě)樣本建筑物屋面防水工程
- 衛(wèi)生院中醫(yī)、康復(fù)??平ㄔO(shè)實(shí)施方案-
- 《公有云服務(wù)架構(gòu)與運(yùn)維》高職全套教學(xué)課件
- 2024中華人民共和國(guó)農(nóng)村集體經(jīng)濟(jì)組織法詳細(xì)解讀課件
- 110kV變電站專項(xiàng)電氣試驗(yàn)及調(diào)試方案
- 外賣星級(jí)(商家評(píng)分)計(jì)算表
- 幕墻施工成品及半成品保護(hù)措施
- 2024年執(zhí)業(yè)醫(yī)師考試-醫(yī)師定期考核(口腔)筆試參考題庫(kù)含答案
- 宮頸癌后裝治療及護(hù)理
- 2024年度-IATF16949運(yùn)行培訓(xùn)課件
- 理解師生關(guān)系的重要性
- 統(tǒng)編版語(yǔ)文八年級(jí)下冊(cè)第7課《大雁歸來(lái)》分層作業(yè)(原卷版+解析版)
評(píng)論
0/150
提交評(píng)論