發(fā)布時(shí)間:2020-07-17
需求跟蹤矩陣是一個(gè)表格形式的報(bào)告以幫助用戶跟蹤需求到測(cè)試用例以及最終到軟件缺陷。它能夠幫助用戶跟蹤與需求相關(guān)聯(lián)的所有測(cè)試用例,以及這些測(cè)試用例在不同測(cè)試周期的結(jié)果和缺陷信息。
通過(guò)建立和維護(hù)軟件需求跟蹤矩陣,可以在四個(gè)環(huán)節(jié)之間找到對(duì)應(yīng)關(guān)系,驗(yàn)證從需求一直到測(cè)試之間的一致性與完整性,并且在發(fā)生變更時(shí),可以通過(guò)正反向跟蹤矩陣確定變更影響域。?合軟件工程的特點(diǎn),在傳統(tǒng)的需求跟蹤矩陣基礎(chǔ)上,增加用戶需求和軟件需求、概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)之間的追蹤關(guān)系,使得建立的追蹤關(guān)系更加精確。
需求跟蹤矩陣的目的是為了建立與維護(hù)“需求-設(shè)計(jì)-編碼-測(cè)試”之間的一致性,確保最終的產(chǎn)品滿足需求。軟件工程中的軟件生存周期是指從軟件的產(chǎn)生直到報(bào)廢的生命周期,而需求追蹤矩陣存在于整個(gè)軟件生存周期內(nèi),從正向和反向兩個(gè)方面進(jìn)行需求追蹤。需求追蹤矩陣中的數(shù)據(jù)元素有:需求項(xiàng)、設(shè)計(jì)元素、代碼、測(cè)試用例,從需求開(kāi)始到測(cè)試結(jié)束,形成完整的閉環(huán),無(wú)論是哪一個(gè)環(huán)節(jié)發(fā)生了變更,都可以迅速準(zhǔn)確的判斷變更的影響域。
1 實(shí)現(xiàn)過(guò)程
軟件工程是指導(dǎo)軟件開(kāi)發(fā)和維護(hù)的工程學(xué)科,需求是源頭,設(shè)計(jì)和編碼是實(shí)現(xiàn),測(cè)試是保障,需求跟蹤矩陣則是一條無(wú)形的線將這些點(diǎn)連接起來(lái)。正向需求跟蹤矩陣以用戶需求為出發(fā)點(diǎn),檢查在后續(xù)的軟件需求、設(shè)計(jì)、編碼、測(cè)試中找到對(duì)應(yīng)點(diǎn),反向需求追蹤矩陣能檢查設(shè)計(jì)、代碼、測(cè)試用例等工作成果是否都能在需求找到出處,其中反向需求追蹤矩陣可以理解為正向需求追蹤矩陣的逆序,所以本文將主要介紹正向跟蹤矩陣的建立過(guò)程。
1.1 需求中建立需求跟蹤矩陣
需求是軟件工程中的一個(gè)必須環(huán)節(jié),是整個(gè)軟件工程中的源頭,分為用戶需求和軟件需求。
用戶需求是指未經(jīng)分析和分解的原始需求,它可以來(lái)源于技術(shù)協(xié)議,也可以來(lái)源于任務(wù)書。接收到用戶需求后,將用戶需求進(jìn)行分類和標(biāo)識(shí),按照分類建立需求跟蹤矩陣的根節(jié)點(diǎn),將其寫入表1中的左列。[2]標(biāo)識(shí)是指需求、設(shè)計(jì)、編碼、測(cè)試相關(guān)元素的唯一標(biāo)識(shí)。
軟件需求是指需求分析人員分析和分解用戶需求,深入的描述軟件的功能和性能,指明軟件和其他系統(tǒng)元素的接口。軟件需求過(guò)程的輸入是技術(shù)協(xié)議或任務(wù)書,輸出是軟件需求規(guī)格說(shuō)明。需求分析人員將分析和分解后的軟件需求,寫入軟件需求規(guī)格說(shuō)明文檔中。將軟件需求寫入表1中的右列,即建立了用戶需求和軟件需求之間的需求追蹤矩陣。在建立用戶需求和軟件需求間的需求跟蹤矩陣過(guò)程中,可以發(fā)現(xiàn)是否所有的用戶需求都被分析和分解。這個(gè)過(guò)程中應(yīng)注意,軟件需求的變更一定不能影響到用戶需求,只能是用戶需求的變更影響到軟件需求。
1.2 設(shè)計(jì)中建立需求跟蹤矩陣
軟件設(shè)計(jì)是軟件工程過(guò)程中的技術(shù)核心,是軟件需求的實(shí)現(xiàn),也是后續(xù)編碼和測(cè)試過(guò)程的基礎(chǔ)。軟件設(shè)計(jì)過(guò)程就是把軟件需求分解或者實(shí)現(xiàn)成軟件功能模型、數(shù)據(jù)模型以及行為模型的過(guò)程。軟件設(shè)計(jì)過(guò)程分為概要設(shè)計(jì)過(guò)程和詳細(xì)設(shè)計(jì)過(guò)程。[3]
概要設(shè)計(jì)過(guò)程就是將軟件需求轉(zhuǎn)化為功能部件、接口部件等,整個(gè)過(guò)程輸入為軟件需求規(guī)格說(shuō)明,過(guò)程輸出為軟件概要設(shè)計(jì)說(shuō)明。將軟件概要設(shè)計(jì)說(shuō)明中得到的功能部件、接口部件等寫入到類似于表1的表格中,其中部件要與軟件需求對(duì)應(yīng),即建立了軟件需求和概要設(shè)計(jì)之間的需求追蹤矩陣。在這個(gè)過(guò)程中可以發(fā)現(xiàn)是否所有的軟件需求都在設(shè)計(jì)中實(shí)現(xiàn)了。
詳細(xì)設(shè)計(jì)過(guò)程就是將概要設(shè)計(jì)進(jìn)行細(xì)化,得到功能單元、接口單元等,整個(gè)過(guò)程輸入為軟件概要設(shè)計(jì)說(shuō)明,過(guò)程輸出為軟件詳細(xì)設(shè)計(jì)說(shuō)明。將軟件詳細(xì)設(shè)計(jì)說(shuō)明中得到的功能單元、接口單元等寫入到類似于表1的表格中,其中單元要與部件對(duì)應(yīng),即建立了概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)之間的需求追蹤矩陣。在這個(gè)過(guò)程中可以發(fā)現(xiàn)是否所有的概要設(shè)計(jì)都在詳細(xì)設(shè)計(jì)中細(xì)化了。
1.3 編碼中建立需求跟蹤矩陣
編碼過(guò)程就是選擇某種語(yǔ)言,按照詳細(xì)設(shè)計(jì)的結(jié)果進(jìn)行編碼實(shí)現(xiàn),整個(gè)過(guò)程輸入為軟件詳細(xì)設(shè)計(jì)說(shuō)明,過(guò)程輸出為程序代碼。將程序代碼函數(shù)名稱同詳細(xì)設(shè)計(jì)中的單元建立對(duì)應(yīng)關(guān)系,寫入到類似于表1的表格中,即建立了程序代碼和軟件詳細(xì)設(shè)計(jì)之間的對(duì)應(yīng)關(guān)系。在這個(gè)過(guò)程中可以發(fā)現(xiàn)是否所有的詳細(xì)設(shè)計(jì)都在編碼過(guò)程中實(shí)現(xiàn)了,也能發(fā)現(xiàn)是否存在某些無(wú)法實(shí)現(xiàn)的設(shè)計(jì)。
1.4 測(cè)試中建立需求跟蹤矩陣
軟件測(cè)試過(guò)程就是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過(guò)程,需要測(cè)試人員編寫并測(cè)試用例,整個(gè)過(guò)程輸入為程序代碼,過(guò)程輸出為測(cè)試用例。將測(cè)試用例同程序代碼函數(shù)名稱建立對(duì)應(yīng)關(guān)系,寫入到類似于表1的表格中,即建立了測(cè)試用例和程序代碼之間的對(duì)應(yīng)關(guān)系。在這個(gè)過(guò)程中可以發(fā)現(xiàn)是否測(cè)試覆蓋了所有的程序代碼功能。
2 需求跟蹤矩陣展示
在軟件生存周期中,根據(jù)各階段的進(jìn)展,建立和維護(hù)需求跟蹤矩陣,可以將各個(gè)階段的產(chǎn)品關(guān)系串聯(lián)起來(lái),最終形成的需求跟蹤矩陣。
整個(gè)矩陣成扇形發(fā)散結(jié)構(gòu),中間的需求追蹤是不能間斷的。需求跟蹤矩陣建立后,可以迅速的判斷需求是否得到了實(shí)現(xiàn),并且在需求變更、設(shè)計(jì)變更、代碼變更、測(cè)試用例變更時(shí),通過(guò)該矩陣可以很清楚的判斷出變更影響域。
在軟件工程中,建立六個(gè)軟件產(chǎn)品之間的需求跟蹤矩陣,可以更快的檢測(cè)并驗(yàn)證用戶需求開(kāi)始到測(cè)試用例之間的一致性與完整性,確保所有的實(shí)現(xiàn)是以用戶需求為基礎(chǔ);當(dāng)發(fā)生變更時(shí),通過(guò)檢索需求跟蹤矩陣發(fā)現(xiàn)需要修改的需求、設(shè)計(jì)、代碼及測(cè)試用例等。需求、設(shè)計(jì)、編碼、測(cè)試用例,每一項(xiàng)都含有很多元素,建立和維護(hù)需求追蹤矩陣比較繁瑣,工作量也比較大,目前建立和維護(hù)需求追蹤矩陣的專業(yè)工具比較少,后續(xù)的研究應(yīng)注重此類工具的開(kāi)發(fā)。
推薦閱讀:
軟件開(kāi)發(fā)該采用傳統(tǒng)項(xiàng)目管理還是敏捷項(xiàng)目管理?
IT項(xiàng)目如何做好預(yù)算和成本控制?IT項(xiàng)目成本管理小建議
電話咨詢,400-035-7887,安排專業(yè)技術(shù)售前給您解答(產(chǎn)品試用、技術(shù)交流、服務(wù)咨詢和商務(wù)報(bào)價(jià))。
您的信息已成功提交!
我們的客服人員稍后會(huì)與您聯(lián)系