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

  王躍鵬,張春海

  (中國(guó)海洋大學(xué) 信息科學(xué)與工程學(xué)院,山東 青島 266100)

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

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

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

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

0引言

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

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

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

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

001.jpg

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

  研究過程和實(shí)施步驟如下:

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

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

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

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

  (3)模塊(組件)都是由一個(gè)或多個(gè)設(shè)計(jì)參數(shù)(類或?qū)ο?組成的,構(gòu)造出組件參數(shù)QFD矩陣,根據(jù)模塊對(duì)設(shè)計(jì)參數(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è)計(jì)參數(shù)的個(gè)數(shù), Ij→i表示設(shè)計(jì)參數(shù)P對(duì)組件i和j有無制約關(guān)系,若無制約關(guān)系,則Ij→i=0,反之,Ij→i=1。

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

  (4)上面得到的DSM矩陣只反映出了模塊間的直接影響,然而模塊間可能會(huì)存在著間接影響,例如A→B , B→C , 那么A對(duì)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)險(xiǎn)。

3應(yīng)用舉例

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

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

 

002.jpg

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

  

003.jpg

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

 

004.jpg

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

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

  

005.jpg

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

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

006.jpg

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

 

007.jpg

4結(jié)束語

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

  參考文獻(xiàn)

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

  [2] 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]. 計(jì)算機(jī)工程與設(shè)計(jì),2010,13(19):4232-4234.

  [5] 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)險(xiǎn)分析[J].計(jì)算機(jī)工程與應(yīng)用,2012, 48(29):22-28.

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

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

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

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

 ?。?2] 楊青,黃建美.基于活動(dòng)重疊的DSM項(xiàng)目時(shí)間計(jì)算及排序優(yōu)化[J].系統(tǒng)工程理論與實(shí)踐,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)載。