需求跟蹤能力矩陣
作者: 來源: 文字大小:[大][中][小]
表示需求和別的系統(tǒng)元素之間的聯(lián)系鏈的最普遍方式是使用需求跟蹤能力矩陣。下表展示了這種矩陣,這是一個(gè)“化學(xué)制品跟蹤系統(tǒng)”實(shí)例的跟蹤能力矩陣的一部分。這個(gè)表說明了每個(gè)功能性需求向后連接一個(gè)特定的使用實(shí)例,向前連接一個(gè)或多個(gè)設(shè)計(jì)、代碼和測(cè)試元素。設(shè)計(jì)元素可以是模型中的對(duì)象,例如數(shù)據(jù)流圖、關(guān)系數(shù)據(jù)模型中的表單、或?qū)ο箢悺4a參考可以是類中的方法,源代碼文件名、過程或函數(shù)。加上更多的列項(xiàng)就可以拓展到與其它工作產(chǎn)品的關(guān)聯(lián),例如在線幫助文檔。包括越多的細(xì)節(jié)就越花時(shí)間,但同時(shí)很容易得到相關(guān)聯(lián)的軟件元素,在做變更影響分析和維護(hù)時(shí)就可以節(jié)省時(shí)間。
表1:一種需求跟蹤能力矩陣
|
用例 |
功能需求量 |
設(shè)計(jì)元素 |
代碼 |
測(cè)試實(shí)例 |
UC-28
UC-29 |
Catalog.query.sort
catalog.query.import |
Class
Catalog
Class
catalog |
Catalog.sort()
Catalog.import()
Catalog.validate() |
Search.7
Search.8
Search.8
Search.13
Search.14 |
跟蹤能力聯(lián)系鏈可以定義各種系統(tǒng)元素類型間的一對(duì)一,一對(duì)多,多對(duì)多關(guān)系。表1中允許在一個(gè)表單元中填入幾個(gè)元素來實(shí)現(xiàn)這些特征。這里是一些可能的分類:
-
一對(duì)一一個(gè)代碼模塊應(yīng)用一個(gè)設(shè)計(jì)元素。
-
一對(duì)多多個(gè)測(cè)試實(shí)例驗(yàn)證一個(gè)功能需求。
-
多對(duì)多每個(gè)使用實(shí)例導(dǎo)致多個(gè)功能性需求,而一些功能性需求常擁有幾個(gè)使用實(shí)例。
手工創(chuàng)建需求跟蹤能力矩陣是一個(gè)應(yīng)該養(yǎng)成的習(xí)慣,即使對(duì)小項(xiàng)目也很有效。一旦確立使用實(shí)例基準(zhǔn),就準(zhǔn)備在矩陣中添加每個(gè)使用實(shí)例演化成的功能性需求。隨著軟件設(shè)計(jì)、構(gòu)造、測(cè)試開發(fā)的進(jìn)展不斷更新矩陣。例如,在實(shí)現(xiàn)某一功能需求后,你可以更新它在矩陣中的設(shè)計(jì)和代碼單元,將需求狀態(tài)設(shè)置為“已完成”。表示跟蹤能力信息的另一個(gè)方法是通過矩陣的集合,矩陣定義了系統(tǒng)元素對(duì)間的聯(lián)系鏈。例如:
-
一類需求與另一類需求之間。
-
同類中不同的需求之間。
-
一類需求與測(cè)試實(shí)例之間。
可以使用這些矩陣定義需求間可能的不同聯(lián)系,例如:指定/被指定、依賴于、衍生為以及限制/被限制。
下表2中說明了兩維的跟蹤能力矩陣。矩陣中絕大多數(shù)的單元是空的。每個(gè)單元指示相對(duì)應(yīng)行與列之間的聯(lián)系,可以使用不同的符號(hào)明確表示“追溯到”和“從.. 回溯”或其他聯(lián)系。表2中使用一個(gè)箭頭表示一個(gè)功能性需求是從一個(gè)使用實(shí)例追溯來的。這些矩陣相對(duì)于表16-6中的單跟蹤能力表更容易被機(jī)器自動(dòng)支持。
表2:反映使用實(shí)例與功能需求之間聯(lián)系的需求跟蹤能力矩陣
功能
需求 |
用例 |
|
U C - 1 |
U C - 2 |
U C - 3 |
U C - 4 |
|
F R - 1 |
√ |
|
|
|
|
F R - 2 |
√ |
|
|
|
|
F R - 3 |
|
|
√ |
|
|
F R - 4 |
|
|
√ |
|
|
F R - 5 |
|
√ |
|
√ |
|
F R - 6 |
|
|
√ |
|
跟蹤能力聯(lián)系鏈無論誰有合適的信息都可以定義。下表3定義了一些典型的知識(shí)源,即關(guān)于不同種類源和目標(biāo)對(duì)象間的聯(lián)系鏈。定義了可以為工程項(xiàng)目提供每種跟蹤能力信息的角色和個(gè)人。
表3:跟蹤能力聯(lián)系鏈可能的信息源
|
鏈的源對(duì)象種類 |
鏈的目的對(duì)象種類 |
信息源 |
系統(tǒng)需求
用例
功能性需求
功能性需求
功能性需求
設(shè)計(jì)元素
功能性需求 |
軟件需求
功能性需求
功能性需求
軟件體系結(jié)構(gòu)元素
其他設(shè)計(jì)元素
代碼
測(cè)試實(shí)例 |
系統(tǒng)工程師
需求分析員
需求分析員
軟件體系結(jié)構(gòu)(設(shè)計(jì))者
開發(fā)者
開發(fā)者
測(cè)試工程師 |
需求跟蹤能力工具
由于聯(lián)系鏈源于開發(fā)組成員的頭腦中,所以需求跟蹤能力不能完全自動(dòng)化。然而,一旦已確定聯(lián)系鏈,特定工具就能幫你管理巨大的跟蹤能力信息。可以使用電子數(shù)據(jù)表來維護(hù)幾百個(gè)需求的矩陣,但更大的系統(tǒng)需要更“魯棒”的解決辦法。
具有強(qiáng)大需求跟蹤能力的商業(yè)需求管理工具均使用如表16 -7的跟蹤能力矩陣。可以在工具的數(shù)據(jù)庫中存儲(chǔ)需求和其他信息,定義不同對(duì)象間的聯(lián)系鏈,甚至包括同類需求的對(duì)等聯(lián)系鏈。有一些工具需要區(qū)分“追溯到(跟蹤進(jìn))”與“從..回溯(跟蹤出)”關(guān)系,自動(dòng)定義相對(duì)的聯(lián)系鏈。這就是說,如果你指出需求R追溯到測(cè)試實(shí)例T,工具會(huì)自動(dòng)定義相對(duì)的聯(lián)系“ T從R回溯”。還有一些工具可以在聯(lián)系鏈某端變更后將另一端標(biāo)為“可疑”。可以讓你檢查確保知道變更的后續(xù)效果。
這些工具允許定義“跨項(xiàng)目”或“跨子系統(tǒng)”的聯(lián)系鏈。一個(gè)有20個(gè)子系統(tǒng)的大項(xiàng)目,某些高層產(chǎn)品需求建立在多個(gè)子系統(tǒng)之上。有些情況下,分配給一個(gè)子系統(tǒng)的需求,實(shí)際上是由另一個(gè)子系統(tǒng)提供的服務(wù)完成的。這樣的項(xiàng)目采用商業(yè)需求管理工具可以成功地跟蹤這些復(fù)雜的跟蹤能力關(guān)系。
需求跟蹤能力過程
當(dāng)你應(yīng)用需求跟蹤能力來管理工程時(shí),可以考慮下列步驟:
決定定義哪幾種聯(lián)系鏈,可以參見圖2來進(jìn)行。
選擇使用的跟蹤能力矩陣的種類,是表1還是表2。
確定對(duì)產(chǎn)品哪部分維護(hù)跟蹤能力信息。由關(guān)鍵的核心功能、高風(fēng)險(xiǎn)部分或?qū)砭S護(hù)量大的部分開始做起。
通過修訂過程和核對(duì)表來提醒開發(fā)者在需求完成或變更時(shí)更新聯(lián)系鏈。
制定標(biāo)記性的規(guī)范,用以統(tǒng)一標(biāo)識(shí)所有的系統(tǒng)元素,達(dá)到可以相互聯(lián)系的目的。若必要,作文字記錄,這樣就可以分析系統(tǒng)文件,便于重建或更新跟蹤能力矩陣。
確定提供每類聯(lián)系鏈信息的個(gè)人。
培訓(xùn)項(xiàng)目組成員,使其接受需求跟蹤能力的概念和了解重要性、這次活動(dòng)的目的、跟蹤能力數(shù)據(jù)存儲(chǔ)位置、定義聯(lián)系鏈的技術(shù)—例如,使用需求管理工具的特點(diǎn)。確保與會(huì)人員明白擔(dān)負(fù)的責(zé)任。
一旦有人完成某項(xiàng)任務(wù)就要馬上更新跟蹤能力數(shù)據(jù),即要立刻通知相關(guān)人員更新需求鏈上的聯(lián)系鏈。
在開發(fā)過程中周期性地更新數(shù)據(jù),以使跟蹤信息與實(shí)際相符。要是發(fā)現(xiàn)跟蹤能力數(shù)據(jù)沒完成或不正確那就說明沒有達(dá)到效果。