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

質量管理:軟件產品集成管理

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

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

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

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

咨詢:400-8352-114

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

QQ在線咨詢