CMM (软件工程与集成产品开发)
一,
??? 在我們進行產品開發管理的過程中,任何一個中型以上的產品開發,一般都是一個集成產品開發的過程,這其實我們看待產品開發的角度與層次,讓我分層次來看一個IT公司的管理:
?? 1,一個常規IT公司從運作角度來說,按產品的生成消亡來看,分為市場階段,產品階段,開發階段,發布交付階段,維護階段。根據這些階段相應承擔其責的部門應有,市場部門(sales,marketing),產品部門(product),
RD部門(R&D),測試部門,支持部門(FAE,Call Service).同時,相應的支持部門還會有人力資源部門(HR)財務部門(Finance),運維部門(OM,Operation&Maintain).那么產品集成開發與軟件工程所涉及的部門當屬R&D,Product,Testing,Technical Support.HR,
?? 2,從集成產品開發角度,系統工程組從產品部門得到需求(也可以從客戶)進行需求分析,然后進行產品集成系統設計(可以增加系統分析與設計部門),然后以SOW(任務分配書)形式分給不同軟件項目組,不同硬件組,同時配備給他們相應的測試組,最后產品測試組裝,發布。那么軟件工程的理論(具體的方法學)可以應用到軟件項目組中。(當然,軟件工程中的方法學也是一個與組織相關的系統工程,也有自己的組織方法,比如要進行培訓,要進行人力資源配合,要進行組織的不斷改進與變化)。比如CMM就有適用于軟件開發的SW-CMM也有適用于其它開發(如硬件相關產品的開發)P-CMM,為了簡化,我們就只注重SW-CMM那么集成產品開發中,軟件開發項目組,才是SW-CMM大顯身手的地方,當然軟件開發中也有系統與架構設計這一環節,所以IPD(Integerated Product Development)強調是較高層次的組織協調與系統分析,而軟件工程方法注重是軟件開發及相關過程的方法論。這樣容易理解集成產品開發與軟件工程之間的關系。接下來我們來學習一下軟件工程中的方法學:CMM,RUP,XP。
a,CMM:
?????????? 根據軟件開發經驗,對軟件開發過程進行識別,標明,識別其中關鍵的部分(KPA),這些部分對軟件產品的開發起決定性或至關重要的作用,一個軟件開發企業,建立這些部分規則,及好的實踐方法,這樣這個企業組織就能夠成功應對各種軟件產品的開發,當然這些關健部分只所以成為關健部分,都是以軟件開發經驗作為依據,客觀,實用,當然一個企業不可能短時間內全部對這些部分進行關注與達到一定的組織能力。于是CMM(Capability of Mature? Model)對這些部分進行按級別劃分,企業可以一步一步,實現這些部分,這些部分按著級別,逐漸對開發組織進行越來越清晰的認識與越來越有效的管理。所以這些部分是分層次的。如果不做好第二層,就不可能做好第三層次。
??????????? 這些部分也可以按過程過化分,一個產品的軟件開發過程,其中有數年過程
??????? 基本過程:也可以看作產品的生命周期過程。
??????????????????????? 需求過程,開發過程,驗證過程,發布過程,維護過程。
????????質量過程:
??????? 組織過程:
b,RUP(Rational Unite Process)
????????? 這是一套對軟件開發過程的方法學,強調以架構為中心,迭代式漸近開發方法來完成產品的開發周期。
????????也就是說是重點在于產品開發生命周期的一種方法學
c,XP (Extremely Process)
??????? 算是一種Alige Process,強調面對需求快速變化的項目,強調快速的結對編程,開發產物的組內透明,與重構。也就是說是重點在于產品開發生命周期的一種方法學
轉載于:https://www.cnblogs.com/windwithlife/archive/2009/07/30/1535163.html
總結
以上是生活随笔為你收集整理的CMM (软件工程与集成产品开发)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 聊聊我对开发项目选技术的看法
- 下一篇: 在VS2008中DataGridView