




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
軟件體系結(jié)構(gòu)
(SoftwareArchitecture)講義八:軟件產(chǎn)品線——實(shí)踐與模式軟件體系結(jié)構(gòu)
(SoftwareArchitecture)內(nèi)容軟件產(chǎn)品線簡介軟件產(chǎn)品線的基本活動典型的產(chǎn)品線實(shí)踐域產(chǎn)品線實(shí)踐模式案例研究小結(jié)內(nèi)容軟件產(chǎn)品線簡介軟件產(chǎn)品線簡介背景(Background)概念(Concept)產(chǎn)品線的好處和代價(BenefitsandCostsofaProductLine)相關(guān)術(shù)語解釋(NoteonTerminology)軟件產(chǎn)品線簡介背景(Background)背景(1/2)一個產(chǎn)品線(ProductLine)是共享一組公共的、可管理的特性,并且滿足特定市場需求的產(chǎn)品集合產(chǎn)品線方法必將成為新世紀(jì)中占主導(dǎo)地位的軟件生產(chǎn)模式,產(chǎn)品的靈活性是市場的必然需求,而產(chǎn)品線將通過裁剪,生產(chǎn)出滿足特定用戶或用戶群需要的產(chǎn)品從開發(fā)者的角度,產(chǎn)品線的成功在于產(chǎn)品之間通過共性的共享,達(dá)到了生產(chǎn)上經(jīng)濟(jì)的目的產(chǎn)品線方法在制造業(yè)中并不新鮮!但在軟件開發(fā)中,CMUSEI提出的“軟件產(chǎn)品線”還是比較新的概念,并被迄今為止的實(shí)踐證明是可行的,可以有效地提高生產(chǎn)率、縮短產(chǎn)品上市時間、提高質(zhì)量和客戶滿意度背景(1/2)一個產(chǎn)品線(ProductLine)是共享一背景(2/2)從構(gòu)成軟件成分的抽象粒度和面向應(yīng)用的角度來看,軟件開發(fā)的手段是不斷提高的
1960s,子程序(subroutines) 1970s,模塊(modules) 1980s,對象(objects) 1990s,構(gòu)件(components) Now,系統(tǒng)(Systems)產(chǎn)品線方法可以看作是軟件復(fù)用發(fā)展的一個更高階段背景(2/2)從構(gòu)成軟件成分的抽象粒度和面向應(yīng)用的角度來看,概念一個軟件產(chǎn)品線是滿足下列性質(zhì)的一組軟件系統(tǒng):共享一組相同的、可管理的特性集合滿足一類特定的市場需求以預(yù)先規(guī)定的方式基于公共核心資產(chǎn)集合開發(fā)在一個軟件產(chǎn)品線中,新產(chǎn)品形成通過以下步驟:從公共資產(chǎn)庫中選取合適的構(gòu)件使用預(yù)定義的變化性機(jī)制進(jìn)行裁剪,如參數(shù)化、繼承必要時增加新的構(gòu)件在整個產(chǎn)品線范圍內(nèi)共同的體系結(jié)構(gòu)指導(dǎo)下,進(jìn)行構(gòu)件組裝,形成系統(tǒng)新產(chǎn)品(系統(tǒng))的開發(fā)從“創(chuàng)造”變?yōu)椤敖M裝(生成)”其中,占支配地位的活動是“集成”而非“編程”概念一個軟件產(chǎn)品線是滿足下列性質(zhì)的一組軟件系統(tǒng):使用產(chǎn)品線的好處和代價(1/7)使用產(chǎn)品線帶來的好處和付出的代價都是與產(chǎn)品線中產(chǎn)品之間的復(fù)用相關(guān)的好處1:產(chǎn)品線體系結(jié)構(gòu)提供了在產(chǎn)品線中進(jìn)行系統(tǒng)開發(fā)的結(jié)構(gòu),構(gòu)件間的關(guān)系和約束。一旦定義好了產(chǎn)品線體系結(jié)構(gòu),意味著產(chǎn)品線中所有產(chǎn)品的系統(tǒng)設(shè)計已基本完成代價1:產(chǎn)品線體系結(jié)構(gòu)必須支持產(chǎn)品線內(nèi)部固有的變化性,所以除了定義構(gòu)件本身和構(gòu)件之間的約束(必需的,可選的,可替換的),還要定義在產(chǎn)品線中開發(fā)系統(tǒng)時構(gòu)件使用和演化的原則,增加了產(chǎn)品線體系結(jié)構(gòu)定義的復(fù)雜性好處2:設(shè)計決策、數(shù)據(jù)結(jié)構(gòu)、算法、文檔、編碼和調(diào)試信息等都屬于可復(fù)用資產(chǎn),它們在產(chǎn)品線的所有產(chǎn)品中可被反復(fù)使用代價2:因?yàn)榭蓮?fù)用資產(chǎn)要適應(yīng)不同產(chǎn)品之間的差異,所以要求可復(fù)用資產(chǎn)有足夠通用的特性,同時要保證性能不被降低,增加了資產(chǎn)設(shè)計和實(shí)現(xiàn)的復(fù)雜性使用產(chǎn)品線的好處和代價(1/7)使用產(chǎn)品線帶來的好處和付出的使用產(chǎn)品線的好處和代價(2/7)好處3:為軟件開發(fā)購買的開發(fā)環(huán)境、配置管理工具、設(shè)備管理工具可以在整個產(chǎn)品線中使用,相當(dāng)于投資的“分期付款”代價3:要求這些可復(fù)用的工具和環(huán)境有足夠的適應(yīng)性,適應(yīng)一個產(chǎn)品線的通用性又可以適應(yīng)單獨(dú)產(chǎn)品的變化性,因此對這些工具和環(huán)境的要求較高好處4:產(chǎn)品線是面向特定領(lǐng)域中的共性產(chǎn)品,開發(fā)人員具有適應(yīng)整個產(chǎn)品線的經(jīng)驗(yàn),可以按照需要隨時轉(zhuǎn)換項目,提高生產(chǎn)效率代價4:專業(yè)人員的培訓(xùn)需要花很大代價使用產(chǎn)品線的好處和代價(2/7)好處3:為軟件開發(fā)購買的開發(fā)使用產(chǎn)品線的好處和代價(3/7)CEO更高的生產(chǎn)效率更快速的上市持續(xù)的成長和市場份額經(jīng)濟(jì)地獲取特定市場領(lǐng)域的能力COO勞動力的有效使用開拓新市場、新技術(shù)和新產(chǎn)品的能力流動的人力資源“池”技術(shù)經(jīng)理增長的可預(yù)測性良好建立的角色和責(zé)任有效生產(chǎn)使用產(chǎn)品線的好處和代價(3/7)CEO使用產(chǎn)品線的好處和代價(4/7)軟件產(chǎn)品開發(fā)人員高昂的士氣更大的工作滿足度集中于產(chǎn)品真正的獨(dú)特方面方便的軟件集成更少的交付延遲組織內(nèi)部更大的機(jī)動性更強(qiáng)的市場化能力有更多學(xué)習(xí)新技術(shù)的時間成為具有良好質(zhì)量記錄和信用記錄的產(chǎn)品開發(fā)隊伍成員使用產(chǎn)品線的好處和代價(4/7)軟件產(chǎn)品開發(fā)人員使用產(chǎn)品線的好處和代價(5/7)體系結(jié)構(gòu)設(shè)計師或核心資產(chǎn)開發(fā)人員更大的挑戰(zhàn)工作具有更大的影響組織內(nèi)重要性的提升象產(chǎn)品線一樣具有市場銷路市場銷售人員可預(yù)測的高質(zhì)量產(chǎn)品可預(yù)測的交付時間可以銷售家族系列產(chǎn)品使用產(chǎn)品線的好處和代價(5/7)體系結(jié)構(gòu)設(shè)計師或核心資產(chǎn)開發(fā)使用產(chǎn)品線的好處和代價(6/7)客戶更高質(zhì)量的產(chǎn)品可預(yù)測的交付時間可預(yù)測的費(fèi)用特定需求的已知費(fèi)用良好測試的培訓(xùn)材料和文檔分享維護(hù)費(fèi)用加入一個用戶組的潛在可能終端用戶更少的缺陷更好的培訓(xùn)材料和文檔建立與其他用戶的網(wǎng)絡(luò)使用產(chǎn)品線的好處和代價(6/7)客戶使用產(chǎn)品線的好處和代價(7/7)好處一個人承擔(dān)150萬行Ada源代碼的集成和測試工作,該系統(tǒng)是一個實(shí)時的、安全要求很高的艦船指揮和控制系統(tǒng)在三年的時間里,生產(chǎn)效率翻了4番(以單位時間內(nèi)、每個工程師在每個發(fā)布的產(chǎn)品中完成的功能數(shù)目來衡量)一周完成驅(qū)動內(nèi)燃機(jī)運(yùn)行的軟件系統(tǒng)(甚至一個特殊情況在一個周末),而不是以前的一年時間比沒有采用資產(chǎn)復(fù)用的預(yù)計時間提前了12個月,參加軍事模擬訓(xùn)練代價把資源用于核心資產(chǎn)庫的開發(fā),為此取消了三個大項目重新安排不適應(yīng)產(chǎn)品線方法的員工在新方法發(fā)揮作用之前,推遲產(chǎn)品發(fā)布一年時間使用產(chǎn)品線的好處和代價(7/7)好處相關(guān)術(shù)語解釋(1/4)核心資產(chǎn)庫(coreassetsbase)核心資產(chǎn)庫是產(chǎn)品線的基礎(chǔ),是管理支持產(chǎn)品開發(fā)的可復(fù)用資源的機(jī)制核心資產(chǎn)庫中的資產(chǎn)通常包括體系結(jié)構(gòu)、可復(fù)用軟件構(gòu)件、框架、領(lǐng)域模型、需求描述、文檔和規(guī)約、性能模型和度量、日程、預(yù)算、測試計劃、測試用例、工作計劃、過程描述、通訊協(xié)議描述、用戶界面描述、應(yīng)用生成器、設(shè)計準(zhǔn)則和設(shè)計決策,……其中,體系結(jié)構(gòu)是最為關(guān)鍵的資產(chǎn)相關(guān)術(shù)語解釋(1/4)核心資產(chǎn)庫(coreassetsb相關(guān)術(shù)語解釋(2/4)開發(fā)(development)“開發(fā)”在這里是一個廣義的詞,指的是如何獲得核心資產(chǎn)(或產(chǎn)品)軟件進(jìn)入一個組織可以通過以下三個渠道之一:自己構(gòu)建(build),包括從零開始或從遺產(chǎn)系統(tǒng)中挖掘直接購買(purchase),通常不做修改委托加工(commission),同別人簽訂合同為其特別定制這里的“開發(fā)”實(shí)際上包括構(gòu)建、獲取、購買、翻新老系統(tǒng),或以上各種方式的組合相關(guān)術(shù)語解釋(2/4)開發(fā)(development)相關(guān)術(shù)語解釋(3/4)產(chǎn)品線(productline)vs.產(chǎn)品族(productfamily)產(chǎn)品線是共享一組公共的、可管理的特性,并且滿足特定市場需求的產(chǎn)品集合產(chǎn)品族是一組相關(guān)的軟件系統(tǒng),它們是基于公共的核心資產(chǎn)開發(fā)出來的盡管產(chǎn)品線以產(chǎn)品族的方式構(gòu)造是最高效的,但從技術(shù)上來講,產(chǎn)品線可以不是產(chǎn)品族同樣,如果產(chǎn)品族的結(jié)果產(chǎn)品在市場目標(biāo)上彼此關(guān)系不大,也不一定構(gòu)成產(chǎn)品線注意:我們關(guān)于軟件產(chǎn)品線的定義隱含了產(chǎn)品線是作為一個產(chǎn)品族來開發(fā)的,并且其中的產(chǎn)品按照規(guī)定的方式開發(fā)相關(guān)術(shù)語解釋(3/4)產(chǎn)品線(productline)v術(shù)語對照
Productline Productfamily Coreassets Platform Productfamily Platform-basedfamily Businessunit Productline相關(guān)術(shù)語解釋(4/4)術(shù)語對照相關(guān)術(shù)語解釋(4/4)內(nèi)容軟件產(chǎn)品線簡介軟件產(chǎn)品線的基本活動典型的產(chǎn)品線實(shí)踐域產(chǎn)品線實(shí)踐模式案例研究小結(jié)內(nèi)容軟件產(chǎn)品線簡介產(chǎn)品線方法的基本活動核心資產(chǎn)開發(fā)(CoreAssetDevelopment)產(chǎn)品開發(fā)(ProductDevelopment)管理(Management)產(chǎn)品線方法的基本活動核心資產(chǎn)開發(fā)(CoreAssetDe產(chǎn)品線方法的基本活動產(chǎn)品線方法的基本活動領(lǐng)域工程和應(yīng)用工程領(lǐng)域工程領(lǐng)域工程是為一組相似或相近系統(tǒng)的應(yīng)用工程建立基本能力和必備基礎(chǔ)的過程,它覆蓋了建立可復(fù)用軟件構(gòu)件的所有活動。針對一個領(lǐng)域中的所有系統(tǒng),而不局限于某個特定的系統(tǒng)。應(yīng)用工程:應(yīng)用工程是開發(fā)單個特定應(yīng)用系統(tǒng)的活動。針對一組特定的需求,產(chǎn)生一個特定的解決方案。與應(yīng)用工程相比,領(lǐng)域工程處于一個較高的抽象級別上。領(lǐng)域工程和應(yīng)用工程領(lǐng)域工程行為產(chǎn)品領(lǐng)域工程領(lǐng)域分析領(lǐng)域設(shè)計領(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è)計應(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è)計應(yīng)用系統(tǒng)規(guī)約應(yīng)用系統(tǒng)實(shí)現(xiàn)/集成應(yīng)用系統(tǒng)體系結(jié)構(gòu)應(yīng)用系統(tǒng)行為產(chǎn)品領(lǐng)域工程領(lǐng)域領(lǐng)域領(lǐng)域領(lǐng)域DSSA領(lǐng)域系統(tǒng)1系統(tǒng)2系統(tǒng)活動1:核心資產(chǎn)開發(fā)活動1:核心資產(chǎn)開發(fā)核心資產(chǎn)開發(fā)活動的輸入(1/5)產(chǎn)品約束產(chǎn)品線中的產(chǎn)品有哪些共性和變化性?它們提供哪些行為特性?根據(jù)市場和技術(shù)預(yù)測將來產(chǎn)品要具有哪些功能?遵循什么標(biāo)準(zhǔn)?滿足哪些性能要求?同哪些外部系統(tǒng)交互?滿足哪些物理限制?滿足哪些質(zhì)量要求(如可用性、安全性等)?……核心資產(chǎn)必須以最小犧牲產(chǎn)品質(zhì)量(如安全性、可靠性、可用性等)的代價,換取對產(chǎn)品共性和個性的滿足核心資產(chǎn)開發(fā)活動的輸入(1/5)產(chǎn)品約束核心資產(chǎn)開發(fā)活動的輸入(2/5)風(fēng)格、模式和框架符合產(chǎn)品約束和生產(chǎn)約束的相關(guān)體系結(jié)構(gòu)是什么?構(gòu)件交互的協(xié)議和模式是什么?有哪些可用的設(shè)計模式?有哪些可用的應(yīng)用框架?……盡管這些是體系結(jié)構(gòu)定義的輸入,它們被提高到如此高度的目的在于強(qiáng)調(diào)體系結(jié)構(gòu)在軟件產(chǎn)品線實(shí)踐中的重要性核心資產(chǎn)開發(fā)活動的輸入(2/5)風(fēng)格、模式和框架核心資產(chǎn)開發(fā)活動的輸入(3/5)生產(chǎn)約束產(chǎn)品線的產(chǎn)品要遵循哪些商業(yè)、軍事或公司的規(guī)范?產(chǎn)品線的產(chǎn)品所基于的底層基礎(chǔ)設(shè)施是什么?產(chǎn)品推向市場的時間需求是什么?哪些COTS構(gòu)件是可用的?哪些遺產(chǎn)構(gòu)件可被復(fù)用?……對這些問題的回答對核心資產(chǎn)的構(gòu)造,以及核心資產(chǎn)自身具有顯著的影響核心資產(chǎn)開發(fā)活動的輸入(3/5)生產(chǎn)約束核心資產(chǎn)開發(fā)活動的輸入(4/5)生產(chǎn)策略生產(chǎn)策略是實(shí)現(xiàn)核心資產(chǎn)的總體方法。產(chǎn)品線采用自頂向下還是自底向上的開發(fā)方法?轉(zhuǎn)移資產(chǎn)生產(chǎn)成本的策略是什么?通用構(gòu)件是自行開發(fā)還是從市場購買?產(chǎn)品是自動生成還是組裝?核心資產(chǎn)的生產(chǎn)如何管理?……生產(chǎn)策略刻畫了體系結(jié)構(gòu)和相關(guān)構(gòu)件的獲得及演化途徑核心資產(chǎn)開發(fā)活動的輸入(4/5)生產(chǎn)策略核心資產(chǎn)開發(fā)活動的輸入(5/5)已有資產(chǎn)的清單在開發(fā)產(chǎn)品線之前有哪些可用的軟件資產(chǎn),譬如:庫函數(shù)、框架、算法、工具、構(gòu)件等?有哪些可用的技術(shù)管理過程、預(yù)算模型、培訓(xùn)資源?……資產(chǎn)清單包括所有事先存在的潛在資產(chǎn)。通過仔細(xì)分析,開發(fā)組織可以確定什么是最適合利用的核心資產(chǎn)開發(fā)活動的輸入(5/5)已有資產(chǎn)的清單核心資產(chǎn)開發(fā)活動的輸出(1/2)產(chǎn)品線空間(Scope)產(chǎn)品線空間描述了構(gòu)成產(chǎn)品線的產(chǎn)品,不僅僅是產(chǎn)品名稱的枚舉列表,還包括這些產(chǎn)品的共性和變化性,例如產(chǎn)品提供的操作,性能和其他質(zhì)量屬性,運(yùn)行的平臺等此外,產(chǎn)品線空間會隨著市場條件、組織計劃、商業(yè)目標(biāo)等的改變而不斷演化,產(chǎn)品線空間的演化是產(chǎn)品線演化的起點(diǎn)核心資產(chǎn)庫資產(chǎn)庫是利用產(chǎn)品線進(jìn)行產(chǎn)品開發(fā)的基礎(chǔ),包括:產(chǎn)品線中所有產(chǎn)品共享的體系結(jié)構(gòu)支持系統(tǒng)復(fù)用的軟件構(gòu)件,包括設(shè)計和實(shí)現(xiàn)構(gòu)件測試計劃,測試用例,集成計劃和各種文檔核心資產(chǎn)開發(fā)活動的輸出(1/2)產(chǎn)品線空間(Scope)核心資產(chǎn)開發(fā)活動的輸出(2/2)生產(chǎn)計劃生產(chǎn)計劃描述了怎樣基于資產(chǎn)庫開發(fā)產(chǎn)品所有上述核心資產(chǎn),例如領(lǐng)域模型、需求、體系結(jié)構(gòu)、構(gòu)件、測試計劃等,都有“附帶”的過程(process)定義它們?nèi)绾卧诋a(chǎn)品開發(fā)中使用。生產(chǎn)計劃基本上是這樣一組“附帶”的過程,它描述了這些個別的過程如何組合起來構(gòu)建產(chǎn)品的總體方案生產(chǎn)計劃為復(fù)用者提供了一個基于產(chǎn)品線開發(fā)產(chǎn)品的指南。每個產(chǎn)品的變化性是同預(yù)定義的變化點(diǎn)相一致的,例如,從分類的構(gòu)件中選擇一個提供某種特性,增加/刪除構(gòu)件,通過繼承或參數(shù)化裁剪構(gòu)件生產(chǎn)計劃描述了產(chǎn)品之間必要的變化性,缺乏了生產(chǎn)計劃,產(chǎn)品的開發(fā)者將不知道核心資產(chǎn)之間的聯(lián)系,如何有效地和在產(chǎn)品線約束下利用它們基于核心資產(chǎn)、以生產(chǎn)計劃為指導(dǎo)、生產(chǎn)出產(chǎn)品線空間的產(chǎn)品核心資產(chǎn)開發(fā)活動的輸出(2/2)生產(chǎn)計劃開發(fā)核心資產(chǎn)庫(1/4)體系結(jié)構(gòu)是產(chǎn)品線中最重要的核心資產(chǎn),產(chǎn)品線的體系結(jié)構(gòu)既要滿足所有產(chǎn)品線空間中產(chǎn)品的共性,又要滿足每個產(chǎn)品的個性規(guī)定可能成為核心資產(chǎn)的軟件構(gòu)件解決核心資產(chǎn)庫的構(gòu)件和形成產(chǎn)品的構(gòu)件之間的通信問題定義一致性規(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)開發(fā)的因素產(chǎn)品線空間相關(guān)的風(fēng)格、模式和應(yīng)用框架遺產(chǎn)系統(tǒng)的知識開發(fā)核心資產(chǎn)庫(1/4)體系結(jié)構(gòu)是產(chǎn)品線中最重要的核心資產(chǎn),開發(fā)核心資產(chǎn)庫(2/4)體系結(jié)構(gòu)在產(chǎn)品線中的意義體系結(jié)構(gòu)是核心資產(chǎn)庫的關(guān)鍵部分,既體現(xiàn)了產(chǎn)品線的共性需求,又通過變化點(diǎn)支持產(chǎn)品空間中的一個產(chǎn)品譜系;體系結(jié)構(gòu)描述了產(chǎn)品線中產(chǎn)品的結(jié)構(gòu),而且給出了核心資產(chǎn)庫中構(gòu)件的接口規(guī)約;體系結(jié)構(gòu)決定要開發(fā)哪些構(gòu)件,決定哪些構(gòu)件在整個產(chǎn)品線中是通用的而哪些構(gòu)件在不同實(shí)例之間存在變化性;開發(fā)一個體系結(jié)構(gòu)需要產(chǎn)品空間、相關(guān)風(fēng)格、模式和框架知識以及已有資產(chǎn)清單。
開發(fā)核心資產(chǎn)庫(2/4)體系結(jié)構(gòu)在產(chǎn)品線中的意義開發(fā)核心資產(chǎn)庫(3/4)其他的核心資產(chǎn)包括同可復(fù)用軟件構(gòu)件相關(guān)的資產(chǎn),需求規(guī)約設(shè)計/界面規(guī)約代碼測試計劃/案例/規(guī)程性能模型評審表格/規(guī)程……最后,需要定義當(dāng)產(chǎn)品線演化時,核心資產(chǎn)將如何更新。例如更多的可用資源、技術(shù)改進(jìn)、市場轉(zhuǎn)向等影響了產(chǎn)品線空間開發(fā)核心資產(chǎn)庫(3/4)其他的核心資產(chǎn)包括同可復(fù)用軟件構(gòu)件相開發(fā)核心資產(chǎn)庫(4/4)附加過程(attachedprocesses)開發(fā)核心資產(chǎn)庫(4/4)附加過程(attachedproc定義產(chǎn)品空間產(chǎn)品線空間確定了產(chǎn)品線中包含的產(chǎn)品,定義了產(chǎn)品的共性和變化性。產(chǎn)品線空間必須被認(rèn)真定義,過寬:核心資產(chǎn)將無法適應(yīng)廣譜的變化性,生產(chǎn)的經(jīng)濟(jì)性將喪失,產(chǎn)品線將退化成“一次一個產(chǎn)品”的老的開發(fā)模式過窄:核心資產(chǎn)的通用性將無法適應(yīng)未來發(fā)展的需要,并且規(guī)模經(jīng)濟(jì)無法實(shí)現(xiàn)影響產(chǎn)品線空間的因素市場需求、競爭對手和企業(yè)目標(biāo)產(chǎn)品約束,例如產(chǎn)品可以在哪些平臺上運(yùn)行和產(chǎn)品必須具有的性能相關(guān)系統(tǒng)和產(chǎn)品對于市場和技術(shù)的預(yù)測定義產(chǎn)品空間產(chǎn)品線空間確定了產(chǎn)品線中包含的產(chǎn)品,定義了產(chǎn)品的開發(fā)生產(chǎn)計劃成功的產(chǎn)品線實(shí)踐依賴于文檔化的、被良好理解的、有效的軟件實(shí)踐和過程,用于開發(fā)和演化產(chǎn)品、體系結(jié)構(gòu)和其他核心資產(chǎn)生產(chǎn)計劃描述了如何基于資產(chǎn)庫開發(fā)產(chǎn)品,制定將單個資產(chǎn)的“附加”過程連接起來的全局策略,這些過程包括:產(chǎn)品線的開發(fā)方式:自頂向下vs.自底向上體系結(jié)構(gòu)的開發(fā)和維護(hù)可裁剪/可替換構(gòu)件在開發(fā)產(chǎn)品過程中的使用方式為使用、裁剪和演化核心資產(chǎn),應(yīng)用的特定工具度量由于產(chǎn)品線實(shí)踐(或其它過程改善)為企業(yè)帶來的效益,并制定為度量采集相關(guān)數(shù)據(jù)的計劃生產(chǎn)計劃在每次產(chǎn)品開發(fā)中被實(shí)例化開發(fā)生產(chǎn)計劃成功的產(chǎn)品線實(shí)踐依賴于文檔化的、被良好理解的、有產(chǎn)品線方法的基本活動產(chǎn)品線方法的基本活動活動2:產(chǎn)品開發(fā)活動活動2:產(chǎn)品開發(fā)活動產(chǎn)品開發(fā)產(chǎn)品開發(fā)活動是產(chǎn)品線的目標(biāo),核心資產(chǎn)開發(fā)只是達(dá)到該目的的一種手段。產(chǎn)品開發(fā)活動依賴于核心資產(chǎn)開發(fā)活動的三個輸出:產(chǎn)品線空間核心資產(chǎn)生產(chǎn)計劃,再加上特定產(chǎn)品的需求特定產(chǎn)品的需求經(jīng)常表現(xiàn)為產(chǎn)品線通用需求的一個增量(delta),或一組產(chǎn)品線需求的增量生產(chǎn)計劃要被實(shí)例化為特定產(chǎn)品的生產(chǎn)計劃產(chǎn)品開發(fā)產(chǎn)品開發(fā)活動是產(chǎn)品線的目標(biāo),核心資產(chǎn)開發(fā)只是達(dá)到該目產(chǎn)品開發(fā)活動中輸入/輸出關(guān)系產(chǎn)品開發(fā)活動的輸入和輸出之間存在一個不斷反饋和迭代的過程快速生成產(chǎn)品線中特定成員的能力會影響產(chǎn)品線空間,也許被當(dāng)初負(fù)責(zé)定義產(chǎn)品線空間的人所忽視每個新產(chǎn)品可能同其它產(chǎn)品相似,因此需要生成新的核心資產(chǎn)當(dāng)更多的產(chǎn)品被生產(chǎn)出來時,生產(chǎn)的效率可能意味著需要新的系統(tǒng)生成過程,從而引起生產(chǎn)計劃的變更產(chǎn)品線對客戶的影響表現(xiàn)為,一個客戶可能改變他的需求,以便同產(chǎn)品線空間保持一致,從而達(dá)到利用產(chǎn)品線優(yōu)勢,縮短產(chǎn)品上市時間、提高可靠性和降低開發(fā)成本的目的產(chǎn)品開發(fā)活動中輸入/輸出關(guān)系產(chǎn)品開發(fā)活動的輸入和輸出之間存在軟件產(chǎn)品的開發(fā)/獲取
產(chǎn)品開發(fā)的方式產(chǎn)品線中的產(chǎn)品由一個產(chǎn)品組開發(fā);產(chǎn)品線中的產(chǎn)品由分布在整個企業(yè)的不同產(chǎn)品組開發(fā);軟件產(chǎn)品的開發(fā)/獲取產(chǎn)品開發(fā)的方式產(chǎn)品開發(fā)的活動(應(yīng)用工程)特定系統(tǒng)需求獲取特定系統(tǒng)SA的獲取可復(fù)用構(gòu)件的選擇和組裝變化性處理產(chǎn)品開發(fā)的活動(應(yīng)用工程)特定系統(tǒng)需求獲取特定系統(tǒng)SA的獲取管理管理在成功的產(chǎn)品線實(shí)踐中起著關(guān)鍵的作用為產(chǎn)品線中的各個活動合理分配資源,起協(xié)調(diào)監(jiān)督的作用協(xié)調(diào)核心資產(chǎn)開發(fā)和產(chǎn)品開發(fā)迭代過程中的技術(shù)活動設(shè)置適當(dāng)?shù)慕M織機(jī)構(gòu),以保證組織內(nèi)的各部門得到足夠數(shù)量的合適資源(如,良好訓(xùn)練的員工)為保證核心資產(chǎn)演化,確定合適的預(yù)算模型,并提供相應(yīng)的資金組織核心資產(chǎn)庫中的資產(chǎn),以方便查找合適的可復(fù)用資產(chǎn)如果產(chǎn)品線外包給其他公司,管理活動負(fù)責(zé)監(jiān)督承包人,確保資產(chǎn)和產(chǎn)品符合合同要求,通過資產(chǎn)庫達(dá)到企業(yè)目標(biāo)管理部門與外部的接口推選一位稱職的管理者,稱為ProductLineChampion管理管理在成功的產(chǎn)品線實(shí)踐中起著關(guān)鍵的作用內(nèi)容軟件產(chǎn)品線簡介軟件產(chǎn)品線的基本活動典型的產(chǎn)品線實(shí)踐域產(chǎn)品線實(shí)踐模式案例研究小結(jié)內(nèi)容軟件產(chǎn)品線簡介典型的產(chǎn)品線實(shí)踐域基本概念(BasicTerminology)產(chǎn)品線實(shí)踐域分類(CategoriesofPracticeAreas)重要實(shí)踐域(ImportantPracticeAreas)典型的產(chǎn)品線實(shí)踐域基本概念(BasicTerminolo基本概念(1/2)一個實(shí)踐域是一組活動的集合或工作體(bodyofwork),組織必須掌握,以便成功地實(shí)施產(chǎn)品線的基本工作實(shí)踐域是對產(chǎn)品線基本活動(如“開發(fā)核心資產(chǎn)”)的細(xì)化,通過定義一組較小且易于管理的活動,有助于達(dá)到目標(biāo)實(shí)踐域?yàn)榻M織采用產(chǎn)品線方法提供了起點(diǎn)為了能夠執(zhí)行每個實(shí)踐域的基本活動,要求掌握相關(guān)的實(shí)踐域。這里的“掌握”意味著,能夠重復(fù)成功的實(shí)踐企業(yè)的能力成熟度需要達(dá)到CMM2級!基本概念(1/2)一個實(shí)踐域是一組活動的集合或工作體(bo基本概念(2/2)盡管很多實(shí)踐域在任何成功的軟件開發(fā)中都是基本要素,但在產(chǎn)品線方法中有其同單個系統(tǒng)工程不同的特性描述實(shí)踐域的模板描述(Introductoryoverview)產(chǎn)品線的特有之處(Aspectspeculiartoproductlines)應(yīng)用于資產(chǎn)開發(fā)(Howappliedtocoreassetdevelopment)應(yīng)用于產(chǎn)品開發(fā)(Howappliedtoproductdevelopment)具體實(shí)踐(Specificpractices)實(shí)踐風(fēng)險(Practicerisks)參考(References)基本概念(2/2)盡管很多實(shí)踐域在任何成功的軟件開發(fā)中都是基初始級(1)
軟件配置管理軟件質(zhì)量保證軟件子合同管理軟件項目跟蹤和監(jiān)督軟件項目規(guī)劃需求管理可重復(fù)級(2)定義級(3)
軟件質(zhì)量管理量化的過程管理管理級(4)
過程變化管理技術(shù)變化管理錯誤預(yù)防優(yōu)化級(5)
軟件配置管理軟件質(zhì)量保證軟件子合同管理軟件項目跟蹤和監(jiān)督軟件項目規(guī)劃需求管理
對等復(fù)審組間協(xié)作軟件產(chǎn)品工程集成的軟件管理培訓(xùn)計劃組織過程定義組織過程關(guān)注CMM的關(guān)鍵過程域(KPAs)初始級(1)軟件配置管理可重復(fù)級(2)定產(chǎn)品線實(shí)踐域分類產(chǎn)品線的實(shí)踐域可以粗略地分為三類軟件工程實(shí)踐類:采用合適的技術(shù)創(chuàng)建和演化核心資產(chǎn)及產(chǎn)品的實(shí)踐技術(shù)管理實(shí)踐類:采用工程化方法創(chuàng)建和演化核心資產(chǎn)及產(chǎn)品的管理實(shí)踐組織管理實(shí)踐類:協(xié)調(diào)整個產(chǎn)品線活動的管理實(shí)踐產(chǎn)品線實(shí)踐域分類產(chǎn)品線的實(shí)踐域可以粗略地分為三類軟件工程實(shí)踐類軟件工程實(shí)踐類是那些采用合適的技術(shù)創(chuàng)建和演化核心資產(chǎn)及產(chǎn)品的實(shí)踐:9項體系結(jié)構(gòu)定義(ArchitectureDefinition)體系結(jié)構(gòu)評價(ArchitectureEvaluation)構(gòu)件開發(fā)(ComponentDevelopment)COTS利用(COTSUtilization)挖掘現(xiàn)存資產(chǎn)(MiningExistingAssets)需求工程(RequirementsEngineering)軟件系統(tǒng)集成(SoftwareSystemIntegration)測試(Testing)理解相關(guān)領(lǐng)域(UnderstandingRelevantDomains)軟件工程實(shí)踐類軟件工程實(shí)踐類是那些采用合適的技術(shù)創(chuàng)建和演化核技術(shù)管理實(shí)踐類技術(shù)管理實(shí)踐類是使創(chuàng)建和演化核心資產(chǎn)及產(chǎn)品“工程化”的管理實(shí)踐:8項配置管理(ConfigurationManagement)數(shù)據(jù)收集、度量和跟蹤(DataCollection,Metrics,andTracking)開發(fā)/購買/挖掘/委托的分析(Make/Buy/Mine/CommissionAnalysis)過程定義(ProcessDefinition)產(chǎn)品線范圍確定(ProductLineScoping)技術(shù)規(guī)劃(TechnicalPlanning)技術(shù)風(fēng)險管理(TechnicalRiskManagement)工具支持(ToolSupport)技術(shù)管理實(shí)踐類技術(shù)管理實(shí)踐類是使創(chuàng)建和演化核心資產(chǎn)及產(chǎn)品“工組織管理實(shí)踐類組織管理實(shí)踐類用于協(xié)調(diào)整個產(chǎn)品線的活動:12項形成合適的組織結(jié)構(gòu)(AchievingtheRightOrganizationalStructure)構(gòu)建和交流商業(yè)實(shí)例(BuildingandCommunicatingaBusinessCase)用戶界面管理(CustomerInterfaceManagement)開發(fā)和實(shí)現(xiàn)獲取策略(DevelopingandImplementinganAcquisitionStrategy)投資預(yù)算(Funding)啟動和制度化產(chǎn)品線(LaunchingandInstitutionalizingaProductLine)市場分析(MarketAnalysis)操作(Operations)組織計劃(OrganizationalPlanning)組織風(fēng)險管理(OrganizationalRiskManagement)技術(shù)預(yù)測(TechnologyForecasting)培訓(xùn)(Training)組織管理實(shí)踐類組織管理實(shí)踐類用于協(xié)調(diào)整個產(chǎn)品線的活動:12項實(shí)踐域同基本活動的關(guān)系(1/3)實(shí)踐域同基本活動的關(guān)系(1/3)實(shí)踐域同基本活動的關(guān)系(2/3)實(shí)踐域同基本活動的關(guān)系(2/3)實(shí)踐域同基本活動的關(guān)系(3/3)實(shí)踐域同基本活動的關(guān)系(3/3)軟件工程實(shí)踐類軟件工程實(shí)踐類是那些采用合適的技術(shù)創(chuàng)建和演化核心資產(chǎn)及產(chǎn)品的實(shí)踐:9項體系結(jié)構(gòu)定義(ArchitectureDefinition)(P54)體系結(jié)構(gòu)評價(ArchitectureEvaluation)構(gòu)件開發(fā)(ComponentDevelopment)COTS利用(COTSUtilization)挖掘現(xiàn)存資產(chǎn)(MiningExistingAssets)需求工程(RequirementsEngineering)軟件系統(tǒng)集成(SoftwareSystemIntegration)測試(Testing)理解相關(guān)領(lǐng)域(UnderstandingRelevantDomains)軟件工程實(shí)踐類軟件工程實(shí)踐類是那些采用合適的技術(shù)創(chuàng)建和演化核實(shí)踐域1:體系結(jié)構(gòu)定義該實(shí)踐域描述了定義產(chǎn)品線體系結(jié)構(gòu)所必須的活動。體系結(jié)構(gòu)將決定一個組織能否高效地從共享的資產(chǎn)庫中生產(chǎn)出產(chǎn)品體系結(jié)構(gòu)是任何軟件項目成功的關(guān)鍵因素,當(dāng)然包括產(chǎn)品線。體系結(jié)構(gòu)是從問題空間(用戶需求)向解空間(設(shè)計)過渡的第一個制品,它決定了結(jié)果產(chǎn)品的質(zhì)量屬性,例如性能、可修改性、可移植性項目組織結(jié)構(gòu)和管理模式理解軟件系統(tǒng)如何工作的起點(diǎn)實(shí)踐域1:體系結(jié)構(gòu)定義該實(shí)踐域描述了定義產(chǎn)品線體系結(jié)構(gòu)所必須體系結(jié)構(gòu)定義體系結(jié)構(gòu)需求產(chǎn)品的質(zhì)量屬性是否同其他系統(tǒng)交互開發(fā)組織的業(yè)務(wù)目標(biāo)可用的構(gòu)件資源(制作/購買/挖掘/訂做)體系結(jié)構(gòu)方法自頂向下(從需求到設(shè)計到實(shí)現(xiàn))在設(shè)計應(yīng)用功能之前,關(guān)注系統(tǒng)基礎(chǔ)結(jié)構(gòu)方面在研究基礎(chǔ)結(jié)構(gòu)之前,關(guān)注應(yīng)用功能體系結(jié)構(gòu)風(fēng)格體系結(jié)構(gòu)定義體系結(jié)構(gòu)需求體系結(jié)構(gòu)定義構(gòu)件接口接口包括了構(gòu)件使用者可以確實(shí)做的一組假設(shè)靜態(tài)特征:合約(contract)描述了每個服務(wù)的前置條件、后置條件、構(gòu)件不變式動態(tài)特征:狀態(tài)機(jī)、時態(tài)邏輯一個完整的合約同時包括了對外提供的服務(wù)和對外要求的資源協(xié)議(protocol)描述構(gòu)件之間的交互連接構(gòu)件(connectingcomponents)應(yīng)用是通過連接構(gòu)件進(jìn)行構(gòu)造的,以使能通訊和協(xié)作過程調(diào)用、遠(yuǎn)程過程調(diào)用CORBA、COM+、JavaBeans體系結(jié)構(gòu)定義構(gòu)件接口產(chǎn)品線的特有之處(1/2)同單個系統(tǒng)的體系結(jié)構(gòu)幾乎固定了系統(tǒng)中可能存在的變化性,產(chǎn)品線體系結(jié)構(gòu)明確規(guī)定了產(chǎn)品線空間允許的變化性,并提供內(nèi)在的機(jī)制在具體產(chǎn)品中實(shí)例化這些變化性相對于單個系統(tǒng),產(chǎn)品線對體系結(jié)構(gòu)在變化性方面提出了更高的要求。產(chǎn)品線中產(chǎn)品之間的差異可能表現(xiàn)在行為、質(zhì)量-屬性、運(yùn)行平臺、網(wǎng)絡(luò)、物理配置、中間件、規(guī)模等許多方面,例如,一個產(chǎn)品可能要求高度安全,處理速度較慢另一個產(chǎn)品要求速度快,安全性較低體系結(jié)構(gòu)必須具有足夠的靈活性同時支持這兩個產(chǎn)品產(chǎn)品線的特有之處(1/2)同單個系統(tǒng)的體系結(jié)構(gòu)幾乎固定了系統(tǒng)產(chǎn)品線的特有之處(2/2)產(chǎn)品線體系結(jié)構(gòu)對變化性的支持可以采取多種形式:參數(shù)化:所有的變化性事先明確,并固化在代碼內(nèi),在系統(tǒng)構(gòu)造時對構(gòu)件、子系統(tǒng)等的形式參數(shù)進(jìn)行賦值繼承和代理:面向?qū)ο笙到y(tǒng)提供的子類對父類的屬性和行為進(jìn)行改變的機(jī)制構(gòu)件替換:在保持接口一致的前提下,可以用功能強(qiáng)大的構(gòu)件替換以前較弱的構(gòu)件;此外,還包括構(gòu)件數(shù)目的擴(kuò)充產(chǎn)品線的特有之處(2/2)產(chǎn)品線體系結(jié)構(gòu)對變化性的支持可以采應(yīng)用于核心資產(chǎn)開發(fā)產(chǎn)品線體系結(jié)構(gòu)是核心資產(chǎn)中關(guān)鍵成員,預(yù)期在同整個產(chǎn)品線保持相同的生存期,并且保持相對穩(wěn)定體系結(jié)構(gòu)定義了核心資產(chǎn)庫中的軟件構(gòu)件集合,以及相關(guān)的支撐資產(chǎn),如各種文檔和測試制品體系結(jié)構(gòu)本身的“附屬”過程(或產(chǎn)品開發(fā)者指南)也是產(chǎn)品線保持持久的重要核心資產(chǎn)應(yīng)用于核心資產(chǎn)開發(fā)產(chǎn)品線體系結(jié)構(gòu)是核心資產(chǎn)中關(guān)鍵成員,預(yù)期在應(yīng)用于產(chǎn)品開發(fā)在構(gòu)造新產(chǎn)品時,按照“附屬”的過程,對產(chǎn)品線體系結(jié)構(gòu)進(jìn)行實(shí)例化,其中最重要的是固定變化性在構(gòu)造新產(chǎn)品時,如果發(fā)現(xiàn)產(chǎn)品線體系結(jié)構(gòu)無法支持的變化性,應(yīng)考慮對其進(jìn)行擴(kuò)充應(yīng)用于產(chǎn)品開發(fā)在構(gòu)造新產(chǎn)品時,按照“附屬”的過程,對產(chǎn)品線體具體實(shí)踐體系結(jié)構(gòu)定義和基于體系結(jié)構(gòu)的開發(fā)體系結(jié)構(gòu)風(fēng)格和模式產(chǎn)品開發(fā)者指南在產(chǎn)品線體系結(jié)構(gòu)實(shí)現(xiàn)變化性繼承擴(kuò)充和擴(kuò)充點(diǎn)參數(shù)化配置和模塊連接語言(MIL)自動生成,如Yacc,Lex編譯時刻的不同實(shí)現(xiàn)選擇,如#ifdef具體實(shí)踐體系結(jié)構(gòu)定義和基于體系結(jié)構(gòu)的開發(fā)實(shí)踐風(fēng)險沒有熟練的體系結(jié)構(gòu)設(shè)計師管理和文化落后的工具過度參數(shù)化過多的固定點(diǎn)實(shí)踐風(fēng)險沒有熟練的體系結(jié)構(gòu)設(shè)計師實(shí)踐域2:體系結(jié)構(gòu)評價體系結(jié)構(gòu)是軟件產(chǎn)品線的基礎(chǔ)之一,必須盡早對其評估,降低修改成本該實(shí)踐可以在不同階段實(shí)施在體系結(jié)構(gòu)還在設(shè)計時在初步體系結(jié)構(gòu)設(shè)計完成和詳細(xì)設(shè)計開始之間甚至在系統(tǒng)開發(fā)完成之后(例如再工程或挖掘)體系結(jié)構(gòu)評價必須同組織的商業(yè)目標(biāo)緊密聯(lián)系起來,例如如果其中一個商業(yè)目標(biāo)是希望系統(tǒng)有較長的生命周期,可修改性就是一個重要的質(zhì)量屬性質(zhì)量屬性的目標(biāo)必須具體,例如易修改性這一抽象質(zhì)量屬性在評價具體體系結(jié)構(gòu)時必須說明是針對什么樣的變化該體系結(jié)構(gòu)具有(或沒有)易修改性實(shí)踐域2:體系結(jié)構(gòu)評價體系結(jié)構(gòu)是軟件產(chǎn)品線的基礎(chǔ)之一,必須盡產(chǎn)品線的特有之處產(chǎn)品線的體系結(jié)構(gòu)和每個產(chǎn)品的體系結(jié)構(gòu)都要進(jìn)行評價,但評價的標(biāo)準(zhǔn)有所不同對產(chǎn)品線體系結(jié)構(gòu)的評價注重其健壯性和通用性對產(chǎn)品體系結(jié)構(gòu)的評價注重其能否滿足該產(chǎn)品的行為(behavioral)和質(zhì)量要求必須考慮到體系結(jié)構(gòu)為產(chǎn)品線服務(wù)這一事實(shí)產(chǎn)品線體系結(jié)構(gòu)評估必須在限定硬件和其他變量變化范圍的基礎(chǔ)上確定體系結(jié)構(gòu)所能達(dá)到的性能產(chǎn)品線的特有之處產(chǎn)品線的體系結(jié)構(gòu)和每個產(chǎn)品的體系結(jié)構(gòu)都要進(jìn)行應(yīng)用于核心資產(chǎn)開發(fā)很明顯,體系結(jié)構(gòu)評價要應(yīng)用于作為產(chǎn)品線核心資產(chǎn)一部分的產(chǎn)品線體系結(jié)構(gòu)由于需求、商業(yè)目標(biāo)和體系結(jié)構(gòu)都是不斷變化的,因此需要周期性的小型評估來保證體系結(jié)構(gòu)和商業(yè)目標(biāo)的一致體系結(jié)構(gòu)評估也可應(yīng)用于核心資產(chǎn)的候選構(gòu)件和內(nèi)部開發(fā)的構(gòu)件不適用于黑盒復(fù)用的體系結(jié)構(gòu)用于評估的質(zhì)量屬性目標(biāo)包括候選的核心資產(chǎn)是否支持產(chǎn)品線的質(zhì)量目標(biāo)是否能夠支持產(chǎn)品線中產(chǎn)品的預(yù)期發(fā)展應(yīng)用于核心資產(chǎn)開發(fā)很明顯,體系結(jié)構(gòu)評價要應(yīng)用于作為產(chǎn)品線核心應(yīng)用于產(chǎn)品開發(fā)體系結(jié)構(gòu)評估應(yīng)當(dāng)在體系結(jié)構(gòu)的實(shí)例或變化點(diǎn)上進(jìn)行,這些實(shí)例或變化點(diǎn)用來創(chuàng)建產(chǎn)品線上的一個或多個產(chǎn)品對于產(chǎn)品線體系結(jié)構(gòu)來說,產(chǎn)品體系結(jié)構(gòu)評估是否是一個相對獨(dú)立的過程取決于產(chǎn)品體系結(jié)構(gòu)和產(chǎn)品線體系結(jié)構(gòu)在質(zhì)量屬性影響方式(quality-attribute-affectingways)上的差異大小由于產(chǎn)品體系結(jié)構(gòu)評估是產(chǎn)品線體系結(jié)構(gòu)評估的變種(variation),評估制品當(dāng)然可以根據(jù)所使用的評估方法進(jìn)行復(fù)用把產(chǎn)品線體系結(jié)構(gòu)評估或產(chǎn)品體系結(jié)構(gòu)評估的附屬過程建檔當(dāng)提出一個超出原產(chǎn)品線范圍的新產(chǎn)品時,要重新評估產(chǎn)品線體系結(jié)構(gòu)。如果不適用于新產(chǎn)品,評估可用于決定如何修改體系結(jié)構(gòu)來適應(yīng)新產(chǎn)品應(yīng)用于產(chǎn)品開發(fā)體系結(jié)構(gòu)評估應(yīng)當(dāng)在體系結(jié)構(gòu)的實(shí)例或變化點(diǎn)上進(jìn)行具體實(shí)踐ATAM(ArchitectureTrade-offAnalysisMethod)SAAM(SoftwareArchitectureAnalysisMethod)SPE(SoftwarePerformanceEngineering)ARID(ActiveReviewsforIntermediateDesigns)主動設(shè)計評審(ActiveDesignReviews)具體實(shí)踐ATAM(ArchitectureTrade-of實(shí)踐風(fēng)險不恰當(dāng)?shù)娜藚⑴c評估生命周期中的不恰當(dāng)時機(jī)沒有時間進(jìn)行評估評估的不恰當(dāng)解釋重新評估失敗實(shí)踐風(fēng)險不恰當(dāng)?shù)娜藚⑴c評估實(shí)踐域3:構(gòu)件開發(fā)軟件構(gòu)件是一個復(fù)合單元,具有“契約”規(guī)定的接口和明確的環(huán)境依賴。軟件構(gòu)件可以被獨(dú)立發(fā)布,并可以被第三方合成構(gòu)件開發(fā)指的是在體系結(jié)構(gòu)上下文中,生產(chǎn)實(shí)現(xiàn)特定功能的構(gòu)件。構(gòu)件是被封裝的,通過接口對外呈現(xiàn)其功能,并同其他構(gòu)件集成構(gòu)件接口靜態(tài)方面:接口經(jīng)常通過“契約”的方式進(jìn)行說明,即每個服務(wù)的前置、后置條件,以及表達(dá)構(gòu)件內(nèi)服務(wù)交互的不變式動態(tài)方面:狀態(tài)機(jī),時態(tài)邏輯等完整的“契約”應(yīng)包括構(gòu)件“對外提供的”和“為完成自身功能所需的”構(gòu)件連接連接機(jī)制提供了構(gòu)件通訊和協(xié)調(diào)的機(jī)制,例如CORBA,COM,IIOP和其它基礎(chǔ)設(shè)施構(gòu)件的連接方式限制了構(gòu)件的可復(fù)用性實(shí)踐域3:構(gòu)件開發(fā)軟件構(gòu)件是一個復(fù)合單元,具有“契約”規(guī)定的產(chǎn)品線的特有之處產(chǎn)品線的共性體現(xiàn)在體系結(jié)構(gòu)中,變化性體現(xiàn)在可裁剪/可替換的構(gòu)件中。因此,構(gòu)件必須具有足夠的靈活性以滿足體系結(jié)構(gòu)定義的變化點(diǎn)構(gòu)件開發(fā)同產(chǎn)品線相關(guān)的方面包括:計劃構(gòu)件開發(fā)關(guān)鍵基礎(chǔ)設(shè)施、體系結(jié)構(gòu)規(guī)則或模式、實(shí)現(xiàn)技術(shù)說明構(gòu)件UML+OCL提供變化性支持Inheritance,Extension,Uses,Configuration,Parameters,Templateinstantiation,andGeneration產(chǎn)品線的特有之處產(chǎn)品線的共性體現(xiàn)在體系結(jié)構(gòu)中,變化性體現(xiàn)在可應(yīng)用于核心資產(chǎn)開發(fā)構(gòu)件和相關(guān)的制品(接口規(guī)范,“附屬”的過程,測試支持等)構(gòu)成了核心資產(chǎn)庫的最大部分。相應(yīng)的,構(gòu)件開發(fā)是產(chǎn)品線核心資產(chǎn)開發(fā)最大的部分構(gòu)件同軟件體系結(jié)構(gòu)一起構(gòu)成了開發(fā)產(chǎn)品的概念基礎(chǔ)應(yīng)用于核心資產(chǎn)開發(fā)構(gòu)件和相關(guān)的制品(接口規(guī)范,“附屬”的過程應(yīng)用于產(chǎn)品開發(fā)構(gòu)件是填充產(chǎn)品體系結(jié)構(gòu)“骨架”的構(gòu)造塊。特定產(chǎn)品的體系結(jié)構(gòu)是通過綁定產(chǎn)品線體系結(jié)構(gòu)的變化點(diǎn)實(shí)現(xiàn)的,變化的綁定是為了達(dá)到特定的產(chǎn)品屬性,例如實(shí)時效率、容錯等,這就有助于確定使用哪些構(gòu)件,以及如何對這些構(gòu)件的變化性進(jìn)行實(shí)例化一個產(chǎn)品中的構(gòu)件可以通過下述途徑獲得:直接來自核心資產(chǎn)庫固定內(nèi)在的變化性經(jīng)過修改和裁剪:adapter設(shè)計模式,繼承,Wrapper重新開發(fā)核心資產(chǎn)庫中構(gòu)件的“附屬”過程描述了如何選擇和綁定變化性應(yīng)用于產(chǎn)品開發(fā)構(gòu)件是填充產(chǎn)品體系結(jié)構(gòu)“骨架”的構(gòu)造塊。特定產(chǎn)具體實(shí)踐特定的構(gòu)件模型產(chǎn)品線體系結(jié)構(gòu)應(yīng)包括一個基本構(gòu)件模型,用作實(shí)現(xiàn)的基礎(chǔ)CORBA(CommonObjectRequestBrokerArchitecture)DCOM(DistributedCommonObjectModel)JavaBeans具體實(shí)踐特定的構(gòu)件模型實(shí)踐風(fēng)險DecompositionflawsLackofconformancetospecifiedinterfaceInadequatespecificationsWronglevelofspecificityExcessiveinter-componentdependencies實(shí)踐風(fēng)險Decompositionflaws實(shí)踐域4:COTS利用COTS產(chǎn)品獨(dú)立存在于特定的系統(tǒng),由商業(yè)組織為商業(yè)目的而開發(fā),COTS產(chǎn)品一般通過購買或許可證的方式獲得。在政府環(huán)境中,又稱為NDI(non-developmentalitems)產(chǎn)品在過去的10年中,中間件技術(shù)和標(biāo)準(zhǔn)的爆炸性增長使其在大型系統(tǒng)開發(fā)中普遍采用COTS產(chǎn)品的利用有以下特點(diǎn):降低成本利用公共體系結(jié)構(gòu)促進(jìn)大規(guī)模復(fù)用失去對構(gòu)件適應(yīng)體系結(jié)構(gòu)和構(gòu)件演化的控制實(shí)踐域4:COTS利用COTS產(chǎn)品獨(dú)立存在于特定的系統(tǒng),由商COTS產(chǎn)品的利用步驟COTS產(chǎn)品的利用一般需要以下的步驟:仔細(xì)分析體系結(jié)構(gòu),COTS構(gòu)件和體系結(jié)構(gòu)存在互動關(guān)系理解組織需求,某些組織有特定的技術(shù)約束或標(biāo)準(zhǔn)仔細(xì)研究市場,特別注意不斷發(fā)展的新技術(shù)、新標(biāo)準(zhǔn)和新構(gòu)件以靈活的方式處理用戶需求,在需求和COTS之間需要折衷開發(fā)評價產(chǎn)品和技術(shù)的方法,包括評價步驟和評價策略選擇可行的產(chǎn)品和技術(shù)購買產(chǎn)品把COTS產(chǎn)品集成到體系結(jié)構(gòu)中測試產(chǎn)品配置,即集成測試以發(fā)展的觀點(diǎn)管理和演化系統(tǒng)COTS產(chǎn)品的利用步驟COTS產(chǎn)品的利用一般需要以下的步驟:產(chǎn)品線的特有之處同其它產(chǎn)品線構(gòu)件一樣,COTS構(gòu)件必須具有足夠的靈活性以適應(yīng)產(chǎn)品線變化性的需要采用COTS構(gòu)件時,必須考慮到產(chǎn)品維護(hù)和升級的周期同COTS構(gòu)件周期的不一致COTS構(gòu)件需要的新活動包括:鑒定潛在適用的COTS構(gòu)件采用包裝器、中間件等對構(gòu)件進(jìn)行裁剪組裝經(jīng)過裁剪后的構(gòu)件當(dāng)新版本發(fā)布時,考慮對COTS構(gòu)件進(jìn)行升級產(chǎn)品線的特有之處同其它產(chǎn)品線構(gòu)件一樣,COTS構(gòu)件必須具有足應(yīng)用于核心資產(chǎn)開發(fā)COTS產(chǎn)品是核心資產(chǎn)的可行選擇,現(xiàn)有的商業(yè)構(gòu)件,包括數(shù)據(jù)庫、GUI、WWW瀏覽器、基于Java的產(chǎn)品和其它基于DCOM或CORBA的中間件代表了資產(chǎn)基礎(chǔ)設(shè)施的重要部分選擇COTS構(gòu)件作為核心資產(chǎn),需要考慮以下因素:COTS構(gòu)件的相對穩(wěn)定性接口、相關(guān)協(xié)議和標(biāo)準(zhǔn)COTS構(gòu)件可能會對產(chǎn)品線需求和體系結(jié)構(gòu)產(chǎn)生反作用應(yīng)用于核心資產(chǎn)開發(fā)COTS產(chǎn)品是核心資產(chǎn)的可行選擇,現(xiàn)有的商應(yīng)用于產(chǎn)品開發(fā)當(dāng)一個產(chǎn)品的特有部分恰好可以由COTS構(gòu)件完成時,沒有理由不考慮采用COTS構(gòu)件這時需要考慮上述提到的各種活動,即鑒定潛在適用的COTS構(gòu)件采用包裝器、中間件等對構(gòu)件進(jìn)行裁剪組裝經(jīng)過裁剪后的構(gòu)件當(dāng)新版本發(fā)布時,考慮對COTS構(gòu)件進(jìn)行升級應(yīng)用于產(chǎn)品開發(fā)當(dāng)一個產(chǎn)品的特有部分恰好可以由COTS構(gòu)件完成具體實(shí)踐基于COTS的系統(tǒng)實(shí)踐COTS使用風(fēng)險評估(CotsUsageRiskEvaluation)具體實(shí)踐基于COTS的系統(tǒng)實(shí)踐實(shí)踐風(fēng)險COTS構(gòu)件之間交互的未知性對COTS產(chǎn)品的修改COTS構(gòu)件的替換缺乏嚴(yán)格的配置管理缺乏適應(yīng)性缺乏COTS產(chǎn)品的支持實(shí)踐風(fēng)險COTS構(gòu)件之間交互的未知性實(shí)踐域5:挖掘現(xiàn)有資產(chǎn)挖掘現(xiàn)有資產(chǎn)是指對舊系統(tǒng)的一部分進(jìn)行挖掘和改善,然后應(yīng)用于原本并不支持的新系統(tǒng)中。不僅包含對代碼的重用,還包括對業(yè)務(wù)模型、規(guī)則庫(rulebases)、需求規(guī)格說明等要正確計算對遺留資產(chǎn)復(fù)用所需的成本由于資產(chǎn)挖掘時資源密集型的活動,所以小粒度的復(fù)用幾乎不可能產(chǎn)生任何經(jīng)濟(jì)效益實(shí)踐域5:挖掘現(xiàn)有資產(chǎn)挖掘現(xiàn)有資產(chǎn)是指對舊系統(tǒng)的一部分進(jìn)行挖產(chǎn)品線的特有之處為產(chǎn)品線挖掘的資產(chǎn)必須同新開發(fā)的核心資產(chǎn)有相同的質(zhì)量挖掘的資產(chǎn)必須被打包,同時要考慮到復(fù)用,必須滿足產(chǎn)品線的需求、必須與產(chǎn)品線體系結(jié)構(gòu)保持一致、必須滿足產(chǎn)品線的質(zhì)量目標(biāo)挖掘的資產(chǎn)必須滿足產(chǎn)品線中大多數(shù)產(chǎn)品的需求為軟件產(chǎn)品線挖掘資產(chǎn)要考慮到如下幾個方面在共性和變化點(diǎn)這兩個方面,與現(xiàn)有產(chǎn)品的一致性對未來潛在產(chǎn)品的適應(yīng)性使資產(chǎn)接口遵循產(chǎn)品線體系結(jié)構(gòu)約束所需要的工作量從體系結(jié)構(gòu)未來的演化發(fā)展對資產(chǎn)提出的潛在需求,考慮它的可擴(kuò)展性資產(chǎn)的維護(hù)歷史產(chǎn)品線的特有之處為產(chǎn)品線挖掘的資產(chǎn)必須同新開發(fā)的核心資產(chǎn)有相應(yīng)用于核心資產(chǎn)開發(fā)挖掘現(xiàn)有資產(chǎn)的過程主要是在為產(chǎn)品線尋找合適的候選對象具有良好結(jié)構(gòu)和文檔,并且經(jīng)過長時間使用的資產(chǎn),可以直接或稍作修改就放入核心資產(chǎn)庫通過包裝能夠滿足新的交互性需求的資產(chǎn),也是需要的反之,是我們不需要的。如果包含進(jìn)來,就需要長期高額的維護(hù)費(fèi)用候選構(gòu)件資產(chǎn)必須與產(chǎn)品線體系結(jié)構(gòu)一致,必須滿足對該構(gòu)件的行為需求,必須適應(yīng)每一個變化點(diǎn)應(yīng)用于核心資產(chǎn)開發(fā)挖掘現(xiàn)有資產(chǎn)的過程主要是在為產(chǎn)品線尋找合適應(yīng)用于產(chǎn)品開發(fā)可以用于產(chǎn)品開發(fā),但與非產(chǎn)品線情況下沒有任何區(qū)別對所挖掘的構(gòu)件值得花較多時間考慮它是真的專用于某個產(chǎn)品,還是可廣泛應(yīng)用于產(chǎn)品線中其它產(chǎn)品,從而能更準(zhǔn)確的確定修復(fù)(rehabilitation)成本應(yīng)用于產(chǎn)品開發(fā)可以用于產(chǎn)品開發(fā),但與非產(chǎn)品線情況下沒有任何區(qū)具體實(shí)踐再工程的選擇分析(OptionsAnalysis)建立挖掘上下文建立遺產(chǎn)構(gòu)件庫分析候選構(gòu)件分析挖掘選項選擇挖掘選項具體實(shí)踐再工程的選擇分析(OptionsAnalysis)實(shí)踐風(fēng)險(1/2)與挖掘相關(guān)的主要風(fēng)險無法找到適用的資產(chǎn)選擇了錯誤的資產(chǎn)與挖掘活動相關(guān)的風(fēng)險不成功的搜索過于成功的搜索標(biāo)準(zhǔn)模糊(Fuzzycriteria)沒有搜索出非軟件資產(chǎn)不合適的資產(chǎn)糟糕的修復(fù)(rehabilitation)評估實(shí)踐風(fēng)險(1/2)與挖掘相關(guān)的主要風(fēng)險實(shí)踐風(fēng)險(2/2)導(dǎo)致挖掘風(fēng)險的組織因素存儲空間不足(Lackofcorporatememory)采用的方法不當(dāng)缺少工具支持Turfconflict無法獲得開發(fā)所需的資源實(shí)踐風(fēng)險(2/2)導(dǎo)致挖掘風(fēng)險的組織因素實(shí)踐域6:需求工程(1/2)需求是對系統(tǒng)要做什么、系統(tǒng)如何工作、要表現(xiàn)出的性質(zhì)、系統(tǒng)必須具備的質(zhì)量以及系統(tǒng)及其開發(fā)必須滿足的約束等內(nèi)容的表述,包括:需求獲?。╮equirementselicitation)需求分析需求驗(yàn)證需求管理涉及到的角色需求者(IEEE中定義的用戶)開發(fā)者(設(shè)計和實(shí)現(xiàn)系統(tǒng)的人)作者(編寫需求文檔的人)實(shí)踐域6:需求工程(1/2)需求是對系統(tǒng)要做什么、系統(tǒng)如何工需求工程(2/2)角色之間的溝通對不同相關(guān)人員提出的需求之間潛在的矛盾進(jìn)行決策需求的易變性導(dǎo)致需要一種管理變更的機(jī)制,即需求變更管理過程。這個過程的基礎(chǔ)是需求和系統(tǒng)產(chǎn)品之間的可跟蹤性(traceabilitylinks)以及需求和相關(guān)決策、折中之間的可跟蹤性需求者開發(fā)者作者溝通需求工程(2/2)角色之間的溝通需求者開發(fā)者作者溝通產(chǎn)品線的特有之處產(chǎn)品線需求定義了產(chǎn)品線中的產(chǎn)品及其特性涵蓋整個產(chǎn)品線的共有需求是極其重要的核心資產(chǎn),必須與只針對產(chǎn)品某個子集(或者單個產(chǎn)品)的需求分開描述。只針對產(chǎn)品某個子集(或者單個產(chǎn)品)的需求同樣也需要維護(hù)和管理整個產(chǎn)品線的公共需求由很多變化點(diǎn)組成,這些變化點(diǎn)同樣也可以用來創(chuàng)建產(chǎn)品特有需求產(chǎn)品線范圍與產(chǎn)品線需求的關(guān)系針對產(chǎn)品線的需求工程和針對具體產(chǎn)品的需求工程的區(qū)別需求抽取需求分析需求規(guī)格說明需求驗(yàn)證(verification)需求管理產(chǎn)品線的特有之處產(chǎn)品線需求定義了產(chǎn)品線中的產(chǎn)品及其特性應(yīng)用于核心資產(chǎn)的開發(fā)由需求工程生產(chǎn)的需求制品本身就是非常重要的核心資產(chǎn)。另外,產(chǎn)品線需求還有助于其他核心資產(chǎn)的開發(fā)和獲取。需求制品將有助于:確定一條產(chǎn)品線的可行性,精化其范圍和業(yè)務(wù)用例(businesscase)為產(chǎn)品線體系結(jié)構(gòu)奠定基礎(chǔ)確保其他核心資產(chǎn)支持預(yù)期的變化確定產(chǎn)品線和產(chǎn)品的進(jìn)度和預(yù)算創(chuàng)建產(chǎn)品線中產(chǎn)品的測試用例以及其他測試制品產(chǎn)品線需求工程還有一個顯著特點(diǎn)是存在一個快速的早期設(shè)計,用來捕獲影響初始設(shè)計的高層需求應(yīng)用于核心資產(chǎn)的開發(fā)由需求工程生產(chǎn)的需求制品本身就是非常重要應(yīng)用于產(chǎn)品開發(fā)
需求工程在以下幾個方面起重要作用確定將某個產(chǎn)品作為產(chǎn)品線的一部分進(jìn)行開發(fā)的可行性特定產(chǎn)品的開發(fā)、測試和部署由產(chǎn)品開發(fā)而導(dǎo)致的產(chǎn)品線演化應(yīng)用于產(chǎn)品開發(fā)需求工程在以下幾個方面起重要作用具體實(shí)踐領(lǐng)域分析技術(shù)相關(guān)人員視圖(stakeholder-view)建模特征建模Use-case建模Change-case建模需求與相關(guān)工作產(chǎn)品的可跟蹤性具體實(shí)踐領(lǐng)域分析技術(shù)實(shí)踐風(fēng)險主要風(fēng)險在于在產(chǎn)品線的整個生命周期中不能正確地捕獲需求。文檔中包含錯誤的或不適當(dāng)?shù)男枨?,沒有及時更新需求或者根本沒有對需求建檔錯誤的需求可能由以下原因造成:沒有正確區(qū)分產(chǎn)品線范圍的需求和產(chǎn)品特有的需求通用性不足通用性過度變化點(diǎn)不正確只考慮到行為而沒考慮到質(zhì)量實(shí)踐風(fēng)險主要風(fēng)險在于在產(chǎn)品線的整個生命周期中不能正確地捕獲需實(shí)踐域7:軟件系統(tǒng)集成軟件系統(tǒng)集成是指將獨(dú)立的軟件構(gòu)件組合成一個集成的整體集成受到構(gòu)件接口定義的限制接口:構(gòu)件生產(chǎn)者對其他構(gòu)件所能做的一系列安全的假設(shè)實(shí)踐域7:軟件系統(tǒng)集成軟件系統(tǒng)集成是指將獨(dú)立的軟件構(gòu)件組合成產(chǎn)品線的特有之處軟件的系統(tǒng)集成出現(xiàn)在將核心資產(chǎn)安裝到核心資產(chǎn)庫和構(gòu)建單個產(chǎn)品的過程中集成所需要做的工作量在產(chǎn)品線的軟件系統(tǒng)集成中,集成成本被分?jǐn)偟奖姸喈a(chǎn)品中去“持續(xù)集成”(continuouslyintegration)幾乎為0每個產(chǎn)品都完全由核心資產(chǎn)組成,不存在針對特定產(chǎn)品的代碼非常大需要相當(dāng)多的編碼工作把需要的核心構(gòu)件集成為一個內(nèi)聚的整體0considerable大多數(shù)產(chǎn)品線位于中間某一點(diǎn)產(chǎn)品線的特有之處軟件的系統(tǒng)集成出現(xiàn)在將核心資產(chǎn)安裝到核心資產(chǎn)應(yīng)用于核心資產(chǎn)開發(fā)采購和挖掘核心資產(chǎn)的過程中,一定要考慮到集成的因素。盡量不要單純使用自然語言,還要使用一種機(jī)器可檢查的形式來描述要評估所挖掘和采購的構(gòu)件的可集成性和粒度應(yīng)用于核心資產(chǎn)開發(fā)采購和挖掘核心資產(chǎn)的過程中,一定要考慮到集應(yīng)用于產(chǎn)品開發(fā)產(chǎn)品線的一個好處在于,對產(chǎn)品線中的每個后續(xù)產(chǎn)品,軟件的系統(tǒng)集成成本呈下降趨勢任何情況下,必須根據(jù)與定義的、經(jīng)過測試的計劃來進(jìn)行集成應(yīng)用于產(chǎn)品開發(fā)產(chǎn)品線的一個好處在于,對產(chǎn)品線中的每個后續(xù)產(chǎn)品具體實(shí)踐接口語言封裝中間件系統(tǒng)生成FAST生成器具體實(shí)踐接口語言實(shí)踐風(fēng)險自然語言描述的接口文檔構(gòu)件粒度不夠大對變化的支持太大太復(fù)雜實(shí)踐風(fēng)險自然語言描述的接口文檔實(shí)踐域8:測試(1/2)測試的兩個基本目的在開發(fā)過程中,測試用于幫助開發(fā)人員識別導(dǎo)致失敗的錯誤,進(jìn)而對其修復(fù)。測試用于確定一個產(chǎn)品是否滿足其需求。測試包括以下三個基本活動分析構(gòu)造執(zhí)行和評價測試要遵循以下幾個原則測試是客觀的測試是系統(tǒng)化的測試是完整(thorough)的測試是開發(fā)過程中不可或缺的一部分實(shí)踐域8:測試(1/2)測試的兩個基本目的測試(2/2)下面幾點(diǎn)是我們討論測試的基礎(chǔ)分析和設(shè)計模型確認(rèn)(validation)單元測試子系統(tǒng)集成測試系統(tǒng)集成測試回歸測試適應(yīng)性測試驗(yàn)收(acceptance)測試部署測試可靠性模型(reliabilitymodels)測試(2/2)下面幾點(diǎn)是我們討論測試的基礎(chǔ)產(chǎn)品線的特有之處在產(chǎn)品線組織中的測試對象必須包括核心軟件資產(chǎn)、具體軟件產(chǎn)品,以及它們之間的交互與單個系統(tǒng)開發(fā)不同,測試的職責(zé)分布在組織的不同部分。另一個不同點(diǎn)是測試是一個可以在很多產(chǎn)品中復(fù)用的活動指導(dǎo)方針為復(fù)用構(gòu)造測試軟件的結(jié)構(gòu)產(chǎn)品線體系結(jié)構(gòu)提供對測試的支持為了系統(tǒng)集成測試復(fù)用資產(chǎn)采用回歸測試保持對驗(yàn)收(acceptance)測試的跟蹤產(chǎn)品線的特有之處在產(chǎn)品線組織中的測試對象必須包括核心軟件資產(chǎn)應(yīng)用于核心資產(chǎn)開發(fā)(1/2)以兩種方式應(yīng)用于核心資產(chǎn)開發(fā)測試本身就是可復(fù)用的核心資產(chǎn),包括:文檔測試數(shù)據(jù)集測試軟件測試其他核心資產(chǎn)測試非軟件的核心資產(chǎn)測試軟件核心資產(chǎn)應(yīng)用于核心資產(chǎn)開發(fā)(1/2)以兩種方式應(yīng)用于核心資產(chǎn)開發(fā)應(yīng)用于核心資產(chǎn)開發(fā)(2/2)界面規(guī)格說明結(jié)構(gòu)測試套件規(guī)格說明的實(shí)現(xiàn)結(jié)構(gòu)測試套件多種實(shí)現(xiàn)導(dǎo)致多種測試套件(suite)應(yīng)用于核心資產(chǎn)開發(fā)(2/2)界面規(guī)格說明結(jié)構(gòu)測試套件規(guī)格說明應(yīng)用于產(chǎn)品開發(fā)以兩種基本方式應(yīng)用于產(chǎn)品開發(fā)驗(yàn)證(verification)確認(rèn)(validation)應(yīng)用于產(chǎn)品開發(fā)以兩種基本方式應(yīng)用于產(chǎn)品開發(fā)具體實(shí)踐對分析和模型評審(review)而言,指導(dǎo)性審查包括審查檢查表和測試。審查過程由測試用例引導(dǎo)具體實(shí)踐對分析和模型評審(review)而言,指導(dǎo)性審查包括實(shí)踐風(fēng)險主要風(fēng)險是測試不充分,以及沒有采用能帶來高回報的方式。包括:不充分的單元測試工具支持的不足導(dǎo)致的不充分的單元測試不充分的規(guī)格說明不充分的集成測試不充分的測試基礎(chǔ)設(shè)施實(shí)踐風(fēng)險主要風(fēng)險是測試不充分,以及沒有采用能帶來高回報的方式實(shí)踐域9:理解相關(guān)領(lǐng)域必要性應(yīng)履行以下職責(zé)標(biāo)識出對建造當(dāng)前(或未來)產(chǎn)品有用的專業(yè)領(lǐng)域標(biāo)識出領(lǐng)域內(nèi)重復(fù)出現(xiàn)的問題及已知的解決方案使用便于相關(guān)人員交流的方式獲取和表達(dá)這些信息,在整個過程中使用和重用這些信息對相關(guān)領(lǐng)域的一個正式分析的范圍依賴于組織的領(lǐng)域經(jīng)驗(yàn)的深度能夠用于分析的資源數(shù)量當(dāng)組織成功應(yīng)用如下幾點(diǎn)時,表明它已充分理解了產(chǎn)品相關(guān)領(lǐng)域能夠推理出一個要進(jìn)行的設(shè)計所蘊(yùn)含的技術(shù)和業(yè)務(wù)要求決定所要生產(chǎn)的產(chǎn)品應(yīng)具有什么樣的特性、能力以及需要的技術(shù)生產(chǎn)一組使用了相關(guān)領(lǐng)域知識的制品實(shí)踐域9:理解相關(guān)領(lǐng)域必要性產(chǎn)品線的特有之處理解相關(guān)領(lǐng)域是理解產(chǎn)品線范圍內(nèi)所定義產(chǎn)品的共性和變化性的第一步不同于單個產(chǎn)品,產(chǎn)品線開發(fā)強(qiáng)調(diào)獲取和描述覆蓋多領(lǐng)域的多個系統(tǒng)的共性和變化性。產(chǎn)品線的領(lǐng)域模型將明確識別領(lǐng)域中的共性和變化性,而單個系統(tǒng)的領(lǐng)域模型可能不會這樣領(lǐng)域模型尤其有助于判別:哪些功能(capability)會成為領(lǐng)域中各系統(tǒng)的共性以及有哪些變化點(diǎn)哪些功能的子集會被打包并作為產(chǎn)品線的資產(chǎn)領(lǐng)域中的系統(tǒng)要受到哪些約束(如標(biāo)準(zhǔn)、法律約束、業(yè)務(wù)限制、特定硬件平臺)哪些資產(chǎn)構(gòu)成典型的領(lǐng)域成員是否繼續(xù)產(chǎn)品線的開發(fā)產(chǎn)品線的特有之處理解相關(guān)領(lǐng)域是理解產(chǎn)品線范圍內(nèi)所定義產(chǎn)品的共應(yīng)用于核心資產(chǎn)開發(fā)為產(chǎn)品線生命周期中早期整個產(chǎn)品線中可實(shí)現(xiàn)大力度軟件復(fù)用的機(jī)會進(jìn)行標(biāo)識和建模還支持產(chǎn)品線的業(yè)務(wù)用例(businesscase),以及“確定范圍(scoping)”和“需求工程”實(shí)踐域應(yīng)用于核心資產(chǎn)開發(fā)為產(chǎn)品線生命周期中早期整個產(chǎn)品線中可實(shí)現(xiàn)大應(yīng)用于產(chǎn)品開發(fā)消費(fèi)者兌現(xiàn)產(chǎn)品或現(xiàn)有產(chǎn)品新功能(capability)的需求導(dǎo)致業(yè)務(wù)決策。這些決策可以也應(yīng)該受到領(lǐng)域理解的支持。最簡單的情況是所要求的功能已作為核心資產(chǎn)開發(fā)的一部分完成了建模和分析否則,就要根據(jù)該需求對產(chǎn)品線的影響作出決策新產(chǎn)品或新功能是作為特定消費(fèi)者的一次性解決方案來開發(fā)嗎?考慮到將來復(fù)用的可能性,是否把所要求的新功能加入到產(chǎn)品線中。對相關(guān)領(lǐng)域的理解有助于對這些問題的判定應(yīng)用于產(chǎn)品開發(fā)消費(fèi)者兌現(xiàn)產(chǎn)品或現(xiàn)有產(chǎn)品新功能(capabil具體實(shí)踐主要的實(shí)踐是找到相關(guān)領(lǐng)域中的資深人員。提取和表達(dá)相關(guān)領(lǐng)域信息的實(shí)踐具體體現(xiàn)在以下分析過程中:范圍、共性和變化性分析領(lǐng)域分析和設(shè)計過程面向特征的領(lǐng)域分析復(fù)用驅(qū)動的軟件過程方法的合成過程(synthesisprocessofthereuse-drivensoftwareprocessapproach)組織領(lǐng)域建模的領(lǐng)域分析過程具體實(shí)踐主要的實(shí)踐是找到相關(guān)領(lǐng)域中的資深人員。提取和表達(dá)相關(guān)實(shí)踐風(fēng)險分析癱瘓(analysisparalysis)缺少必須的領(lǐng)域?qū)<椅臋n和相關(guān)領(lǐng)域信息的共享不充分缺乏對分析過程的理解缺乏適當(dāng)?shù)墓ぞ咧С诸I(lǐng)域分析過程和領(lǐng)域產(chǎn)品缺少管理委員會實(shí)踐風(fēng)險分析癱瘓(analysisparalysis)技術(shù)管理實(shí)踐域技術(shù)管理實(shí)踐是指那些對核心資產(chǎn)和產(chǎn)品的創(chuàng)建及其演化進(jìn)行設(shè)計和工程化所必須的管理實(shí)踐技術(shù)管理中的實(shí)踐域包括8項:配置管理數(shù)據(jù)收集、度量(metrics)和跟蹤開發(fā)/購買/挖掘/委托分析過程定義確定范圍技術(shù)規(guī)劃(TechnicalPlanning)技術(shù)風(fēng)險管理工具支持技術(shù)管理實(shí)踐域技術(shù)管理實(shí)踐是指那些對核心資產(chǎn)和產(chǎn)品的創(chuàng)建及其實(shí)踐域1:配置管理(1/2)配置管理是對制品的變化進(jìn)行評估、調(diào)整、審批以及實(shí)現(xiàn)的一種規(guī)范,這些制品用來構(gòu)造和維護(hù)軟件系統(tǒng)軟件配置管理的目的是在項目的軟件生命周期中建立和維護(hù)軟件項目中產(chǎn)品的完整性軟件配置管理包括識別軟件項目中的配置項、控制這些配置項及其變更,并且記錄和報告這些配置項的狀態(tài)及其變更活動實(shí)踐域1:配置管理(1/2)配置管理是對制品的變化進(jìn)行評估、配置管理(2/2)成功的配置管理需要一組良好定義的、規(guī)范化的規(guī)則和標(biāo)準(zhǔn),這些規(guī)則和標(biāo)準(zhǔn)應(yīng)該清楚地定義以下內(nèi)容:配置管理擁有管理權(quán)限的一組制品制品如何命名制品如何進(jìn)入和離開受控集合在配置管理中,制品允許以何種方式改變在配置管理中,如何獲得一個制品的不同版本以及在什么條件下可以使用各個版本的制品如何使用配置管理工具來實(shí)現(xiàn)和執(zhí)行配置管理配置管理(2/2)成功的配置管理需要一組良好定義的、規(guī)范化的產(chǎn)品線的特有之處(1/3)產(chǎn)品線中的配置管理通常被看作是一類系統(tǒng)中配置管理問題的多維版本核心資產(chǎn)構(gòu)成了一個需要進(jìn)行管理的配置產(chǎn)品線中的每個產(chǎn)品構(gòu)成了一個必須進(jìn)行管理的配置對于以上所有配置的管理,都必須在一個過程中進(jìn)行協(xié)調(diào)產(chǎn)品線的特有之處(1/3)產(chǎn)品線中的配置管理通常被看作是一類產(chǎn)品線的特有之處(2/3)產(chǎn)品線的配置管理比一個單獨(dú)系統(tǒng)的配置管理復(fù)雜的多,具體表現(xiàn)在:在單個系統(tǒng)的配置管理中,系統(tǒng)地每一個版本擁有與之相關(guān)的一個配置,用于定義該產(chǎn)品生產(chǎn)中相關(guān)配置相的版本。在產(chǎn)品線的配置管理中,必須有一個配置來維護(hù)每一個產(chǎn)品的每一個版本在單個系統(tǒng)的配置管理中,每一個產(chǎn)品以及它的所有版本都可以單獨(dú)進(jìn)行管理。在產(chǎn)品線配置管理中不可能采用這種方式,因?yàn)楹诵馁Y產(chǎn)將被應(yīng)用于所有產(chǎn)品產(chǎn)品線配置管理必須控制核心資產(chǎn)庫的配置,并且控制所有開發(fā)人員對它們的使用情況只有功能強(qiáng)大的配置管理工具才可以應(yīng)用于產(chǎn)品線配置管理產(chǎn)品線的特有之處(2/3)產(chǎn)品線的配置管理比一個單獨(dú)系統(tǒng)的配產(chǎn)品線的特有之處(3/3)具體來說,產(chǎn)品線配置管理的工具、過程和環(huán)境必須支持以下內(nèi)容:并行開發(fā)分布式工程(Distributedengineering)構(gòu)造(build)和發(fā)布(release)管理變更管理配置和工作區(qū)(workspace)管理過程管理倉庫(repository)管理產(chǎn)品線的特有之處(3/3)具體來說,產(chǎn)品線配置管理的工具、過應(yīng)用于核心資產(chǎn)開發(fā)整個核心資產(chǎn)庫處于配置管理的控制之下需要具有的特性:支持對資產(chǎn)概念的靈活定義配置管理工具能夠報告制品的兩個不同版本的差別應(yīng)用于核心資產(chǎn)開發(fā)整個核心資產(chǎn)庫處于配置管理的控制之下應(yīng)用于產(chǎn)品開發(fā)配置管理過程應(yīng)該使得新產(chǎn)品的初始配置變得更加容易配置管理工具必須能夠跟蹤所使用的配置項的所有版本應(yīng)用于產(chǎn)品開發(fā)配置管理過程應(yīng)該使得新產(chǎn)品的初始配置變得更加容具體實(shí)踐配置管理計劃的IEEE/ANSI標(biāo)準(zhǔn)關(guān)于配置管理的CMMI步驟具體實(shí)踐配置管理計劃的IEEE/ANSI標(biāo)準(zhǔn)實(shí)踐風(fēng)險過程不夠健壯配置管理開始的太晚多條產(chǎn)品演化路徑?jīng)]有強(qiáng)制執(zhí)行配置管理實(shí)踐支持工具不夠健壯實(shí)踐風(fēng)險過程不夠健壯實(shí)踐域2:數(shù)據(jù)收集、度量和跟蹤度量的目的是為了指導(dǎo)管理決策,兩個階段:初始階段指出將要跟蹤的目標(biāo)定義度量標(biāo)準(zhǔn)(metrics),這些單位將用于跟蹤所要實(shí)現(xiàn)目標(biāo)的進(jìn)展情況識別為了獲得度量結(jié)果而必須收集的數(shù)據(jù)給予可以預(yù)見的風(fēng)險,刻畫可能產(chǎn)生(discover)預(yù)期結(jié)果和問題詳細(xì)說明如何收集數(shù)據(jù)、何時收集數(shù)據(jù)以及誰負(fù)責(zé)收集數(shù)據(jù)執(zhí)行階段收集指定的數(shù)據(jù)分析所收集的數(shù)據(jù),并將其轉(zhuǎn)換成度量結(jié)果,然后把它們與初始階段描述的預(yù)期目標(biāo)進(jìn)行比較確定為消除所發(fā)現(xiàn)問題要實(shí)施的活動確認(rèn)這些活動能否正確解決這些問題實(shí)踐域2:數(shù)據(jù)收集、度量和跟蹤度量的目的是為了指導(dǎo)管理決策,產(chǎn)品線的特有之處產(chǎn)品線與單個系統(tǒng)采用了相同的技術(shù),但在產(chǎn)品線中,數(shù)據(jù)收集需要提供三方面的信息來支持以下各個活動:核心資產(chǎn)開發(fā),包括開發(fā)可復(fù)用資產(chǎn)以及支持使用它們的基礎(chǔ)設(shè)施產(chǎn)品開發(fā),包括為客戶開發(fā)的各個產(chǎn)品對整個產(chǎn)品線的管理,包括制定整個產(chǎn)品線組織的戰(zhàn)略計劃和發(fā)展方向產(chǎn)品線的特有之處產(chǎn)品線與單個系統(tǒng)采用了相同的技術(shù),但在產(chǎn)品線應(yīng)用于核心資產(chǎn)開發(fā)核心資產(chǎn)管理者關(guān)心兩件事情:核心資產(chǎn)開發(fā)的效率核心資產(chǎn)用于相關(guān)產(chǎn)品開發(fā)時的效果為了達(dá)到高效(efficiency)的目標(biāo),管理者應(yīng)當(dāng)將重點(diǎn)放在跟蹤開發(fā)核心資產(chǎn)所需要的時間和費(fèi)用上為了達(dá)到有效(effectiveness)的目標(biāo),管理者應(yīng)該將重點(diǎn)放在提供能夠盡量避免產(chǎn)品開發(fā)重復(fù)勞動的資產(chǎn)上應(yīng)用于核心資產(chǎn)開發(fā)核心資產(chǎn)管理者關(guān)心兩件事情:應(yīng)用于產(chǎn)品開發(fā)產(chǎn)品開發(fā)的度量活動包括兩方面:傳統(tǒng)的和專用于產(chǎn)品線的傳統(tǒng)的度量包括對產(chǎn)品開發(fā)管理所必須的度量結(jié)果的收集和分析用于產(chǎn)品線的度量包括收集產(chǎn)品線需要的數(shù)據(jù),以及核心資產(chǎn)管理者為提高效率需要的度量數(shù)據(jù),而這些數(shù)據(jù)只能在產(chǎn)品開發(fā)時獲得應(yīng)用于產(chǎn)品開發(fā)產(chǎn)品開發(fā)的度量活動包括兩方面:傳統(tǒng)的和專用于產(chǎn)具體實(shí)踐選擇度量標(biāo)準(zhǔn)數(shù)據(jù)收集復(fù)用度量標(biāo)準(zhǔn)具體實(shí)踐選擇度量標(biāo)準(zhǔn)實(shí)踐風(fēng)險度量失配(Metricmismatch)目標(biāo)沒有度量標(biāo)準(zhǔn)(Goalswithoutmetrics)測量沒有校準(zhǔn)(Measurementnotaligned)高成本度量(Costlymetrics)實(shí)踐風(fēng)險度量失配(Metricmismatch)實(shí)踐域3:開發(fā)/購買/挖掘/委托的分析該實(shí)踐域的目的是:強(qiáng)調(diào)有意識的、合理的選擇軟件來源的重要性給出一些有助于選擇的分析方法實(shí)踐域3:開發(fā)/購買/挖掘/委托的分析該實(shí)踐域的目的是:產(chǎn)品線的特有之處產(chǎn)品線的分析方法與單個系統(tǒng)的分析方法類似,但側(cè)重點(diǎn)不同:由于成本較高而被單個系統(tǒng)排出的選項對于產(chǎn)品線可能是可以接受的,因?yàn)槌杀究梢苑謹(jǐn)偟酱罅慨a(chǎn)品上“開發(fā)”、“挖掘”和“委托”往往更加昂貴,因?yàn)檫@些資產(chǎn)需要更健壯,以便能在整條生產(chǎn)線中復(fù)用“購買”不會比單個系統(tǒng)昂貴,因?yàn)镃OTS構(gòu)件是以通用為目的之一開發(fā)的產(chǎn)品線總是傾向于建立在遺留資產(chǎn)的基礎(chǔ)上;公司開發(fā)很多相似產(chǎn)品的行為通常是產(chǎn)品線方法應(yīng)用的原動力產(chǎn)品線的特有之處產(chǎn)品線的分析方法與單個系統(tǒng)的分析方法類似,但應(yīng)用于核心資產(chǎn)開發(fā)因?yàn)樗械暮诵馁Y產(chǎn)都必須從某處獲得,所以自行開發(fā)/購買/挖掘/委托分析是整個核心資產(chǎn)開發(fā)的基礎(chǔ)。影響分析的因素包括:質(zhì)量成本(包括機(jī)會成本)與產(chǎn)品線需求的一致性與產(chǎn)品線體系結(jié)構(gòu)的一致性支持產(chǎn)品線中產(chǎn)品所要求的變化的靈活性可維護(hù)性進(jìn)度組織成功實(shí)施四個選項的能力應(yīng)用于核心資產(chǎn)開發(fā)因?yàn)樗械暮诵馁Y產(chǎn)都必須從某處獲得,所以自應(yīng)用于產(chǎn)品開發(fā)產(chǎn)品線中的某些產(chǎn)品可能需要資產(chǎn)庫中沒有的其他軟件構(gòu)件,應(yīng)該使用相同的決策分析過程來決定如何獲得這些構(gòu)件應(yīng)用于產(chǎn)品開發(fā)產(chǎn)品線中的某些產(chǎn)品可能需要資產(chǎn)庫中沒有的其他軟具體實(shí)踐對于寬度優(yōu)先策略,要考慮的初始問題:有哪些時間上的約束?這些時間約束的外部因素是什么?外部條件的可靠性如何?必須獲得的資產(chǎn)的定義如何?產(chǎn)品線需求是否已經(jīng)定義?產(chǎn)品線中所有產(chǎn)品需求的共性和變化性是否已經(jīng)定義?軟件將要適應(yīng)的系統(tǒng)體系結(jié)構(gòu)是否已經(jīng)完整定義?是否存在一個獨(dú)立于產(chǎn)品線市場的資產(chǎn)市場?(如果沒有,就不能像COTS那樣在開放市場上獲得資產(chǎn))完成上面基本分析之后,可能會選擇其中兩三個甚至一個。在對每一種選項進(jìn)行更詳細(xì)的分析時,要包括以下內(nèi)容:“自行開發(fā)”選項的問題示例“購買”選項的問題示例“挖掘”選項的問題示例“委托”選項的問題示例具體實(shí)踐對于寬度優(yōu)先策略,要考慮的初始問題:實(shí)踐風(fēng)險不要將這個實(shí)踐域的風(fēng)險與每種選項中的風(fēng)險混為一談。這里的風(fēng)險是指在各種選項中進(jìn)行選擇時可能產(chǎn)生的風(fēng)險對這個實(shí)踐域來說,最主要的風(fēng)險是選擇了錯誤的選項實(shí)踐風(fēng)險不要將這個實(shí)踐域的風(fēng)險與每種選項中的風(fēng)險混為一談。這實(shí)踐域4:過程定義過程定義實(shí)踐域是關(guān)于一個組織對過程定義和建檔的能力“軟件過程模型”用來描述已定義軟件的開發(fā)過程模型的構(gòu)造一個正式的模型應(yīng)該滿足以下目標(biāo):便于理解和交流支持過程管理支持過程改進(jìn)實(shí)踐域4:過程定義過程定義實(shí)踐域是關(guān)于一個組織對過程定義和建產(chǎn)品線的特有之處需要更多的合作由于有數(shù)量龐大的產(chǎn)品和小組合作,所以每個人只有以事先約定好的方式進(jìn)行工作,整個組織才會運(yùn)轉(zhuǎn)起來產(chǎn)品線要求各個獨(dú)立的組織實(shí)體之間可以進(jìn)行可重復(fù)的、持續(xù)的、規(guī)范的交互,要做到這一點(diǎn),就必須嚴(yán)格遵循一個過程產(chǎn)品線的特有之處需要更多的合作應(yīng)用于核心資產(chǎn)開發(fā)每一個核心資產(chǎn)都擁有一個與之相關(guān)的附屬過程來解釋如何使用該核心資產(chǎn)構(gòu)建產(chǎn)品線中的產(chǎn)品。通過過程定義,可以詳細(xì)的描述這些過程還有一些過程揭示了資產(chǎn)在產(chǎn)品線生命周期中是如何創(chuàng)建、評估、維護(hù)和演化的應(yīng)用于核心資產(chǎn)開發(fā)每一個核心資產(chǎn)都擁有一個與之相關(guān)的附屬過程應(yīng)用于產(chǎn)品開發(fā)附屬過程不僅和資產(chǎn)開發(fā)有關(guān),也和產(chǎn)品開發(fā)相關(guān)和核心資產(chǎn)一樣,產(chǎn)品也有其改進(jìn)和維護(hù)的規(guī)則,這些規(guī)則通常在實(shí)施“操作(Operation)”實(shí)踐時創(chuàng)建的過程定義中應(yīng)用于產(chǎn)品開發(fā)附屬過程不僅和資產(chǎn)開發(fā)有關(guān),也和產(chǎn)品開發(fā)相關(guān)具體實(shí)踐為過程使用者提供過程電子文檔集成化過程支持環(huán)境使計算機(jī)系統(tǒng)可以自動執(zhí)行一些必須的過程步驟一個通用的過程定義避免了定義一個必須考慮到所有可能變化的完整產(chǎn)品線過程的需要具體實(shí)踐為過程使用者提供過程電子文檔實(shí)踐風(fēng)險過程失配過程不能滿足產(chǎn)品線的需要過程支持不足過程質(zhì)量差別太大缺乏支持(Lackofbuy-in)強(qiáng)制遵循某過程(Dictatorialintroduction)實(shí)踐風(fēng)險過程失配實(shí)踐域5:確定范圍確定范圍是指界定一個系統(tǒng)(或一個系統(tǒng)集合)的活動,這一活動具體包括定義哪些行為和方面包含在系統(tǒng)“之中”,那些排出在系統(tǒng)“之外”在產(chǎn)品線中,確定范圍是一項基礎(chǔ)活動,它將決定產(chǎn)品線長期生存能力實(shí)踐域5:確定范圍確定范圍是指界定一個系統(tǒng)(或一個系統(tǒng)集合)產(chǎn)品線的特有之處確定范圍的結(jié)果是產(chǎn)生一個范圍定義文檔,這個文檔本身會成為產(chǎn)品線核心資產(chǎn)的一部分范圍的定義開始時摻嘗試比較寬松、通用的文檔,隨著知識的增多逐漸被細(xì)化為表格范圍定義的目標(biāo)就是在產(chǎn)品線“之中”和“之外”劃一條邊界,這條邊界對產(chǎn)品線友好處識別共性和變化性是覆蓋整個產(chǎn)品線所有實(shí)踐域的主題,是產(chǎn)品線概念的精髓,也是范圍定義的精髓范圍確定活動不僅出現(xiàn)在從零開始構(gòu)建的產(chǎn)品線中,還可能出現(xiàn)在其他各種情況中產(chǎn)品線的特有之處確定范圍的結(jié)果是產(chǎn)生一個范圍定義文檔,這個文應(yīng)用于核心資產(chǎn)開發(fā)范圍定義是一種核心資產(chǎn),它將廣泛的被參考,并隨著產(chǎn)品線的成長和發(fā)展不斷更新范圍定義應(yīng)通知需求工程過程,以確保與需求相關(guān)的核心資產(chǎn)與范圍定義的一致性應(yīng)用于核心資產(chǎn)開發(fā)范圍定義是一種核心資產(chǎn),它將廣泛的被參考,應(yīng)用于產(chǎn)品開發(fā)產(chǎn)品開發(fā)中用范圍定義來評估一個產(chǎn)品是否可納入產(chǎn)品線應(yīng)用于產(chǎn)品開發(fā)產(chǎn)品開發(fā)中用范圍定義來評估一個產(chǎn)品是否可納入產(chǎn)具體實(shí)踐檢查現(xiàn)有產(chǎn)品通過研討會來理解產(chǎn)品線的目標(biāo)和產(chǎn)品繪制環(huán)境(context)圖創(chuàng)建屬性/產(chǎn)品矩陣創(chuàng)建產(chǎn)品線場景PuLSE-ECO具體實(shí)踐檢查現(xiàn)有產(chǎn)品實(shí)踐風(fēng)險范圍太大或太小范圍中包括了錯誤的產(chǎn)品重要的相關(guān)人員沒有參與實(shí)踐風(fēng)險范圍太大或太小實(shí)踐域6:技術(shù)規(guī)劃(1/2)技術(shù)規(guī)劃是各層次管理的基本功能之一,它為其他管理工作,尤其是跟蹤和控制奠定了基礎(chǔ)。技術(shù)規(guī)劃過程應(yīng)該包括:確定計劃及其內(nèi)容確定計劃的承諾(commitment)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人工建筑勞務(wù)合同范本
- 入園合同范例
- 個人陶瓷采購合同范本
- 勞務(wù)派遣補(bǔ)充合同范本
- 切磚清工合同范本
- 光明果蔬配送合同范本
- 借款合同范本網(wǎng)上查詢
- 轉(zhuǎn)租飯店合同范本
- 凈化車間改造工程合同范本
- 會所會籍合同范本
- 2024年注冊安全工程師考試題庫【含答案】
- 第2課《樹立科學(xué)的世界觀》第2框《用科學(xué)世界觀指導(dǎo)人生發(fā)展》-【中職專用】《哲學(xué)與人生》同步課堂課件
- 《書籍裝幀設(shè)計》 課件 項目2 書籍裝幀設(shè)計要素
- 妊娠期合并癥婦女的護(hù)理-妊娠合并心臟病的護(hù)理(婦產(chǎn)科護(hù)理課件)4EX
- 南航航空安全員培訓(xùn)
- 中職語文高教版基礎(chǔ)模塊上冊《風(fēng)景談》公開課一等獎創(chuàng)新教學(xué)設(shè)計
- 汪小蘭有機(jī)化學(xué)課件第四版
- Unit1 My day 單元作業(yè)設(shè)計(素材)人教PEP版英語五年級下冊
- 贏的思考與態(tài)度課件
- 2024年2月國考海關(guān)面試題目及參考答案
- TZSA 158-2023 雙引擎分布式視頻處理器技術(shù)規(guī)范
評論
0/150
提交評論