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