韓 璐
(陜西職業技術學院,710100)
在軟件企業進行軟件開發的過程之中,需要運用科學的管理方法對軟件工程進行管理,以充分把握所開發軟件的成本、質量以及進度等,從而確保軟件能及時進行交付。軟件能力成熟度模型(CMM)是軟件工程管理理論之中一種重要的理論方法,運用基于CMM的軟件工程管理工具能夠有效的幫助企業進行改進并實現管理的優化,進而使企業的開發水平以及產品的質量均得到相應的提高。因此,有必要對基于CMM的軟件工程管理工具進行研究并進行具體的實現。
軟件工程管理是軟件工程與項目管理的綜合學科。軟件工程是針對軟件的特殊性質、圍繞產品生命周期的工程化方法,項目管理是針對某個項目、關注于項目的生命周期的管理方法。在軟件工程之中,通常會與管理方面的一些問題有所涉及,從而與項目管理中的某部分相重合。把項目管理的知識與軟件工程相互結合,從而找出符合軟件產品特點的管理方法,才能對軟件項目與軟件產品進行有效的管理。
軟件工程管理作為一門新型的、創造性的綜合學科,其管理模式并非十分的成熟,管理的過程之中存在著一些問題。首先,當下的軟件企業之中的管理人員往往由技術能力較強的人員擔任,而這些技術人員通常都是技能方面的能力過硬,而管理方面的能力卻有所欠缺,缺乏系統性的培訓。其次,由于非專業性的管理人員相對缺乏計劃意識,所以對于項目的實施經常會缺乏具有整體性的規劃,由此便導致在實施的過程之中常常由于意外事情的出現而擱置了工程,結果往往是進度跟不上而無法及時進行交付。再次,同樣由于缺乏專業性管理人員,在進行軟件工程實施的過程之中,管理人員往往由于管理意識的淡薄而沒有對相關人員進行合理的安排,這往往導致實施的過程之中人員無法很好的相互配合,造成資源的不必要浪費。
軟件能力成熟度模型(CMM)最初是由美國聯邦政府委托卡內基梅隆大學軟件工程研究所開發研究,以對軟件承包商能力進行評估的一種方法。通過對軟件開發過程進行管理、測量、控制等,CMM能有效的幫助企業的開發過程進行改進并促進軟件質量的提高。
對軟件過程進行評估。對軟件的專業人員進行培訓之后,由專業人員企業軟件的過程現狀進行相應的確定,并把與軟件過程有關的且急需進行解決的問題找出,讓企業的領導同意對軟件過程進行改進。
對軟件過程進行改進。對軟件的工作過程以及工作產品進行相應的管理,發現軟件過程之中的缺陷并不斷對其進行改進,從而幫助企業軟件能夠更好的轉變。
對軟件能力進行評價。對軟件的專業人員進行一定的培訓之后,由專業人員對軟件企業的資格與能力進行判定,并對用于軟件開發的軟件過程的具體狀況進行相應的檢查與監測。
根據過程成熟度的不同,CMM的能力成熟級別分為五個等級,分別為:紀律化過程的初始級、標準一致過程的可重復級、可預測過程的已定義級、不斷改進過程的已管理級、不斷改進過程的優化級。通過這五個等級對軟件過程成熟度進行度量、對軟件過程能力進行評價,并確定其相應的等級。CMM的五個成熟等級為商業招標提供了具有可行性的評判依舊,同時為軟件過程的不斷改進提供了確切的目標方向。
首先,能保證軟件開發的質量與進度,能對“雜亂無章、無序管理”的項目開發過程進行規范。
其次,有利于成本控制。因為質量有所保證,浪費在修改、解決客戶的抱怨方面的成本會降低很多?,F在絕大多數情況是缺少規范制度,只是求快。項目完成后,要花很多時間修修補補,費用很容易失控。
再次,有助于提高軟件開發者的職業素養。每一個具體參與其中的員工,無論是項目經理,還是工程師,甚至一些高層管理人的做事方法逐漸變得標準化、規范化。
除此之外,還能夠解決人員流動所帶來的問題。公司通過過程改進,建立了財富庫以共享經驗, 而不是單純依靠某些人員。
最后,有利于提升公司和員工績效管理水平,以持續改進效益。通過度量和分析開發過程和產品,建立公司的效率指標。
CMM現已成為對承包商的開發能力進行判定以及幫助企業對軟件質量進行改進的最有效、運用最廣泛的軟件生產過程標準,為更好的運用CMM幫助企業進行生產,現對基于CMM的軟件工程管理工具進行相應的研究。
工具是基于CMM模型與瀏覽器/服務器模式,并在MS Project 2003的基礎之上進行的二次開發而成。將微軟的ASP技術運用于其前臺,將Jscript語言運用于腳本,而后臺對關系數據庫和文檔型數據的處理則以SQL Sverver2000的數據庫作為其支撐。該系統工具能夠進行項目計劃的制定、任務的分派、項目的監控、LC模型信息與項目特征信息以及各模型特征值的配置,除此之外還能夠進行交流協作、規范開發過程以及提供相應的支撐平臺。要實現相應的功能需運用HTTP作傳輸協議,并在TCP/IP協議的支持下通過瀏覽器對Web服務器進行訪問,Web服務器進一步對數據庫服務器發出請求,獲得結果之后將結果通過HTML形式返回相應的瀏覽器。
本系統工具是在Web軟件項目管理系統的基礎之上設計的,在設計的過程之中采用了客戶端瀏覽器、運用Microsoft Internet Information Server 5.0的Web應用服務器、以SQL Sverver2000作為其支撐的后臺數據庫。
在運用這個工具之前,進行管理的過程之中所需要的需求報告與狀態報告等都需要人為進行編寫,而人為使用word進行編寫卻極為耗時耗力,同時還很可能因為一不小心造成失誤,從而使數據不夠準確。但運用基于CMM的軟件工程管理的新工具之后,管理過程之中所需要的所有的報告都是按照一定的規則進行填寫,過程之中的數據信息也統一收入至后臺數據庫,從而充分保證了對數據進行分析的精確性以及相應報告的填寫效率。進行軟件工程管理的整個過程都清晰明了,實現了高效的量化管理。
CMM能有效的對承包商的開發能力進行判定以及幫助企業對軟件質量進行改進,是當今世界運用最廣的生產過程標準以及軟件企業成熟度等級認證標準,運用基于CMM的自動化軟件工程管理工具能夠有效的幫助企業進行改進并實現管理的優化,通過對CMM能力成熟度模型進行深入的研究與探討,從而建立軟件工程管理的功能模型,進一步運用Web技術以實現相應的軟件工程管理工具。軟件工程管理工具通過對項目管理軟件、網絡技術進行下相應的整合,以幫助相關的管理人員打破地域上的限制,從而有效的對項目進行管理。在運用CMM過程之中,工具的投入使用成功的增強了收集數據、整理報告等工作的效率,使得工作的時間大大減少的同時還充分的提高了數據的準確性,避免了錯誤的出現。
[1]楊一平等.軟件能力成熟度模型CMM方法及其應用[M],人民郵電出版社,2008
[2]雷劍文,陳振沖,李明樹.CMM軟件過程的管理與改進[J],清華大學出版社.2009
[3]鄭人杰,王緯,王萬德,蔡愉祖.基于軟件能力成熟度模型(CMM)的軟件過程改進方法與實施[M],清華大學出版社,2010
[4]陳海燕,梁成才,肖麗雯.CMM二級KPA軟件項目跟蹤和監督的一個設計實施方案[M],計算機工程,2010