《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計應(yīng)用 > 基于QFD和DSM的軟件需求變更影響分析方法與應(yīng)用
基于QFD和DSM的軟件需求變更影響分析方法與應(yīng)用
2017年微型機與應(yīng)用第9期
王躍鵬,張春海
中國海洋大學(xué) 信息科學(xué)與工程學(xué)院,,山東 青島 266100
摘要: 軟件需求變更是導(dǎo)致軟件項目失敗的主要因素,。之前學(xué)者們在分析軟件體系結(jié)構(gòu)的變更風(fēng)險時,,體系結(jié)構(gòu)間依賴值的獲取主要是依靠經(jīng)驗預(yù)估,而不是基于模塊的進一步劃分和相關(guān)耦合參數(shù)的關(guān)聯(lián)推導(dǎo),。針對這一問題,,提出利用DSM和QFD模型對組件進一步細(xì)劃分成粒度更小的關(guān)鍵設(shè)計參數(shù)(類或?qū)ο螅治鰠?shù)間的依賴程度,,推導(dǎo)出模塊間的關(guān)聯(lián)度,,接著對模塊開發(fā)順序進行重組,從而在一定程度上控制需求變更風(fēng)險,。最后,,通過將某公司集裝箱管理系統(tǒng)進行模塊切分和重組對所提方法的可行性和正確性進行了驗證。
Abstract:
Key words :

  王躍鵬,,張春海

 ?。ㄖ袊Q蟠髮W(xué) 信息科學(xué)與工程學(xué)院,山東 青島 266100)

  摘要軟件需求變更是導(dǎo)致軟件項目失敗的主要因素,。之前學(xué)者們在分析軟件體系結(jié)構(gòu)的變更風(fēng)險時,,體系結(jié)構(gòu)間依賴值的獲取主要是依靠經(jīng)驗預(yù)估,而不是基于模塊的進一步劃分和相關(guān)耦合參數(shù)的關(guān)聯(lián)推導(dǎo),。針對這一問題,,提出利用DSM和QFD模型對組件進一步細(xì)劃分成粒度更小的關(guān)鍵設(shè)計參數(shù)(類或?qū)ο螅治鰠?shù)間的依賴程度,,推導(dǎo)出模塊間的關(guān)聯(lián)度,,接著對模塊開發(fā)順序進行重組,從而在一定程度上控制需求變更風(fēng)險,。最后,,通過將某公司集裝箱管理系統(tǒng)進行模塊切分和重組對所提方法的可行性和正確性進行了驗證。

  關(guān)鍵詞: 軟件需求變更,;DSM,;QFD,;變更傳播;信息反饋

  中圖分類號:TP311文獻標(biāo)識碼:ADOI: 10.19358/j.issn.1674-7720.2017.09.022

  引用格式:王躍鵬,,張春海.基于QFD和DSM的軟件需求變更影響分析方法與應(yīng)用[J].微型機與應(yīng)用,,2017,36(9):74-77.

0引言

  近幾十年來,軟件產(chǎn)業(yè)呈現(xiàn)爆發(fā)式增長,,需求巨大,,并且軟件規(guī)模迅速膨脹,,結(jié)構(gòu)復(fù)雜,,伴隨而來的失敗風(fēng)險成指數(shù)級增加。然而軟件需求變更在項目系統(tǒng)開發(fā)上面臨著效率,、技術(shù)和管理等諸多問題,,越來越被專家和學(xué)者們看作是項目開發(fā)過程中的重要風(fēng)險來源之一[1]。目前以用戶體驗至上的開發(fā)流程愈發(fā)導(dǎo)致需求不斷地變更,,因而給軟件項目管理帶來了很多不可控的因素[2],。系統(tǒng)的各種需求與開發(fā)過程中的各種組件是相互映射、緊密聯(lián)系的,,這就是項目開發(fā)過程中存在巨大風(fēng)險的主要原因,。然而,軟件體系結(jié)構(gòu)是反應(yīng)系統(tǒng)聯(lián)系和耦合的重要載體,。每當(dāng)某些需求變化時,,與之關(guān)聯(lián)的組件就會受到影響,與被影響組件間接相關(guān)聯(lián)的組件又會受到傳播效應(yīng),,這就形成了一種變更傳播風(fēng)險,,從而在整個軟件體系結(jié)構(gòu)中都有可能產(chǎn)生“漣漪”效應(yīng)。Cooper等專家基于依賴控制和數(shù)據(jù)依賴的模型圖對軟件需求變更影響進行了研究和分析[3],。楊鶴標(biāo)和陳震則利用面向?qū)ο蟪绦蛟O(shè)計的理論模型,,利用系統(tǒng)中函數(shù)間的關(guān)系概念和函數(shù)關(guān)系圖,提出了面向函數(shù)粒度的程序代碼行變更影響分析模型,,并且利用靜態(tài)分析和動態(tài)分析相結(jié)合的研究思路對需求變更的傳播范圍和影響程度進行了測試[4],。除此之外,DSM矩陣能夠從本質(zhì)上反映系統(tǒng)內(nèi)部模塊間的關(guān)聯(lián)關(guān)系[56],;而QFD矩陣多用來表現(xiàn)外部實體與系統(tǒng)內(nèi)部組件之間的耦合度,。以往學(xué)者們在分析軟件體系結(jié)構(gòu)的變更風(fēng)險時,體系結(jié)構(gòu)間的依賴值還主要是靠經(jīng)驗獲取或預(yù)測,,而不是基于模塊的進一步劃分和相關(guān)參數(shù)耦合關(guān)聯(lián)推導(dǎo),,因此,本文基于專家學(xué)者已發(fā)表的需求變更評估模型,,嘗試通過對模塊進一步劃分成一個個具體的關(guān)鍵參數(shù)(類或?qū)ο螅?,以及通過參數(shù)的依賴程度推導(dǎo)出模塊間的關(guān)聯(lián)度,,最后再通過模塊開發(fā)順序的重組來控制需求變更風(fēng)險[7]。

1信息傳遞與QFD質(zhì)量功能矩陣

  QFD矩陣表示質(zhì)量功能展開,,又叫質(zhì)量屋,,主要表示需求空間與體系結(jié)構(gòu)間的映射關(guān)聯(lián)關(guān)系。QFD作為一種設(shè)計階段的映射方法,,著重于系統(tǒng)需求與軟件體系結(jié)構(gòu)間的匹配和映射,。

  如圖1所示,矩陣的行表示某需求由哪些組件實現(xiàn),,矩陣的列表示該組件(模塊)的變動所影響到的所有需求,。因此,構(gòu)建出需求與軟件體系結(jié)構(gòu)之間的 QFD 關(guān)系映射,,可以分析出當(dāng)一個或多個需求發(fā)生變更時會直接影響到的組件,。

001.jpg

2基于QFD和DSM的影響分析方法

  研究過程和實施步驟如下:

  (1)通過對用戶需求分類和評估,最終由用戶確定每個需求的重要度,,即權(quán)重值,。其中用戶需求重要度的確定采用了粗糙集理論[8]。

  (2)構(gòu)造需求和模塊對應(yīng)的QFD映射矩陣,,根據(jù)模塊所影響的功能點歸納出每個模塊(組件)的重要度:

  Q(χ)=∑ni=1(m×ki)(1)

  其中,,Q(χ)代表組件χ的重要度; ki表示需求的重要度權(quán)值;m是依賴值,。

  (3)模塊(組件)都是由一個或多個設(shè)計參數(shù)(類或?qū)ο?組成的,,構(gòu)造出組件參數(shù)QFD矩陣,根據(jù)模塊對設(shè)計參數(shù)的依賴程度和模塊的重要度權(quán)值推出模塊間的自相關(guān)性,,即軟件體系結(jié)構(gòu)DSM矩陣,。

  DSM(i,j)=∑nk=1(ωk×Ij→i×QFD(j,,k))/∑nk=1(ωk×QFD(i,,k))(2)

  其中,K是關(guān)鍵設(shè)計參數(shù)的個數(shù), Ij→i表示設(shè)計參數(shù)P對組件i和j有無制約關(guān)系,,若無制約關(guān)系,,則Ij→i=0,反之,,Ij→i=1,。

  QFD(i,k)是QFD中第i行,、k列的值,,依賴度QFD(i,k)取值越大,, 表示組件i與設(shè)計參數(shù)P之間的依賴關(guān)系越強,,即設(shè)計參數(shù)P的變化會引起組件i較大程度的變化,,反之,則表示對組件i的影響較弱[9],。

  (4)上面得到的DSM矩陣只反映出了模塊間的直接影響,,然而模塊間可能會存在著間接影響,例如A→B , B→C , 那么A對C也是有著傳播影響的,,即模塊間的變更傳播所造成的影響,。由此構(gòu)造出完整的DSM相關(guān)性矩陣,反映出軟件體系結(jié)構(gòu)的累積變更影響,。

  DSM(i,,j)=∑∞m=1Ri,j(m)(3)

  其中Ri,j(m)表示m階傳播影響[10]。

  (5)通過模塊重組減少反饋信息,,降低模塊變更的頻率和影響范圍,,從而控制變更風(fēng)險。

3應(yīng)用舉例

  本文結(jié)合青島某公司集裝箱物流管理系統(tǒng)來驗證該方法控制項目風(fēng)險的可行性,。該信息化系統(tǒng)主要包含以下幾個需求:(1)財務(wù)管理,包括付款管理,、財務(wù)審核,、賬務(wù)管理等;(2)客戶信息管理模塊,;(3)訂單模塊;(4)停港靠港信息錄入和導(dǎo)出;(5)統(tǒng)計查詢,,包括各類詳細(xì)數(shù)據(jù)的查詢、計算,、導(dǎo)出和預(yù)估;(6)系統(tǒng)設(shè)置,,包括用戶角色管理、 權(quán)限管理,、密碼修改等,;(7)信息導(dǎo)入導(dǎo)出模塊。

  (1)通過與客戶不斷地深入溝通和交流,,對需求進行分類和歸納,,最終由客戶確定每種需求的優(yōu)先級或重要程度,如圖2所示,。

 

002.jpg

  (2)構(gòu)造出需求組件的QFD矩陣,,如圖3所示,然后再根據(jù)組件所影響的需求個數(shù)和每種需求的重要度推算出組件的重要度或權(quán)重值,,如圖4所示,。

  

003.jpg

  (3)將組件進一步拆分成粒度更小的類或?qū)ο蟛?gòu)造出組件參數(shù)QFD矩陣,如圖5所示,。由于組件都是由一個或多個設(shè)計參數(shù)(類或?qū)ο?組成的,,根據(jù)模塊對設(shè)計參數(shù)的依賴程度和模塊的重要度權(quán)值推出模塊間的自相關(guān)性,,即軟件體系結(jié)構(gòu)DSM矩陣,如圖6所示,。

 

004.jpg

  本文暫時只考慮制約依賴關(guān)系,,暫時不考慮其中的非制約依賴關(guān)系。

  (4)上面得到的DSM矩陣只反映出了模塊間的直接影響,,然而模塊間可能會存在著間接影響,,例如A→B, B→C , 那么A對C也是有著傳播影響的。因此,,需在上步得到的DSM基礎(chǔ)上計算出累積變更影響矩陣DSM,,如圖7所示。

  

005.jpg

  圖7表示組件間的累計變更傳播矩陣,,由上文中的公式(3)推出,,表中影響值R(i,j)≤0.02的并沒有計算在內(nèi),這種影響值微乎其微,,可忽略不計,。

  (5)需求變更始終都會存在,真正的需求變更風(fēng)險體現(xiàn)在:當(dāng)某需求變動之后會影響相應(yīng)的模塊組件,,形成一種強烈的反饋和返工,,反饋會帶來很大的成本投入和失敗風(fēng)險,因此合理調(diào)整模塊的開發(fā)順序,,通過模塊重組減少反饋(設(shè)計迭代),,降低模塊變更時的反饋和傳播風(fēng)險,從而控制變更風(fēng)險,。圖8所示為模塊重組后的DSM矩陣,。

006.jpg

  (6)最后利用仿真方法來評估模型改善后的效率和影響[1113],在做仿真時,,各功能的學(xué)習(xí)率取值0.7~0.8,,分別將優(yōu)化前后的重組順序執(zhí)行300次仿真計算,結(jié)果如圖9~圖10所示,。結(jié)果顯示,,與優(yōu)化前相比,優(yōu)化后項目開發(fā)總成本的均值和離散范圍進一步縮小,,這表明本文提出的優(yōu)化模型有助于縮短項目周期,、控制成本,并降低項目失敗風(fēng)險,。

 

007.jpg

4結(jié)束語

  本文在現(xiàn)有風(fēng)險分析模型的基礎(chǔ)上,,將需求和系統(tǒng)組件聯(lián)系起來的同時把組件劃分成粒度更小的更容易把控的類或?qū)ο螅瑥亩鶕?jù)依賴強度的大小推算出組件間的關(guān)聯(lián)度,然后再根據(jù)依賴順序?qū)⒛K的開發(fā)順序重組從而降低系統(tǒng)迭代和反饋,,最后,,對優(yōu)化后的模型方法進行仿真評估,結(jié)果表明新方法可進一步準(zhǔn)確地預(yù)估組件間的聯(lián)系,,在一定程度上降低了需求變更所帶來的風(fēng)險,。

  參考文獻

  [1] NUSEIBEH B,,EASTERBROOK S.Requirements engineering:a roadmap[C].Proceedings of the Conference on the Future of Software Engineering,,ACM,2000:35-46.

 ?。?] BOEHM B W.Making a difference in the software century[J].Computer,,2008,41(3):32-38.

 ?。?] COOPER D,,CHAN M W,HARDING M,,et al.Using dependence graphs to assist manual and automated object orientedsoftware inspections[C].Proceedings of Software Engineering Conference,,2006:42-58.

  [4] 楊鶴標(biāo),,陳震.面向?qū)ο蟠a變更影響分析模型的研究[J]. 計算機工程與設(shè)計,,2010,13(19):4232-4234.

 ?。?] STEWARD D V.The design structure system: a method for managing the design of complex systems[J]. IEEE Transactions on Engineering Management,1981,,28( 3) :71-74.

 ?。?] YANG Q,YAO T,,LU T,,et al.An overlappingbased design structure matrix for measuring interaction strength and clustering analysis in product development project[J]. IEEE Transactions on Engineering Management,2014,,61(1):159-170.

 ?。?] 付赟.基于DSM的軟件需求變更傳播風(fēng)險分析[J].計算機工程與應(yīng)用,2012, 48(29):22-28.

 ?。?] 宋欣,,郭偉,劉建琴.QFD中用戶需求到技術(shù)特性的映射方法[J].天津大學(xué)學(xué)報,,2010,,43(2):174-180.

  [9] 楊青,,劉志林,,唐爾玲. 基于DSM和QFD分析功能變更對研發(fā)項目的影響[J]. 技術(shù)與創(chuàng)新管理,,2015,4(7):57-65.

 ?。?0] 付赟. 軟件需求變更影響建模與風(fēng)險管理研究[D].天津:天津大學(xué),2011.

 ?。?1] 楊青,呂杰峰.基于DSM返工風(fēng)險評價矩陣的項目優(yōu)化與仿真[J].系統(tǒng)工程理論與實踐,,2010,,30(9):1665-1671.

  [12] 楊青,,黃建美.基于活動重疊的DSM項目時間計算及排序優(yōu)化[J].系統(tǒng)工程理論與實踐,,2011,31(3):496-503.

 ?。?3] Yang Qing,,Zhang Xiaofeng,Yao Tao.An overlappingbased process model for managing schedule and cost risk in product development[J].Concurrent Engineering:Research and Applications,,2012,, 20(1):3-17.


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。