摘要:從產品質量角度出發,以顧客需求為核心,提出基于六西格瑪設計的軟件需求工程過程模型,對模型各個階段的功能進行了詳細說明。該方法可以有效解決軟件需求分析存在的問題,為需求工程的展開提供借鑒。
關鍵詞:需求工程;六西格瑪設計;IDDOV流程;質量功能展開
中圖分類號:TP311.5文獻標志碼:A
文章編號:1001-3695(2008)01-0129-02
需求工程作為軟件工程生命周期的起點,是軟件開發后繼階段的基礎。需求工程過程的質量直接影響著軟件開發的進度和成本。目前大部分軟件需求工程中用于需求分析的框架和方法,如Zachman框架[1]、Volere需求過程模型[2]、實體/關系觀點[1]及以用例為中心的需求分析方法[3]等均是從技術角度進行總結的。但這些方法均沒有充分意識到軟件質量即顧客滿意度這個重要的衡量指標。而六西格瑪設計(design for six sigma,DFSS)是以產品質量為中心而展開的設計。其通過重新設計產品開發流程,使產品充分滿足顧客要求,從而達到較高的顧客滿意度。因此,本文將六西格瑪設計的思想引入軟件需求工程中,從質量管理的角度,以充分滿足顧客需求為核心,針對需求工程過程中存在的問題給出相應的模型及方法。
1六西格瑪設計流程
六西格瑪設計是質量管理在設計階段的延伸。與六西格瑪管理相比,兩者的最大區別在于六西格瑪管理著眼于對現有系統或流程的改進,通常當改進使流程達到約四點八西格瑪水平時,就再難以突破,這就是人們常說的五西格瑪墻[4]。為了超越五西格瑪墻,實現真正意義上的六西格瑪質量,必須從源頭開始提高設計質量,開展六西格瑪設計。DFSS還體現了激發創新能力、加快創新速度、預防為主等思想理念。
DFSS強調質量是在整個過程中形成的,而非測試得來[5]。DFSS的IDDOV流程[5], 即識別(identify)、定義(define)、展開(develop)、優化(optimize)和驗證(verify),是一整套不同于常規設計的方法,它以顧客需求為導向,以質量功能展開(QFD)為紐帶,深入分析和展開顧客需求,綜合應用系統設計(包括TRIZ)、FMEA、實驗設計、參數設計、容差設計以及面向X的設計等設計分析技術,從而大跨度地提高產品的固有質量,更好地滿足顧客的需求[4]。
2基于DFSS的需求工程過程模型
簡言之需求工程就是回答“做什么”的問題,是對用戶的需求進行去粗取精、去偽存真、正確地理解,然后將它用軟件工程開發語言表達出來(即需求規格說明書)的過程。目前,很少有組織具備明確定義的、標準化的需求工程過程,他們只是簡單地定義了過程的結果,即需求文檔。
針對目前需求分析中存在的問題,本文提出了基于DFSS的需求工程過程模型。該模型以IDDOV流程為基礎,以實現顧客需求為中心,運用DFSS的工具,分階段逐步細化,最終將用戶需求轉換為需求文檔,為軟件開發的后續階段提供可靠的依據。該模型如圖1所示。
2.1識別并說明機會( identify)
在項目開展之前,首先使團隊成員明確軟件質量即顧客滿意度,強調需求工程階段的質量對軟件項目成敗的重要性,確定項目的六西格瑪質量等級。識別目標顧客,對外部顧客和內部顧客[5]給予同樣的重視。清楚說明待開發的軟件系統要實現的目標、范圍、將要用到的資源及成本預算;還要明確哪些是項目的關鍵可交付成果及其交付時間;最后形成項目計劃。
2.2詳細說明要求(define)
首先對顧客群進行分類,確定各類顧客的重要度。傾聽各類顧客的聲音(voice of customer,VOC),發現并了解顧客對現實和未來系統的真正要求,整理搜集到的VOC,形成VOC清單。
將VOC清單中的原始信息分類整理,用KJ法(親和圖法)和卡諾模型整理語言信息,將用戶需求分類成功能性需求和非功能性需求。以VOC為基礎排列需求的優先次序,DFSS著眼于相對級別高、技術難度大的地方來達到系統目標。另外,還可以將VOC清單轉換為具有可操作性的技術要求,如質量特性規格,為以后驗證設計是否達到了顧客要求提供標準。
為了使用戶需求準確、完全轉換為系統需求,質量功能展開(quality function deployment,QFD)技術再適合不過了。QFD是DFSS必須應用的最重要的方法之一。其基本思想是產品開發的所有活動均是由客戶的需求、偏好和期望驅動的,通過質量屋矩陣將用戶需求轉換為相應的設計要求,即系統需求。圖2是典型的質量屋[6]。圖中左墻whats輸入項矩陣,即“想要的”,屋頂hows矩陣,即“如何做”通過關系矩陣進行交換,將用戶語言轉換為技術術語;右墻為評價矩陣,是從用戶角度評價產品市場競爭力,地下室為hows輸出項矩陣,從技術角度評價需求的重要程度。QFD質量屋通過量化打分,對需求和技術要求進行排序,產生關鍵質量特性(critical to quality,CTQ),可以作為下一個QFD圖的輸入項繼續分解。
可以有序地使用若干個QFD圖將顧客的主觀要求(VOC)轉換為客觀的、可計量的技術要求,即系統需求,如圖3所示。
2.3進行構想(develop)
由QFD圖得出系統需求的CTQs后,要進行系統建模。目前,成熟的系統建模方法很多,可以根據具體情況選擇合適的建模方法;也可以嘗試用TRIZ(創造性問題解決理論)尋找最佳設計構想。DFSS強調的是質量的形成過程,因此,任何一個潛在構想展開之前就要對其潛在問題進行評估。失效模式與效應分析(failure mode effects analysis,FMEA)就是用來尋找潛在失效情況,分析與這些失效有關的風險,并將其用一種合理的方法組織起來以采取相應措施的方法。QFD為FMEA過程提供了許多關鍵信息輸出[5,7]。FMEA工作表格如表1所示。
運用FMEA表格對系統模型進行分析,有利于找出系統模型中的潛在缺陷,挖掘用戶隱性需求,及時采取措施修改完善系統模型,為后續的軟件開發工作降低風險、提高效率、節約時間和成本。
2.4優化設計(optimize)
需求工程過程的輸出結果是需求文檔,即軟件需求規格說明書,是對用戶需求和系統需求的詳細陳述,是軟件開發人員系統設計的起點。因此,需求文檔的編寫應該有一個標準的組織形式。編寫文檔的標準格式時應當注意需求的可跟蹤性的體現,有利于在需求出現變更時進行檢索和調整輸出信息。可運用穩健設計的思想,優化文檔格式,減少信息表述的差異性。用FMEA分析文檔中存在的缺陷。
2.5驗證設計(verify)
驗證設計雖然是DFSS流程的最后一個階段,但卻是對全過程分階段的驗證,與其他階段是并行的關系。按日期進行管理而不是按DFSS執行情況進行管理,是造成成本高、效益低、效果差、時間長的一個主要原因[5]。DFSS每個階段采用的方法和工具均起到了驗證該階段成果的作用。對需求文檔進行驗證時,要核實系統目標,確認設計符合規格要求,檢查FMEA中失效模式和原因是否解決,完成正式成本效益分析等。最后,提交驗證報告,以便管理者檢查工作。
3結束語
本文在分析了需求工程過程中存在的問題基礎上,提出了基于六西格瑪設計的需求工程過程模型。該模型將IDDOV流程與軟件需求工程過程的實際情況相結合,運用DFSS的方法和技術,從質量管理的角度為需求工程的展開提供了新的思路。該模型的特點在于,從顧客需求出發,強調軟件質量的重要性,并將其融入獲取質量特性的各個階段,使用QFD和FMEA等技術,可以將用戶需求充分地轉換為開發人員的設計要求,同時發掘潛在需求和失效隱患,提高軟件系統的開發效率。
參考文獻:
[1]
HAY D C.Requirements analysis from business views to architecture[M].北京:清華大學出版社,2004.
[2]ROBERTSON S,ROBERTSON J.Master the requirements process[M].北京:人民郵電出版社,2003.
[3]王慶育.軟件工程[M].北京:清華大學出版社,2004.
[4]邵家駿.展開六西格瑪設計,創造世界一流產品[J].中國質量,2005(3):6-9.
[5]喬杜里.六西格瑪設計[M].方海萍,魏青江,譯.北京:機械工業出版社,2003.
[6]熊偉.質量機能展開[M].北京:化學工業出版社,2005.
[7]文放懷.六西格瑪設計實戰[M].廣州:廣東經濟出版社,2003.
“本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文”