軟件工程與能力成熟度模型CMM論文

時間:2023-04-29 12:04:21 論文范文 我要投稿
  • 相關(guān)推薦

軟件工程與能力成熟度模型CMM論文

  中國計算機用戶

軟件工程與能力成熟度模型CMM論文

  20世紀(jì)70年代中期,軟件工程管理引起廣泛注意。當(dāng)時美國曾立題專門研究軟件項目做不好的原因,發(fā)現(xiàn)70%的失敗項目是因為管理不善而引起的,而不是因為技術(shù)實力不夠。他們進(jìn)而得出一個結(jié)論,即管理是影響軟件研發(fā)項目全局的因素,而技術(shù)只影響局部。這個結(jié)論非常重要。軟件項目失敗的主要原因有:需求定義不明確;缺乏一個好的軟件開發(fā)過程;沒有一個統(tǒng)一領(lǐng)導(dǎo)的產(chǎn)品研發(fā)小組;子合同管理不嚴(yán)格;沒有經(jīng)常注意改善軟件過程;對軟件構(gòu)架很不重視;軟件界面定義不善且缺乏合適的控制等等。在關(guān)系到軟件項目成功與否的眾多因素中,軟件度量、工作量估計、項目規(guī)劃、進(jìn)展控制、需求變化和風(fēng)險管理等都是與工程管理直接相關(guān)的因素。由此可見,軟件工程管理的意義至關(guān)重要。

  軟件項目的特殊性

  軟件工程管理和其它工程管理相比有其特殊性。首先,軟件是知識產(chǎn)品,進(jìn)度和質(zhì)量都較難度量,生產(chǎn)效率也較難保證。其次,軟件系統(tǒng)復(fù)雜程度也是超乎想象的。例如,宇宙飛船的軟件系統(tǒng)源程序代碼多達(dá)2000萬行,如果按過去的生產(chǎn)效率一個人一年只能寫1萬行代碼的話,將需要2000人年的工作量,這是非常驚人的。正因為軟件如此復(fù)雜和難以度量,軟件工程管理的發(fā)展還很不成熟。

  CMM,逐步的成熟

  美國Carnegie Mellon大學(xué)軟件工程研究所(CMU/SEI)主持研究與開發(fā)的CMM/PSP/TSP技術(shù),為軟件工程管理開辟了一條新的途經(jīng)。CMM是英文“Capability Maturity Model”的簡稱,意為能力成熟度模型。CMM的本質(zhì)是軟件管理工程的一個部分。根據(jù)軟件生產(chǎn)的歷史與現(xiàn)狀,CMM框架可用5個不斷進(jìn)化的層次來表達(dá):其中初始層是混沌的過程,可重復(fù)層是經(jīng)過訓(xùn)練的軟件過程,定義層是標(biāo)準(zhǔn)一致的軟件過程,管理層是可預(yù)測的軟件過程,優(yōu)化層是能持續(xù)改善的軟件過程。任何單位所實施的軟件過程,都可能在某一方面比較成熟,在另一方面不夠成熟,但總體上必然屬于這5個層次中的某一個層次。在某個層次內(nèi)部,也有成熟程度的區(qū)別。在一個較低層次的上沿,很可能與一個較高層次的下沿非常接近,此時由這個較低層次向該較高層次進(jìn)化也就比較容易。反之,在一個較低層次的下沿向較高層次進(jìn)化,就比較困難。在CMM框架的不同層次中,需要解決帶有不同層次特征的軟件過程問題。因此,一個軟件開發(fā)單位首先需要了解自己處于哪一個層次,然后才能夠?qū)ΠY下藥地針對該層次的特殊要求解決相關(guān)問題,這樣才能收到事半功倍的軟件過程改善效果。任何軟件開發(fā)單位在致力于軟件過程改善時,只能由所處的層次向緊鄰的上一層次進(jìn)化,即軟件過程的進(jìn)化是漸進(jìn)的,而不能是跳躍的。而且在由某一成熟層次向上一更成熟層次進(jìn)化時,在原有層次中的那些已經(jīng)具備的能力還應(yīng)該得到保持與發(fā)揚。

  CMM家族包括CMM集成產(chǎn)品集、SACMM(軟件獲取能力成熟度模型)、SECMM(系統(tǒng)工程能力成熟度模型)和IDEAL模型。其中CMM集成產(chǎn)品集為工業(yè)界和政府部門提供了一系列集成產(chǎn)品,以支持軟件過程和產(chǎn)品的改善;SACMM用于單位獲取和采購基于軟件的應(yīng)用系統(tǒng)的軟件過程,美國、陸軍、海軍和一些商用單位都已采用SACMM對他們的獲取能力進(jìn)行評估;SECMM是描述一個單位為保證實現(xiàn)一個好的系統(tǒng)工程的主要元素;而IDEAL模型則是一個單位用于啟動、規(guī)劃和實現(xiàn)過程改善措施藍(lán)圖的模型,概括了建立一個成功的過程改善項目的必要步驟,其中I代表Initiating(啟動)、D代表Diagnosing(診斷)、E代表Establishing(建造)、A代表Acting(措施)、L代表Learning(學(xué)習(xí))。

  美國曾在1995年做過軟件產(chǎn)業(yè)成熟程度的調(diào)查,發(fā)現(xiàn)在美國的軟件產(chǎn)業(yè)中,CMM成熟度等級為初始級的竟占70%,其特征是軟件開發(fā)過程不能預(yù)測,風(fēng)險度高;為可重復(fù)級的占15%,其特征是軟件開發(fā)過程需小心謹(jǐn)慎方能避免失;為定義級的所占比例小于10%,其特征是軟件開發(fā)過程相當(dāng)穩(wěn)定,進(jìn)展順利且可以預(yù)測;為管理級的所占比例小于5%,其特征是軟件過程預(yù)測準(zhǔn)確、值得信賴;為優(yōu)化級的所占比例小于1%,其特征是軟件過程能持續(xù)改善。

  CMM還需綠葉配

  需要注意的是,并不是實施了CMM,軟件項目的質(zhì)量就能有所保障。CMM不是萬能的,它的成功與否,與一個組織內(nèi)部有關(guān)人員的積極參與和創(chuàng)造性活動是密不可分的,而且CMM并未提供實現(xiàn)有關(guān)子過程域所需要的具體知識和技能。因此,個體軟件過程PSP(Personal Software Process)也就應(yīng)運而生。PSP為基于個體和小型群組軟件過程的優(yōu)化提供了具體而有效的途徑,例如如何制訂計劃,如何控制質(zhì)量,如何與其他人相互協(xié)作等等。在軟件設(shè)計階段,PSP的著眼點在于軟件缺陷的預(yù)防,其具體辦法是強化設(shè)計結(jié)束準(zhǔn)則,而不是設(shè)計方法的選擇。根據(jù)對參加培訓(xùn)的104位軟件人員的統(tǒng)計數(shù)據(jù)表明,在應(yīng)用了PSP后,軟件中總的缺陷減少了58.0%,在測試階段發(fā)現(xiàn)的缺陷減少了71.9%,生產(chǎn)效率提高了20.8%。PSP的研究結(jié)果還表明,絕大多數(shù)軟件缺陷是由于對問題的錯誤理解或簡單的失誤所造成的,只有很少一部分是由于技術(shù)問題而產(chǎn)生的。而且根據(jù)多年來的軟件工程統(tǒng)計數(shù)據(jù)表明,如果在設(shè)計階段注入一個差錯,則這個差錯在編碼階段要引發(fā)35個新的缺陷,要修復(fù)這些缺陷所花的費用要比修復(fù)這個設(shè)計缺陷所花的費用多一個數(shù)量級。因此,PSP保障軟件產(chǎn)品質(zhì)量的一個重要途徑是提高設(shè)計質(zhì)量。PSP的推出,在軟件工程界引起了極大的轟動,可以說是由定向軟件工程走向定量軟件工程的一個標(biāo)志。

  僅有CMM和PSP還是不夠的,因此,CMU/SEI又在此基礎(chǔ)上提出了群組軟件過程TSP(Team Software Process)的方法。TSP指導(dǎo)項目組中的成員如何有效地規(guī)劃和管理所面臨的項目開發(fā)任務(wù),并且告訴管理人員如何指導(dǎo)軟件開發(fā)隊伍始終以最佳狀態(tài)來完成工作。TSP實施集體管理與自我管理相結(jié)合的原則,最終目的在于指導(dǎo)一切人員如何在最少的時間內(nèi),以預(yù)定的費用生產(chǎn)出高質(zhì)量的軟件產(chǎn)品;所采用的方法是對群組軟件開發(fā)過程的定義、度量和改進(jìn)。實施TSP的先決條件有3條:首先,需要有高層主管和各級經(jīng)理的支持,以取得必要的資源;其次,項目組開發(fā)人員需要經(jīng)過PSP的培訓(xùn)并有按TSP工作的愿望和熱情;第三,整個單位在總體上應(yīng)處于CMM二級以上。在實施TSP的過程中,首先要有明確的目標(biāo),開發(fā)人員要努力完成已經(jīng)接受的委托任務(wù)。在每一階段開始,要做好工作計劃。如果發(fā)現(xiàn)未能按期按質(zhì)完成計劃,應(yīng)分析原因,以判定問題是由于工作內(nèi)容不合適或工作計劃不實際所引起,還是由于資源不足或主觀努力不夠所引起。開發(fā)小組一方面應(yīng)隨時追蹤項目進(jìn)展?fàn)顟B(tài)并進(jìn)行定期匯報,另一方面應(yīng)經(jīng)常評審自己是否按PSP的原理工作。開發(fā)人員應(yīng)按自己管理自己的原則管理軟件過程,如發(fā)現(xiàn)過程不合適,應(yīng)及時改進(jìn),以保證用高質(zhì)量的過程來生產(chǎn)高質(zhì)量的軟件。項目開發(fā)小組則按集體管理的原則進(jìn)行管理,全體成員都要參加和關(guān)心小組的規(guī)劃、進(jìn)展的追蹤和決策的制訂等項工作。

  總之,單純實施CMM,永遠(yuǎn)不能真正做到能力成熟度的升級,只有將實施CMM與實施PSP和TSP有機地結(jié)合起來,才能發(fā)揮最大的效力。

【軟件工程與能力成熟度模型CMM論文】相關(guān)文章:

系統(tǒng)工程能力成熟度模型04-26

軟件工程技術(shù)和CMM的融合研究的論文04-27

可靠性系統(tǒng)工程能力成熟度模型研究04-28

軟件工程及其模型的課件開發(fā)研究論文04-27

能力導(dǎo)向型軟件工程課程研究的論文04-27

知識管理成熟度模型研究初探04-30

神舟飛船項目管理成熟度模型研究05-01

情緒智力的能力模型04-26

神舟項目管理成熟度模型的建立與應(yīng)用05-02

關(guān)于軟件工程創(chuàng)新能力支撐系統(tǒng)構(gòu)建論文04-27