監(jiān)理公司管理系統(tǒng) | 工程企業(yè)管理系統(tǒng) | OA系統(tǒng) | ERP系統(tǒng) | 造價咨詢管理系統(tǒng) | 工程設(shè)計管理系統(tǒng) | 甲方項目管理系統(tǒng) | 簽約案例 | 客戶案例 | 在線試用
X 關(guān)閉

質(zhì)量管理:軟件產(chǎn)品集成管理

申請免費試用、咨詢電話:400-8352-114

在筆者進行CMMI的培訓(xùn)和咨詢中經(jīng)常遇到很多軟件技術(shù)人員并不清楚軟件產(chǎn)品集成是做什么的,在什么時候會進行產(chǎn)品的集成。產(chǎn)品集成對廣大軟件開發(fā)和測試人員來說是既熟悉又陌生的。熟悉是因為產(chǎn)品集成的概念經(jīng)常被提及,例如集成測試等等,陌生是因為在現(xiàn)實項目中產(chǎn)品集成的過程并不顯著)產(chǎn)品集成的英文是Product Integration,在CMMI中的縮寫是PI,它是一個單獨的PA(過程域),可見產(chǎn)品集成在軟件項目中的重要性。針對CMMI實施過程中發(fā)現(xiàn)的問題,筆者進行以下總結(jié)供大家對產(chǎn)品集成進行理解。
 ?。ㄒ唬┊a(chǎn)品集成的目的
  產(chǎn)品集成的目的就是組合產(chǎn)品組件最終形成產(chǎn)品,并要確保已集成的產(chǎn)品是符合用戶和設(shè)計需要的。CMMI對該過程提供了進一步的描述,產(chǎn)品集成的過程就是將產(chǎn)品組件集成為更復(fù)雜的產(chǎn)品組件或完整的產(chǎn)品。
  通過以上定義大家應(yīng)該注意以下兩個點:
  1、 產(chǎn)品集成出來的部件不一定就是最終的產(chǎn)品,也可能是項目過程中某一個中間的組件。
  2、 集成出來的產(chǎn)品或組件要符合用戶和相關(guān)設(shè)計文檔的要求。 通過對產(chǎn)品集成目的的分析,大家可以了解到產(chǎn)品集成在日常軟件開發(fā)過程中是個持續(xù)的過程,因為軟件產(chǎn)品是一步一步逐漸完成的,所以產(chǎn)品集成在軟件開發(fā)過程中應(yīng)該是一個經(jīng)常性的活動。那到底什么時候會進行產(chǎn)品集成呢?接下來大家就一起對產(chǎn)品集成的時機進行分析。
  (二)產(chǎn)品集成的時機
  在很多軟件開發(fā)模型的理論中都有提到過何時開展產(chǎn)品集成的活動,其中比較先進的理論是在敏捷式開發(fā)模型中提出的“持續(xù)集成”,以及微軟的MSF開發(fā)模型中倡導(dǎo)的“日構(gòu)建”理論,這些理論對軟件項目的開發(fā)具有指導(dǎo)性的意義。大家應(yīng)該在盡可能的情況下將產(chǎn)品集成的工作日?;?、自動化,這樣做的好處是可以盡早發(fā)現(xiàn)產(chǎn)品集成時由于各種接口不匹配的問題所帶來的風(fēng)險,而且可以使項目團隊成員對整體項目的進展有所了解。談到自動化產(chǎn)品集成就不得不提到“自動化日構(gòu)建”的工具,項目組成員可以利用NAnt或Ant來實現(xiàn)。這些工具都是基于XML的,使用起來非常簡單。因此在軟件項目中除了里程碑或重大變更需要進行產(chǎn)品集成外,筆者還建議可以開展“自動化日構(gòu)建”工作,將產(chǎn)品集成日?;?、自動化。
 ?。ㄈ┊a(chǎn)品集成的原理
  軟件開發(fā)和其他傳統(tǒng)行業(yè)的開發(fā)流程和方法在原理上都是具有相同性的,下面以一只筆的組裝過程來對產(chǎn)品集成的原理進行探討。首先拿出一只普通的簽字筆,該簽字筆就代表軟件項目最終所需交付的產(chǎn)品,然后將該簽字筆進行拆分,如圖1-1所示可以分解出“筆帽”、“筆桿前半部分”、“筆桿后半部分”、“筆芯”四個部分,這四個部分將分別代表軟件項目中的四個組件或模塊。
  通過對以上項目背景的描述,我們開始進入項目的開發(fā)過程,大多數(shù)軟件項目都是團隊合作完成的,在本項目中分別由四個小組來開發(fā)“筆帽”、“筆桿前半部分”、“筆桿后半部分”、“筆芯”四個模塊。
  ● 產(chǎn)品集成順序?qū)MMI對產(chǎn)品集成所要求實現(xiàn)的第一個特殊目標(biāo)“準(zhǔn)備產(chǎn)品集成”,它的第一個工作就是要先確定“產(chǎn)品集成的順序”。假如大家在組裝簽字筆的四個部件時,先將“筆桿前半部分”與“筆桿后半部分”進行組合,再將組合出來的“筆桿”與“筆芯”進行組合,那就可能導(dǎo)致事倍功半,甚至?xí)霈F(xiàn)返工。因此確定正確的“產(chǎn)品集成順序”是個非常重要而又需要盡早確定的工作。產(chǎn)品集成的順序最常見的是“自上而下”和“自下而上”的方式。當(dāng)使用“自上而下”的方式進行產(chǎn)品集成時往往會使用到測試樁的對象,該功能通常可以由Mock對象來實現(xiàn);當(dāng)使用“自下而上”的方式進行產(chǎn)品集成時可以使用NUnit或JUnit等單元測試工具,通過單元測試用例來進行驅(qū)動,使組裝得以順利進行。
  ● 產(chǎn)品集成的環(huán)境實現(xiàn)(了)第一個特殊目標(biāo)“準(zhǔn)備產(chǎn)品集成”,的第二個工作就是確定“集成的環(huán)境”,這點非常容易,簡單來說就是項目組需要指定一臺服務(wù)器作為產(chǎn)品集成的環(huán)境,需要注意的是該服務(wù)器的配置應(yīng)該能夠滿足項目的需要。
  ● 建立產(chǎn)品集成的步驟和準(zhǔn)則產(chǎn)品具體怎么集成應(yīng)該有一套詳細(xì)的方案和步驟,項目組可在適當(dāng)?shù)臅r候?qū)⑵湓敿?xì)制定出來并通過相關(guān)的評審。如何確定產(chǎn)品集成是否成功,項目組還應(yīng)該制定出相應(yīng)的驗收準(zhǔn)則,這樣產(chǎn)品集成才有據(jù)可依。通過以上步驟,產(chǎn)品集成的準(zhǔn)備工作就完成了,接下來就是產(chǎn)品集成的另外一個重要環(huán)節(jié),檢查“產(chǎn)品的接口”是否符合(并匹配)設(shè)計要求。
  ● 確保產(chǎn)品接口的兼容性在CMMI的產(chǎn)品集成過程中,第二個目標(biāo)就是要“確保產(chǎn)品接口的兼容性”。接口想必大家都十分清楚,在軟件開發(fā)和設(shè)計中都是非常重要的,產(chǎn)品集成是否成功很大因素取決于它。大家來回顧一下圖1-1,其中“筆桿前半部分”和“筆桿后半部分”的哪個部分是“筆桿”的接口呢?大家可以發(fā)現(xiàn)“筆桿前半部分”和“筆桿后半部分”各有螺旋形的“接口”,大家可以通過該螺旋形的“接口”將“筆桿前半部分”和“筆桿后半部分”擰到一起,組裝為一個完整的“筆桿”。假如“筆桿前半部分”和“筆桿后半部分”的螺旋形接口不匹配,那將產(chǎn)生次品或返工。在軟件項目中項目組可以在設(shè)計文檔中詳細(xì)描述各個接口以及之間的關(guān)系,或者通過一個列表來維護本項目的接口。當(dāng)出現(xiàn)變更時,產(chǎn)品接口的信息也務(wù)必及時更新。 考試大整理
  ● 組合產(chǎn)品組件并交付產(chǎn)品通過對CMMI產(chǎn)品集成過程中定義的第一和第二個特殊目標(biāo)的實現(xiàn),下面項目組就可以按照以上計劃和準(zhǔn)備工作開始進行產(chǎn)品的組裝。在進行產(chǎn)品組裝前要先確定項目組提交的各個組件或模塊本身的功能是符合要求的,否則組裝起來麻煩就更大了。如何確保組件在集成前的質(zhì)量,以及集成后的組件或最終產(chǎn)品是符合要求的,這就需要通過單元測試來實現(xiàn)?,F(xiàn)在主流的開發(fā)工具都有其配套的單元測試工具或功能,以TDD測試驅(qū)動開發(fā)模型的要求,開發(fā)人員會在開發(fā)過程中編寫并進行單元測試(當(dāng)然最好是先寫單元測試用例再進行開發(fā))。如果有了單元測試用例,那么在產(chǎn)品集成前和產(chǎn)品集成后通過運行相應(yīng)的測試用例就可以判斷產(chǎn)品是否符合設(shè)計的要求。最后就可以將組合好的組件或最終產(chǎn)品進行發(fā)布。但大多數(shù)時候產(chǎn)品集成后的發(fā)布是給測試組進行系統(tǒng)測試的。按照CMMI的最佳實踐,集成后的產(chǎn)品發(fā)布給測試組的時候應(yīng)該有一個交接、確認(rèn)的過程,測試組只需要檢查相關(guān)單元測試用例是否全部通過測試即可作為交接的依據(jù)。
  ● 產(chǎn)品集成與配置管理之間的關(guān)系筆者繼續(xù)以簽字筆為例,在項目起初階段只將“筆芯”和“筆桿后半部分”生產(chǎn)出來,那么按照“產(chǎn)品集成的順序”可以先將其進行集成,組合成為一個新的組件A,當(dāng)該組件A通過單元測試后,可以將其放入配置管理的“受控庫”中進行保存。當(dāng)“筆桿前半部分”生產(chǎn)出來后,再將組件A與“筆桿前半部分”進行集成產(chǎn)生新的組件B,新的組件B通過測試后仍舊提交“受控庫”進行保存。依次類推將各個組件進行集成直到生成最終的產(chǎn)品。
  總結(jié)
  產(chǎn)品集成是軟件開發(fā)日常性的工作,是和廣大軟件開發(fā)和測試人員息息相關(guān)的基礎(chǔ)性工作,筆者提倡將產(chǎn)品的集成日?;?、自動化起來。大家可以通過手中的筆就可以很好的將產(chǎn)品集成概念進行理解,只要把握住產(chǎn)品集成的“順序”、“環(huán)境”、“步驟”、“接口”、“集成測試”五個部分,那產(chǎn)品集成的管理就簡單可行了。為了便于理解,大家只要看看手中的筆就可以了:)
發(fā)布:2007-02-28 10:18    編輯:泛普軟件 · xiaona    [打印此頁]    [關(guān)閉]
相關(guān)文章:
相關(guān)系統(tǒng)
聯(lián)系方式

成都公司:成都市成華區(qū)建設(shè)南路160號1層9號

重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務(wù)大廈18樓

咨詢:400-8352-114

加微信,免費獲取試用系統(tǒng)

QQ在線咨詢