時間:2022-05-29 09:15:10
序論:在您撰寫軟件質(zhì)量管理論文時,參考他人的優(yōu)秀作品可以開闊視野,小編為您整理的1篇范文,希望這些建議能夠激發(fā)您的創(chuàng)作熱情,引導(dǎo)您走向新的創(chuàng)作高度。
[摘要] 隨著軟件行業(yè)的發(fā)展,軟件質(zhì)量越來越成為人們關(guān)注的焦點。本文從軟件質(zhì)量管理體系出發(fā),結(jié)合筆者自身多年的軟件質(zhì)量管理經(jīng)驗,對現(xiàn)有軟件質(zhì)量管理體系進(jìn)行了總結(jié)和歸納,提出了軟件開發(fā)過程中質(zhì)量控制的具體改進(jìn)方法,并將全面質(zhì)量管理觀念融匯于實際軟件質(zhì)量管理日常事務(wù)之中。
[關(guān)鍵詞] 軟件質(zhì)量管理體系 改進(jìn) 全面質(zhì)量管理 持續(xù)發(fā)展
一個開發(fā)團(tuán)隊要提高效率,就需要思考目前的管理活動中有哪些要素是可以改進(jìn)的:如何把一些事務(wù)性的操作變得自動化,從而節(jié)約人力;如何找到更好的方法,讓開發(fā)過程更為合理,更注重軟件的質(zhì)量;如何在團(tuán)隊中傳播優(yōu)秀的思想,讓團(tuán)隊成員不斷地學(xué)習(xí)和進(jìn)取,自發(fā)地改進(jìn)過程。這些美好的愿望幾乎是所有方法論和各種認(rèn)證的共同心聲,但要完全做到可就太難了。在本文中,提出了一些優(yōu)秀的實踐,優(yōu)秀實踐均是來源于軟件開發(fā)界中的一些新思路和新理論,它們能夠為以上愿望的達(dá)成起到正面的作用。在組織中引用這些實踐決不是一個容易的過程,但它們確實非常有效。這些實踐包括:建立日創(chuàng)建、測試驅(qū)動開發(fā)、建立核心框架和面向組件進(jìn)行編程。
一、軟件開發(fā)的有效管理:日創(chuàng)建
一個組織應(yīng)當(dāng)擁有一個有效的工作流程,這個工作流程能夠指導(dǎo)軟件開發(fā)的進(jìn)行。這個流程應(yīng)當(dāng)是具體的、可操作的。隨意的計劃和從來不遵循的進(jìn)度決不是一個有效的工作流程。日創(chuàng)建實踐提出了一種對開發(fā)過程進(jìn)行精細(xì)管理的方法,它是量化軟件管理的基礎(chǔ)。有了日創(chuàng)建,你會發(fā)現(xiàn)計劃的制定和進(jìn)度的監(jiān)控是非常容易的一件事情。
我們傳統(tǒng)開發(fā)軟件的流程一般是這樣,理解領(lǐng)域問題,然后分配任務(wù),由不同的人負(fù)責(zé)不同的軟件部件,在開發(fā)完成之后,再把各人的部件整合起來,形成完整的軟件。這個思路看起來并沒有什么問題,但是在實踐中卻問題多多。
首先,這種方式適合開發(fā)人員之間工作彼此沒有交集的情況,以前這種現(xiàn)象很常見,但是現(xiàn)在,隨著軟件規(guī)模的擴(kuò)大、分工合作的加深,開發(fā)人員間的相互依賴程度越來越高,這種清晰的職責(zé)劃分已經(jīng)變得越來越難了。
其次,在軟件集成時,往往會出現(xiàn)各種各樣的問題,可是卻很難發(fā)現(xiàn)到底問題在哪里?公說公有理,婆說婆有理。每個人的代碼都沒有問題,結(jié)合到一起就出現(xiàn)大量的問題。
所以日構(gòu)建就將平時難得一見的集成工作轉(zhuǎn)換成頻繁進(jìn)行的一件工作,從而使得原先如同噩夢般的集成變成了一件簡單的工作。這也是很容易理解的,如果集成工作幾個月才進(jìn)行一次,誰能夠記起幾個月前的細(xì)節(jié)呢?但是如果集成以天,甚至以分鐘為單位進(jìn)行,排除bug就變成一件很容易的事情了。
二、測試驅(qū)動開發(fā)
軟件質(zhì)量的根源來源于測試,測試做好了,軟件質(zhì)量就會好。這是毫無疑問的。問題的關(guān)鍵在于怎么做測試,才能保證測試的投入能夠帶來軟件質(zhì)量的有效提升。測試驅(qū)動開發(fā)正是為了解決這個問題而出現(xiàn)的。它不是一個完整的方法論,可以和任何一種開發(fā)流程進(jìn)行融合。測試驅(qū)動開發(fā)不但能夠改善測試效果,還能夠改進(jìn)軟件的設(shè)計。
測試驅(qū)動開發(fā)起源于XP法中提倡的測試優(yōu)先實踐。測試優(yōu)先實踐重視單元測試,強(qiáng)調(diào)程序員除了編寫代碼,還應(yīng)該編寫單元測試代碼。在開發(fā)的順序上,它改變了以往先編寫代碼,再編寫測試的過程,而采用先編寫測試,再編寫代碼來滿足測試的方法。這種方法在實際中能夠起到非常好的效果,使得測試工作不僅僅是單純的測試,而成為設(shè)計的一部分。
在編寫程序之前,每個人都會先進(jìn)行設(shè)計工作??赡苡行┤说脑O(shè)計比較正式,繪制模型,編寫文檔。有些人的設(shè)計只是存在于腦海之中。且不論設(shè)計是精細(xì)還是粗糙,你都為隨后的編碼活動制定了一個標(biāo)準(zhǔn)。這個標(biāo)準(zhǔn)的明確程度和你的設(shè)計的細(xì)致程度有關(guān)。但應(yīng)該承認(rèn),這個標(biāo)準(zhǔn)是不夠細(xì)化的。因為你的設(shè)計不可能精細(xì)到代碼級的程度。而標(biāo)準(zhǔn)不夠明確則會產(chǎn)生一些問題,例如,在編寫代碼的過程中,你還可能會發(fā)現(xiàn)原先的設(shè)計出現(xiàn)問題,從而中途改變代碼的編寫思路。這將會導(dǎo)致成果難以檢驗,進(jìn)度難以度量。
既然以設(shè)計為導(dǎo)向的標(biāo)準(zhǔn)不夠明確、不夠具體。那什么樣的標(biāo)準(zhǔn)才是合適的呢?只能是代碼。因為代碼是最明確、最具體的。所以測試優(yōu)先的本質(zhì)其實是目標(biāo)管理。編寫測試代碼其實是在制定一個小目標(biāo)。這個小目標(biāo)非常明確,它規(guī)定了你需要設(shè)計的類、方法,以及方法需要滿足的結(jié)果。這些目標(biāo)制定完成之后,你才開始編寫代碼來達(dá)成該目標(biāo)。測試的目標(biāo)要比設(shè)計的目標(biāo)粒度更小,但是成本上卻更為經(jīng)濟(jì)。
測試優(yōu)先是軟件開發(fā)中一種細(xì)粒度的目標(biāo)管理方法,通過明確的目標(biāo),推動軟件開發(fā)的進(jìn)行。
三、建立核心框架
框架是一種具有高度重用性的軟件,這個特性決定了它非常適合成為軟件組織積累知識的一種有效手段。傳統(tǒng)的知識積累的方法是文檔,但是文檔容易產(chǎn)生歧異,開發(fā)人員往往也不愿意去閱讀和理解文檔??蚣芴峁┑氖且环N綜合的手段,包括文檔、模型和代碼。更容易理解,更重要的是,開發(fā)人員必須在日常的工作中使用框架,這使得他們對框架中的知識非常熟悉,并根據(jù)工作的需要來改進(jìn)框架。
四、面向組件編程
有效的組織在于有效的分工。體力活動容易進(jìn)行分工,腦力勞動則比較難,而軟件開發(fā)似乎就更難了。所以,長久以來我們都習(xí)慣采用以功能塊為單位的粗粒度劃分方式。面向組件編程采用更加細(xì)密的劃分方式,并以服務(wù)作為組件之間相互依賴的契約,不但定義了組件和組件之間的關(guān)系,也規(guī)定了組件開發(fā)者、組件使用者、組件測試者的權(quán)利和義務(wù)。從而能夠進(jìn)行軟件開發(fā)工作的分配、管理、QA等工作。
軟件形式上是產(chǎn)品,本質(zhì)上是服務(wù),是高科技計算機(jī)信息技術(shù)和人類創(chuàng)新智慧的結(jié)合。在軟件產(chǎn)品的研發(fā)過程中,軟件質(zhì)量一直處于最為核心的地位。ISO9001標(biāo)準(zhǔn)和CMM原則被譽為軟件質(zhì)量管理的圣經(jīng),是當(dāng)今國際上最推崇的軟件質(zhì)量改進(jìn)方法和保證措施。然而,很多實施ISO9001、CMM3級的企業(yè)過于強(qiáng)調(diào)過程管理,忽略了“人比過程更重要”這一原則,形式重于實質(zhì),這一做法在國外已受到猛烈抨擊。如何更好地將質(zhì)量管理理論和企業(yè)經(jīng)營生存之道密切融合,走出一條獨辟蹊徑、立竿見影的“質(zhì)量革命”之路,是擺在諸多企業(yè)高管面前的重要課題之一。這里總結(jié)了軟件項目質(zhì)量管理的6大最佳實踐,供同行參考。
全面管理,塑造質(zhì)量文化
全面質(zhì)量管理即為全員、全過程、全方位的質(zhì)量管理,它具有以下基本特點:
1.全員:質(zhì)量控制從少數(shù)質(zhì)量保證人員擴(kuò)展到企業(yè)的所有人員。質(zhì)量控制管理不是質(zhì)量保證部門一個部門的事情,需要全員的大力支持、準(zhǔn)確理解、精確執(zhí)行。
2.全過程:將質(zhì)量控制、質(zhì)量檢驗、質(zhì)量統(tǒng)計延伸擴(kuò)展到整個產(chǎn)品生命周期。
3.全方位:全面運用一切有效方法,全面控制質(zhì)量因素,如軟件開發(fā)成本、進(jìn)度、可靠性、安全性等。
全面質(zhì)量管理可以歸納為兩大基本原則: 首先是以滿足顧客需求為導(dǎo)向,不斷改善,最終實現(xiàn)顧客的全面滿足;其次是以全員參與為基礎(chǔ),進(jìn)行全過程的質(zhì)量控制。質(zhì)量管理理論認(rèn)為,“質(zhì)量出自計劃,而非出自檢查”。軟件前期的質(zhì)量保證主要依靠設(shè)計、生產(chǎn)、研發(fā),后期的質(zhì)量保證則主要依靠測試、完善、改進(jìn)。全過程的質(zhì)量保證依靠行之有效的管理體系。這種觀點強(qiáng)調(diào)運用確定性、過程化的管理制度、程序、體制來控制管理潛在諸多不確定性、多變性因素的軟件質(zhì)量品質(zhì)。事實上,影響軟件項目進(jìn)度、成本、質(zhì)量的三大因素分別是人、過程、技術(shù),人永遠(yuǎn)是第一位的,人永遠(yuǎn)比過程更重要,人是影響質(zhì)量的最關(guān)鍵因素,只有在軟件質(zhì)量管理過程中堅持“以人為本”,強(qiáng)調(diào)人與過程的和諧,塑造以人為核心的質(zhì)量管理文化,才能讓質(zhì)量管理的成效得到淋漓盡致的發(fā)揮。
分級管理,把握
質(zhì)量目標(biāo)的層次性
ISO9001體系認(rèn)為,建立質(zhì)量方針、質(zhì)量目標(biāo)是實施質(zhì)量管理的必經(jīng)之路。事實上,現(xiàn)代軟件的架構(gòu)是層次化的,這一點尤其重要,軟件質(zhì)量也應(yīng)按照層次從里到外、功能由輕到重、地位從低到高因地制宜、區(qū)別對待,對于不同的軟件層面和需求制定不同的質(zhì)量目標(biāo)。例如:對于一個大型網(wǎng)絡(luò)游戲而言,大氣炫麗、細(xì)膩仿真的3D動畫操作界面是非常必要的;但對于一個小型超市倉庫管理軟件而言,只要能滿足出庫、入庫、損益、盤點的基本需求就可以了,簡單粗糙的操作界面反而更容易上手。
在進(jìn)行軟件工程的質(zhì)量控制時,應(yīng)把握關(guān)鍵層面,抓住質(zhì)量控制的瓶頸。一般來說,越是靠近底層、核心區(qū)域(如平臺、框架、引擎、關(guān)鍵業(yè)務(wù)等)的代碼質(zhì)量要求越高,開發(fā)人員的素質(zhì)要求越高,質(zhì)量檢測及保證工作代價開銷越大。精益求精只適用于靠近核心的代碼層;而對于外圍代碼層, 可酌情適當(dāng)降低代碼質(zhì)量,放松測試條件。
驗證確認(rèn),全程質(zhì)量控制
質(zhì)量控制是確定項目結(jié)果與質(zhì)量標(biāo)準(zhǔn)是否相符,并及時糾正產(chǎn)品缺陷的過程。質(zhì)量控制的主要手段是驗證與確認(rèn):驗證是從開發(fā)者的視角來檢查是否正確地構(gòu)造了產(chǎn)品,而確認(rèn)則是以用戶的視角來檢查是否構(gòu)造了正確的產(chǎn)品。
事實證明,具有清晰開發(fā)模式及過程管理規(guī)范的軟件產(chǎn)品,在質(zhì)量上要明顯超過那些沒有明確過程模型及規(guī)范指導(dǎo)的軟件產(chǎn)品。軟件工程理論提出了諸多開發(fā)模型,如瀑布模型、噴泉模型、增量模型、快速原型模型、螺旋模型、迭代模型等,當(dāng)前最常用的大型軟件開發(fā)模式是螺旋式的增量開發(fā)方式(如圖1所示)。
圖中1?7 是各階段的輸出點,也是質(zhì)量控制點,有相應(yīng)的輸出文檔和階段性成果,均需要得到質(zhì)量保證部門的確認(rèn)。軟件項目中最常用的質(zhì)量控制工具手段,包括評審(技術(shù)評審、代碼評審、設(shè)計評審、同行評審等)、審查、測試驗證(黑盒測試、白盒測試、單元測試、集成測試、確認(rèn)測試等)、抽查、調(diào)查、走查、旁站、缺陷跟蹤等。
技術(shù)評審最初是由IBM公司為了提高軟件質(zhì)量和提高程序員生產(chǎn)率而倡導(dǎo)的,分為正式技術(shù)評審(FTR)和非正式技術(shù)評審(ITR)兩種,該方法已經(jīng)被業(yè)界廣泛采用并收到了很好的效果,它被普遍認(rèn)為是軟件開發(fā)的最佳實踐之一。需要重點指出的是,同行評審是一種特殊類型的技術(shù)評審,由與產(chǎn)品開發(fā)人員具有同等背景和能力的人員對產(chǎn)品進(jìn)行技術(shù)評審,非常有利于發(fā)現(xiàn)產(chǎn)品中潛在的問題。成功的同行評審是提高質(zhì)量和生產(chǎn)率的重要手段,評審的對象應(yīng)該包括所有軟件開發(fā)的中間和最終工作產(chǎn)品。
引入工具,復(fù)用成功模式
質(zhì)量管理是可以通過信息化手段量化的,采用先進(jìn)的質(zhì)量管理工具可以極大地提高質(zhì)量管理水平。例如:Bugzilla是Mozilla公司提供的一個開源的缺陷跟蹤工具,在全世界擁有大量用戶。它能夠為軟件組織建立一個完善的缺陷跟蹤體系,包括報告缺陷、查詢?nèi)毕萦涗洸a(chǎn)生報表、處理解決缺陷等。
質(zhì)量和缺陷是一對無法化解的矛盾,想要提高質(zhì)量必須千方百計地減少缺陷。有三種方法可以減少缺陷產(chǎn)生的頻率、數(shù)量、規(guī)模等級。
1.事前預(yù)防:在開發(fā)過程中始終要考慮工作成果可能產(chǎn)生缺陷,將高質(zhì)量內(nèi)建于開發(fā)過程之中。主要措施包括提高技術(shù)水平和規(guī)范化水平,也就是練內(nèi)功,通稱為“軟件過程改進(jìn)”。
2.事中控制:及時對各個階段的工作成果進(jìn)行質(zhì)量檢查,找出并消除其中的缺陷。這種方式實踐效果較好,已經(jīng)被企業(yè)廣泛采用,主要措施是技術(shù)評審、軟件測試和過程檢查。
3.事后補(bǔ)救:當(dāng)軟件產(chǎn)品正式交付到用戶手中投入生產(chǎn)經(jīng)營時發(fā)現(xiàn)了重大缺陷(如系統(tǒng)常常崩潰、運行速度極慢、報表統(tǒng)計錯誤等),然后再進(jìn)行修改維護(hù)。這實質(zhì)上反映出軟件項目管理中存在較大的缺失和漏洞,建設(shè)單位、承建單位、監(jiān)理單位三方都有不可推卸的責(zé)任,應(yīng)規(guī)避這類水平低級、后果嚴(yán)重、影響惡劣的失誤再次發(fā)生。
復(fù)用是在軟件開發(fā)領(lǐng)域提高軟件質(zhì)量的重要方法之一。被復(fù)用的對象往往是經(jīng)過反復(fù)使用驗證的,自身具有較高的質(zhì)量,因此,合理化復(fù)用有利于提高質(zhì)量、提高生產(chǎn)率和降低成本,技術(shù)開發(fā)活動與管理活動中的任何成果都應(yīng)盡量被復(fù)用,如思想方法、經(jīng)驗、程序、文檔等。軟件質(zhì)量管理的最終目的除了能夠不斷持續(xù)改進(jìn)之外,還在于形成有特色、有成效、可操作的質(zhì)量管理模式,并最大程度地復(fù)用。
協(xié)同合作,三權(quán)分立
由于軟件質(zhì)量管理的專業(yè)性和復(fù)雜性,軟件項目組織建設(shè)上應(yīng)實行“設(shè)計、檢驗、監(jiān)管”三權(quán)分離、鼎足而立的原則:設(shè)計部門專攻軟件需求分析、規(guī)劃設(shè)計、系統(tǒng)研發(fā)工作;檢驗部門從事系統(tǒng)測試(性能測試、回歸測試等);質(zhì)量監(jiān)管部門制定質(zhì)量管理工作計劃,對各部門的質(zhì)量管理工作提出指導(dǎo)建議,跟蹤、內(nèi)審、改進(jìn)質(zhì)量體系的運行。
技術(shù)評審、測試和質(zhì)量保證是提高軟件質(zhì)量的三個重要法寶,但三者在作用上各不相同。技術(shù)評審與測試關(guān)注的是產(chǎn)品質(zhì)量而不是過程質(zhì)量,兩者的技術(shù)強(qiáng)度比質(zhì)量保證要高得多。技術(shù)評審和測試能彌補(bǔ)質(zhì)量保證的不足,三者是相輔相承的質(zhì)量管理方法。我們在實踐中不能將質(zhì)量保證、技術(shù)評審和測試混為一談,也不能把三者孤立起來執(zhí)行。建議讓質(zhì)量保證人員參加并監(jiān)督重要的技術(shù)評審和測試工作(大約占其工作量的30%左右),只有這樣他們才能更深入地了解軟件的質(zhì)量問題,把三者有機(jī)地結(jié)合起來,做到三位一體,全方位堵住質(zhì)量缺陷的漏洞。在部門職能規(guī)劃上,質(zhì)量保證部門具有充分的權(quán)力,可以對質(zhì)量不合格的工作成果做出處理,只有這樣質(zhì)量保證工作才不會被輕視,才更有助于加強(qiáng)全員的質(zhì)量意識(質(zhì)量保證過程域的主要活動如下圖2所示)。
和諧管理,做好一把手工程
當(dāng)前很多軟件企業(yè)都組建了質(zhì)量保證部門,出臺了質(zhì)量保證制度,然而軟件質(zhì)量并未得到實質(zhì)性突破,質(zhì)量保證人員也沒有發(fā)揮預(yù)期的效果,造成這種情況的常見原因有兩個:一是軟件開發(fā)團(tuán)隊管理過程不夠規(guī)范;二是企業(yè)領(lǐng)導(dǎo)者,尤其是最高領(lǐng)導(dǎo)者(即“一把手”)重視程度不足,措施不到位。
調(diào)查結(jié)果表明,在軟件項目中,質(zhì)量保證人員往往是最“吃力不討好”的一族,通常沒有實質(zhì)性權(quán)力,項目成功功勞屬于別人,自己缺乏成就感,項目失敗卻擔(dān)負(fù)最多的責(zé)任。鑒于這種情況,領(lǐng)導(dǎo)層一定要從根本上重視、愛護(hù)、支持質(zhì)量保證工作,充分發(fā)揮組織協(xié)調(diào)作用,體現(xiàn)人文關(guān)懷,運用管理藝術(shù),構(gòu)建和諧團(tuán)隊,讓每一個項目組成員都樹立較強(qiáng)的責(zé)任感、歸屬感和大局意識。事實上,軟件開發(fā)工程是典型的“全員參與工程”、“一把手工程”,沒有企業(yè)“一把手”的知情、重視、認(rèn)可和支持,軟件項目順利實施和取得實效根本無從談起。有時候企業(yè)領(lǐng)導(dǎo)層對于軟件質(zhì)量保證的作用往往是決定性的,這是任何技術(shù)手段都無法替代的。
鏈接
軟件質(zhì)量管理常見誤區(qū)
誤區(qū)一:軟件質(zhì)量是可以精確測量的。
軟件的質(zhì)量屬性很多,如正確性、健壯性、可靠性等,但在大多數(shù)用戶看來,實用、適用、好用的軟件就是成功的。成功的軟件通常都會在功能、性能、界面、操作等方面,以最簡捷有效的方式滿足用戶的最緊迫、最直接的需求。質(zhì)量是一個相對的概念,軟件產(chǎn)品質(zhì)量沒有國際通用的評價標(biāo)準(zhǔn),質(zhì)量目標(biāo)的彈性較大,沒有絕對合格或不合格的界限,軟件不可能做到“零缺陷”,有缺陷的軟件仍然可以使用。
誤區(qū)二:企業(yè)軟件的質(zhì)量越高越好,最好是“零缺陷”。
商業(yè)目標(biāo)決定了軟件的質(zhì)量目標(biāo)。軟件的質(zhì)量評價也不能從純粹的軟件工程、軟件商品、軟件技術(shù)的角度去考量。理想的軟件質(zhì)量目標(biāo)不是“零缺陷”,而是恰好能夠滿足應(yīng)用需求、生存發(fā)展、市場競爭需要,并且將提高質(zhì)量所付出的代價控制在預(yù)算之內(nèi)。一味追求高質(zhì)量代碼,把質(zhì)量目標(biāo)凌駕于贏利目標(biāo)之上,是多數(shù)技術(shù)人員所犯的常見錯誤。
誤區(qū)三:通過ISO9001、CMM3級認(rèn)證就意味著軟件質(zhì)量一定有保證。
當(dāng)前很多通過CMM3或者ISO9001質(zhì)量認(rèn)證的軟件企業(yè)在軟件項目管理上的確更加規(guī)范了,但代表核心競爭力的軟件質(zhì)量駕馭能力并未得到實質(zhì)性的提升。產(chǎn)品生產(chǎn)過程與產(chǎn)品質(zhì)量存在一定的因果關(guān)系,通常好的過程產(chǎn)生好的產(chǎn)品,而差的過程將產(chǎn)生差的產(chǎn)品。實踐證明,軟件質(zhì)量保證并不能絕對保證軟件質(zhì)量,質(zhì)量保證只能檢測出哪些不符合既定程序規(guī)范、膚淺的軟件缺陷,對于潛藏在軟件深處符合既定設(shè)計規(guī)范的缺陷卻顯得無能為力。僅靠制度、規(guī)范、流程是無法全面識別出軟件中的潛在缺陷的,質(zhì)量保證對于保證質(zhì)量而言只是必要的手段,而不是充分的手段。
誤區(qū)四:擁有充足的人力資源,軟件質(zhì)量就有保障。
軟件開發(fā)并不一定是人多力量大,相反,人力資源配置不當(dāng)反而會延誤工期。不同人員的水平和素質(zhì)差異較大,軟件項目增加新人可能會增加新的缺陷,無益于軟件質(zhì)量提升。軟件開發(fā)是一種智力創(chuàng)新活動,任何程序員都無法避免缺陷的發(fā)生,缺陷發(fā)生是必然的,程序員首先必須了解決定軟件質(zhì)量的各個關(guān)鍵因素(如成本、進(jìn)度、可靠性、安全性等),搞清楚質(zhì)量控制的目標(biāo)和計劃,然后才可以在進(jìn)行需求開發(fā)、系統(tǒng)設(shè)計、編程測試時確保交付軟件的高質(zhì)量。
摘要:軟件產(chǎn)品的質(zhì)量在很大程度上受到軟件開發(fā)過程的影響。為了提高競爭力、改進(jìn)質(zhì)量以及提高效率,軟件企業(yè)就需要將更多的注意力放在過程上,通過過程控制其結(jié)果。本文對軟件質(zhì)量管理過程進(jìn)行了研究,通過過程性能基線和過程性能模型分析和管理質(zhì)量,提出了一個基于過程性能模型的軟件質(zhì)量管理過程模型,并在研究的基礎(chǔ)上,構(gòu)建了軟件質(zhì)量管理系統(tǒng)的體系結(jié)構(gòu)。
關(guān)鍵詞:軟件質(zhì)量管理過程性能基線過程性能模型
1 引言
隨著軟件產(chǎn)業(yè)的飛速發(fā)展,軟件的核心競爭力主要集中體現(xiàn)在質(zhì)量、成本和交付工期上,而質(zhì)量是最顯著影響其它兩方面的因素。對軟件企業(yè)來說,質(zhì)量不再只是爭奪市場的一個有利因素,而變成了公司在競爭中成功的必要條件。然而,隨著軟件規(guī)模和復(fù)雜度的增加,軟件開發(fā)過程越來越難以控制,導(dǎo)致開發(fā)過程中的產(chǎn)品質(zhì)量和過程質(zhì)量處于失控狀態(tài)。
過去存在著一些片面的觀點,認(rèn)為先進(jìn)的工具和方法可以神奇地解決軟件開發(fā)中的質(zhì)量問題。目前的現(xiàn)實并不盡如人意。有的企業(yè)由于缺乏對開發(fā)過程的控制,往往很難平衡客戶和公司在質(zhì)量、成本和交付工期的要求,成功的項目比例很小。
面對如前所述的現(xiàn)狀,軟件質(zhì)量管理一定要面向預(yù)測式管理。一個軟件產(chǎn)品的質(zhì)量主要是由它的開發(fā)、采購和維護(hù)過程決定的,為了改進(jìn)軟件產(chǎn)品的質(zhì)量進(jìn)而提高競爭力,就要把焦點放在能夠穩(wěn)定地開發(fā)優(yōu)質(zhì)產(chǎn)品所需的過程上[1],通過過程數(shù)據(jù)預(yù)測和控制結(jié)果。
過程性能模型重點強(qiáng)調(diào)過程和產(chǎn)品度量對結(jié)果的重要性,分析和建立過程和產(chǎn)品度量與結(jié)果的關(guān)系。其通過過程性能基線控制過程的關(guān)鍵因子,分析過程的性能偏差,進(jìn)而預(yù)測并控制最終結(jié)果。由此可以看出,過程性能模型是解決上述問題的有效方法,本文將關(guān)注基于過程性能模型的軟件質(zhì)量管理過程。
本文首先歸納了軟件質(zhì)量和軟件質(zhì)量管理的研究現(xiàn)狀,并指出了現(xiàn)有軟件質(zhì)量管理過程所存在的問題;隨后引入了過程性能基線和過程性能模型,提出了基于過程性能模型的軟件質(zhì)量管理過程模型,闡述了過程性能基線和模型在質(zhì)量計劃、質(zhì)量活動、質(zhì)量度量和分析、質(zhì)量預(yù)測和控制、質(zhì)量評價和改進(jìn)等五個質(zhì)量管理子過程中的應(yīng)用;最后在研究的基礎(chǔ)上,構(gòu)建了軟件質(zhì)量管理系統(tǒng)的體系結(jié)構(gòu),包括組織過程資產(chǎn)庫,過程支持和軟件質(zhì)量管理三個子系統(tǒng)。
2 軟件質(zhì)量及管理
當(dāng)前業(yè)界已將交付軟件的缺陷密度作為軟件產(chǎn)品的質(zhì)量的衡量關(guān)鍵標(biāo)準(zhǔn)。即,已交付軟件中每個單位規(guī)模的缺陷數(shù),簡稱為交付缺陷密度。因此,軟件質(zhì)量管理通常圍繞缺陷而展開,軟件項目的目標(biāo)是使交付的軟件存在盡可能少的缺陷[2]。
質(zhì)量管理的任務(wù)是計劃恰當(dāng)?shù)馁|(zhì)量活動,然后正確執(zhí)行和控制這些活動,以便可以在軟件開發(fā)過程中(即在軟件交付以前)檢測到大多數(shù)缺陷[2]。
質(zhì)量管理包括確定軟件的質(zhì)量目標(biāo),制定實現(xiàn)這些目標(biāo)的計劃,并監(jiān)控和調(diào)整軟件計劃、軟件工作產(chǎn)品、活動和質(zhì)量目標(biāo),以滿足客戶和最終用戶對高質(zhì)量產(chǎn)品的需求和愿望。
質(zhì)量管理基于機(jī)構(gòu)、客戶和最終用戶的需求建立軟件產(chǎn)品的質(zhì)量目標(biāo)。為實現(xiàn)這些目標(biāo),機(jī)構(gòu)制定相應(yīng)的策略和計劃,項目則為實現(xiàn)這些質(zhì)量目標(biāo)對其定義的軟件過程進(jìn)行具體調(diào)整[3]。
在軟件質(zhì)量管理過程和方法上,傳統(tǒng)的包括:全面質(zhì)量管理(Total Quality Management, TQM)是一套能控制質(zhì)量、提高質(zhì)量的方法;在PMBOK[4]中,軟件項目的質(zhì)量管理是指保證項目滿足其目標(biāo)要求所需要的過程,包括質(zhì)量計劃、質(zhì)量保證和質(zhì)量控制三個過程域;著名的“Juran三部曲”[5]――TQM的理論基礎(chǔ)和基本方法的主要基石――包含質(zhì)量計劃、質(zhì)量控制和質(zhì)量改進(jìn)三個步驟,突出了對過程改進(jìn)的支持。最有成效的要屬六西格瑪質(zhì)量管理方法,其理念是通過排除和預(yù)防缺陷來提高客戶滿意度,進(jìn)而提高企業(yè)的收益率,包括過程性能度量集、多種改進(jìn)框架和分析工具,尤以DMAIC框架(定義-度量-分析-改進(jìn)-控制)最常用[6]。將六西格瑪與CMMI實施相結(jié)合將是更有效的過程改進(jìn)途徑。
在軟件質(zhì)量管理工具方面,Ishikawa提出了質(zhì)量控制的七種基本統(tǒng)計工具[7],包括因果圖[8]、Pareto圖、直方圖、控制圖、散布圖、運行圖、檢查單。目前也有許多有關(guān)預(yù)測模型的論著,如:Rayleigh模型。
現(xiàn)有的軟件質(zhì)量管理過程和方法提供了質(zhì)量管理的高層指導(dǎo),主要關(guān)注于實施步驟以及最終結(jié)果,質(zhì)量管理工具也著力于解決質(zhì)量管理中的具體的某“點”的質(zhì)量問題和控制,但在如何通過過程控制其結(jié)果,業(yè)界正在尋求有效的途徑,是亟待解決的問題。例如:如何制定低風(fēng)險且切實可行的質(zhì)量計劃、如何在開發(fā)過程不同的影響因素下確保項目質(zhì)量目標(biāo)得以實現(xiàn)等。這些正是本文致力于研究的主題。
3 基于過程性能模型的軟件質(zhì)量管理過程
過程性能模型是解決通過過程控制其結(jié)果的有效方法,具體定義如下。
過程性能基線(Process Performance Baseline, PPB)是對遵循過程所達(dá)到的實際結(jié)果的文檔化刻畫,用于比較實際過程性能和預(yù)期過程性能的基準(zhǔn)[9]。
過程性能模型(Process Performance Model, PPM)是對過程屬性和過程工作產(chǎn)品之間關(guān)系的描述,基于歷史過程性能數(shù)據(jù)而建立,并使用項目中收集的過程度量和產(chǎn)品度量進(jìn)行校準(zhǔn),最終用于預(yù)測遵循過程將能達(dá)到的結(jié)果[9]。
過程性能基線可用于組織內(nèi)任何獨立的項目,通過分析所收集的度量,建立結(jié)果的分布和極差,其刻畫了所選過程的預(yù)期性能[10]。過程性能模型基于其他過程和產(chǎn)品的度量來估算或者預(yù)測某一過程性能的度量,刻畫了過去的和當(dāng)前的過程性能,對過程將來的性能進(jìn)行預(yù)測。過程性能基線控制子過程的能力;過程性能模型預(yù)測過程的中間目標(biāo)和最終目標(biāo),通過過程控制結(jié)果,在子過程結(jié)束時進(jìn)行調(diào)整和預(yù)測,確保最終目標(biāo)的實現(xiàn)。
基于六西格瑪質(zhì)量管理的方法及其DMAIC框架(定義-度量-分析-改進(jìn)-控制),以及過程管理的四個核心職責(zé)(定義過程、度量過程、控制過程、改進(jìn)過程),并結(jié)合過程性能基線和模型的原理,本文提出了一種基于過程性能模型的軟件質(zhì)量管理過程模型,該模型在質(zhì)量管理過程中增加了過程性能基線和模型的指導(dǎo)、統(tǒng)計管理以及預(yù)測和控制,提供了軟件開發(fā)過程中進(jìn)行質(zhì)量控制和持續(xù)改進(jìn)的框架,如圖1所示。模型主要包括:質(zhì)量計劃、質(zhì)量活動、質(zhì)量度量和分析、質(zhì)量預(yù)測和控制、質(zhì)量評價和改進(jìn)。接下來將詳細(xì)闡述過程性能基線和模型在上述五個質(zhì)量管理子過程中的應(yīng)用。
圖1 基于過程性能模型的軟件質(zhì)量管理過程模型
3.1 質(zhì)量計劃
要生產(chǎn)出高質(zhì)量的產(chǎn)品,首先必須制定質(zhì)量計劃。質(zhì)量計劃作為基于過程性能模型的軟件質(zhì)量管理過程模型的一個核心環(huán)節(jié),簡言之,就是怎樣以及何時將質(zhì)量活動和質(zhì)量材料應(yīng)用到一個項目中。質(zhì)量計劃中必須明確定義在軟件開發(fā)的各個階段應(yīng)如何進(jìn)行質(zhì)量活動。制定質(zhì)量計劃的前提是項目已完成任務(wù)計劃、進(jìn)度計劃和規(guī)模估算,故在制定質(zhì)量計劃之前必須進(jìn)行入口準(zhǔn)則的驗證。
基于過程性能模型的軟件質(zhì)量管理過程要充分發(fā)揮過程性能基線和模型在質(zhì)量計劃制定時的指導(dǎo)作用。團(tuán)隊軟件過程(Team Software Process, TSP)質(zhì)量計劃是一個最佳范例,本節(jié)將介紹如何使用過程性能基線和模型指導(dǎo)質(zhì)量計劃的制定。
本文為全文原貌 未安裝PDF瀏覽器用戶請先下載安裝 原版全文
3.1.1 TSP質(zhì)量計劃
團(tuán)隊軟件過程(TSP)制定的質(zhì)量計劃包括以下幾個方面[11]:系統(tǒng)無缺陷比率、各階段排除缺陷密度、質(zhì)檢過失比、階段收益、過程收益、缺陷引入率和缺陷排除率,可劃分為過程質(zhì)量度量和產(chǎn)品質(zhì)量度量兩大類。
為了提高客戶滿意度,首要解決的就是降低交付缺陷密度,即驗收測試過程中發(fā)現(xiàn)的缺陷密度。團(tuán)隊在制定質(zhì)量計劃時,首先估算可能會引入的缺陷數(shù),其中估算每個過程階段所引入的缺陷數(shù)的方法有許多種,TSP質(zhì)量計劃使用的是缺陷引入率;然后就是估算排除的缺陷數(shù),這里TSP質(zhì)量計劃使用了階段收益。一旦團(tuán)隊按階段估算了引入和排除的缺陷,那么結(jié)合項目的規(guī)模估算與任務(wù)和進(jìn)度計劃,就可以估算出每個階段將會排除的缺陷密度,然后檢查所估算的交付缺陷密度是否滿足項目的質(zhì)量目標(biāo),進(jìn)而通過局部調(diào)整以完成質(zhì)量計劃。
3.1.2 使用過程性能基線和模型指導(dǎo)質(zhì)量計劃制定
在使用缺陷引入率和階段收益估算缺陷的引入與排除時,傳統(tǒng)的做法是“拍腦袋”或者基于業(yè)界數(shù)據(jù),有經(jīng)驗的組織會基于歷史數(shù)據(jù),但是實際實施表明:上述情況中絕大多數(shù)的估算都是徒勞的。原因如下:一是因為對階段缺陷引入率和階段收益的估計值沒有準(zhǔn)確地反映缺陷引入與排除過程的能力,不應(yīng)只是單個值,而應(yīng)該是一個區(qū)間,包括均值和上下限;二是因為沒有對缺陷引入與排除的過程進(jìn)行計劃,尤其是某些關(guān)鍵度量,例如評審速度、測試覆蓋度、人員技能、經(jīng)驗等級、檢查單條目數(shù)等,從而無法通過缺陷引入與排除的過程控制過程的執(zhí)行結(jié)果(缺陷引入率和階段收益),使得項目質(zhì)量目標(biāo)的實現(xiàn)變得不可預(yù)測和控制。
為解決上述問題,這里使用過程性能基線和模型從四個環(huán)節(jié)提供支持:
(1)建立項目的質(zhì)量目標(biāo),制定交付缺陷密度的計劃值。
(2)基于組織的歷史數(shù)據(jù),建立階段缺陷引入率和階段收益的過程性能基線,參照過程性能基線計劃階段缺陷引入率和階段收益,以“上限,均值,下限”的三元組形式。
(3)基于組織的歷史數(shù)據(jù),構(gòu)建缺陷引入過程和缺陷排除過程內(nèi)部的過程性能模型,建立子過程結(jié)果(也即中間目標(biāo))與子過程因子(包括可控的和不可控的)之間的關(guān)系,以及子過程可控因子的過程性能基線,參考所建立的過程性能基線和模型制定子過程的質(zhì)量計劃。同時在質(zhì)量預(yù)測和控制時,需要對這些子過程進(jìn)行統(tǒng)計管理。例如設(shè)計評審,代碼評審,單元測試。
(4)在分別計劃好項目的質(zhì)量目標(biāo)、缺陷引入和排除過程的中間目標(biāo)、缺陷引入和排除過程因子之后,使用統(tǒng)計方法(例如蒙特卡洛模擬)對項目質(zhì)量目標(biāo)達(dá)成情況進(jìn)行預(yù)測[12],通過置信度與置信區(qū)間評估目標(biāo)達(dá)成情況的風(fēng)險,必要時調(diào)整計劃。
若軟件組織處于起步階段,沒有足夠的歷史數(shù)據(jù),質(zhì)量計劃的制定可參考TSP質(zhì)量準(zhǔn)則[13]。
3.2 質(zhì)量活動
質(zhì)量活動作為軟件開發(fā)過程中的一項必要且非常重要的活動,負(fù)責(zé)排除開發(fā)過程中所引入的缺陷。其作為軟件質(zhì)量管理過程中不可缺少的環(huán)節(jié),通常分為兩大類:評審和測試。評審不但可以識別存在于可執(zhí)行系統(tǒng)中的缺陷,而且可用于文檔。評審有許多種類型,其中主要的類型有審查、走查和個人評審。審查和走查是同行評審[14]。測試則旨在發(fā)現(xiàn)盡可能多的缺陷。測試有七種類型,分別是單元測試、集成測試、外部功能測試、回歸測試、系統(tǒng)測試、驗收測試以及安裝測試[15]。常用的有單元測試、集成測試以及系統(tǒng)測試等項。
以TSP為例,其任務(wù)計劃中所涉及的質(zhì)量活動按執(zhí)行的先后順序排列有需求審查、高層測試審查、詳細(xì)設(shè)計評審、詳細(xì)設(shè)計審查、代碼評審、編譯、代碼審查、單元測試、集成測試、系統(tǒng)測試、驗收測試。
項目的質(zhì)量經(jīng)理根據(jù)進(jìn)度計劃,按期組織任務(wù)計劃中所安排的質(zhì)量活動,基于既定的質(zhì)量計劃,具體由質(zhì)量保證人員按計劃實施。
3.3 質(zhì)量度量和分析
在質(zhì)量活動實施的過程中,軟件質(zhì)量保證人員應(yīng)收集質(zhì)量度量的實際數(shù)據(jù),包括基本度量和派生度量。以軟件審查為例,基本度量包括規(guī)模、評審準(zhǔn)備時間、評審會時間、參與審查人數(shù)以及所發(fā)現(xiàn)的不同類型的缺陷數(shù);派生度量包括總的審查時間、準(zhǔn)備速度、審查速度、總的審查速度、缺陷密度、每小時發(fā)現(xiàn)缺陷數(shù)、評審準(zhǔn)備時間與評審會時間之比、審查有效性。個體軟件過程(Personal Software Process, PSP)[14]提供了非常有價值的度量和分析。
與此同時,質(zhì)量人員可對收集的質(zhì)量度量數(shù)據(jù)進(jìn)行一些初步的探索性分析,為進(jìn)一步的質(zhì)量預(yù)測和控制打下基礎(chǔ)。數(shù)據(jù)分析的切入點可以為缺陷的引入、排除以及泄漏,與評審有關(guān)的準(zhǔn)備速度、評審速度、缺陷密度、審查有效性等,以及與測試有關(guān)的測試用例密度、測試覆蓋度、測試用例有效性等。數(shù)據(jù)分析的方法包括如下:
(1)推測,支持工具有Pareto圖、運行圖、直方圖、箱線圖、多變異圖等;
(2)提出原因的假設(shè),支持工具有因果圖和關(guān)系圖等;
(3)證實或排除原因,這主要是由能提供假設(shè)檢驗、方差分析和多元分析等方法的高級分析工具所支持。
3.4 質(zhì)量預(yù)測和控制
為了有效地跟蹤并控制質(zhì)量活動的實施,實現(xiàn)質(zhì)量計劃中對各質(zhì)量活動所設(shè)定的預(yù)期目標(biāo),進(jìn)而確保項目質(zhì)量目標(biāo)的達(dá)成,基于過程性能模型的軟件質(zhì)量管理過程模型所包含的另一個核心環(huán)節(jié)就是質(zhì)量預(yù)測和控制,主要涉及到統(tǒng)計管理子過程性能和預(yù)測項目質(zhì)量目標(biāo)達(dá)成兩方面。具體而言就是使用過程性能基線和模型對質(zhì)量計劃中標(biāo)注的關(guān)鍵子過程實施統(tǒng)計管理,在每一個子過程結(jié)束時使用過程性能模型預(yù)測項目質(zhì)量目標(biāo)達(dá)成的置信度,必要時對質(zhì)量計劃進(jìn)行調(diào)整。
3.4.1 統(tǒng)計管理子過程性能
統(tǒng)計管理的過程[9](Statistically Managed Process)即使用基于統(tǒng)計的方法進(jìn)行管理的過程,其中,對該過程進(jìn)行了分析,過程偏差的特殊原因得以識別,過程性能也被控制在已定義的范圍內(nèi)。對子過程實施統(tǒng)計管理,可以使子過程的性能得到很好的控制,從而確保實現(xiàn)子過程的預(yù)期質(zhì)量目標(biāo)。適于統(tǒng)計管理的度量必須是可控的,對子過程來說是關(guān)鍵的,可以為人員屬性、環(huán)境因子、技術(shù)因子、工具或硬件條件、過程因子、客戶以及供應(yīng)商等利益相關(guān)者,例如人員經(jīng)驗等級、人員可用性、同行評審相關(guān)度量、測試覆蓋度、編程語言等[16]。
根據(jù)對相關(guān)材料的研究,本文歸納并提煉出了一個統(tǒng)計管理子過程性能的流程,大體將統(tǒng)計管理子過程劃分為過程穩(wěn)定性評估和過程能力評估兩部分,如圖2所示。
圖2 統(tǒng)計管理子過程性能
(1)過程穩(wěn)定性評估
過程穩(wěn)定性評估[17]需要用到統(tǒng)計過程控制方法(Statistical Process Control, SPC)。SPC主要用來測量一個過程的穩(wěn)定性并識別過程的各個執(zhí)行情況是否超出所預(yù)期的變化范圍和控制界限??刂茍D是實現(xiàn)統(tǒng)計過程控制強(qiáng)有力的工具,常用的為XmR圖和U圖。通常情況下,適于統(tǒng)計管理的度量其取值都是服從正態(tài)分布的,對于不服從正態(tài)分布的情況,可以使用箱線圖。
對于不穩(wěn)定的過程(子過程中出現(xiàn)了性能偏差),需要識別偏差的特殊原因,集中分析并采取矯正措施排除特殊原因。檢測不穩(wěn)定性除了Western Electric提出的4種有效測試 [17] 外,還可參考Minitab等統(tǒng)計軟件中提供的其他測試規(guī)則。必要時可采用分組的方法。
(2)過程能力評估
在子過程執(zhí)行即將結(jié)束時,需要分析子過程的能力,進(jìn)行過程能力評估。過程能力[17]評估的前提是過程是穩(wěn)定的或統(tǒng)計受控的。有能力的過程首先是穩(wěn)定的,且其能力的上下限必須在規(guī)格界限之內(nèi)。過程能力可以通過過程能力指數(shù)Cp和Cpk來衡量,使用控制圖或直方圖進(jìn)行圖形化展示。
本文為全文原貌 未安裝PDF瀏覽器用戶請先下載安裝 原版全文
過程能力指數(shù)Cp是我們描述過程能力的最重要指標(biāo),但由于Cp的計算與過程輸出的均值μ無關(guān),它是假定過程輸出的均值與規(guī)格中值M重合時的過程能力。因此,Cp指數(shù)只是反映了過程的潛在能力。為此引入了過程能力指數(shù)Cpk,其被稱為實際過程能力指數(shù)[18]。
合理考慮Cp和Cpk兩個指數(shù),對整個過程的狀況就有了較為全面的了解。不應(yīng)單獨使用這兩個之中的一個。
當(dāng)Cp和Cpk都較小且二者差別不大時,說明過程的主要問題是σ太大,改進(jìn)過程應(yīng)首先著眼于降低過程的波動。
若Cp較大,而Cpk很小,二者差別較大,說明過程的主要問題是μ偏離M太多,改進(jìn)過程應(yīng)首先著眼于移動μ值,使之更接近M。
如果Cp本身不夠好,Cpk更小,二者差別較大時,說明過程的μ和σ都有問題,通常改進(jìn)過程應(yīng)首先移動μ值,使之更接近M,然后設(shè)法降低過程的波動,減小σ。
需要特別強(qiáng)調(diào)的是,Cp和Cpk是由處于統(tǒng)計受控狀態(tài)下的過程波動的大小和均值偏離決定的。因此首先要判斷過程是否處于統(tǒng)計受控狀態(tài)。
3.4.2 預(yù)測項目質(zhì)量目標(biāo)達(dá)成
在每一個子過程結(jié)束時,應(yīng)使用子過程中間目標(biāo)與項目質(zhì)量目標(biāo)之間的過程性能模型預(yù)測項目質(zhì)量目標(biāo)達(dá)成的置信度。
3.5 質(zhì)量評價和改進(jìn)
項目到達(dá)結(jié)項階段時,軟件質(zhì)量管理也進(jìn)入了最后一個環(huán)節(jié):質(zhì)量評價和改進(jìn)?;谶^程性能模型的軟件質(zhì)量管理過程中的質(zhì)量評價和改進(jìn)除了進(jìn)行傳統(tǒng)的質(zhì)量總結(jié)報告之外,還包括基于正交缺陷分類[19](Orthogonal Defect Classification, ODC)的Pareto缺陷類型分析、過程性能基線和過程性能模型的分析評價。
質(zhì)量總結(jié)報告提供了項目質(zhì)量目標(biāo)達(dá)成情況,質(zhì)量活動的過程度量和結(jié)果度量實際數(shù)據(jù),以及缺陷的引入排除情況匯總等。
考慮到ODC的缺陷類型與特定的軟件開發(fā)階段相聯(lián)系,將Pareto缺陷類型分析與ODC結(jié)合起來,有利于識別最普遍的缺陷類型。而且通過Pareto分析找出缺陷數(shù)最多的缺陷類型,然后找出與該缺陷類型相關(guān)的開發(fā)階段,從而對該階段采取相應(yīng)的改進(jìn)措施。
質(zhì)量評價和改進(jìn)環(huán)節(jié)最重要的一步就是要對整個質(zhì)量管理過程中所使用的過程性能基線和過程性能模型進(jìn)行分析和評價,包括過程性能基線是否需要更新、過程性能模型的評價以及過程性能模型是否需要更新等。
3.5.1 過程性能基線更新決策
過程性能基線的建立過程是增量或迭代的,在獲得新項目的實際度量數(shù)據(jù)后,要評估數(shù)據(jù)質(zhì)量,然后將數(shù)據(jù)納入已有基線的分析,確定是建立一個新基線還是使用已有基線。
判斷將新的項目數(shù)據(jù)納入已有過程性能基線是否合適的一個方法是:執(zhí)行假設(shè)檢驗來判斷新數(shù)據(jù)與已有基線是否存在顯著的統(tǒng)計差異。如果存在顯著的統(tǒng)計差異,我們需要使用新的項目數(shù)據(jù)建立新基線;如果假設(shè)檢驗的結(jié)果表明沒有顯著差異,則繼續(xù)使用已有基線。
此外,在綜合考慮項目和項目組之間的內(nèi)在區(qū)別及組織業(yè)務(wù)變更的基礎(chǔ)上,應(yīng)定期評審組織過程性能基線集,以確定是否需要建立新的基線,或者是否需要合并、修訂或放棄已有基線。組織過程性能基線需要合并、修訂或放棄的情況如下:
(1)當(dāng)子過程改變時;
(2)當(dāng)組織的結(jié)果改變時(例如,由于過程偏移);
(3)當(dāng)組織的需要改變時。
3.5.2 過程性能模型評價與更新決策
基于過程性能模型的軟件質(zhì)量管理過程是否能真正奏效,過程性能模型自身的好壞至關(guān)重要,其是否能有效且準(zhǔn)確地對目標(biāo)進(jìn)行預(yù)測和控制、其可理解程度及其可用性等都需要進(jìn)行嚴(yán)格的評價。
通過對可靠性增長模型、質(zhì)量管理模型等模型的評價標(biāo)準(zhǔn)進(jìn)行調(diào)研[20],本文歸納了四條過程性能模型的評價標(biāo)準(zhǔn),如下所示:
(1)預(yù)測有效性。預(yù)測結(jié)果與實際結(jié)果偏差大不大,直接關(guān)系到模型的好壞。
(2)及時性。模型能夠越早地發(fā)現(xiàn)問題或提高的征兆,就有越多的時間提前進(jìn)行計劃。
(3)開發(fā)過程的覆蓋程度。開發(fā)過程的所有階段的模型覆蓋度是很重要的。每個開發(fā)階段必須得到管理,并且應(yīng)當(dāng)實施適當(dāng)?shù)拇胧?。往往需要建立模型集?
(4)簡單性。數(shù)據(jù)采集簡單并且代價不高;概念簡單,用戶不需要很多的數(shù)學(xué)基礎(chǔ)就能理解。
過程性能模型的更新包括對模型的校準(zhǔn)(Calibration)和修訂(Revision)。
量化管理項目時,從統(tǒng)計管理選擇的子過程中獲取關(guān)鍵屬性度量,通過使用所獲得的這些實際性能數(shù)據(jù),校準(zhǔn)有關(guān)過程的過程性能模型,判斷項目是否能夠?qū)崿F(xiàn)其目標(biāo),包括中期和最終目標(biāo)(此時這些目標(biāo)在項目生命周期的后面階段才可以度量)。
需要修訂過程性能模型的情況總結(jié)如下:
(1)當(dāng)子過程改變時;
(2)當(dāng)組織的結(jié)果改變時;
(3)當(dāng)組織的需要改變時。
4 質(zhì)量管理系統(tǒng)體系結(jié)構(gòu)
在對基于過程性能模型的軟件質(zhì)量管理過程的研究的基礎(chǔ)上,研發(fā)了質(zhì)量管理系統(tǒng),其體系結(jié)構(gòu)如圖3所示。該系統(tǒng)建立了組織過程資產(chǎn)庫,并提供兩大功能:過程支持和軟件質(zhì)量管理。
圖3 質(zhì)量管理系統(tǒng)體系結(jié)構(gòu)
4.1 組織過程資產(chǎn)庫
一個組織應(yīng)該擁有自己的過程資產(chǎn)庫,包括組織的標(biāo)準(zhǔn)過程集、度量庫、過程性能基線庫以及過程性能模型庫,分別為過程、度量、PPB和PPM建立了相應(yīng)的數(shù)據(jù)字典。其中,標(biāo)準(zhǔn)過程集支持過程定義和裁剪,度量庫包括過程度量和產(chǎn)品度量,過程性能基線庫以“上限、均值、下限”的方式存儲,過程性能模型庫中涵蓋基本的統(tǒng)計預(yù)測模型和高級預(yù)測模型。
4.2 過程支持
過程支持提供了從軟件度量到過程性能基線直至過程性能模型的建立與維護(hù)功能。隨著度量數(shù)據(jù)的不斷積累,過程性能基線的控制限在建立的過程中需要不斷地修訂。開發(fā)過程性能模型也是一個迭代的過程,不斷的選擇一個或多個適當(dāng)?shù)慕y(tǒng)計建模方法,并用過去的性能數(shù)據(jù)對模型進(jìn)行評估,直到得到適當(dāng)?shù)哪P皖A(yù)測值。
過程性能基線建立的統(tǒng)計方法為控制圖理論,支持過程性能模型建立的統(tǒng)計方法包括回歸、方差分析、虛擬變量回歸、卡方檢驗、邏輯斯蒂回歸,以及蒙特卡洛模擬,貝葉斯信念網(wǎng)絡(luò)(Bayesian Belief Networks, BBN)。
4.3 軟件質(zhì)量管理
(1)質(zhì)量計劃模塊支持入口準(zhǔn)則驗證、質(zhì)量計劃概要、項目質(zhì)量目標(biāo)的建立、各階段質(zhì)量活動其質(zhì)量目標(biāo)的建立、各階段質(zhì)量活動的屬性及其度量的詳細(xì)計劃、項目質(zhì)量目標(biāo)達(dá)成情況預(yù)測及結(jié)果報告。
(2)質(zhì)量活動模塊支持評審過程、測試過程的實施。前者包括評審計劃、評審會、缺陷修復(fù)、評審總結(jié),后者包含測試用例管理、測試報告、缺陷管理。
(3)質(zhì)量度量和分析模塊負(fù)責(zé)從過程中進(jìn)行質(zhì)量度量數(shù)據(jù)(特別是缺陷數(shù)據(jù))的收集、分析、評價并生成質(zhì)量狀態(tài)報告,質(zhì)量數(shù)據(jù)分析包括按階段和項目劃分的缺陷引入和排除情況分析等。
(4)質(zhì)量預(yù)測和控制支持統(tǒng)計管理子過程性能和目標(biāo)達(dá)成情況預(yù)測,為質(zhì)量活動反饋偏差原因和建議的矯正措施,必要時提供質(zhì)量計劃調(diào)整的相關(guān)決策。
本文為全文原貌 未安裝PDF瀏覽器用戶請先下載安裝 原版全文
(5)質(zhì)量評價和改進(jìn)模塊基于項目質(zhì)量目標(biāo)實際達(dá)成情況和軟件開發(fā)過程中的質(zhì)量數(shù)據(jù),生成質(zhì)量總結(jié)報告,并支持基于ODC的Pareto缺陷類型分析,重點提供過程性能基線和過程性能模型更新的決策和相關(guān)評價。
5 結(jié)語
本文對軟件質(zhì)量管理過程進(jìn)行了研究,提出了一種基于過程性能模型的軟件質(zhì)量管理過程模型,包括如何使用過程性能基線和模型指導(dǎo)質(zhì)量計劃的制定、進(jìn)行質(zhì)量預(yù)測和控制等,解決了質(zhì)量目標(biāo)無法有效預(yù)測和控制的問題?;谘芯?構(gòu)建了軟件質(zhì)量管理系統(tǒng)的體系結(jié)構(gòu),下一步將深入研究通過開發(fā)過程控制缺陷的引入,從而全方位地實現(xiàn)軟件質(zhì)量管理。
摘 要:通過對目前軍用軟件系統(tǒng)開發(fā)的特點和存在問題的分析,探討了利用CMM原理來改進(jìn)軍用軟件過程、提升軟件質(zhì)量的途徑和方法。并對提高裝備軟件的質(zhì)量管理水平給出了若干建議,為不斷深化裝備軟件質(zhì)量意識和完善裝備軟件質(zhì)量工作提供了參考。
關(guān)鍵詞:軟件質(zhì)量,質(zhì)量管理,CMM
隨著國防信息化程度的不斷提高,軍用軟件作為信息化裝備系統(tǒng)的神經(jīng)中樞已經(jīng)成為武器裝備系統(tǒng)中不可或缺的組成部分。高新武器裝備中由軟件實現(xiàn)的功能有時甚至?xí)^硬件,乃至軟件本身就可以看作一類重要的裝備,系統(tǒng)中軟件性能的好壞、可靠性的高低、安全性的優(yōu)劣決定著整個武器裝備系統(tǒng)效能的發(fā)揮。目前如何提高軍用軟件的質(zhì)量已經(jīng)成為提升整個武器裝備系統(tǒng)戰(zhàn)斗力的關(guān)鍵所在。
一、軍用軟件的特點
軟件是用計算機(jī)語言表示的與計算機(jī)操作有關(guān)的程序、進(jìn)程和數(shù)據(jù)的集合,具有零磨損特性,其質(zhì)量完全取決于開發(fā)過程。ANSI/IEEE Std 729-1983定義軟件質(zhì)量為:軟件產(chǎn)品滿足規(guī)定的和隱含的需求的能力有關(guān)的特征或特性的全體。該定義表明如果軟件本身設(shè)計出來的質(zhì)量特性能高度滿足軟件各項功能、性能需求,則其質(zhì)量的優(yōu)秀等級較高。
對于軍用軟件而言,還存在一些特殊性,表現(xiàn)在:①開發(fā)過程受嚴(yán)格的軟硬件條件制約,且很難制定具體的、量化的質(zhì)量標(biāo)準(zhǔn)。②規(guī)模巨大,大系統(tǒng)軟件源代碼往往會超過一千萬行。③軍用軟件用于軍事目的,要求無差錯運行,對可靠性、實時性、安全性、保密性、互操作性等方面都有極高的要求。④成系統(tǒng)的大型軍用軟件面對裝備情況復(fù)雜,研制參與人員較多,這些因素會造成高風(fēng)險、長周期,高成本。
二、軍用軟件開發(fā)中的問題
隨著對軟件開發(fā)規(guī)律和軍用軟件質(zhì)量重要性認(rèn)識的提高,已經(jīng)有越來越多的軟件承制單位開始建立基本的軟件過程,按照軟件開發(fā)規(guī)律進(jìn)行開發(fā),但還有相當(dāng)多單位,依然沿用“手工作坊”式的開發(fā)方式,全過程由軟件開發(fā)設(shè)計人員“自行設(shè)計,自行編碼,自行測試,自行包維護(hù)”。這種方式無法對軟件開發(fā)過程進(jìn)行有效的監(jiān)督與管理,一旦軟件產(chǎn)品出現(xiàn)故障,只能由開發(fā)者自行維護(hù),其它人員難以介入,軟件質(zhì)量就會處于失控狀態(tài)下,造成這種狀態(tài)的主要原因除了國內(nèi)軟件開發(fā)整體水平較低外,限制軟件的質(zhì)量的原因還有:①目前相當(dāng)多的軍用軟件是當(dāng)作硬件的附件而不是獨立的產(chǎn)品,沒有按照基本的軟件過程模型進(jìn)行軟件開發(fā)。②在研制過程中軟件的評審力度不夠。③軟件開發(fā)文檔及編制過程不規(guī)范,文檔對開發(fā)過程的沒有起到指導(dǎo)作用,軟件驗收和維護(hù)也沒有依據(jù)。④軟件測試非獨立過程,軟件的測試軟件、測試工具缺乏,標(biāo)準(zhǔn)、規(guī)范不健全,軟件檢驗與硬件合并進(jìn)行,使得測試過程難以發(fā)現(xiàn)軟件本身存在的問題。⑤部隊使用裝備投入對軟件維護(hù)的力度不夠。
三、CMM原理和作用
為有效針對軍用軟件目前存在的若干問題,保證軟件產(chǎn)品質(zhì)量,應(yīng)清晰和完善的軟件過程。我國于2001年基于SW2CMM1.1版的理念,制定了GJB5000―2003《軍用軟件能力成熟度模型》,并于08年在原標(biāo)準(zhǔn)基礎(chǔ)上修改了若干內(nèi)容,了GJB5000A-2008作為替代原文件版本,這些都標(biāo)志著我國軍用軟件開發(fā)管理已經(jīng)進(jìn)入規(guī)范化管理階段。
軟件能力成熟度模型CMM主要用于軟件過程評估和軟件能力評價。其中軟件過程評估用于確定當(dāng)前軟件過程的狀態(tài),發(fā)現(xiàn)與軟件過程有關(guān)的嗜待解決的問題,進(jìn)而有步驟地對軟件過程實施改進(jìn),提高組織的軟件過程能力。
CMM模型為軟件開發(fā)組織設(shè)計了一個循序漸進(jìn)的改進(jìn)過程,幫助開發(fā)組織按模型進(jìn)行對照檢查,找出自身的強(qiáng)項和弱點,制定改進(jìn)計劃,逐步提升軟件過程能力。同時也為軟件委托方或采辦者提供了一個評價標(biāo)準(zhǔn),可以為對軟件承包商進(jìn)行軟件過程能力評估,對風(fēng)險進(jìn)行控制。軟件能力成熟度越高,軟件過程越透明,軟件性能越穩(wěn)定,軟件質(zhì)量越高。
CMM將軟件過程能力成熟度分為5級,從1級到5級軟件能力成熟度逐步提高,每個等級有其軟件過程特點,1級不含關(guān)鍵過程域,2級以上每一等級包含一組關(guān)鍵過程域,每一關(guān)鍵過程域中包含一組目標(biāo),當(dāng)這組目標(biāo)全部實現(xiàn)時該關(guān)鍵過程域相應(yīng)的要求得到穩(wěn)定。當(dāng)一個等級及其以下所有等級的各關(guān)鍵過程域的全部目標(biāo)實現(xiàn)時,就表明達(dá)到了該等級的成熟度。
四、利用CMM對軍用軟件能力成熟度評估
我國目前軍用軟件研制受整體水平的制約,還處于起步階段,所以在引入并實施軍用軟件能力成熟度模型CMM時,可以從可重復(fù)級(2級)做起,幫助軟件開發(fā)組織的過程能力按階段逐步建立,逐級提高成熟度等級??芍貜?fù)級共有需求管理、軟件項目策劃、軟件項目跟蹤與監(jiān)督、軟件質(zhì)量保證、軟件配置管理、軟件子合同管理等6個關(guān)鍵過程域。為實現(xiàn)6個過程域的滿足,應(yīng)注重以下幾個方面:①高層管理者應(yīng)確定軟件工程化方針,以CMM模型為藍(lán)本,要求軟件項目組按照軟件工程要求實施軟件開發(fā),對項目進(jìn)行階段性分割,推進(jìn)文檔化交流方式,以便對軟件開發(fā)的全過程進(jìn)行有效控制和管理。②對原有組織進(jìn)行適當(dāng)調(diào)整,依據(jù)CMM過程域?qū)崿F(xiàn)要求進(jìn)行必要的人員配備和準(zhǔn)備,建立軟件工程過程組、系統(tǒng)測試組、軟件質(zhì)量保證組、軟件配置管理組與軟件配置控制委員會。③ 在全組織內(nèi)進(jìn)行動員、學(xué)習(xí)和培訓(xùn)CMM相關(guān)知識和理論;將本單位的組織、角色和術(shù)語與CMM中的相對應(yīng),完成軟件開發(fā)CMM模型本地化改造;建立激勵機(jī)制,鼓勵軟件組成員盡快地接受CMM的理念和實踐推進(jìn)。
五、對于軍用軟件質(zhì)量管理實施的幾點建議
軍用軟件成熟度模型CMM是評估軟件過程和評價軟件能力的重要工具,對規(guī)范軍用軟件承制單位按照軟件開發(fā)規(guī)律進(jìn)行軟件開發(fā),提高研制開發(fā)能力,保證軟件質(zhì)量具有非常重要的意義。我國軍用軟件能力水平目前大部分處在CMM初始級或可重復(fù)級階段,GJB5000A-2008《軍用軟件能力成熟度模型》軍用標(biāo)準(zhǔn)要求全軍各部隊和全國所有軍用軟件承制單位貫徹執(zhí)行在一定程度上推進(jìn)了我國軍用軟件過程能力的提高,但在短期內(nèi)想要提升軟件成熟度等級還具有一定困難。所以我們應(yīng)本著長期堅持,循序漸進(jìn)的工作方法,結(jié)合實際情況,制定相應(yīng)的改進(jìn)措施,逐步完善實施過程。
此外,我們還應(yīng)結(jié)合更多的管理方法對軍用軟件質(zhì)量管理進(jìn)行完善。如加強(qiáng)對軍用軟件研制單位質(zhì)量水平的審核。通過二方(顧客方,如軍方)或第三方(如獨立的認(rèn)證機(jī)構(gòu))嚴(yán)格審核,可以提高軍用軟件研制單位對軟件質(zhì)量的重視;及時更新軟件工程理論技術(shù),如軟件開發(fā)過程模型,軟件產(chǎn)品的評價模型方法、質(zhì)量保證方法、軟件工程集成環(huán)境和工具,可靠性和安全性技術(shù)等;建立一支高水平的軟件測試檢驗隊伍,保證軟件測試人員的技術(shù)水平等級不低于軟件開發(fā)人員;在軟件開發(fā)過程中堅持開展軟件標(biāo)準(zhǔn)化、系列化、模塊化設(shè)計理念,提高軟件模塊復(fù)用率,用以提高軟件的質(zhì)量和可靠性。
提高軍用軟件質(zhì)量管理水平是一個涉及多學(xué)科多技術(shù)的綜合應(yīng)用系統(tǒng)工程,軍用軟件承制單位中各部門各專業(yè)只有共同努力,通力合作才能使我軍電子裝備軟件系統(tǒng)開發(fā)的整體水平跨上一個新的臺階。
摘要:近年來,隨著我國社會經(jīng)濟(jì)的不斷發(fā)展,我國軟件技術(shù)發(fā)展速度也在不斷加快,但同時我國軟件技術(shù)還存在較多的問題,要想有效解決這些問題,必須加強(qiáng)軟件質(zhì)量管理,不斷完善軟件質(zhì)量管理體系,促進(jìn)軟件快速交付。文章研究表明,通過軟件質(zhì)量管理,不僅可以促進(jìn)軟件開發(fā),還可以確保軟件質(zhì)量。
關(guān)鍵詞:軟件;質(zhì)量管理;優(yōu)化對策
0引言
在軟件技術(shù)快速發(fā)展和應(yīng)用范圍不斷擴(kuò)大的同時,軟件復(fù)雜性也不斷提升。在當(dāng)前的很多軟件開發(fā)企業(yè)中,軟件質(zhì)量管理問題開始成了關(guān)注的焦點。
1軟件質(zhì)量管理中存在的主要問題分析
1.1需求模糊問題
結(jié)合軟件工程來說的話,軟件產(chǎn)品的生產(chǎn)主要包括多個過程:第一是系統(tǒng)需求研究過程;第二是系統(tǒng)設(shè)計過程;第三是系統(tǒng)實現(xiàn)過程。但對于軟件系統(tǒng)需求來說,往往描述不夠完善,相應(yīng)的軟件需求調(diào)研以及研究也不夠深入,沒有加強(qiáng)對軟件質(zhì)量需求的管理,這樣不僅會使得研發(fā)以及測試設(shè)計工作落實不到位,還會明顯提升溝通成本,導(dǎo)致產(chǎn)品實現(xiàn)與用戶需求不一致[1]。
1.2立項管理不到位問題
大量實踐結(jié)果表明,通過加強(qiáng)立項管理,可以有效避免質(zhì)量管理項目風(fēng)險的產(chǎn)生,賦予軟件項目開發(fā)深刻的意義。(1)軟件項目開展。不加強(qiáng)深入的立項調(diào)查,以及加強(qiáng)項目可行性分析,落實好立項評審,則可能會導(dǎo)致產(chǎn)品需求獲取不到位,軟件開發(fā)產(chǎn)品規(guī)劃出現(xiàn)很多問題,無法保證軟件研發(fā)工作的有效開展,致使項目研發(fā)功能明顯減弱,不但會導(dǎo)致資源浪費,還會阻礙新產(chǎn)品的正常[2]。(2)軟件項目。如果沒有加強(qiáng)立項管理,可能會導(dǎo)致成員行為渙散問題的出現(xiàn)。工作人員只顧自己,不顧團(tuán)隊利益,無法全面了解項目產(chǎn)品的實際開發(fā)要求與背景,也不能從根本上明確項目開發(fā)的最終目標(biāo),無法滿足用戶的實際軟件開發(fā)需求,最終使得軟件開發(fā)計劃無法按期實施以及軟件開發(fā)費用超支等問題出現(xiàn)。
1.3軟件質(zhì)量保證體系尚待完善
針對我國很多軟件開發(fā)企業(yè)來說,往往都處于“軟件質(zhì)量管理”實施的最初階段,甚至是試行階段,很多科研制作部門對應(yīng)的標(biāo)準(zhǔn)化軟件質(zhì)量管理體系還都不完善,甚至有一些科研部門對應(yīng)的軟件質(zhì)量管理制度和體系還沒有形成[3]。另外,一些企業(yè)雖然設(shè)立了軟件質(zhì)量管理的專有部門,但相應(yīng)的體系文件卻還不完善,需要經(jīng)過大量的實踐來完善。在軟件開發(fā)項目研制部門質(zhì)量管理普通較低的情況下,軟件開發(fā)工作者的綜合素質(zhì)低下,也會影響軟件產(chǎn)品的最終質(zhì)量。
2軟件質(zhì)量管理的優(yōu)化對策分析
2.1加強(qiáng)需求工程有效管理
在實際的軟件開發(fā)當(dāng)中,如果相應(yīng)需求模糊,會出現(xiàn)需求隨意變更的現(xiàn)象,導(dǎo)致時間被白白浪費。對于該問題來說,必須針對相關(guān)需求活動,加強(qiáng)統(tǒng)一化的需求管理。要在落實好軟件需求開發(fā)工作的基礎(chǔ)上加強(qiáng)需求管理,這樣不但能夠限制需求變更的實際次數(shù),還能促進(jìn)工程師對質(zhì)量管理需求的深入理解??傊?,軟件需求開發(fā)與軟件需求管理的重要性同等重要,必須實現(xiàn)兩者的有效結(jié)合,才能保證最終產(chǎn)品的質(zhì)量。
2.2加強(qiáng)軟件測試流程有效管理
在軟件測試的各個環(huán)節(jié),都可能會出現(xiàn)一些問題,必須不斷優(yōu)化軟件測試流程,加強(qiáng)對軟件測試流程的有效管理。具體來說:(1)軟件測試相關(guān)部門人員,必須加強(qiáng)需求知識學(xué)習(xí),開展深入的需求探討。(2)對有疑慮的需求者,研發(fā)設(shè)計工作者要做出及時而準(zhǔn)確的解答。對于研發(fā)設(shè)計工作者也不能有效解答的問題,要讓他們聯(lián)系用戶來有效解答。在明確需求的基礎(chǔ)上,根據(jù)軟件系統(tǒng)的作用以及性能,專門的測試工程師要科學(xué)合理地設(shè)計軟件測試測用例,具體要結(jié)合兩大方面的內(nèi)容來設(shè)計:第一,針對測試工程師來說,必須結(jié)合實際需求,科學(xué)合理地編寫測試用例;第二,針對測試工程師來說,要在結(jié)合實際用戶反饋情況的基礎(chǔ)上,做好分析匯總工作[4]。要大力引入和合理應(yīng)用QC功能測試設(shè)備以及工具,加強(qiáng)對軟件以及實際操作系統(tǒng)兼容性能的合理性測試,才能充分發(fā)揮軟件測試工具使用的功能與作用,落實好軟件兼容性測試工作。此外,要加強(qiáng)自由軟件測試,適當(dāng)補(bǔ)充軟件測試用例,了解軟件測試用例沒有涉及的問題以及問題產(chǎn)生的原因;要采取定期研究和分析的方法,明確缺陷庫里面存在的問題,并深入研究問題成因,進(jìn)而利用測試用例來解決問題[5]。
2.3加強(qiáng)項目進(jìn)度質(zhì)量有效管理
要保證軟件開發(fā)項目的順利完成,首先必須保證軟件項目質(zhì)量足夠好。在軟件項目開始實施之前,必須保證項目開發(fā)計劃足夠科學(xué)、合理。如果軟件開發(fā)項目計劃設(shè)計人員相關(guān)工作經(jīng)驗足夠豐富、設(shè)計能力足夠強(qiáng),往往可以有效保證軟件開發(fā)計劃的合理性與完善性,有效預(yù)見軟件開發(fā)計劃當(dāng)中的問題,消除相關(guān)阻礙和影響因素。在軟件開發(fā)項目計劃設(shè)計的開始,相關(guān)人應(yīng)及時組織軟件質(zhì)量管理人員,開展軟件項目計劃討論會與評審會,并請相關(guān)技術(shù)專家、真實用戶等,針對軟件項目計劃的科學(xué)性和合理性進(jìn)行探討,分享個人意見和看法,由專門的記錄人員總結(jié)相關(guān)意見,最終形成系統(tǒng)化的質(zhì)量記錄,再以書面或者文檔的形式傳送給相關(guān)工作人員進(jìn)行意見修改整合,確保軟件項目計劃的完善性。
2.4提升工作人員的綜合素質(zhì)
在軟件開發(fā)和質(zhì)量管理過程中,技術(shù)人員和管理人員是核心主體。因此,要想有效保證軟件質(zhì)量管理有效性,必須保證管理工作人員和技術(shù)人員的綜合素質(zhì)足夠高。讓員工全面地了解企業(yè),正確理解自身的工作性質(zhì)和要求,并不斷增強(qiáng)自身的責(zé)任感。即使工作人員已經(jīng)對工作內(nèi)容很熟悉,也可能沒有深入理解企業(yè)經(jīng)營戰(zhàn)略以及相應(yīng)的發(fā)展規(guī)劃。企業(yè)外部環(huán)境條件變化幅度比較大,企業(yè)工作人員必須及時掌握內(nèi)部戰(zhàn)略和規(guī)劃變化情況,及時調(diào)整自己的工作計劃和方法。對于軟件質(zhì)量管理人員來說,不但要主動參與到企業(yè)發(fā)展規(guī)劃設(shè)計工作中,還必須及時將相關(guān)信息傳達(dá)給各個部門。通常來說,企業(yè)應(yīng)當(dāng)定期或者不定期地開展例會,介紹企業(yè)近期情況和之后的發(fā)展規(guī)劃。在掌握全體例會內(nèi)容的基礎(chǔ)上,各個部門負(fù)責(zé)人員應(yīng)當(dāng)再次開展部門會議,根據(jù)部門工作開展情況,做好后期工作規(guī)劃調(diào)整工作,使得每位員工都掌握企業(yè)發(fā)展動態(tài),進(jìn)行自身科學(xué)合理的工作調(diào)整與規(guī)劃。軟件質(zhì)量管理者還必須基于企業(yè)內(nèi)部軟件質(zhì)量問題,增強(qiáng)創(chuàng)新意識,提出可以有效解決軟件質(zhì)量問題的措施。
3結(jié)語
綜上所述,軟件開發(fā)成本管理不到位、軟件質(zhì)量管理不到位等問題仍然存在,導(dǎo)致這些問題產(chǎn)生的主要原因是管理者管理不到位,如:軟件質(zhì)量管理制度不完善、隨意性較強(qiáng)。要有效解決這些問題,必須以完善的軟件質(zhì)量管理體系為依據(jù),加強(qiáng)軟件開發(fā)的全過程監(jiān)控。
摘要:將數(shù)據(jù)挖掘技術(shù)運用于軟件質(zhì)量管理,根據(jù)影響系統(tǒng)質(zhì)量的屬性,建立了質(zhì)量管理和分析模型,并根據(jù)模型給出了系統(tǒng)實現(xiàn)的初步方案。該系統(tǒng)的實施,能夠有效的保證軟件產(chǎn)品的質(zhì)量。
關(guān)鍵詞:軟件質(zhì)量管理;數(shù)據(jù)挖掘;聯(lián)機(jī)分析處理;關(guān)聯(lián)規(guī)則
1 引言
隨著計算機(jī)軟件越來越深入地應(yīng)用到社會生活的各個方面,尤其是一些關(guān)鍵領(lǐng)域,軟件的規(guī)模也隨之日益增大,軟件的質(zhì)量也越來越受到重視[1-2]。軟件的質(zhì)量不過關(guān),可能會產(chǎn)生嚴(yán)重后果。目前中國軟件業(yè)尚未形成規(guī)模,全國的軟件企業(yè)數(shù)量不少,但是大規(guī)模軟件企業(yè)聊聊無幾。我國軟件業(yè)競爭力低下固然有產(chǎn)業(yè)規(guī)模小,資金投入不足、知識產(chǎn)權(quán)保護(hù)不力等各方面原因,但軟件產(chǎn)品質(zhì)量不高也是一個不爭的事實,它直接影響到企業(yè)的形象及其在市場上的信譽,進(jìn)而影響到其生產(chǎn)需求,使企業(yè)存在潛在的生存危機(jī)。
目前,對于軟件質(zhì)量控制一般都采用ISO9000或者是CMM,通過對軟件開發(fā)過程的管理來控制開發(fā)質(zhì)量[3-5]。本文研究了數(shù)據(jù)挖掘技術(shù)在軟件質(zhì)量管理中的應(yīng)用,設(shè)計了一種基于數(shù)據(jù)挖掘的軟件質(zhì)量管理系統(tǒng)。系統(tǒng)通過軟件缺陷的數(shù)據(jù),軟件生命周期全過程中關(guān)于分析、設(shè)計、編碼、測試等階段有關(guān)人員素質(zhì)、開發(fā)和管理過程的信息以及軟件屬性、開發(fā)機(jī)構(gòu)資質(zhì)和經(jīng)驗、目標(biāo)用戶評價等資料的數(shù)據(jù)庫,來建立質(zhì)量預(yù)測模型,發(fā)現(xiàn)制約質(zhì)量和過程的規(guī)律,從而采取預(yù)防缺陷措施。那么就能最大限度的降低開發(fā)維護(hù)的費用,大大降低軟件故障和失敗的可能。
2 影響軟件質(zhì)量的各種因素
軟件的設(shè)計開發(fā)、營銷、服務(wù)與支持活動,涉及投資者、管理者、銷售者、軟件產(chǎn)品用戶等各類人員及其組織。因此,需要從全面的軟件質(zhì)量觀出發(fā),深入分析與軟件生產(chǎn)有關(guān)的組織、人員、活動,對軟件生產(chǎn)過程進(jìn)行模塊劃分,建立通用的模塊化的軟件生產(chǎn)過程模型,以識別影響軟件質(zhì)量的各種因素。在此基礎(chǔ)上,構(gòu)架基于過程的軟件質(zhì)量體系結(jié)構(gòu),提供構(gòu)成軟件質(zhì)量系統(tǒng)的通用概念框架,這就在高層次上找到了滿足用戶的要求,使定量質(zhì)量管理成為可能。同時建立通過模塊化過程的質(zhì)量保證以及過程網(wǎng)絡(luò)協(xié)同運作的質(zhì)量保證系統(tǒng),來保證軟件產(chǎn)品質(zhì)量的質(zhì)量管理方法。進(jìn)而建立完善軟件過程質(zhì)量的質(zhì)量評價體系,用軟件過程能力指數(shù)評價過程質(zhì)量的高低,以過程的穩(wěn)定受控來保證軟件產(chǎn)品滿足規(guī)定的質(zhì)量特性要求。
2.1 質(zhì)量屬性
軟件的質(zhì)量屬性可分為兩大類:第一類可在運行軟件并觀察其結(jié)果的時候進(jìn)行度量,例如性能、安全性、可靠性和功能性等都屬于這一類。第二類不能夠在運行軟件并觀察其結(jié)果的時候進(jìn)行度量,但可通過對開發(fā)或維護(hù)過程的觀察進(jìn)行度量,這一類的質(zhì)量屬性包括可移植性、適應(yīng)性、可復(fù)用性等。
2.2 軟件體系結(jié)構(gòu)對軟件質(zhì)量的影響
軟件需求確定后,軟件體系架構(gòu)在軟件質(zhì)量中會起重要作用[3],有合理的軟件體系架構(gòu),可以使需求變更產(chǎn)生的影響變得更小。如果沒有合理的體系結(jié)構(gòu),先進(jìn)的編程技巧也不一定能彌補(bǔ)體系架構(gòu)對質(zhì)量的影響。
軟件體系結(jié)構(gòu)問題包括軟件系統(tǒng)總體組織和全局控制、通訊協(xié)議、同步、數(shù)據(jù)存取、給設(shè)計元素分配特定功能,設(shè)計元素的組織、規(guī)模和性能,在各個設(shè)計方案間進(jìn)行選擇。軟件體系結(jié)構(gòu)的設(shè)計是從問題域到軟件解空間的第一步。一些體系結(jié)構(gòu)方面的問題對軟件的質(zhì)量屬性有重大的影響。比如,模塊的層次可能影響系統(tǒng)的可修改性;功能的劃分和封裝可能影響系統(tǒng)的可擴(kuò)展;構(gòu)件間的通信協(xié)議可能影響系統(tǒng)的效率等。從另一方面看,良好的軟件體系架構(gòu)并不能確保系統(tǒng)的功能性需求及質(zhì)量需求。后階段的設(shè)計、實現(xiàn)等同樣可以使系統(tǒng)的質(zhì)量發(fā)生變化甚至損壞。畢竟,軟件生命周期的任何階段都對軟件質(zhì)量有或大或小的影響。因此,好的軟件體系結(jié)構(gòu)是良好系統(tǒng)質(zhì)量的基礎(chǔ)。
2.3 軟件過程對軟件質(zhì)量的影響
從質(zhì)量管理模式來看,軟件企業(yè)按照某種軟件生命周期模型來組織軟件項目或軟件產(chǎn)品的開發(fā)。目前比較流行的有瀑布型和迭代式開發(fā)方法。瀑布型的開發(fā)方法適合小型的、需求明確的軟件項目,這種模型有個根本缺陷就是沒有把用戶需求反映在在整個項目當(dāng)中。迭代式開發(fā)方法強(qiáng)調(diào)軟件風(fēng)險管理,把項目分成一個個的開發(fā)提交階段,把里程碑處提交的產(chǎn)品提交用戶反饋,并將反饋信息加入到下一個階段的軟件開發(fā)當(dāng)中,其本質(zhì)是基于產(chǎn)品開發(fā)的組織方式。
長期以來,軟件開發(fā)過程中需求的變化,特別是軟件使用后需求的變化,一直是制約軟件質(zhì)量提高的“瓶頸”[4]。隨著軟件產(chǎn)品或項目規(guī)模的擴(kuò)大,軟件產(chǎn)業(yè)的興起,軟件生產(chǎn)的組織方式也要從面向產(chǎn)品的生產(chǎn)組織轉(zhuǎn)向面向過程的組織方式,面向過程的生產(chǎn)是軟件產(chǎn)品生產(chǎn)的主流方向,必須以面向過程的生產(chǎn)組織方式,對軟件需求獲取、設(shè)計、開發(fā)、維護(hù)服務(wù)與支持的各過程進(jìn)行預(yù)防為主的過程質(zhì)量控制,對產(chǎn)品及過程的質(zhì)量全部量化。
3 數(shù)據(jù)挖掘技術(shù)
3.1 數(shù)據(jù)挖掘和聯(lián)機(jī)分析處理OLAP
數(shù)據(jù)挖掘是20世紀(jì)90年代迅速興起的一個十分活躍的研究方向。其目的在于發(fā)現(xiàn)大型數(shù)據(jù)集中隱含的、不為我們所知的潛在有用信息,受到了數(shù)據(jù)庫、人工智能、統(tǒng)計學(xué)和數(shù)學(xué)等領(lǐng)域研究人員的廣泛重視,成為繼Internet之后的技術(shù)熱點[5]。目前,數(shù)據(jù)挖掘在銷售、金融、電信、保險、教育、政府決策和基因工程研究等許多領(lǐng)域都得到了成功的應(yīng)用,已產(chǎn)生了巨大的經(jīng)濟(jì)效益和社會效益。數(shù)據(jù)挖掘過程一般包括三個步驟,即數(shù)據(jù)準(zhǔn)備、數(shù)據(jù)挖掘和知識分析和獲取。數(shù)據(jù)準(zhǔn)備用于選擇相關(guān)數(shù)據(jù)用于預(yù)處理,包括消除數(shù)據(jù)噪聲、彌補(bǔ)數(shù)據(jù)缺失和解決數(shù)據(jù)沖突,然后轉(zhuǎn)換成適合挖掘的形式;數(shù)據(jù)挖掘則是采用有關(guān)算法對經(jīng)過清洗的數(shù)據(jù)進(jìn)行分析,其結(jié)果是大量的規(guī)則;知識分析和獲取用于對產(chǎn)生的一系列規(guī)則進(jìn)行評價,并從中抽取有用的知識,以輔助決策,如圖1所示。數(shù)據(jù)挖掘有分類規(guī)則挖掘、聚類規(guī)則挖掘、關(guān)聯(lián)規(guī)則挖掘、轉(zhuǎn)移規(guī)則挖掘、例外模式挖掘、序列模式挖掘、Web挖掘、正文挖掘、多媒體數(shù)據(jù)挖掘、空間數(shù)據(jù)挖掘和時態(tài)數(shù)據(jù)挖掘等。
聯(lián)機(jī)分析處理OLAP使用多維數(shù)據(jù)模型,在數(shù)據(jù)倉庫中進(jìn)行一系列統(tǒng)計操作,使分析人員、管理人員或執(zhí)行人員能夠從多角度對信息進(jìn)行快速、一致、交互地存取,從而獲得對數(shù)據(jù)的更深入了解的一類軟件技術(shù)。OLAP的目標(biāo)是滿足決策支持或者滿足在多維環(huán)境下特定的查詢和報表需求。在企業(yè)當(dāng)中得到越來越廣泛的應(yīng)用。
摘 要 本文簡要介紹了軍用軟件特性,從軟件分級管理、軟件配置管理、SFRACAS三個方面探討了如何加強(qiáng)軍用軟件的質(zhì)量管理,為軍用軟件質(zhì)量管理工作提供參考。
【關(guān)鍵詞】軍用軟件 質(zhì)量管理 軟件配置管理 SFRACAS
隨著武器裝備信息化程度的不斷提高,軍用軟件產(chǎn)品在武器裝備上得以廣泛應(yīng)用,軍用軟件質(zhì)量已經(jīng)成為影響武器裝備質(zhì)量與安全的關(guān)鍵性因素之一,有必要采取措施加強(qiáng)軍用軟件的質(zhì)量管理。
1 軍用軟件特性
軍用軟件是指應(yīng)用于軍事用途的軟件。軍用軟件的特殊性使其開發(fā)和質(zhì)量保障難度較大,具有以下特性:
(1)軍用軟件通常要面臨復(fù)雜的作戰(zhàn)環(huán)境,可靠性、安全性要求高;
(2)軍用軟件一般為嵌入式軟件,對操作性要求較高;
(3)大部分軍用軟件規(guī)模巨大,研制周期較長,成本較高,風(fēng)險較大;
(4)應(yīng)用于軍事用途,對開發(fā)人員、開發(fā)工具等提出較高的保密性要求。
2 軍用軟件質(zhì)量管理措施
2.1 開展軟件分級管理
軍用軟件應(yīng)按照GJB/Z 102《軟件可靠性和安全性設(shè)計準(zhǔn)則》要求進(jìn)行分級管理,按照軟件失效的危險嚴(yán)重性等級分為A、B、C、D四個等級。其中A、B級軟件失效可能導(dǎo)致人員死亡或嚴(yán)重受傷、系統(tǒng)報廢或嚴(yán)重?fù)p壞,因此在軟件開發(fā)的各個階段必須開展危險性分析,降低風(fēng)險。同時A級軟件可能導(dǎo)致人員死亡或系統(tǒng)報廢,因此必須對A級軟件開展第三方測試,確保測試結(jié)果的獨立性和權(quán)威性。由于軍用軟件的特殊性,如專業(yè)化程度更高,保密性要求高,使得第三方獨立測試存在一定困難,可以考慮由軍用軟件承制單位進(jìn)行測試,但必須由第三方組織和全程監(jiān)督,必要時讓軍用軟件用戶參與進(jìn)來,使測試結(jié)果更加準(zhǔn)確有效。
2.2 開展軟件配置管理
軟件配置管理的對象是軟件配置項。軟件配置項就是在軟件生命周期內(nèi)各個階段產(chǎn)生的各種形式的文檔、程序、數(shù)據(jù)。軟件配置管理目的是利用配置標(biāo)識、配置控制、配置狀態(tài)報告和配置審核建立和維護(hù)配置項的完整性,通過自定義三庫管理策略,建立開發(fā)庫、受控庫和產(chǎn)品庫,對軟件配置項進(jìn)行入庫、訪問、出庫、維護(hù)、更改、等活動實施管理,以確保軟件產(chǎn)品的正確性、完整性、可控性、可追溯性,主要包括以下四方面內(nèi)容:
2.2.1 配置標(biāo)識
配置標(biāo)識主要包括三方面工作,一是定義項目生存周期中所建立的基線,二是識別和選擇要管理的配置項,三是維護(hù)配置項標(biāo)識。
2.2.2 配置控制
配置控制包括版本控制和變更控制兩方面工作。軟件產(chǎn)品為了適應(yīng)不同的運行環(huán)境、不同的平臺、不同用戶的使用要求,導(dǎo)致同一軟件產(chǎn)生或演化出不同的版本,必須進(jìn)行版本控制。版本控制的目的在于對軟件開發(fā)進(jìn)程中文件或目錄的發(fā)展過程提供有效的追蹤手段,保證在需要時可回到舊版本,避免文件的丟失、修改的丟失和相互覆蓋。版本控制是實現(xiàn)團(tuán)隊并行開發(fā)、提高開發(fā)效率的基礎(chǔ)。變更管理是配置管理的一個重要組成部分,實現(xiàn)對需求變更及軟件代碼變更的高效管理。變更必須履行審批手續(xù),首先由軟件配置項負(fù)責(zé)人提交變更申請至配置管理員,再由配置管理員提交軟件配置控制管理委員會進(jìn)行評審,如批準(zhǔn)及時修改并指定修改人,配置管理員將配置項檢出至修改人員的開發(fā)庫中進(jìn)行修改,修改后經(jīng)評審或確認(rèn)批準(zhǔn)后,由配置管理員將修改批準(zhǔn)后的配置項重新入受控庫(要求有版本升級記錄),更新受控庫狀態(tài)報告;如沒有批準(zhǔn)修改或批準(zhǔn)延后修改,配置管理員應(yīng)向問題提出者提供未批準(zhǔn)及批準(zhǔn)延后修改的原因。當(dāng)軟件產(chǎn)品經(jīng)過最終驗收或交付后應(yīng)提交配置管理員,入產(chǎn)品庫。
2.2.3 配置狀態(tài)報告
配置管理員通過配置管理系統(tǒng)收集當(dāng)前基線配置項的狀態(tài),匯總形成配置狀態(tài)報告,定期提交項目負(fù)責(zé)人審閱。
2.2.4 配置審核
配置審核主要是對軟件開發(fā)過程進(jìn)行審核,確保軟件配置項正確可控,一般由質(zhì)量保證人員單獨執(zhí)行。
2.3 建立SFRACAS
SFRACAS即軟件故障報告、分析和糾正措施系統(tǒng),建立該系統(tǒng)的目的是及時報告軟件發(fā)生的故障,分析軟件故障產(chǎn)生的原因,制定糾正措施并驗證其有效性,防止故障再次發(fā)生。軍用軟件承制單位應(yīng)從軟件研制開始建立SFRACAS,對故障實行閉環(huán)控制,有效地消除軟件缺陷、故障,提升軟件研制工作的質(zhì)量。
建立SFRACAS應(yīng)遵循PDCA原則,P代表計劃(PLAN),D代表執(zhí)行(DO),C代表檢查(CHECK),A代表處理(ACTION),這四個過程循環(huán)執(zhí)行,周而復(fù)始,促使軍用軟件質(zhì)量不斷改進(jìn)。SFRACAS具體工作流程如下:
2.3.1 故障報告
軟件在研制和使用階段發(fā)生的故障,應(yīng)由相關(guān)部門負(fù)責(zé)信息收集的人員予以及時、完整的收集,編制故障報告,并在規(guī)定的時間內(nèi)向規(guī)定的管理組織報告。
2.3.2 故障核實
質(zhì)量保證部門應(yīng)組織有關(guān)人員對報告的故障內(nèi)容都應(yīng)按發(fā)生故障時的實際情況進(jìn)行核實,故障核實可通過重現(xiàn)故障模式或依靠故障證據(jù)來完成。對缺乏證據(jù)的應(yīng)給予說明。
2.3.3 故障分析
在軟件的故障得到核實后,故障責(zé)任單位應(yīng)盡快組織相關(guān)人員對故障進(jìn)行分析,以確定故障原因,并編制故障分析報告。
2.3.4 故障糾正
故障原因確定后,故障責(zé)任單位的有關(guān)部門應(yīng)根據(jù)對故障的分析結(jié)論,研究并制定糾正措施,編制糾正措施實施報告,并提交規(guī)定的管理組織審批確認(rèn),再下發(fā)有關(guān)部門組織實施。
2.3.5 糾正措施效果的驗證
糾正措施實施后,有關(guān)部門應(yīng)通過試驗、試用等方法證實糾正措施的有效性,如達(dá)不到預(yù)期效果,則需復(fù)查故障的原因或進(jìn)一步采取其它的糾正措施,直至故障徹底解決。最終,將確定的糾正措施及其實施效果提交給規(guī)定的管理組織。
2.3.6 故障信息管理
故障解決后,軟件承制單位應(yīng)統(tǒng)一管理保存全部故障信息報告及有關(guān)文檔資料,并建立故障信息庫,供有關(guān)人員查詢。
3 結(jié)束語
對軍用軟件的質(zhì)量管理,是當(dāng)今武器裝備質(zhì)量管理的重要組成部分。本文簡要介紹了軍用軟件特性,從軟件分級管理、軟件配置管理、SFRACAS三個方面探討了如何加強(qiáng)軍用軟件的質(zhì)量管理,為軍用軟件質(zhì)量管理工作提供參考。
【摘要】本文首先從面向?qū)ο蠹夹g(shù)和重用的角度對軟件工程進(jìn)行了分析,然后結(jié)合現(xiàn)有的軟件工程開發(fā)技術(shù)及管理成果,對提高軟件生產(chǎn)效率的開發(fā)方法進(jìn)行了進(jìn)一步的探討。
【關(guān)鍵詞】軟件工程 軟件質(zhì)量 質(zhì)量管理
目前我國軟件開發(fā)行業(yè)中擁有大量優(yōu)秀的軟件開發(fā)人員,雖然如此,但是我國企業(yè)的軟件開發(fā)管理卻始終處于一種比較低的水平上,近年來隨著國內(nèi)工業(yè)企業(yè)逐漸與國際標(biāo)準(zhǔn)相接軌,紛紛進(jìn)行國際標(biāo)準(zhǔn)化質(zhì)量體系認(rèn)證,多數(shù)軟件開發(fā)企業(yè)已經(jīng)開始意識到軟件質(zhì)量管理的重要性,開始進(jìn)行有關(guān)軟件質(zhì)量體系的標(biāo)準(zhǔn)化認(rèn)證等工作,鑒于此,本文主要針對軟件工程與軟件質(zhì)量管理領(lǐng)域的一些問題展開分析。
一、軟件工程分析
(一)面向?qū)ο蟮拈_發(fā)方法
最終產(chǎn)品的特性與結(jié)構(gòu)主要由開發(fā)方法所決定,在工業(yè)化過程中逐漸將軟件工程技術(shù)納入到規(guī)?;a(chǎn)中,在系統(tǒng)開發(fā)過程中各個階段之間的過渡變得更加平滑,系統(tǒng)模型也更容易維護(hù),已有成果得到了最大程度的重用,這些目標(biāo)的實現(xiàn)皆得益于對面向?qū)ο蠹夹g(shù)的應(yīng)用。很多問題的存在利用傳統(tǒng)的功能/數(shù)據(jù)方法根本不能得到有效解決,首先,可以利用功能/數(shù)據(jù)將系統(tǒng)分解成數(shù)據(jù)和功能兩部分,功能部分體現(xiàn)出主動的色彩,伴隨著相應(yīng)的行為,數(shù)據(jù)部分則體現(xiàn)出了被動的色彩,被其不同的行為所利用;其次,人們利用功能/數(shù)據(jù)方法開發(fā)系統(tǒng)和軟件時,不同系統(tǒng)和不同軟件之間始終存在一些差異,一般來說是不能利用現(xiàn)實生活中的實體建立系統(tǒng)模型的,需要將實體中的功能及數(shù)據(jù)提取出來;最后,繼承是面向?qū)ο蠹夹g(shù)的主要特點之一,從最大程度上利用現(xiàn)有的軟件產(chǎn)品。因此,在一些大型系統(tǒng)開發(fā)過程中應(yīng)對面向?qū)ο蟮募夹g(shù)進(jìn)行有效的應(yīng)用。
(二)重用
在系統(tǒng)開發(fā)過程中都希望可以對已有的成果進(jìn)行盡可能的應(yīng)用,重用可以使生產(chǎn)效率得到最大程度的提高,軟件工程中解決危機(jī)問題通常會使用重用的方法,但是傳統(tǒng)軟件工程開發(fā)方法并不能對已有軟件產(chǎn)品進(jìn)行盡可能的應(yīng)用。重用軟件代碼在工作中比較常見,對于生產(chǎn)效率的提高非常有用,但是從軟件工程領(lǐng)域來看,解決問題的方式并不唯一,從軟件開發(fā)的角度上來看,會從更為廣泛的范圍內(nèi)對重用技術(shù)進(jìn)行應(yīng)用。此外,文檔的重用也比較常見,不管是開發(fā)階段還是維護(hù)階段,通常重用文檔的方式存在很多不便,加上格式的重用率比較高,因此利用面向?qū)ο蟮募夹g(shù)可以為其提供較大幫助,為重用事務(wù)的分配提供了良好的解決方法。
二、軟件質(zhì)量管理分析
軟件質(zhì)量管理領(lǐng)域已經(jīng)提出了質(zhì)量工作的相關(guān)特征,在全公司范圍內(nèi)展開質(zhì)量控制及監(jiān)督等工作,組織相關(guān)人員參加業(yè)務(wù)培訓(xùn)和教育,從全國范圍內(nèi)促進(jìn)質(zhì)量的提高,具體來說起其內(nèi)容主要涉及到與人、機(jī)構(gòu)有關(guān)的內(nèi)容,要想提高質(zhì)量就要與人發(fā)生關(guān)系,質(zhì)量管理不能脫離人而存在?,F(xiàn)階段很多企業(yè)都專門設(shè)置了質(zhì)量管理部門,這意味著現(xiàn)在很多企業(yè)領(lǐng)導(dǎo)者開始意識到了質(zhì)量管理的重要性,但是這些企業(yè)對質(zhì)量管理的認(rèn)識也只停留在了這些部門上,企業(yè)中其他部門的人員都認(rèn)為質(zhì)量管理就是這些部門的事情,跟自己無關(guān)。而事實上質(zhì)量的提高與企業(yè)中所有員工都有著必然的聯(lián)系,企業(yè)中所有的員工都會對質(zhì)量的提高起到或多或少的作用,而質(zhì)量管理部門設(shè)置的目的在于針對質(zhì)量的提高進(jìn)行審查與監(jiān)督,并展開質(zhì)量培訓(xùn),特別是最高管理者,只有這些人了解了質(zhì)量管理的重要性,才能對質(zhì)量管理措施進(jìn)行貫徹落實。全面質(zhì)量管理作為保證產(chǎn)品質(zhì)量的一項重要工作,企業(yè)應(yīng)將質(zhì)量作為主要目標(biāo),所有企業(yè)活動都要圍繞質(zhì)量的提高進(jìn)行。
現(xiàn)在我國多數(shù)企業(yè)已經(jīng)將全面質(zhì)量管理作為企業(yè)內(nèi)部的主要管理模式,其內(nèi)容主要包括生產(chǎn)、管理等方面,體現(xiàn)了效率性、科學(xué)性等一系列特點。之所以要在企業(yè)中進(jìn)行全面質(zhì)量管理,其主要目的在于將生產(chǎn)中存在的缺陷消除,這些缺陷主要是由人工和管理兩方面原因?qū)е碌模渲校捎谌斯ひ鸬娜毕荼容^容易消除,只要由工人在生產(chǎn)過程中加以注意就能使質(zhì)量得到提高,并注意工人的培訓(xùn),認(rèn)識到缺陷產(chǎn)生的原因和解決的方法。因為管理而產(chǎn)生的缺陷往往是不容易解決的,因為這些缺陷往往是不易察覺的,在管理上形成了交疊,加上軟件產(chǎn)品測試很難將方方面面考慮到,其中難免存在著一些隱藏的缺陷,所以管理制度的建立對于消除這些缺陷具有重要意義,以達(dá)到提高質(zhì)量的目的。
三、結(jié)語
綜上所述,近年來隨著科學(xué)技術(shù)水平的快速發(fā)展,計算機(jī)的應(yīng)用領(lǐng)域開始不斷擴(kuò)大,這種情況下軟件系統(tǒng)開發(fā)也顯得越來越復(fù)雜,很容易出現(xiàn)出現(xiàn)“軟件危機(jī)”,為了對軟件可維護(hù)性差、無法完成軟件進(jìn)度等問題進(jìn)行解決,軟件工程學(xué)科由此產(chǎn)生。然而開始時人們因為過分重視軟件工程技術(shù),忽視了質(zhì)量管理的重要性,所以有關(guān)軟件工程管理的研究并不多,本文主要基于這一方向展開了分析,供大家參考。
摘要:通過參與機(jī)載軟件研制項目的研發(fā)過程,并對機(jī)載軟件全生命周期的質(zhì)量管理過程進(jìn)行研究和分析,從中提煉出機(jī)載軟件在其生命周期過程(本文開發(fā)生命周期過程指從計劃,到需求捕獲和確認(rèn),經(jīng)設(shè)計,到編碼集成直至交付的過程)中的質(zhì)量管理三個基本特性(完整性、符合性和可追溯性),同時通過對實際狀態(tài)的對比分析和研究,針對機(jī)載軟件質(zhì)量管理的三個基本特性的意義和作用,提出了機(jī)載軟件質(zhì)量管理的三個基本特性在其生命周期質(zhì)量管理過程中的實際應(yīng)用,強(qiáng)調(diào)使用過程方法進(jìn)行機(jī)載軟件質(zhì)量管理工作,以確保機(jī)載軟件質(zhì)量管理的系統(tǒng)性、根本性地全面可持續(xù)開展,繼而確保機(jī)載軟件在開發(fā)生命周期過程中滿足相關(guān)要求,最終確保按照生命周期過程開發(fā)和生產(chǎn)的航空機(jī)載產(chǎn)品滿足客戶和適航的要求,最終確保產(chǎn)品的交付和盈利,爭取更多的市場份額。
關(guān)鍵詞:質(zhì)量管理;完整性;符合性;可追溯性;適航;機(jī)載軟件
一、前言
目前中國國內(nèi)航空機(jī)載軟件的自主研發(fā)起步比較晚,而大部分參與的公司/人員,由于之前質(zhì)量管理的經(jīng)驗,形成一些固定的質(zhì)量管理思維。隨著國內(nèi)民用航空產(chǎn)品市場的增加和國家對民用航空產(chǎn)品的重視,以及機(jī)載軟件的技術(shù)日益發(fā)展成熟,我們需要更加重視航空機(jī)載軟件質(zhì)量管理的研究和分析,確保航空機(jī)載軟件滿足客戶和適航的要求。航空機(jī)載軟件質(zhì)量管理相關(guān)的基礎(chǔ)和標(biāo)準(zhǔn),不管是國際航空標(biāo)準(zhǔn)AS9100,還是一些工業(yè)標(biāo)準(zhǔn)(包括DO-178B),以及一些已經(jīng)的適航標(biāo)準(zhǔn)(包括Order8110.49)等等,更加關(guān)注產(chǎn)品在計劃、設(shè)計、生產(chǎn)直至交付的所有節(jié)點中的每個過程,注重質(zhì)量管理過程體系和程序的建立;按照建立的體系和程序執(zhí)行相關(guān)過程,強(qiáng)調(diào)所有過程進(jìn)行記錄并保證可追溯性。筆者通過對航空機(jī)載軟件生命周期研發(fā)過程質(zhì)量管理的研究,包括AS9100、適航法規(guī)、先進(jìn)的工業(yè)標(biāo)準(zhǔn)等進(jìn)行研究,對實際質(zhì)量管理狀態(tài)進(jìn)行總結(jié),提煉出質(zhì)量管理的三個基本特性――完整性、符合性、可追溯性,就航空機(jī)載軟件生命周期過程中如何貫徹和應(yīng)用這三個基本特性進(jìn)行了淺顯的分析,確保航空機(jī)載軟件的交付滿足客戶及適航要求。以下內(nèi)容是個人就質(zhì)量管理的三個基本特性的概念及應(yīng)用進(jìn)行淺顯的論述。
二、質(zhì)量管理三個基本特性的概念
要想在機(jī)載軟件的生命周期內(nèi)貫徹質(zhì)量管理的三個基本特性,首先需要了解三個特性的基本概念,只有對其概念和意義的理解,才能更好地在生命周期過程中應(yīng)用和貫徹這三個基本特性。
1.完整性,指應(yīng)確保產(chǎn)品生命周期過程中質(zhì)量管理體系的完整覆蓋。完整性是質(zhì)量管理的基礎(chǔ),如果質(zhì)量管理體系不能完全覆蓋所有操作過程,也就談不上質(zhì)量管理。完整性也可以總結(jié)為“寫我所做”;
2.符合性,指在設(shè)計和制造以及交付過程的所有操作應(yīng)符合相應(yīng)的文件/程序、符合相應(yīng)的作業(yè)指導(dǎo)書以及產(chǎn)品符合經(jīng)批準(zhǔn)的設(shè)計和工藝。符合性是質(zhì)量管理的主體,也是質(zhì)量管理的執(zhí)行過程。符合性可以總結(jié)為“做我所寫”;
3.可追溯性,即應(yīng)將所有過程中產(chǎn)生的數(shù)據(jù)進(jìn)行相應(yīng)的記錄,確保在發(fā)生不符合時,能獲得相應(yīng)的數(shù)據(jù)分析的支持。可追溯性是質(zhì)量管理的反饋,也是質(zhì)量管理過程中持續(xù)改進(jìn)的必備。可追溯性可以總結(jié)為“記我所做”。
三、理解和應(yīng)用
可以將質(zhì)量管理的三個基本特性總結(jié)為質(zhì)量管理中的三句話:寫我所做,做我所寫,記我所做。也通過這三句話,可以清晰的發(fā)現(xiàn)這個三個基本特性涵蓋了航空機(jī)載軟件質(zhì)量管理的全部過程和要點。以下內(nèi)容就筆者在現(xiàn)有質(zhì)量管理狀態(tài)分析的基礎(chǔ)上,分別就這三個特性如何應(yīng)用,進(jìn)行簡單的闡述:
1.完整性
完整性,作為質(zhì)量管理的基礎(chǔ),首要任務(wù)是是建立完整覆蓋顧客要求、法律法規(guī)的質(zhì)量管理體系。如何建立?民航產(chǎn)業(yè)有自己行業(yè)的質(zhì)量標(biāo)準(zhǔn)――AS9100,按AS9100的條款,建立質(zhì)量管理體系,形成質(zhì)量管理體系框架。對于航空機(jī)載軟件來說,僅僅滿足AS9100的要求是不夠的。在質(zhì)量管理體系的建設(shè)中,必須同時要考慮適航規(guī)章的相關(guān)要求,包括DO-178B、Order8110.49。筆者認(rèn)為以下圖形象地形容AS9100和適航標(biāo)準(zhǔn)之于質(zhì)量管理體系之間的關(guān)系:
圖1 質(zhì)量管理體系和AS9100及適航要求三者間的關(guān)系圖
根據(jù)實際參與項目預(yù)投產(chǎn)質(zhì)量管理體系的適航審定經(jīng)驗以及實際參與項目的開發(fā)經(jīng)驗,可以使用符合性矩陣分析的方法,通過建立程序和AS/9100及適航標(biāo)準(zhǔn)三者之間的符合性矩陣,一方面明確AS9100和相關(guān)適航標(biāo)準(zhǔn)的各方面的要求,一方面在矩陣中可以明顯地看出當(dāng)前質(zhì)量管理體系完整性狀態(tài)。下表為方法中采用的簡易的矩陣表:
注1:由于篇幅有限,只能簡單列出表頭,其中橫行中可以列出AS9100條款號;左側(cè)縱列可以列出相關(guān)適航條款要求,在表的右側(cè)某一欄中可以列出體系程序的名稱。表格可以根據(jù)條款的詳細(xì)程度進(jìn)行調(diào)整;表格因人而異,可調(diào)整以適合本企業(yè)的相關(guān)要求。
注2:對應(yīng)矩陣中,可以采用標(biāo)志方式,如完全滿足,用表示;如果AS9100條例滿足,但是不滿足適航要求,用表示;如AS9100條例不滿足,但是適航要求滿足,用表示;
隨著適航標(biāo)準(zhǔn)不斷更新以及產(chǎn)品研發(fā)經(jīng)驗的積累,公司同樣需要不斷改善和持續(xù)改進(jìn)體系文件以切實滿足質(zhì)量管理的完整性要求,如DO-178B升級為DO-178C,則公司應(yīng)針對升級前后版本識別,確保質(zhì)量管理的動態(tài)完整性。完整性,是質(zhì)量管理過程的基礎(chǔ),也是前提,只有確保質(zhì)量管理中體系文件/程序的完整覆蓋,才能有效保證質(zhì)量管理的實施,才能確保企業(yè)有效率、有組織的進(jìn)行。
2.符合性
符合性,之于完整性和可追溯性來說,起承上啟下的作用。為確保符合性,首要任務(wù)是建立滿足符合性的方法。日本質(zhì)量大師石川馨認(rèn)為:“當(dāng)引進(jìn)某種做事的方法時,很自然要考慮這種方法是否合適。通常我們根據(jù)過去的結(jié)果與經(jīng)驗或傳統(tǒng)的方法做出決策。適當(dāng)?shù)脑u估將使這種決策變得更加有效,同時工作過程中的數(shù)據(jù)對于評估工作來說也是至關(guān)重要的?!睂?yīng)質(zhì)量行業(yè)中老話“不是最先進(jìn)的方法就是最佳的方法,選擇最合適的方法才是最佳的方法”。對于一個企業(yè)的質(zhì)量人來說,應(yīng)該清晰自身企業(yè)所處的規(guī)模、階段,并選擇相應(yīng)的方法以確保符合性。符合性,是PDCA過程方法最重要的環(huán)節(jié)。筆者個人覺得對于一個企業(yè)來說,簡要的操作流程可以按照如下流程進(jìn)行:
圖2 符合性實施流程圖
注:對于任何產(chǎn)品來說,數(shù)據(jù)的積累是產(chǎn)品優(yōu)化,行業(yè)的發(fā)展的基礎(chǔ)。
結(jié)合上述流程圖,以機(jī)載軟件生命周期過程中的研發(fā)過程為例,具體操作可以參考如下:
針對機(jī)載軟件研發(fā)過程,利用電子檢查單(peer review)方式進(jìn)行過程把關(guān)。
對各個層次的人員進(jìn)行相關(guān)業(yè)務(wù)知識方面培訓(xùn),要言明使用檢查單的意義和作用。
建立每個過程作業(yè)指導(dǎo)書,找出每個過程的關(guān)鍵要素,將關(guān)鍵要素導(dǎo)入到電子數(shù)據(jù)庫中。
依據(jù)檢查單內(nèi)容,對實際項目研發(fā)過程進(jìn)行評審和檢查,將每個關(guān)鍵要素的檢查結(jié)果導(dǎo)入數(shù)據(jù)庫。
以數(shù)據(jù)庫為基礎(chǔ),針對檢查結(jié)果中出現(xiàn)的問題分析,進(jìn)行相關(guān)管理過程和/或相關(guān)產(chǎn)品設(shè)計構(gòu)型進(jìn)行改正和/或預(yù)防。
注:實現(xiàn)數(shù)據(jù)庫與檢查單相連接,通過在數(shù)據(jù)庫中輸入關(guān)鍵字,使其自動生成檢查單;一方面減少不同素質(zhì)的人員造成檢查單內(nèi)容的差異,另一方面有利于人員更專注于產(chǎn)品檢查和改進(jìn)的本身,提高執(zhí)行效率。
符合性,是一個持續(xù)改進(jìn)螺旋過程,是建立在公司的質(zhì)量管理基礎(chǔ)上,逐步的改善,根據(jù)機(jī)載軟件的不同階段選擇相應(yīng)方法以確保符合性。
3.可追溯性
對于機(jī)載軟件來說,可追溯性的意義在于驗證完整性和符合性,另外也在于后續(xù)過程的軟件維護(hù)和升級,以及航線過程中如果發(fā)現(xiàn)問題,可以及時排查出問題所在,找到根本原因。機(jī)載軟件的配置管理過程是確??勺匪菪缘那疤帷T贒O-178B和AS9100中可以查詢有關(guān)配置管理的規(guī)定,根據(jù)AS9100要求和適航要求以及DO-178B建立配置管理程序。在機(jī)載軟件的配置管理過程中,
首先需要針對機(jī)載軟件相關(guān)階段建立配置基線,包括需求基線,設(shè)計基線;
針對所有需求、源代碼、目標(biāo)代碼建立追溯矩陣;
如果機(jī)載軟件已經(jīng)建立配置基線,其中的任何更改,都需要按照配置管理程序(計劃)的更改控制流程實施更改;
按要求定期進(jìn)行配置審核,并編制配置管理報告;
按照加載規(guī)程實施機(jī)載軟件加載前環(huán)境確認(rèn),并填寫加載記錄。
現(xiàn)如今各個企業(yè)更加重視信息化管理,在實際工作過程中,不斷引進(jìn)新的工具軟件,如對于機(jī)載軟件需求的管理,一般會采用DOORs軟件進(jìn)行管理。未來的信息化系統(tǒng)應(yīng)該更是一個高度集成的信息化平臺,能夠?qū)崿F(xiàn)簡單輸入自動實現(xiàn),容易檢索等等,給員工工作帶來很大的便捷性,降低了人為錯誤,進(jìn)一步提高了工作效率。而所謂高度化集成的信息平臺,個人覺得可以通過建立不同的模塊,然后在模塊后臺實現(xiàn)數(shù)據(jù)庫支持。以航空機(jī)載軟件的幾大過程為例,包括計劃過程,,需求過程,設(shè)計過程,編碼過程過程,供應(yīng)商管理過程,建立相應(yīng)的模塊,在各個模塊之間共享同一個數(shù)據(jù)庫;對于每個模塊之間再細(xì)分子過程,為每個子過程建立窗口。高度集成化信息平臺能夠?qū)⒁粋€機(jī)載軟件完整生命周期所有信息記錄在同一平臺上實施分類保存,可以通過菜單拉取機(jī)載軟件配置項,了解其當(dāng)前狀態(tài),鏈接到供應(yīng)商管理,進(jìn)一步了解供應(yīng)商的需求和編碼狀態(tài)。
可追溯性,是質(zhì)量管理過程的體現(xiàn),只有實際工作中進(jìn)行了相應(yīng)的記錄和標(biāo)識,才能確保機(jī)載軟件的可追溯性。也才能真正確保機(jī)載軟件產(chǎn)品滿足初始適航和持續(xù)適航能力??勺匪菪源_保了質(zhì)量管理真正的實現(xiàn)。
四、三個基本特性之間的關(guān)聯(lián)
三性,用綜合性的話語來描述:針對航空機(jī)載軟件的每個過程,按照AS9100/適航要求建立完善的機(jī)載軟件質(zhì)量管理體系程序和方法以及計劃;每個過程的操作按照既定的程序進(jìn)行,做好相關(guān)記錄。完整性、符合性、可追溯性,用三句話概括他們的關(guān)系:寫我所做,做我所寫,記我所做。實際質(zhì)量管理過程中,卻不能將這三個特性割裂開來對待。在實際操作中,完整性是質(zhì)量管理的必備因素,充分條件,只有滿足了完整性,才能確保符合性和可追溯性的實現(xiàn);符合性是質(zhì)量管理過程的主體,滿足了符合性,才能體現(xiàn)了質(zhì)量管理完整性的同時能確保質(zhì)量管理的可追溯性;可追溯性是質(zhì)量管理的必要條件,可追溯性的實現(xiàn)才能體現(xiàn)完整性和符合性的實現(xiàn)。三者之間密不可分,環(huán)環(huán)相扣。當(dāng)三性中有一點不滿足要求,其他兩性也就不能滿足要求,進(jìn)一步說明質(zhì)量管理失控。
在實際機(jī)載軟件的需求和設(shè)計編碼中,只有確保各項活動滿足質(zhì)量管理的三個基本特性――完整性、符合性、可追溯性,才能實現(xiàn)質(zhì)量的過程方法管理,才能充分說明質(zhì)量管理的完善有效,才能真正確保航空機(jī)載軟件滿足系統(tǒng)功能和適航要求,最終確保產(chǎn)品滿足客戶的要求。
五、結(jié)語
對于機(jī)載軟件來說,實現(xiàn)其功能和運行已非難事,難點是如何使航空機(jī)載軟件在滿足安全的情況,實現(xiàn)成本降低,技術(shù)性能提高,以持續(xù)滿足客戶和適航要求,最終獲得更高市場份額。相信通過滿足質(zhì)量管理的三性:從小處來看,可以培訓(xùn)企業(yè)所有員工的質(zhì)量意識,在航空機(jī)載軟件研發(fā)生命周期中更注重過程的輸入和輸出以及過程活動,降低了研發(fā)的成本;從大處來看,也使得縮小與國際先進(jìn)航空研發(fā)企業(yè)的思想和流程上的差距,使企業(yè)有更多精力投入產(chǎn)品的技術(shù)研發(fā)和創(chuàng)新過程,以進(jìn)一步縮小與其之間的技術(shù)差距。
筆者清楚,就單單質(zhì)量管理本身來說,要想建立一套行之有效的質(zhì)量過程管理方法,并實際應(yīng)用于企業(yè),為企業(yè)帶來益處,并非一朝一夕,需要很長的路要走;筆者更清楚,質(zhì)量管理,受制于產(chǎn)品研發(fā)技術(shù),單單發(fā)展好質(zhì)量管理流程,并不能帶來根本性地變化。要想真正實現(xiàn)中國自主研發(fā)的民航產(chǎn)品進(jìn)入市場,甚至走出國門,需要從技術(shù)、管理、人才等各個方面著手進(jìn)行循序漸進(jìn)的改善。套用屈原前輩的一句話“路漫漫其修遠(yuǎn)兮,吾將上下而求索”。
摘 要:論文針對氣象水文軟件開發(fā)中存在的問題,分析了國內(nèi)外常用的軟件質(zhì)量控制方法以及它們所存在的問題,提出了將質(zhì)量管理體系和CMMI相結(jié)合的質(zhì)量控制方法,建立了一種新的軟件質(zhì)量控制模型,為全面提升氣象水文軟件的質(zhì)量提供新的思路。
關(guān)鍵詞:軟件質(zhì)量;質(zhì)量管理體系;CMMI;GJB9001B-2009;質(zhì)量控制模型
軟件在裝備系統(tǒng)的研發(fā)過程中起著至關(guān)重要的作用,軟件產(chǎn)品的質(zhì)量已逐步成為軍隊信息化建設(shè)的核心,軟件質(zhì)量關(guān)系到武器裝備系統(tǒng)的生命,關(guān)系到軍隊信息化建設(shè)的整體水平,一旦軟件失效,就可能導(dǎo)致整套裝備系統(tǒng)的失效,甚至導(dǎo)致戰(zhàn)爭的失敗。目前,軟件在研發(fā)過程中存在諸多問題,導(dǎo)致軟件的質(zhì)量和可靠性遠(yuǎn)不如人意,特別是與硬件的可靠性相比,軟件的可靠性一般要低一個數(shù)量級[1]。
1 軟件開發(fā)中存在的問題
(1)裝備系統(tǒng)研發(fā)軟硬件管理不均衡,過分強(qiáng)調(diào)硬件。武器裝備的研發(fā)是一個非常復(fù)雜的系統(tǒng)工程,涉及到技術(shù)和管理的方方面面,而且其各個因素又是相互關(guān)聯(lián)和制約,不均衡的過分強(qiáng)調(diào)某幾個方面都是不科學(xué)的。而現(xiàn)狀是系統(tǒng)的研發(fā)過分強(qiáng)調(diào)硬件的重要性,軟件只是被當(dāng)做硬件的一個附件來對待,未作為產(chǎn)品列入裝備系統(tǒng)計劃和技術(shù)配套表。
(2)總體單位不抓配套單位分系統(tǒng)軟件的質(zhì)量,監(jiān)控力度不夠。在軟件產(chǎn)品的開發(fā)中不遵循軟件工程的要求,而且武器裝備系統(tǒng)的總體單位只抓本單位開發(fā)的軟件質(zhì)量,對配套單位分系統(tǒng)軟件的開發(fā)過程監(jiān)控不力,對配套單位交付給總體單位的軟件普遍不進(jìn)行軟件驗收測試和軟件驗收評審。
(3)軟件設(shè)計文檔的編制不規(guī)范,不符合國軍標(biāo)要求。編制時缺少文檔化的過程描述,尤其是缺少工作文檔、風(fēng)險管理文檔和工作量統(tǒng)計文檔,而且文檔編制水平和質(zhì)量參差不齊。特別嚴(yán)重的是大多數(shù)單位的文檔是在軟件編程完成后補(bǔ)寫的,失去了以文檔指導(dǎo)軟件實現(xiàn)的作用。
(4)高層管理者對軟件管理不夠重視,軟件配置管理不到位。管理要從高層做起,但是多數(shù)高層卻忽略了管理的重要性,有的軟件開發(fā)組未設(shè)配置管理員,有的單位對配置管理的概念(如對基線標(biāo)識和配置控制等)模糊,對軟件開發(fā)庫、受控庫的設(shè)置與管理不當(dāng),致使軟件在出廠前基本不受控。
(5)對軟件測試的概念和方法認(rèn)識模糊,缺乏對過程和產(chǎn)品進(jìn)行測試。軟件開發(fā)測試人員和質(zhì)量控制人員之間缺乏對對方工作的基本認(rèn)知,雙方難以溝通,阻礙了研發(fā)工作的順利開展。部分單位對第三方測試存有疑慮:擔(dān)心泄密,難以保護(hù)知識產(chǎn)權(quán),或擔(dān)心經(jīng)費不足和增加工作量延誤工程進(jìn)度。
上述問題是裝備研發(fā)中普遍存在的現(xiàn)象,亟待改進(jìn)。國內(nèi)外的經(jīng)驗說明,為了解決上述問題,最根本的一條是必須“樹立軟件產(chǎn)品的觀念”和“用軟件工程方法組織軟件開發(fā)”[2],并按照軟件工程方法的基本原則不斷改進(jìn)軟件開發(fā)過程?,F(xiàn)在國內(nèi)比較常用的控制軟件質(zhì)量的方法是質(zhì)量管理體系法,而國外比較流行的是運用CMMI(Capability Maturity Model Integration,即能力成熟度模型集成)來控制軟件的質(zhì)量。
2 軟件質(zhì)量控制的常用方法及缺陷
2.1 軍用軟件研制質(zhì)量控制的一般做法及缺陷
我國一直采用質(zhì)量管理體系中全面質(zhì)量管理的原則來控制軍用軟件的質(zhì)量。按照全面質(zhì)量管理的觀點,“產(chǎn)品質(zhì)量是設(shè)計、生產(chǎn)出來的”,關(guān)注軟件開發(fā)、研制的過程,通過強(qiáng)調(diào)過程模式,將組織內(nèi)所有的工作定義為一個個明確的過程來進(jìn)行質(zhì)量保證和評估,使影響軟件產(chǎn)品質(zhì)量的因素在產(chǎn)品形成的全過程中始終處于受控狀態(tài),以此來提高其使用的可靠性、安全性,突出的把持續(xù)改進(jìn)的過程作為提高質(zhì)量管理體系水平的重要手段。
目前,軍用軟件研制質(zhì)量控制的整套模型源于GJB9001B-2009,該國軍標(biāo)適用面廣,可面向于硬件、軟件、流程性材料和服務(wù)四大產(chǎn)品[3],主要強(qiáng)調(diào)的是硬件產(chǎn)品的質(zhì)量控制,對軍用軟件的適用性稍弱,沒有針對軟件產(chǎn)品及其研發(fā)的特點展開說明,尤其是在型號的不斷改進(jìn),裝備狀態(tài)的多次更改之后,對軍用軟件的配置管理等方面的更高層次的問題,缺乏行之有效的解決方法,在實施該標(biāo)準(zhǔn)時無法引起高層領(lǐng)導(dǎo)的重視,沒有對質(zhì)量提出更高的要求,忽略了該標(biāo)準(zhǔn)反復(fù)強(qiáng)調(diào)的“質(zhì)量管理必須堅持持續(xù)進(jìn)行質(zhì)量改進(jìn)”,導(dǎo)致研制單位無法擁有一套適用的質(zhì)量管理體系。
2.2 國外軟件研制質(zhì)量控制的一般做法及缺陷
CMM(Capability Maturity Model for Software,即軟件能力成熟度模型)是對組織軟件過程能力的描述[4]。CMM 中最為核心的思想是:只有好的過程才能造就好的結(jié)果。它側(cè)重于軟件開發(fā)過程的管理及軟件工程能力的改進(jìn)與評估,是一種高效的管理標(biāo)準(zhǔn),有助于最大程度地降低成本,提高產(chǎn)品的質(zhì)量和用戶滿意度。CMMI是CMM模型的最新版本,它把軟件開發(fā)視為一個過程,并根據(jù)這一原則對軟件的研發(fā)和維護(hù)進(jìn)行過程監(jiān)管,以使其更加科學(xué)化、規(guī)范化。CMMI項目為軍工界和政府部門提供了一個集成的產(chǎn)品集,其主要目的是消除不同模型之間的不一致和重復(fù)性,降低基于模型的改善成本。CMMI將以更加系統(tǒng)和一致的框架來指導(dǎo)組織改善軟件過程,提高軟件產(chǎn)品的研發(fā)、獲取和維護(hù)能力。
CMMI是目前國際上最流行、最實用的一種軟件質(zhì)量控制模型,強(qiáng)調(diào)各個方面的均衡發(fā)展,注重基于模型的、循序漸進(jìn)的過程改進(jìn),可以幫助軟件企業(yè)有效地管理軟件過程,但是CMMI也存在缺陷,CMMI本身是國外的體系,是基于法治的體系,而我國強(qiáng)調(diào)的是人治的氛圍,這種文化性問題是CMMI能否適用于我軍的關(guān)鍵;實施該體系時單位對于軟件研發(fā)人員缺少必要的有關(guān)質(zhì)量管理方面的培訓(xùn),導(dǎo)致軟件研制人員與質(zhì)量管理人員難以溝通,阻礙了研發(fā)工作的進(jìn)度;CMMI只強(qiáng)調(diào)關(guān)鍵過程域,無法保證軟件產(chǎn)品能被成功的研制出來。
3 基于質(zhì)量管理體系和CMMI的氣象水文軟件質(zhì)量控制方法
3.1 質(zhì)量管理體系與CMMI的共同性
質(zhì)量管理體系與CMMI面向的都是組織和軟件產(chǎn)品的質(zhì)量問題,都是以現(xiàn)代質(zhì)量管理理念為基礎(chǔ),充分體現(xiàn)了質(zhì)量管理、質(zhì)量保證、全面質(zhì)量控制、全面質(zhì)量檢驗等思想。它們都非常關(guān)注產(chǎn)品的質(zhì)量,都以相同的質(zhì)量原理為基礎(chǔ),都強(qiáng)調(diào)通過良好的過程來保證產(chǎn)品的質(zhì)量,都在強(qiáng)調(diào)外部溝通的同時強(qiáng)調(diào)內(nèi)部溝通,都以組織的領(lǐng)導(dǎo)者和管理者作為最關(guān)鍵的成功條件,都采用PCDA方法,都重視規(guī)范化、活動規(guī)程和必要的文檔與記錄。
3.2 質(zhì)量管理體系與CMMI的差異性
作為質(zhì)量管理的標(biāo)準(zhǔn)性文件,CMMI與GJB 9001B是有著明顯的差別的。GJB 9001B是一個適用于各類產(chǎn)品的通用型標(biāo)準(zhǔn),主要是針對制造業(yè)制定的,而CMMI是專門針對軟件開發(fā)設(shè)計的,可以幫助軟件企業(yè)有效地管理軟件過程;GJB 9001B強(qiáng)調(diào)完整的組織體系,可以用來建立符合ISO9000管理的組織管理,而CMMI本身對管理體系沒有明確要求,默認(rèn)組織體系是有效的、健全的;GJB 9001B評估的目的是要認(rèn)證組織是否建立了有效的質(zhì)量管理體系,為此給出比較簡明、科學(xué)、原則性的要求,評估出結(jié)論合格與否,而CMMI則用于評估組織的軟件能力的改善,確定采購風(fēng)險,或找出軟件過程的強(qiáng)項和弱項,明確改進(jìn)途徑,為此給出良好軟件過程的詳細(xì)描述和能力提高的簡明科學(xué)途徑。
3.3 基于質(zhì)量管理體系和CMMI的氣象水文軟件質(zhì)量控制模型的建立
GJB 9001B鼓勵在建立、實施質(zhì)量管理體系以及改進(jìn)其有效性時采用過程方法,通過滿足顧客要求,增強(qiáng)顧客滿意,而CMMI的本質(zhì)是通過對軟件研制過程中關(guān)鍵過程域的精確定義,來使軟件研制從一個不確定的“黑箱”操作過程,變成一個各步驟可視的、可對偏差隨時控制的“透明”操作過程。根據(jù)質(zhì)量管理體系和CMMI的相關(guān)理念和技術(shù)要求設(shè)計出適用于氣象水文軟件的質(zhì)量控制模型。
質(zhì)量控制是一個循序漸進(jìn)的過程,該模型將質(zhì)量控制歸納成七個階段:(1)明確準(zhǔn)備目標(biāo)、項目范圍和資源需求,依據(jù)CMMI的相關(guān)標(biāo)準(zhǔn)對軟件的現(xiàn)狀進(jìn)行評估,定義相應(yīng)的目標(biāo)和指導(dǎo)原則,為下一階段準(zhǔn)備好相應(yīng)的評估資料;(2)根據(jù)客戶的要求和技術(shù)指標(biāo)制定軟件的開發(fā)流程,該階段表達(dá)了組織層上下同心、擬定目標(biāo)和愿望的狀態(tài),這是對將來有一個共同思考的過程;(3)在新的開發(fā)流程下引入GJB 9001B質(zhì)量管理體系的相關(guān)要求,對組織當(dāng)前的狀態(tài)進(jìn)行判決,及時向組織傳達(dá)發(fā)現(xiàn)的情況和問題,并根據(jù)GJB 9001B的要求,確定需要進(jìn)一步改進(jìn)的方向;(4)根據(jù)上述要求擬定軟件管理流程,確定關(guān)鍵業(yè)務(wù)主題、各團(tuán)隊的角色和職責(zé)、需要進(jìn)行的活動以及改進(jìn)進(jìn)度安排;(5)在此流程的基礎(chǔ)上導(dǎo)入成熟的開發(fā)和管理理論及方法,并根據(jù)客戶的要求建立相應(yīng)的規(guī)則、度量方法、模板,作為改進(jìn)和實施的基礎(chǔ);(6)按層次和相關(guān)要求編寫各層次文件,根據(jù)國軍標(biāo)的要求編寫相應(yīng)的工作文檔、風(fēng)險管理文檔以及工作量統(tǒng)計文檔;(7)依據(jù)軟件運行的實際情況改進(jìn)流程,在這個過程中組織的所有人員確定需要改進(jìn)的目標(biāo),分析現(xiàn)有的工作步驟、客戶需求和存在的問題,給出改進(jìn)方案,驗證并更新實施流程,在提高技能、績效的同時,也提高軟件的質(zhì)量。質(zhì)量控制是一個總結(jié)、再學(xué)習(xí)和提高的過程,通過不斷的改進(jìn)建立下一輪工作的更高目標(biāo),制定組織進(jìn)一步工作的計劃,只有通過這種反復(fù)的評估改進(jìn)才能不斷提高軟件質(zhì)量。
4 結(jié)束語
在信息化高速發(fā)展的今天,要高質(zhì)量、高效率地開發(fā)出復(fù)雜的大型軟件系統(tǒng)已不再是單個質(zhì)量控制方法所能完成的任務(wù),只有通過融合多種方法的優(yōu)點推出一種新的質(zhì)量控制模型,才能保證氣象水文軟件產(chǎn)品的質(zhì)量和可靠性。本模型旨在GJB 9001B的基礎(chǔ)上結(jié)合CMMI的理念和技術(shù)要求,把GJB 9001B作為CMMI的保障,而把CMMI作為GJB 9001B的“使能器”,兩者相互促進(jìn),全面提升氣象水文軟件的質(zhì)量及服務(wù)能力,進(jìn)而提高武器裝備軟件的質(zhì)量。
摘 要
為了加強(qiáng)仿真訓(xùn)練軟件開發(fā)過程中狀態(tài)變化的控制,針對仿真訓(xùn)練軟件質(zhì)量管理中存在的問題,在軟件開發(fā)過程中建立“三庫”,并通過“三庫”的有效管理實現(xiàn)配置管理的部分功能,達(dá)到提高仿真訓(xùn)練軟件質(zhì)量和質(zhì)量管理水平的目的。
【關(guān)鍵詞】仿真訓(xùn)練 軟件 質(zhì)量管理 三庫
1 引言
我國信息化建設(shè)突飛猛進(jìn)的發(fā)展,給我們的工作和生活帶來很多便捷。無論是在學(xué)校、軍營,還是機(jī)關(guān)、農(nóng)村,信息化覆蓋率越來越高,讓人們真切感受到科技帶來的獨特魅力,人們可以足不出戶就能體驗到科技給予我們的全新的感受??萍甲屛覀兙嚯x世界很近;科技讓我們工作或生活更加輕松;科技讓我們顛覆過去的思維及工作、生活方式。
信息化建設(shè)如火似荼地發(fā)展,同時也催生了仿真訓(xùn)練軟件的數(shù)量越來越多、規(guī)模越來越大、結(jié)構(gòu)越來越復(fù)雜,軟件質(zhì)量對仿真訓(xùn)練軟件可靠性的制約也日益凸顯。為了滿足日益提高的仿真訓(xùn)練軟件質(zhì)量要求,確保軟件質(zhì)量和可靠性,做好軟件質(zhì)量管控工作具有十分重要的意義。
作為軟件質(zhì)量管理的核心內(nèi)容,配置管理是可以控制軟件變化的科學(xué)管理。軟件配置管理的主要內(nèi)容集中在軟件的版本控制、變更控制和過程支持。其中,設(shè)立“三庫”,即開發(fā)庫、受控庫、產(chǎn)品庫,對軟件技術(shù)狀態(tài)變更和版本控制的管理更是其最主要、最核心的問題,也是配置管理的重點。在軍用仿真訓(xùn)練軟件開發(fā)過程中,通過對軟件“三庫”的有效管理來達(dá)到控制狀態(tài)的變化和標(biāo)識的情況,并嚴(yán)格履行軟件產(chǎn)品的出入庫規(guī)定,從而實現(xiàn)對軟件的質(zhì)量監(jiān)督。
2 “三庫”的含義
“三庫”是指軟件開發(fā)庫、軟件受控庫和軟件產(chǎn)品庫。“三庫”的建立是配置管理當(dāng)中的一個重點內(nèi)容,不僅可以對軟件開發(fā)過程中軟件狀態(tài)的變化進(jìn)行控制,還可以對軟件配置項進(jìn)行有效的標(biāo)識,同時又可以避免復(fù)雜的配置管理技術(shù)給開發(fā)成本造成太大的影響。
GJB 5000A《軍用軟件能力成熟度模型》、GJB 5235《軍用軟件配置管理》和GJB5716-2006《軍用軟件開發(fā)庫、受控庫和產(chǎn)品庫通用要求》都有對“三庫”建設(shè)的相關(guān)要求,其中,GJB5716-2006中給出“三庫”的定義分別是:
(1)軟件開發(fā)庫(software development library)是指在軟件生存周期中,存放軟件配置項的集合。
(2)軟件受控庫(software controlled library)是指在軟件生存周期中,存放已通過測試或評審且作為階段性產(chǎn)品的軟件配置項的集合。
(3)軟件產(chǎn)品庫(software product library)是指在軟件生存周期中,存放已定型(鑒定)且供交付、生產(chǎn)、檢驗驗收的軟件配置項的集合。
通俗一點的解釋“三庫”的含義是:
軟件開發(fā)庫就是在軟件生存周期的某一個階段期間,存放于該階段軟件開發(fā)工作有關(guān)的計算機(jī)可讀信息和人工可讀信息的庫;在軟件生存周期的某一個階段結(jié)束時,開發(fā)庫內(nèi)的內(nèi)容經(jīng)過評審?fù)ㄟ^后,就可以進(jìn)入到軟件受控庫中;在軟件生存周期的組裝與系統(tǒng)測試階段結(jié)束后,形成的可以直接交付給用戶的最終產(chǎn)品或可以在現(xiàn)場安裝的軟件就存放在產(chǎn)品庫中。
3 仿真訓(xùn)練軟件質(zhì)量管理中存在的問題
目前,仿真訓(xùn)練軟件的質(zhì)量管理工作還沒有采取有效的管理辦法和措施,軟件質(zhì)量還遠(yuǎn)不能滿足軟件開發(fā)的要求,軟件開發(fā)成本與進(jìn)度計劃難以準(zhǔn)確估計,對軟件產(chǎn)品質(zhì)量的評價還缺乏標(biāo)準(zhǔn)和手段。歸納起來,軍用仿真訓(xùn)練軟件質(zhì)量管理中存在的問題具體表現(xiàn)為以下4個方面:
3.1 軟件項目質(zhì)量管理意識不強(qiáng)
現(xiàn)階段,大部分仿真訓(xùn)練軟件開發(fā)研制單位質(zhì)量管理意識不強(qiáng),在軟件開發(fā)過程中沒有按照質(zhì)量管理體系要求行之有效的管理和監(jiān)督。在軟件開發(fā)過程中,缺少質(zhì)量保證大綱等質(zhì)量保證文件和階段性的評審制度,軟件的質(zhì)量保證工作基本上是由軟件開發(fā)者自身完成的,而實踐已經(jīng)證明,采用這種方法開發(fā)的軟件是無法保證軟件的質(zhì)量的。
3.2 缺乏軟件技術(shù)狀態(tài)管理和控制
在仿真訓(xùn)練軟件開發(fā)過程中,軟件的技術(shù)狀態(tài)非常多,軟件的一條語句或一個函數(shù)的修改都可能造成軟件部分功能無法正常運行,甚至整個軟件癱瘓。所以,一旦軟件出現(xiàn)故障,由于沒有對軟件的技術(shù)狀態(tài)實施管理和控制,很難快速準(zhǔn)確的找出故障原因,嚴(yán)重的情況下,還會造成更大的損失,直接影響整個軍用仿真訓(xùn)練軟件的質(zhì)量。
3.3 軟件測試不夠充分
大多數(shù)仿真訓(xùn)練軟件開發(fā)單位沒有設(shè)立獨立的軟件測試部門和專門的軟件測試人員,而是在軟件開發(fā)的各個階段由開發(fā)人員采取自己設(shè)計、自己編程、自己測試、自己維護(hù)的方式來完成的。由于軟件開發(fā)人員任務(wù)重,他們在測試上不可能花費很多時間和精力,所以很容易把軟件測試環(huán)節(jié)變成只是走過場、講形式,導(dǎo)致測試的作用和可信度大大降低,一些隱含的錯誤和缺陷被遺留到軟件交付之后的運行階段。
3.4 對軟件文檔的重視程度不夠
軟件文檔是軟件的一個重要組成部分,是保證軟件質(zhì)量的一個重要手段,它關(guān)系著整個軟件的有效運行和維護(hù)。在軍用仿真訓(xùn)練軟件開發(fā)過程中,開發(fā)人員沒有充分認(rèn)識到文檔在軟件開發(fā)過程中的作用,所以導(dǎo)致開發(fā)人員對文檔編制不感興趣,編制不及時;軟件文檔內(nèi)容不完整,與開發(fā)過程不一致,格式不規(guī)范;文檔審核和管理不夠嚴(yán)格,未經(jīng)審批可隨意更改文檔內(nèi)容等問題,最后造成軟件的透明度低,軟件可維護(hù)性和可移植性不好,給軟件研制和維護(hù)帶來很多困難和問題。
4 “三庫”在仿真訓(xùn)練軟件開發(fā)過程中的應(yīng)用
在仿真訓(xùn)練軟件的開發(fā)過程中,軟件的技術(shù)狀態(tài)是在不斷變化的,軟件在各個階段的配置項內(nèi)容是不相同的,軟件的版本也是存在更新的情況。因此,對軟件技術(shù)狀態(tài)的管理和控制是保證軍用仿真訓(xùn)練軟件質(zhì)量管理的關(guān)鍵。“三庫”質(zhì)量管理是軟件質(zhì)量保證的一個非常重要的手段,也是軟件產(chǎn)品形成過程技術(shù)狀態(tài)管理的核心任務(wù)。
4.1 建立“三庫”
按照相應(yīng)國軍標(biāo)的要求,在仿真訓(xùn)練軟件生存周期中,要建立軟件“三庫”,通過對“三庫”的集中管理,實現(xiàn)對軟件開發(fā)過程中狀態(tài)變化的控制和對軟件配置項的正確有效的標(biāo)識,以確保仿真訓(xùn)練軟件產(chǎn)品的正確性、完整性、可控性、可追溯性。
4.1.1 開發(fā)庫
從技術(shù)狀態(tài)形成過程、有效控制和管理的角度看,在仿真訓(xùn)練軟件完成詳細(xì)設(shè)計階段工作之后建立軟件開發(fā)庫。此時將未進(jìn)行測試和評審的軟件和軟件相關(guān)設(shè)計文檔等軟件配置項存放到開發(fā)庫中進(jìn)行集中管理,并由軟件開發(fā)項目組或分系統(tǒng)負(fù)責(zé)。
4.1.2 受控庫
軟件受控庫反映的是軟件研制開發(fā)過程的軌跡。在仿真訓(xùn)練軟件形成過程初、中期等階段建立軟件受控庫,對通過測試和評審,確認(rèn)正確的軟件版本、完整的軟件文檔材料,以及其它相關(guān)軟件配置項,采用軟件受控庫管理,由系統(tǒng)總體負(fù)責(zé)管理。
4.1.3 產(chǎn)品庫
在仿真訓(xùn)練軟件研制開發(fā)的末期建立軟件產(chǎn)品庫,對通過綜合測試(驗收)的軟件、完整的軟件文檔材料、軟件生命周期更改的版本,以及開發(fā)研制該軟件產(chǎn)品的相關(guān)的成套軟件(包括開發(fā)環(huán)境和開發(fā)工具)集中控制管理,由研制單位質(zhì)量管理部門負(fù)責(zé)。
4.2 軟件開發(fā)庫的管理
軟件開發(fā)庫建立在承擔(dān)仿真訓(xùn)練軟件開發(fā)任務(wù)的項目組,由項目組質(zhì)量管理人員或分系統(tǒng)負(fù)責(zé)人(無分系統(tǒng)的由項目負(fù)責(zé)人)負(fù)責(zé)日常管理和維護(hù)。軟件開發(fā)庫中管理的內(nèi)容包括軟件開發(fā)、測試階段對應(yīng)的文檔和“初始階段”的軟件。
4.2.1軟件開發(fā)庫入庫的內(nèi)容
(1)按照對應(yīng)國軍標(biāo)要求,軟件在開發(fā)過程中規(guī)定的所有系統(tǒng)的和階段設(shè)計文檔,包括:軟件開發(fā)計劃、軟件技術(shù)規(guī)格書、軟件需求規(guī)格說明書、接口需求規(guī)格說明書、概要設(shè)計說明、詳細(xì)設(shè)計說明、接口設(shè)計文檔、軟件測試計劃、軟件測試說明、軟件測試報告、軟件配置管理計劃等。
(2)軟件開發(fā)過程中各階段所產(chǎn)生的計算機(jī)軟件部件、計算機(jī)軟件單元及其源程序代碼、目標(biāo)代碼和數(shù)據(jù)定義文檔,軟件開發(fā)過程中各階段進(jìn)行軟件測試的測試用例和測試結(jié)果等。
4.2.2 軟件開發(fā)庫的控制要求
項目組首先根據(jù)開發(fā)軟件的規(guī)模,將符合項目標(biāo)識、版本等軟件配置要求的軟件配置項入庫控制,在此基礎(chǔ)上對開發(fā)庫的每一項內(nèi)容(配置項)進(jìn)行標(biāo)識,由專人負(fù)責(zé)記錄開發(fā)庫中每一個配置項的位置、標(biāo)識和入庫時間。如果有某個配置項需要進(jìn)行修改,則需要按權(quán)限實施更改,并必須通過項目負(fù)責(zé)人的審批。在進(jìn)行更改操作的同時還下需要填寫《軟件開發(fā)庫更改記錄表》以記錄開發(fā)庫中的有關(guān)更改信息,并保存更改前的軟件或文檔的標(biāo)識和版本。出庫控制應(yīng)按規(guī)定的權(quán)限出庫,記錄有關(guān)出庫的出庫項、軟件提取人和出庫時間等信息。
4.3 軟件受控庫的管理
在仿真訓(xùn)練軟件測試工作開始之前需要對開發(fā)庫中的軟件配置項進(jìn)行確認(rèn)工作,然后從中提取被測軟件和相應(yīng)文檔進(jìn)行測試。通過認(rèn)可的測試或評審的軟件配置項就可以轉(zhuǎn)庫到軟件受控庫。
4.3.1 軟件受控庫入庫的內(nèi)容
軟件受控庫入庫的內(nèi)容必須是通過測評或評審的軟件配置項,以及是仿真訓(xùn)練軟件開發(fā)單位或用戶認(rèn)可的內(nèi)容。具體內(nèi)容包括:可行性研究報告、項目開發(fā)計劃、軟件需求說明、概要設(shè)計說明、詳細(xì)設(shè)計說明數(shù)據(jù)庫設(shè)計說明、軟件測試計劃、軟件測試分析報告、用戶手冊、操作手冊、軟件維護(hù)手冊、項目總結(jié)報告、項目驗收報告、質(zhì)量要求文檔(質(zhì)量保證大綱、標(biāo)準(zhǔn)化大綱、可靠性和維修性保證大綱等)、軟件(源程序、目標(biāo)代碼、編譯成目標(biāo)代碼的詳細(xì)步驟、可執(zhí)行程序和寫入可編程器件的程序等)、軟件設(shè)計更改報告及審核文檔,以及所有文檔的電子版本。
4.3.2 受控庫的控制要求
仿真訓(xùn)練軟件的受控庫控制要求要比開發(fā)庫更為嚴(yán)格,受控庫的管理控制由承研單位的質(zhì)量管理部門負(fù)責(zé),軟件開發(fā)人員受控使用。
軟件開發(fā)庫中通過測評和審核的軟件配置項必須轉(zhuǎn)入到受控庫進(jìn)行管理,每次訪問需按權(quán)限,并要通過項目負(fù)責(zé)人和質(zhì)量管理部門負(fù)責(zé)人聯(lián)合審批才可獲得批準(zhǔn),同時還要記錄訪問人 、訪問時間、訪問項、訪問批準(zhǔn)人等信息。出庫控制時,軟件提取人的申請,項目負(fù)責(zé)人和質(zhì)量管理部門負(fù)責(zé)人審批,并進(jìn)行出庫信息登記。更改控制時,軟件開發(fā)人員先提出更改申請,質(zhì)量管理部門向有關(guān)人員更改信息,并且組織評審,待更改內(nèi)容通過評審后方可按要求辦理出庫,轉(zhuǎn)入到開發(fā)庫中進(jìn)行更改;完成更改后按相關(guān)要求重新入庫,并及時向有關(guān)人員更改信息。
4.4 產(chǎn)品庫的管理
軟件在通過綜合測試或驗收之后,其配置項應(yīng)轉(zhuǎn)入軟件產(chǎn)品庫進(jìn)行管理。而其它項應(yīng)納入承研單位的檔案管理。
4.4.1 產(chǎn)品庫的內(nèi)容
軟件產(chǎn)品庫入庫內(nèi)容應(yīng)是已經(jīng)完成了綜合測試等待交付給用戶運行或者是現(xiàn)場安裝的最終的軟件產(chǎn)品,具體包括可執(zhí)行程序、系統(tǒng)配置文件、數(shù)據(jù)文件、安裝文件以及電子文檔和書面文檔。
4.4.2 產(chǎn)品庫的控制要求
產(chǎn)品庫的管理控制直接由軍用仿真訓(xùn)練軟件承研單位的科研部負(fù)責(zé)。對軟件產(chǎn)品庫須按相關(guān)要求進(jìn)行入庫、訪問、出庫、更改、配置狀態(tài)報告、配置審核等的控制。
產(chǎn)品軟件版本必須與設(shè)計文件及其電子版同步歸檔,軟件檔案必須與其紙質(zhì)軟件文檔相符。產(chǎn)品軟件歸檔媒體一式兩套,一套為基準(zhǔn)盤封存保管,一套為工作盤提供利用。
5 “三庫”應(yīng)用的效果分析
在仿真訓(xùn)練軟件的開發(fā)過程中應(yīng)用“三庫”,對軟件的變化狀態(tài)和有效的標(biāo)識實施管理,使得軟件的開發(fā)過程變得可控,杜絕了軟件開發(fā)和使用的隨意性,軟件質(zhì)量得到了保證。“三庫”應(yīng)用的效果具體表現(xiàn)為以下幾個方面:
(1)在仿真訓(xùn)練軟件開發(fā)過程中應(yīng)用“三庫”進(jìn)行有效的標(biāo)識,減少了項目開發(fā)因為版本錯亂、標(biāo)識不清等低級錯誤,導(dǎo)致整個軟件產(chǎn)品質(zhì)量下降,保證了軟件的開發(fā)周期及階段性取得的成果。
(2)在仿真訓(xùn)練軟件的開發(fā)各個階段中,軟件和其它軟件配置項不可避免會發(fā)生更改,通過“三庫”的應(yīng)用,強(qiáng)化對開發(fā)庫、受控庫和產(chǎn)品庫更改的審批控制,使軟件的所有的技術(shù)狀態(tài)都處于可控的范圍內(nèi)。
(3)在仿真訓(xùn)練軟件的開發(fā)中應(yīng)用軟件“三庫”實施管理,不僅可以幫助項目管理人員和軟件開發(fā)人員清晰、準(zhǔn)確的把握軟件開發(fā)的每一個階段和流程,而且通過軟件“三庫”的管理還可以讓軟件開發(fā)人員發(fā)現(xiàn)并避免一些重復(fù)性、階段性的錯誤,使軟件開發(fā)人員能夠開發(fā)出高質(zhì)量的軟件產(chǎn)品。
6 結(jié)束語
隨著仿真訓(xùn)練軟件的發(fā)展,軟件的質(zhì)量要求也隨之提高,軟件的質(zhì)量管理工作就成為越來越重要的問題。本文研究了仿真訓(xùn)練軟件質(zhì)量管理中的“三庫”概念和建設(shè)方法,并在軟件開發(fā)過程引用“三庫”實施管理類,從軟件開發(fā)階段開始提高軟件質(zhì)量,建立和維護(hù)軍用仿真訓(xùn)練軟件在軟件生存周期中各個階段產(chǎn)品(包括各個文檔、程序及其數(shù)據(jù)等)的完整性,確保對仿真訓(xùn)練軟件形成過程的質(zhì)量實現(xiàn)可追溯性,使軟件開發(fā)、技術(shù)狀態(tài)管理和維護(hù)過程處于受控狀態(tài),最終提高仿真訓(xùn)練軟件質(zhì)量。
作者單位
海軍潛艇學(xué)院 山東省青島市 266042
[摘 要] 隨著軍隊信息化的高速發(fā)展和廣泛應(yīng)用,軍用軟件在武器裝備系統(tǒng)中的重要性日益突出,其質(zhì)量已成為影響武器裝備作戰(zhàn)性能的關(guān)鍵因素。分析了我國軍用軟件質(zhì)量管理的發(fā)展和現(xiàn)狀,并從突出地位作用、加強(qiáng)理論研究、加快系統(tǒng)建設(shè)、提高建設(shè)水平四個方面對如何加強(qiáng)我國軍用軟件質(zhì)量管理提出了思考與建議。
[關(guān)鍵詞] 軍用軟件;質(zhì)量管理
隨著高新技術(shù)的發(fā)展和裝備信息化程度的提高,軟件在現(xiàn)代武器裝備中所占的比重不斷增加,在武器裝備系統(tǒng)中的地位逐漸由硬件的配套產(chǎn)品上升為獨立的產(chǎn)品,成為武器裝備系統(tǒng)和自動化指揮系統(tǒng)的重要組成部分,武器系統(tǒng)功能的生成和發(fā)揮對軟件的依賴性越來越強(qiáng)。軍用軟件的質(zhì)量關(guān)系著裝備系統(tǒng)功能的強(qiáng)弱和成敗,直接影響甚至決定著武器裝備的質(zhì)量。
一、軍用軟件
軍用軟件(Military Software)是指用于保障軍事裝備及其配套系統(tǒng)正常工作,經(jīng)正式立項研制并交付軍方使用的特殊的專用軟件產(chǎn)品。與常用軟件相比,它實時性、時序性、精度性、安全可靠性要求更高,并具有嵌入式軟件多、能適應(yīng)各種惡劣軍事應(yīng)用環(huán)境的特點。
軍用軟件一般分為兩類。一類是武器系統(tǒng)軟件,包括為武器系統(tǒng)專門設(shè)計或?qū)S玫那度胧杰浖?,指揮、控制和通信軟件;對武器系統(tǒng)及其完成軍事任務(wù)進(jìn)行保障的其他軟件。另一類是自動化信息系統(tǒng)軟件,主要是指執(zhí)行與武器系統(tǒng)無關(guān)的系統(tǒng)使用和保障功能的軟件。
二、我國軍用軟件質(zhì)量管理的發(fā)展
同國外相比,我國軍用軟件質(zhì)量管理起步較晚。1996年,原航天工業(yè)總公司頒發(fā)了《中國航天工業(yè)總公司軟件質(zhì)量管理規(guī)定》,明確規(guī)定了軟件也是產(chǎn)品,必須和硬件一樣納入型號配套管理,列入產(chǎn)品配套表和技術(shù)配套表,實施產(chǎn)品管理。2000年3月,國防科工委頒布了《國防科工委關(guān)于加強(qiáng)國防科技工業(yè)質(zhì)量工作問題的若干決定》,并于2001年9月頒布了《軍工產(chǎn)品軟件質(zhì)量管理規(guī)定》。2002年,國防科工委專門組織軟件調(diào)研組,對重點型號的軟件承制單位進(jìn)行了調(diào)研,并對加強(qiáng)軟件質(zhì)量與可靠性工作進(jìn)行了現(xiàn)場指導(dǎo)。在2002年9月召開的國防科技工業(yè)質(zhì)量工作會上指出,軟件質(zhì)量是當(dāng)前比較薄弱的環(huán)節(jié),應(yīng)充分重視軟件質(zhì)量問題,積極借鑒國外軟件質(zhì)量管理方面的經(jīng)驗,加強(qiáng)國防科技工業(yè)內(nèi)部各單位的交流,促進(jìn)軟件質(zhì)量控制和可靠性工作。
我國軍用軟件質(zhì)量管理基本上是以軟件開發(fā)項目為中心,以軟件工程化帶動和推進(jìn)軟件質(zhì)量管理,其具體方法如下:
1.依據(jù)軟件工程原理,按照一定的軟件開發(fā)方法學(xué),確定適當(dāng)?shù)能浖嬷芷谀P?,分階段實施了軟件質(zhì)量管理和控制。
2.型號軟件納入了產(chǎn)品配套表,對軟件產(chǎn)品的研制進(jìn)行了嚴(yán)格的質(zhì)量管理。
3.根據(jù)軟件的規(guī)模和安全關(guān)鍵性等級,對軟件進(jìn)行了分級分類管理。
4.落實型號研制人員的崗位職責(zé),軟件研制人員經(jīng)培訓(xùn)合格后持證上崗。
5.制定并實施了大型項目的軟件規(guī)范。
6.建立并完善了軟件獨立測試機(jī)構(gòu),提出并實施了軟件仿真測試,加強(qiáng)了軟件開發(fā)項目組內(nèi)的軟件測試力量,對A、B級軟件開展了獨立的確認(rèn)測試。
7.為總結(jié)型號軟件開發(fā)方面的教訓(xùn),編寫了型號軟件故障啟示錄;為總結(jié)型號軟件測試經(jīng)驗,編寫了軟件評測文集與案例,建立了測試實例庫。
三、我國軍用軟件質(zhì)量管理現(xiàn)狀
隨著軍事裝備體系化、復(fù)雜化、高技術(shù)化趨勢逐漸顯著,各類軍用軟件的使用日趨廣泛,結(jié)構(gòu)日益復(fù)雜,軍用軟件已不再是硬件的附屬物,已經(jīng)成為與硬件并列的、獨立的技術(shù)狀態(tài)管理項目。軍用軟件要求具有很高的可靠性、可維護(hù)性和安全性,以保證最大限度地發(fā)揮系統(tǒng)的整體作戰(zhàn)效能。因此,軍用軟件開發(fā)中必須采用有效的手段和工具進(jìn)行軟件的質(zhì)量保證活動,以支持開發(fā)人員在最短的時間內(nèi),用最小的費用開發(fā)高質(zhì)量的軟件,滿足應(yīng)用需求,同時減少維護(hù)費用。
但是,由于受多種因素的影響和制約,軍用軟件的質(zhì)量和可靠性問題一直沒有引起人們足夠的重視。軟件在開發(fā)、設(shè)計階段缺乏嚴(yán)格的需求分析和評審;在調(diào)試、驗收階段,由于缺乏科學(xué)的測試手段也無法對軟件進(jìn)行必要的測試;在使用、維護(hù)階段,不能嚴(yán)格按照軟件配置進(jìn)行管理,造成軟件在生存周期中,存在著更改隨意性大、質(zhì)量難控制的問題。這些都不可避免地造成了軟件的技術(shù)狀態(tài)混亂,給用戶的使用和維護(hù)工作帶來了困難,影響了戰(zhàn)斗力的提高。軍用軟件質(zhì)量管理存在的一些不足如下:
(一)承制方尚未建立完善的軟件質(zhì)量保證體系
目前,雖然已經(jīng)建立基本的軍用軟件質(zhì)量體系標(biāo)準(zhǔn),如GJB9001B-2009等,但是實施程度較差。在現(xiàn)階段,軍事科研軟件的開發(fā)大多集中于軍隊直屬單位中,大多是院校、科研所及相關(guān)部門。參與軟件開發(fā)單位一般較多,但單位內(nèi)部沒有建立較為完善的軟件質(zhì)量保證體系。由于質(zhì)量體系的不完善導(dǎo)致了軟件開發(fā)過程缺乏行之有效的管理和監(jiān)督,軟件的質(zhì)量保證工作基本上是由軟件開發(fā)者自身完成的。
(二)軍方尚未有效參與軟件需求定義
軟件需求是度量軟件質(zhì)量的基礎(chǔ),不符合需求的軟件就不具備質(zhì)量。但當(dāng)前的型號研制中,軍用軟件需求定義階段缺少軍方的有效參與,設(shè)計人員無法全面、準(zhǔn)確地理解和定義裝備的作戰(zhàn)使用需求,同時對軍用軟件隱含的需求(如軟件的可維護(hù)性)重視不夠,導(dǎo)致在后續(xù)工作中軟件修改、返工頻繁,不但影響了軟件研制進(jìn)度,而且一些質(zhì)量問題和缺陷也帶進(jìn)了后面階段的工作中,軟件質(zhì)量難以保證。
(三)軟件測試不夠充分
目前,軍用軟件承制方多數(shù)沒有建立專門的軟件測試組,而是在軟件開發(fā)的各階段主要由開發(fā)人員采取自測和互測相結(jié)合的方式。由于軟件開發(fā)人員任務(wù)重,他們在測試上不可能花費很多時間,容易走過場,致使測試的作用和可信度大大降低,一些隱含的錯誤和缺陷被遺留到軟件產(chǎn)品交付投入運行階段。
(四)文檔在軟件質(zhì)量保證中的作用尚未引起足夠的重視
軟件文檔是計算機(jī)軟件產(chǎn)品不可缺少的一部分,它關(guān)系到系統(tǒng)能否有效運行、開發(fā)和維護(hù),是保證軟件質(zhì)量的一個重要手段,它主要體現(xiàn)在文檔本身的可追溯性和可改進(jìn)性。但是,在實際工作中,文檔的形成過程是一項艱苦、枯燥的勞動,人們常常忽視它,致使文檔的編制和管理存在著許多亟待解決的問題。一是軟件開發(fā)人員對文檔編制不感興趣,編制不及時;二是軟件文檔格式不規(guī)范,內(nèi)容不完整,可讀性差;三是文檔審核、管理把關(guān)不嚴(yán),未經(jīng)許可隨意更改的現(xiàn)象比較普遍。這些問題導(dǎo)致了軟件透明度低、可維護(hù)性差。
四、加強(qiáng)我國軍用軟件質(zhì)量管理的措施
(一)要突出軍用軟件質(zhì)量管理地位作用
隨著軍用軟件在作戰(zhàn)、訓(xùn)練、戰(zhàn)備、管理等軍事領(lǐng)域的廣泛應(yīng)用,其地位和作用更加突出,必須充分認(rèn)識到軟件質(zhì)量問題的嚴(yán)重性和緊迫性,努力提高軍用軟件的質(zhì)量和管理水平。必須針對軍用軟件研制及使用保障過程中存在的種種不足,強(qiáng)化質(zhì)量意識,加強(qiáng)質(zhì)量管理制度建設(shè),建立健全軟件質(zhì)量管理體系,不斷提升質(zhì)量管理能力。
(二)要加強(qiáng)軍用軟件質(zhì)量管理的理論研究
軍用軟件在研制開發(fā)過程中,對質(zhì)量管理理論具有明顯的依賴性。針對目前對軍用軟件質(zhì)量管理理論研究較少的現(xiàn)狀,迫切需要加強(qiáng)相關(guān)領(lǐng)域的研究。
1.加強(qiáng)軍用軟件質(zhì)量管理基礎(chǔ)理論研究。軍用軟件質(zhì)量管理基礎(chǔ)理論主要包括基本概念和基本原理,軍用軟件質(zhì)量管理的特點、要求和原則,以及面對當(dāng)前軟件開發(fā)和使用保障過程中遇到的新問題,提出解決的對策、措施和研究重點,以便系統(tǒng)地研究和解決。
2.加強(qiáng)軍用軟件質(zhì)量管理基本規(guī)律研究。軍用軟件質(zhì)量管理基本規(guī)律是進(jìn)行質(zhì)量管理活動的基本遵循和依據(jù)。應(yīng)根據(jù)軍用軟件自身的特點和要求,借鑒質(zhì)量管理活動的基本規(guī)律,從軍用軟件的需求分析、設(shè)計、開發(fā)、測試、定型與鑒定、質(zhì)量監(jiān)督、項目管理、驗收、配置以及維護(hù)等不同活動的特點出發(fā),來研究軍用軟件質(zhì)量管理的基本規(guī)律。
3.加強(qiáng)軍用軟件質(zhì)量管理方法手段研究。要緊貼軍用軟件質(zhì)量管理的實際,區(qū)分不同活動的特殊要求,圍繞軍用軟件質(zhì)量形成的全過程,深入開展質(zhì)量管理方法手段的研究。
(三)要加快軍用軟件質(zhì)量管理體系建設(shè)
現(xiàn)代高技術(shù)武器大量采用計算機(jī)系統(tǒng),軍用軟件為完成智能化的任務(wù),也越來越復(fù)雜,外軍已經(jīng)把軍用軟件作為裝備納入了管理體系。我軍新一代武器陸續(xù)裝備,指揮自動化系統(tǒng)也初具規(guī)模,軟件的成分大大增加。但軍用軟件在設(shè)計、開發(fā)、測試、維護(hù)、使用管理上還很薄弱。因此,針對軍用軟件的特殊性,建立系統(tǒng)化、正規(guī)化的質(zhì)量管理體系十分重要。
1.建立軍用軟件質(zhì)量管理部門。有必要在總部一級建立一個集中統(tǒng)一的軟件管理部門,負(fù)責(zé)制定用以規(guī)范和指導(dǎo)軍用軟件發(fā)展的法規(guī)、制度和技術(shù)標(biāo)準(zhǔn),在總體上規(guī)范和指導(dǎo)各軍兵種的軟件開發(fā)與采辦;在各軍兵種成立相應(yīng)的部門,負(fù)責(zé)指導(dǎo)、規(guī)范本軍兵種的軟件開發(fā)與采辦工作。
2.健全軍用軟件質(zhì)量管理體系。在準(zhǔn)確把握軍用軟件質(zhì)量需求的基礎(chǔ)上,研究如何加強(qiáng)組織體系建設(shè),形成科學(xué)合理的質(zhì)量管理體系,明確各層次、各部門的質(zhì)量管理職責(zé),提高質(zhì)量管理的保障能力和水平。
3.健全軍用軟件質(zhì)量管理的相關(guān)法規(guī)和技術(shù)標(biāo)準(zhǔn)。健全完善的法規(guī)和技術(shù)標(biāo)準(zhǔn)是軍用軟件質(zhì)量管理的前提。為保證軍用軟件質(zhì)量管理的順利實施,必須加強(qiáng)頂層設(shè)計和體系結(jié)構(gòu)的總體規(guī)劃,建立滿足軍事需求的、統(tǒng)一的軟件體系,結(jié)構(gòu)和標(biāo)準(zhǔn)規(guī)范,解決好軟件的發(fā)展同步、功能配套、兼容匹配。
(四)要提高軍用軟件質(zhì)量管理建設(shè)水平
1.運用全壽命管理的思想提高質(zhì)量。對軍用軟件從需求分析到新系統(tǒng)替代的整個生存周期過程中各階段及各環(huán)節(jié)的活動,實施前后銜接、持續(xù)不斷、首尾響應(yīng)、協(xié)調(diào)統(tǒng)一的管理,明確每一個階段、每一個部門的管理任務(wù)和目標(biāo)。
2.用軟件工程的原則與方法研制、開發(fā)、維護(hù)軍用軟件。軍用軟件系統(tǒng)復(fù)雜,軟件度量、工作量估計、需求變化和風(fēng)險管理難度大,開發(fā)進(jìn)度和質(zhì)量難以保證。運用軟件工程的思想加強(qiáng)軟件開發(fā),有助于提高軟件產(chǎn)品的質(zhì)量和開發(fā)效率,減少維護(hù)的困難。
3.建立相應(yīng)的規(guī)章制度,明確職責(zé)與職權(quán),使軟件質(zhì)量管理工作規(guī)范化、標(biāo)準(zhǔn)化。軟件開發(fā)時間周期長,參與人員、部門多,在整個生存周期內(nèi),軟件的開發(fā)環(huán)境、運行環(huán)境都會發(fā)生變化。通過建立一套評估、控制和實施軟件質(zhì)量管理的機(jī)制,有利于實現(xiàn)軟件質(zhì)量管理的科學(xué)化、制度化和經(jīng)?;?
【摘 要】隨著現(xiàn)代信息技術(shù)的發(fā)展以及計算機(jī)軟件開發(fā)應(yīng)用的不斷進(jìn)步,在積極性軟件質(zhì)量管理中,基于過程方法的軟件開發(fā)與生產(chǎn)質(zhì)量管理等,已經(jīng)逐漸成為現(xiàn)代信息化發(fā)展中,軟件質(zhì)量管理應(yīng)用的標(biāo)志性管理技術(shù)方法?;谶^程的軟件質(zhì)量管理,對于軟件的開發(fā)利用來講具有高質(zhì)量保證與高可信度的優(yōu)勢。本文主要通過對于基于過程的軟件質(zhì)量管理原理的分析論述,并結(jié)合信息化發(fā)展過程中軟件質(zhì)量管理的問題,對于基于過程的軟件質(zhì)量管理在信息化中的應(yīng)用進(jìn)行分析論述。以提高過程方法在軟件開發(fā)設(shè)計與管理中的應(yīng)用,推進(jìn)現(xiàn)代信息化的發(fā)展。
【關(guān)鍵詞】過程方法;軟件質(zhì)量管理;信息化;管理平臺;設(shè)計;分析
在軟件技術(shù)開發(fā)與軟件設(shè)計應(yīng)用中,最為關(guān)鍵并且重要的問題之一就是對于開發(fā)設(shè)計軟件以及軟件技術(shù)質(zhì)量的保障與成本控制實現(xiàn)。近年來,隨著軟件技術(shù)與軟件開發(fā)設(shè)計應(yīng)用的不斷發(fā)展進(jìn)步,對于軟件工程的研究發(fā)展也有了很大的進(jìn)步,但是在軟件技術(shù)質(zhì)量保證與成本控制方面的問題一直沒有很好的得到解決?;谶^程的軟件質(zhì)量管理方法技術(shù),就是在這樣的發(fā)展背景與需求下,逐漸在信息化發(fā)展實際中進(jìn)行應(yīng)用實現(xiàn)的?;谶^程的軟件質(zhì)量管理最早是由美國軟件行業(yè)在上世紀(jì)80年代初期進(jìn)行提出并應(yīng)用的,它實際上就是將軟件技術(shù)的改進(jìn)發(fā)展與軟件開發(fā)設(shè)計過程的改進(jìn)之間同步進(jìn)行與實現(xiàn),通過對于軟件技術(shù)開發(fā)與設(shè)計過程的控制,實現(xiàn)對于軟件技術(shù)質(zhì)量的管理控制,這樣一來不僅對于軟件技術(shù)和軟件應(yīng)用發(fā)展有著積極的作用,而且在一定程度上也推動了社會信息化的發(fā)展進(jìn)步。
1.基于過程的軟件質(zhì)量管理與技術(shù)概述
1.1基于過程的軟件質(zhì)量管理含義分析
基于過程的軟件質(zhì)量管理通常也被稱為是過程管理方法,對于軟件質(zhì)量的過程管理提出與實現(xiàn),最早是由美國軟件行業(yè)在上世紀(jì)80年代,以進(jìn)入以過程為中心的軟件技術(shù)以及軟件產(chǎn)品的開發(fā)利用時代為標(biāo)志。隨著美國軟件行業(yè)中以過程為中心的軟件產(chǎn)品、技術(shù)的開發(fā)利用發(fā)展,基于過程的軟件質(zhì)量管理方法以及管理平臺在實際開發(fā)應(yīng)用中越來受到歡迎,并且基于過程的軟件質(zhì)量管理平臺開發(fā)設(shè)計的相關(guān)要求準(zhǔn)則等,也隨之出現(xiàn)并發(fā)展起來。在對于基于過程的軟件管理平臺設(shè)計建立要求準(zhǔn)則中,以美國CMM以及PSP、TSP管理平臺的設(shè)計應(yīng)用實現(xiàn)最具有代表性和意義。
通常情況下,對于基于過程的軟件質(zhì)量管理平臺與方法中,過程一詞多被解釋為將輸入方式轉(zhuǎn)化為輸出方式的一組相互關(guān)聯(lián)或者是相互作用的活動。對于軟件產(chǎn)品以及技術(shù)的設(shè)計實現(xiàn)以及管理過程,又被按照一定的規(guī)律關(guān)聯(lián)分解為軟件工程過程以及軟件管理過程、軟件支持過程等三大過程類型。其中,軟件工程過程主要是指軟件產(chǎn)品以及技術(shù)的開發(fā)、生產(chǎn)、設(shè)計實現(xiàn)過程,包含對于軟件技術(shù)與產(chǎn)品的需求分析以及編碼設(shè)計、系統(tǒng)測試等過程步驟;而軟件管理過程主要是指對于軟件工程的管理維護(hù)過程,包含對于軟件產(chǎn)品、技術(shù)的開發(fā)、生產(chǎn)、設(shè)計應(yīng)用等的管理以及維護(hù)實施等,比如對于軟件開發(fā)項目的策劃、跟蹤監(jiān)控以及質(zhì)量保證管理過程等;最后,軟件過程中的支持過程主要是指對于軟件技術(shù)以及產(chǎn)品的開發(fā)、設(shè)計、生產(chǎn)利用進(jìn)行支持的過程行為,包括對于軟件產(chǎn)品與技術(shù)的評審以及培訓(xùn)、度量等過程。在軟件工程開發(fā)設(shè)計以及應(yīng)用管理過程中,建立相關(guān)系統(tǒng)平臺,實現(xiàn)對于軟件工程系統(tǒng)化與自動化管理控制實現(xiàn),是在現(xiàn)代信息化發(fā)展情況下,進(jìn)行軟件質(zhì)量管理的有效方法與途徑措施。
1.2基于過程的軟件質(zhì)量管理技術(shù)概述
在應(yīng)用過程管理方法,對于軟件質(zhì)量進(jìn)行管理實現(xiàn)的實際應(yīng)用過程中,主要的軟件過程質(zhì)量管理技術(shù)有CMM軟件過程質(zhì)量管理技術(shù)以及PSP、TSP軟件過程質(zhì)量管理技術(shù)等,此外,還包含ISO9000系列的軟件過程質(zhì)量管理應(yīng)用技術(shù),以及IEC15504要求標(biāo)準(zhǔn)下的軟件過程質(zhì)量管理技術(shù)。
其中,CMM、PSP以及TSP軟件過程質(zhì)量管理應(yīng)用技術(shù),是由一家軟件工程研究機(jī)構(gòu)研究提出的基于過程的軟件質(zhì)量管理系統(tǒng)模型平臺。CMM軟件過程質(zhì)量管理系統(tǒng)模型平臺主要是在對于CMMI系統(tǒng)模型結(jié)構(gòu)與人力資源管理思想理念、以及軟件開發(fā)生產(chǎn)技術(shù)、產(chǎn)品相互融合的情況下,最終形成一個完整的CMM管理系統(tǒng)與體系,實現(xiàn)對于軟件質(zhì)量管理過程中的人與技術(shù)、管理過程三個方面的管理控制實現(xiàn)。而ISO9000標(biāo)準(zhǔn)系列的軟件過程質(zhì)量管理技術(shù)一種由國際標(biāo)準(zhǔn)化研究組織研究提出的通過過程方法實現(xiàn)對于軟件工程質(zhì)量管理的技術(shù)方法,它在許多國家和地區(qū)的信息化發(fā)展中有廣泛以及普遍的應(yīng)用實現(xiàn),尤其是在政府以及工業(yè)發(fā)展、信息技術(shù)研究領(lǐng)域的應(yīng)用實現(xiàn)更為突出。
2.基于過程的軟件質(zhì)量管理在信息化中的應(yīng)用分析
2.1信息化過程中的軟件質(zhì)量管理問題
隨著社會信息化的不斷發(fā)展,信息化發(fā)展過程中出現(xiàn)的矛盾問題也越來越多,比如信息化的建設(shè)發(fā)展各自為政、信息化重復(fù)建設(shè)和信息化建設(shè)成果壟斷等問題,在信息化發(fā)展的過程中越來越突出。作為社會信息化建設(shè)與發(fā)展的重要基礎(chǔ)和核心部分,軟件的開發(fā)利用以及發(fā)展不僅對于社會信息化的建設(shè)發(fā)展有著重要的影響作用,更是對于國家生產(chǎn)力水平以及綜合實力情況也有著很大的影響。
根據(jù)社會信息化發(fā)展與軟件質(zhì)量管理的情況來看,目前,在信息化發(fā)展過程中,軟件質(zhì)量的管理也存在著一定的問題,首先表現(xiàn)在對于軟件質(zhì)量管理的意識比較缺乏,軟件質(zhì)量管理的重視程度不夠。其次,在社會信息化發(fā)展過程中,對于計算機(jī)軟件產(chǎn)品的開發(fā)設(shè)計與利用過程中,過分重視對于軟件技術(shù)產(chǎn)品以及項目的開發(fā)設(shè)計進(jìn)度、數(shù)量等問題,而忽視對于軟件產(chǎn)品質(zhì)量以及軟件開發(fā)設(shè)計過程的控制管理。再次,在進(jìn)行軟件技術(shù)以及產(chǎn)品的開發(fā)設(shè)計過程中,所運用的軟件產(chǎn)品與技術(shù)的開發(fā)設(shè)計質(zhì)量管理體系相對比較落后,并且對于同一個軟件產(chǎn)品與技術(shù)的開發(fā)設(shè)計轉(zhuǎn)包現(xiàn)象比較嚴(yán)重,通常存在有多個軟件開發(fā)方,這對于軟件質(zhì)量的管理以及軟件開發(fā)的發(fā)展進(jìn)步都十分不利。最后,在進(jìn)行軟件質(zhì)量管理過程中,缺乏有效的軟件質(zhì)量控制管理體系,也是信息化發(fā)展中軟件開發(fā)設(shè)計與管理中的重要問題,如下圖1所示。
2.2基于過程的軟件質(zhì)量管理在信息化中的應(yīng)用
在社會信息化發(fā)展中,基于過程的軟件質(zhì)量管理方法,就是通過對于軟件需求過程以及軟件設(shè)計過程等的質(zhì)量控制與管理實現(xiàn),同時對于軟件的編碼以及測試、維護(hù)等,基于過程質(zhì)量控制管理的方式,實現(xiàn)對于軟件質(zhì)量的控制管理實現(xiàn)。具體質(zhì)量控制管理方式如上圖2所示。
首先,在基于軟件質(zhì)量控制管理的軟件需求過程的質(zhì)量管理中,應(yīng)注意從對于客戶管理以及目標(biāo)控制、需求范圍的控制、需求篩選等方面,進(jìn)行軟件需求過程的質(zhì)量控制與管理實現(xiàn),保證軟件技術(shù)與產(chǎn)品的質(zhì)量。其次,對于軟件設(shè)計過程的質(zhì)量管理控制,主要就是根據(jù)軟件需求分析情況,對于軟件總體結(jié)構(gòu)的設(shè)計過程與質(zhì)量進(jìn)行控制管理,以實現(xiàn)軟件過程設(shè)計的目標(biāo)。再次,對于軟件編碼過程中質(zhì)量控制管理,主要是通過對于軟件編碼的過程進(jìn)行規(guī)范,以及做好相應(yīng)的軟件編碼代碼審查、單元測試的控制與管理;在軟件測試過程中,做好軟件的單元測試以及集成測試、系統(tǒng)測試三個部分的測試,并對于測試過程進(jìn)行控制管理,保證軟件測試過程質(zhì)量符合要求。最后,在進(jìn)行軟件產(chǎn)品以及技術(shù)的維護(hù)過程中,應(yīng)注意針對不同的軟件維護(hù)類別,對于軟件技術(shù)與產(chǎn)品進(jìn)行改進(jìn),以滿足客戶對于軟件產(chǎn)品的需求。總之,基于過程的軟件質(zhì)量管理,就是要結(jié)合軟件技術(shù)以及產(chǎn)品開發(fā)設(shè)計實現(xiàn)的過程,對于過程方法進(jìn)行控制管理實施,從而實現(xiàn)對于軟件產(chǎn)品的質(zhì)量管理。
3.結(jié)束語
總之,質(zhì)量管理是企業(yè)管理工作中的關(guān)鍵與重要內(nèi)容部分。而基于過程的軟件質(zhì)量管理更是現(xiàn)代軟件質(zhì)量管理的重要趨勢方向,進(jìn)行方面的應(yīng)用分析,具有很大的必要性與重要性意義。