【摘要】卡耐基·梅隆大學(xué)軟件工程研究所提出的CMM(capacity maturity model,軟件能力成熟度模型),提出了軟件開發(fā)中從混亂的、個別的過程達(dá)到成熟的規(guī)范化過程的一個框架。其中SQA(software quality assurance )是CMM第2等級中的一個關(guān)鍵過程域。SQA通過貫穿整個軟件開發(fā)過程的質(zhì)量監(jiān)控,可以顯著改善軟件產(chǎn)品的質(zhì)量。教育軟件的開發(fā)同樣如此。本文從SQA規(guī)范的角度出發(fā)審視教育軟件的開發(fā),探討其對教育軟件開發(fā)的啟示。
【關(guān)鍵詞】教育軟件開發(fā),CMM模型,SQA規(guī)范
【中圖分類號】G420【文獻(xiàn)標(biāo)識碼】B【論文編號】1009—8097(2006)02—0015—04
一、引言
近幾年來,隨著以計算機和網(wǎng)絡(luò)為主的信息技術(shù)的迅速發(fā)展,它在教育中的應(yīng)用受到社會各界的普遍關(guān)注。從實踐情況來看,全國各地中小學(xué)校的信息技術(shù)硬件基礎(chǔ)設(shè)施建設(shè)已經(jīng)初具規(guī)模,一些經(jīng)濟發(fā)達(dá)地區(qū)的學(xué)校硬件基礎(chǔ)設(shè)施配備其豪華程度甚至超過了英美等發(fā)達(dá)國家的平均水平。但是,教育信息化的順利實施,僅有硬件的支撐是不夠的,更重要的是教學(xué)軟件資源的建設(shè)。據(jù)慧聰商情統(tǒng)計[1],2002~2003年度我國教育信息化投資達(dá)210億元,其中教育軟件方面的投資占34億元,教育軟件銷售量在整個軟件零售市場中所占份額約為34%。然而根據(jù)K12網(wǎng)站最近做的一次調(diào)查[2](教師、學(xué)生、家長和其他人士共1461人參與)發(fā)現(xiàn):對教育軟件的開發(fā),只有10.61%的人感到比較滿意,感覺一般的為31.9%,感覺不太滿意或非常不滿意高達(dá)57.49%。為什么教育軟件市場不斷升溫,而人們對教育軟件的滿意程度如此低下?產(chǎn)品的最終質(zhì)量很大程度上取決于產(chǎn)品的生產(chǎn)過程中,一個規(guī)范的軟件開發(fā)過程對于保證軟件的質(zhì)量有著極其重要的意義。廣大教師普遍覺得當(dāng)前教育軟件總體上來說數(shù)量很多,但真正適合自己使用的卻很少。許多教育軟件僅僅是教材內(nèi)容的電子化,有些甚至存在科學(xué)性錯誤,有些不能進(jìn)行二次開發(fā),還有些教育軟件存在兼容性問題等等。教育軟件的質(zhì)量是影響教育資源有效應(yīng)用和整個軟件市場健康發(fā)展的一個關(guān)鍵,如何開發(fā)出高質(zhì)量的、滿足師生需求的教育軟件自然成為眾多教育軟件企業(yè)苦苦思索的一個問題。
本研究之所以選擇CMM模型中的SQA規(guī)范,主要是因為目前眾多軟件生產(chǎn)企業(yè)都將通過CMM等級認(rèn)證作為規(guī)范企業(yè)開發(fā)行為、保證產(chǎn)品質(zhì)量、提高企業(yè)競爭力的重要手段,從我國教育軟件企業(yè)的實際情況出發(fā),參考CMM2級的標(biāo)準(zhǔn)進(jìn)行軟件過程改進(jìn)是有其可行性的,在教育軟件的開發(fā)中,引入SQA對于解決目前教育軟件開發(fā)過程中存在的問題進(jìn)而保證生產(chǎn)出高質(zhì)量的教育軟件都有著重要的意義。
二、CMM和SQA規(guī)范介紹
1、CMM(軟件能力成熟度模型)簡介
CMM(Capacity Maturity Model,軟件能力成熟度模型)模型是卡耐基·梅隆大學(xué)以Watts Humphrey為首的專家們總結(jié)了大量的軟件工程項目的經(jīng)驗后形成的研究成果。CMM按軟件過程的不同成熟程度劃分了5個等級(初始級、可重復(fù)級、已定義級、已管理級、優(yōu)化級),它是衡量軟件組織過程成熟度的尺度,為企業(yè)改進(jìn)過程提供了導(dǎo)向的路線圖。具體而言,各個成熟度等級的管理差異、特征和關(guān)鍵過程域(Key Process Area,KPA:即要達(dá)到每個等級的目標(biāo)所要做的關(guān)鍵的實踐工作)可以用下表1(鄭人杰等,2003)加以描述。
從上表可以看出,CMM中的第1級屬于初始級,是個別的、混亂的、不可預(yù)測的過程,其中并沒有關(guān)鍵活動域。第2級是可重復(fù)級,引入了項目管理的思維,注重過程的可重復(fù)性,有六個關(guān)鍵過程域,對于保證軟件的質(zhì)量是極其重要的。第3、4、5級是日臻完善的過程,處在較高成熟度等級上的軟件企業(yè)通常具有較高的生產(chǎn)率、較高的產(chǎn)品質(zhì)量和較低的項目風(fēng)險。教育軟件企業(yè)可以借鑒CMM中的標(biāo)準(zhǔn)和規(guī)范來改進(jìn)開發(fā)過程,保證最終產(chǎn)品的質(zhì)量。
CMM給出了CMM模型體現(xiàn)了軟件工程和軟件管理的優(yōu)秀實踐,它集中了許多軟件工作者合作總結(jié)出的一套過程和實踐,對于指導(dǎo)軟件組織改進(jìn)過程有著重要意義。目前全球的軟件企業(yè)都把通過CMM的等級認(rèn)證作為規(guī)范企業(yè)開發(fā)行為,保證產(chǎn)品質(zhì)量,提高企業(yè)競爭力的重要手段。
2、SQA規(guī)范的具體描述
為CMM第2等級的軟件質(zhì)量保證(software quality assurance,SQA),本文主要是采用1991年IEEE所提出的定義。具體而言,SQA是一種有計劃的、系統(tǒng)化的行動模式,它是為項目或產(chǎn)品符合已有技術(shù)需求提供充分信任所必需的、設(shè)計用來評價開發(fā)或制造產(chǎn)品的過程的一組活動(IEEE,1991;Daniel Galin,2004)。SQA規(guī)范的具體內(nèi)容,如表2(鄭人杰等,2003)所示。
在軟件項目的早期階段,SQA的參與人員與項目開發(fā)人員一起制定開發(fā)計劃(SDP),同時SQA的人員制定一個質(zhì)量保證計劃(SQAP)。軟件質(zhì)量保證計劃是成功進(jìn)行軟件質(zhì)量保證工作關(guān)鍵的第一步,實際上在SQAP中所制定的一系列計劃涵蓋了SQA的所有活動。在整個軟件的生存周期中,SQA選擇適當(dāng)時機評審項目活動、審核軟件產(chǎn)品、驗證規(guī)程和標(biāo)準(zhǔn)的符合情況。SQA把評審收集上的信息及時反饋給軟件工程組,當(dāng)問題無法在工程組內(nèi)解決時,再向上級管理者匯報,以求解決問題。從軟件需求階段開始到系統(tǒng)測試為止,軟件質(zhì)量保證過程與軟件開發(fā)過程是同步的,并且與軟件開發(fā)過程的信息交流是雙向反饋的。
需要說明一點的是,SQA與軟件測試并不是一回事,軟件測試是軟件開發(fā)過程的一個階段,而SQA是貫穿整個軟件開發(fā)過程;軟件測試的結(jié)果可供SQA使用,軟件測試不能代替軟件質(zhì)量保證。
三、SQA對于教育軟件開發(fā)的啟示
SQA規(guī)范在一般軟件開發(fā)中的應(yīng)用已經(jīng)取得了良好的效果,在教育軟件開發(fā)過程中,我們同樣可以引入SQA規(guī)范,通過其在開發(fā)過程中的應(yīng)用來保證教育軟件產(chǎn)品的質(zhì)量。具體而言,SQA規(guī)范對教育軟件開發(fā)的啟示主要體現(xiàn)在以下三個方面。
1、設(shè)立SQA組并制定SQAP
對于教育軟件來說,所謂的高質(zhì)量并不僅僅體現(xiàn)在軟件功能的實現(xiàn)上,更重要的是其是否承載著先進(jìn)的教學(xué)理念,能否滿足教師和學(xué)生在教學(xué)和學(xué)習(xí)方面的需求。只有從教育軟件的教育性入手,深入分析師生的需求,深入分析教學(xué)內(nèi)容,運用教育學(xué)、心理學(xué)、視聽心理學(xué)、媒體設(shè)計理論、軟件工程等知識來指導(dǎo)軟件的開發(fā),才能開發(fā)出高質(zhì)量的教育軟件。
因此,我們提倡在開發(fā)過程中設(shè)立一個有教學(xué)設(shè)計人員和學(xué)科專家參與的SQA組,這樣可以保證教育軟件的科學(xué)性和教育性。SQA組的人員與教育軟件的開發(fā)人員彼此獨立。基于教育軟件公司的成本考慮,其SQA組建議主要由管理人員、程序設(shè)計人員、教學(xué)設(shè)計專家、學(xué)科專家組成。
SQA中的第一個目的是確保軟件質(zhì)量保證活動是有計劃的,所以設(shè)立完SQA組后的首要任務(wù)是制定軟件質(zhì)量保證計劃(SQAP),其中的具體內(nèi)容包括:(1)SQA員工的職責(zé)和權(quán)力;(2)SQA活動的日程表和投資;(3)SQA參與制定的項目的SDP、標(biāo)準(zhǔn)和規(guī)程的情況;(4)SQA對項目活動和產(chǎn)品的評價、審核情況;(5)SQA向軟件工程組和高級管理者反饋信息的文檔。實際上在SQAP中所制定的一系列計劃涵蓋了SQA的所有活動。在整個軟件的生存周期中,SQA選擇適當(dāng)時機評審項目活動、審核軟件產(chǎn)品、驗證規(guī)程和標(biāo)準(zhǔn)的符合情況。SQA把評審收集上的信息及時反饋給軟件工程組,當(dāng)問題無法在工程組內(nèi)解決時,再向上級管理者匯報,以求解決問題。從軟件需求階段開始到系統(tǒng)測試為止,軟件質(zhì)量保證過程與軟件開發(fā)過程是同步的,并且與軟件開發(fā)過程的信息交流是雙向反饋的。
2、建立有效的交流協(xié)調(diào)機制
SQA的另一個目的是“受影響的組和個人接到軟件質(zhì)量保證活動和結(jié)果的通知”,相應(yīng)地SQA組定期向軟件工程組報告其活動結(jié)果。建立有效的交流機制體現(xiàn)在兩個方面,一個方面是SQA組和開發(fā)組之間要建立有效的交流機制,從項目開始 SQA就參與制定的項目的開發(fā)計劃、標(biāo)準(zhǔn)和規(guī)程,所以從一開始SQA組就要和開發(fā)組有所溝通,和開發(fā)組一起制定合理而有效的開發(fā)計劃;在項目的開發(fā)過程中,SQA組中的管理人員主要審核開發(fā)組的開發(fā)計劃是否合理、開發(fā)成本是否合理、開發(fā)風(fēng)險是否可控等問題;程序設(shè)計人員審核開發(fā)的技術(shù)是否合適,代碼和文檔的編寫是否合乎規(guī)范,軟件測試是否符合要求等問題;教學(xué)設(shè)計專家和學(xué)科專家審核資源內(nèi)容是否具有科學(xué)性和適用性、資源內(nèi)容的組織是否合理、資源的表現(xiàn)方式是否符合特定學(xué)習(xí)者的認(rèn)知方式、資源建設(shè)是否符合特定的標(biāo)準(zhǔn)等問題;SQA組會定期將這些評價和審核的情況都會以文檔的形式反饋給開發(fā)組和高級管理者,以便開發(fā)組及時調(diào)整開發(fā)活動。所以SQA組和開發(fā)組的有效交流機制的建立非常重要。另一方面開發(fā)組內(nèi)部的成員也要建立有效的交流機制。開發(fā)組內(nèi)部的項目經(jīng)理要做好教學(xué)設(shè)計專家、學(xué)科專家與程序設(shè)計人員的管理工作,協(xié)調(diào)他們之間的交流,如果不能協(xié)調(diào)好就會出現(xiàn)程序員和教學(xué)設(shè)計專家、學(xué)科專家之間彼此不能明白對方的意思。保證相互之間明確對方的開發(fā)意圖,對于保證教育軟件的教育性和提高質(zhì)量有著重要的意義。
3、教育軟件產(chǎn)品和開發(fā)活動要符合規(guī)范
SQA的第二個目的是軟件產(chǎn)品和活動遵守適用的標(biāo)準(zhǔn),規(guī)程和需求的情況得到客觀驗證。從教育軟件的開發(fā)活動來看,開發(fā)活動要符合規(guī)范。
首先,開發(fā)人員組成要合理。從公司調(diào)研的實際情況來看,目前許多教育軟件的開發(fā)并沒有教學(xué)設(shè)計人員和學(xué)科專家的直接參與。通常的情況是教育軟件項目組中只有少數(shù)的幾個核心骨干組成,并且一個開發(fā)人員(技術(shù)骨干)身兼數(shù)職,既要做需求分析,選題策劃,又要做程序設(shè)計和軟件測試。教育軟件的開發(fā)人員一般由以下人員構(gòu)成:項目管理人員、程序設(shè)計人員、需求分析員、腳本寫作人員、教學(xué)設(shè)計專家、學(xué)科專家等。將開發(fā)人員確定為一個項目組,并根據(jù)預(yù)先制定的計劃具體安排每一項活動,人人各司其職、反對技術(shù)骨干身兼數(shù)職。
其次,教育軟件的開發(fā)要經(jīng)過詳細(xì)的需求分析。全國教育科學(xué)“十五”課題“信息技術(shù)在中小學(xué)教育中應(yīng)用的有效性研究”課題組2004年4月在北京、內(nèi)蒙古、安徽和遼寧四省市做了教師對于教學(xué)資源需求的問卷調(diào)查,共發(fā)放800份問卷,回收679份,有效問卷668份,回收率84.9% 有效率98.4%。調(diào)查結(jié)果表明,93.2%的教師表示教育軟件公司從來沒有調(diào)查過他們對教學(xué)資源開發(fā)的需求信息(徐恩芹,劉美鳳,2005)。如果沒有針對廣大教師用戶進(jìn)行需求分析,就很難做出高質(zhì)量高的教育軟件產(chǎn)品。從這一點也可以看出,在最初的需求分析階段就體現(xiàn)出了教育軟件的開發(fā)過程缺乏規(guī)范性。
第三,教育軟件產(chǎn)品的開發(fā)要符合教育領(lǐng)域內(nèi)的資源建設(shè)元數(shù)據(jù)標(biāo)準(zhǔn),目前國內(nèi)的標(biāo)準(zhǔn)主要有:Celts-3 (學(xué)習(xí)對象元數(shù)據(jù)規(guī)范) ,Celts-9(內(nèi)容包裝規(guī)范),Celts-41(教育資源建設(shè)技術(shù)規(guī)范),Celts-42(基礎(chǔ)教育資源建設(shè)元數(shù)據(jù)規(guī)范),基礎(chǔ)教育教學(xué)資源元數(shù)據(jù)規(guī)范(celts-42)等標(biāo)準(zhǔn),國外的標(biāo)準(zhǔn)有:OCLC 的Dublin Core元數(shù)據(jù)規(guī)范,IMS的LRMS(Learning Resource Metadata Specification)規(guī)范和CPS(Content Packaging Specification)規(guī)范, IEEE LTSC的LOM(Learning Object Metadata)規(guī)范,ADL(Advanced Distributed Learning)組織的SCORM(Sharable Content Object Reference Model)模型等標(biāo)準(zhǔn)。
最后,教育軟件的開發(fā)過程中要加強文檔管理。從我國目前教育軟件開發(fā)企業(yè)的實際情況來看,教育軟件項目一般來說都是一些小型的項目。在1998年的關(guān)于CMM和小項目的軟件工程過程小組會議上,“小”被定義為周期為3-4個月且員工不超過5個的項目;Brodman和Johnson把小型組織定義為軟件開發(fā)人員不超過50人的組織,把小項目定義為開發(fā)人員不超過20人的項目(劉春頌,楊壽保,2002)。小型項目中由于人員少、任務(wù)少、人員交流方便等一系列原因?qū)е略谡麄€開發(fā)過程中并不重視文檔編制,例如:開發(fā)計劃和過程文檔只是簡單的提綱,并沒有對其進(jìn)行細(xì)致的描述。在實際的開發(fā)過程中,應(yīng)遵循“先文檔后程序”的思想,對整個的開發(fā)過程進(jìn)行全面的文檔化管理。文檔化的管理不僅能夠使所有在開發(fā)過程中發(fā)生的活動有案可查,而且能夠為公司開發(fā)類似的項目積累開發(fā)經(jīng)驗,提高軟件的生產(chǎn)率。
四、小結(jié)
CMM模型自1987年面世以來,已經(jīng)在各國軟件業(yè)產(chǎn)生了巨大的影響。我國的教育軟件生產(chǎn)企業(yè)可以借鑒其中的某些思想和規(guī)則來更好地指導(dǎo)教育軟件的開發(fā),開發(fā)出質(zhì)量更高的產(chǎn)品,提升我國教育軟件生產(chǎn)企業(yè)的競爭力。本研究從CMM的第2級的SQA關(guān)鍵過程域的活動中得到啟示,思考目前的教育軟件開發(fā)過程中存在的問題,通過規(guī)范開發(fā)過程來提高教育軟件開發(fā)的質(zhì)量。希望這些研究結(jié)果能夠?qū)ξ覈壳敖逃浖髽I(yè)的開發(fā)工作有所啟發(fā)和借鑒。
——————————
參考文獻(xiàn)
[1]中國軟件產(chǎn)業(yè)分析報告.上海德明管理顧問有限公司http://www.denemc.com/pdf_files/中國軟件產(chǎn)業(yè)分析報告.pdf,2005
[2] Capability Maturity ModelSM for software, Version 1.1http://www.cmu.com, 2005
[3] 呂森林(2004).重建教育軟件產(chǎn)業(yè)鏈[J].中國遠(yuǎn)程教育, 2004,(8):61-64
[4] 鄭人杰,王維,王方德,蔡愉祖等(2003).基于軟件能力成熟度模型(CMM)的軟件過程改進(jìn)—方法與實施[M].北京:清華大學(xué)出版社,2003:126-138
[5] [以色列] Daniel Galin(2004).軟件質(zhì)量保證[M].王振宇,陳利,王志海等譯.北京:機械工業(yè)出版社,2004:10-19
[6] 徐恩芹.劉美鳳(2005).我國中小學(xué)教師對教學(xué)資源需求的調(diào)查報告[J].中國電化教育,2005(3):74-77
[7] 劉春頌,楊壽保(2002).CMM導(dǎo)入小型軟件企業(yè) /小型軟件項目的研究[J] .計算機工程與應(yīng)用, 2002,(18):88-91
[8] 王旭坪(2004).基于CMM的中國軟件企業(yè)評測模型[J].中國軟科學(xué),2004(3):76-79
[9] [美]Sami Zahran(2002).軟件過程改進(jìn)[M].陳新,羅勁楓等.北京:機械工業(yè)出版社,2002:21-25
[10]馬閏娟,梁成才(2003).CMM二級KPA軟件質(zhì)量保證的一個實施方案[J].計算機工程,2003,(2):112
[11]凌云(2003).我國教育軟件企業(yè)發(fā)展對策研究[J].經(jīng)濟師,2003,(3):80-81
The Implication of SQA for Instructional Software Development
Zhong MingyangLiu MeifengDu Yuan
School of Education Technology, Beijing Normal University, Beijing, 100875
Abstract: As the key process areas of Capacity Maturity Model (CMM), Software Quality Assurance (SQA) improved the quality of software a lot by monitoring the quality during the whole development process. In this paper, we analyzed the development process of instructional software in the perspective of SQA, and drawn out some guidelines to the instructional products development.
Keywords: Instructional Product Development, CMM, SQA
注:本文中所涉及到的圖表、注解、公式等內(nèi)容請以PDF格式閱讀原文