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