本發(fā)明屬于軟件工程領(lǐng)域,具體涉及一種基于研發(fā)工作產(chǎn)品標(biāo)識(shí)的需求跟蹤方法。
背景技術(shù):
需求跟蹤是指在軟件開(kāi)發(fā)過(guò)程中對(duì)用戶需求實(shí)現(xiàn)情況的跟蹤和檢查,包括編制每個(gè)需求同系統(tǒng)工作產(chǎn)品之間的相互關(guān)系等。
建立與維護(hù)“需求-設(shè)計(jì)-編程-測(cè)試”之間的一致性,確保所有的用戶需求得到有效實(shí)現(xiàn),可用于需求變更時(shí)的變更波及范圍影響分析。需求跟蹤可以從任務(wù)書(shū)追溯到軟件需求分析、設(shè)計(jì)、實(shí)現(xiàn)和各種測(cè)試等工作產(chǎn)品,也可從各工作產(chǎn)品回溯到軟件需求和任務(wù)書(shū)等。
需求跟蹤方法有靜態(tài)跟蹤和動(dòng)態(tài)跟蹤兩種。靜態(tài)跟蹤方法主要有跟蹤矩陣、跟蹤圖和交叉引用等,其跟蹤鏈只能靜態(tài)表示,不能自動(dòng)生成。靜態(tài)需求跟蹤一般由人手動(dòng)設(shè)置,容易出錯(cuò),時(shí)間消耗過(guò)多。特別是在項(xiàng)目規(guī)模較大,周期較長(zhǎng)的時(shí)候,跟蹤鏈的維護(hù)更成了一個(gè)巨大的負(fù)擔(dān)。動(dòng)態(tài)需求跟蹤的需求跟蹤關(guān)系是自動(dòng)建立的,在需求發(fā)生變更時(shí)可以維護(hù)需求跟蹤關(guān)系。動(dòng)態(tài)跟蹤方法主要有基于信息檢索的跟蹤、基于規(guī)則的跟蹤、基于事件觸發(fā)的跟蹤等。動(dòng)態(tài)需求跟蹤較好的解決了傳統(tǒng)靜態(tài)需求跟蹤中面臨的問(wèn)題,但在跟蹤精度上卻未能盡如人意。
目前已有的這些需求跟蹤方法都沒(méi)有徹底地解決需求跟蹤困難的問(wèn)題,究其原因主要是需求跟蹤與軟件工作產(chǎn)品存在脫節(jié)造成的。本發(fā)明提出一種基于研發(fā)工作產(chǎn)品標(biāo)識(shí)的需求跟蹤方法,使用該方法可以準(zhǔn)確實(shí)現(xiàn)軟件需求到軟件開(kāi)發(fā)各階段工作產(chǎn)品的跟蹤關(guān)系。
技術(shù)實(shí)現(xiàn)要素:
發(fā)明目的:本發(fā)明針對(duì)上述現(xiàn)有技術(shù)存在的問(wèn)題做出改進(jìn),即本發(fā)明公開(kāi)了一種基于研發(fā)工作產(chǎn)品標(biāo)識(shí)的需求跟蹤方法。
技術(shù)方案:一種基于研發(fā)工作產(chǎn)品標(biāo)識(shí)的需求跟蹤方法,包括以下步驟:
(1)、將研發(fā)各階段工作產(chǎn)品條目化,得到條目化信息并作為需求跟蹤的依據(jù),每個(gè)工作產(chǎn)品中可跟蹤的條目化信息都設(shè)置一個(gè)唯一的跟蹤ID,該跟蹤ID與具體的條目化內(nèi)容直接關(guān)聯(lián)或間接關(guān)聯(lián),同時(shí)該跟蹤ID被自動(dòng)獲取并記錄到數(shù)據(jù)庫(kù)中;
(2)、條目化對(duì)應(yīng)關(guān)系標(biāo)識(shí)
在定義各階段工作產(chǎn)品時(shí),在工作產(chǎn)品中使用條目化標(biāo)識(shí)表示與上階段工作產(chǎn)品條目化的對(duì)應(yīng)關(guān)系;
(3)、需求跟蹤鏈抽取
在各階段工作產(chǎn)品變動(dòng)時(shí),自動(dòng)收集各階段工作產(chǎn)品條目化的對(duì)應(yīng)關(guān)系,形成整個(gè)需求跟蹤鏈。
進(jìn)一步地,步驟(1)中的工作產(chǎn)品包括軟件需求分析規(guī)格說(shuō)明書(shū)、軟件概要設(shè)計(jì)說(shuō)明書(shū)、軟件詳細(xì)設(shè)計(jì)說(shuō)明書(shū)、軟件源代碼以及軟件測(cè)試相關(guān)的測(cè)試計(jì)劃說(shuō)明書(shū)、測(cè)試?yán)蜏y(cè)試報(bào)告。
進(jìn)一步地,步驟(1)中的將研發(fā)各階段工作產(chǎn)品條目化包括
(11)將軟件任務(wù)書(shū)分解為用戶需求條目;
(12)將軟件需求分析分解為軟件需求條目;
(13)將軟件概要設(shè)計(jì)分解為概要設(shè)計(jì)條目。
進(jìn)一步地,步驟(1)中當(dāng)跟蹤ID與具體的條目化內(nèi)容為直接關(guān)聯(lián)時(shí),直接在工作產(chǎn)品中指明每個(gè)條目化與跟蹤ID存在對(duì)應(yīng)關(guān)系;步驟(1)中當(dāng)跟蹤ID與具體的條目化內(nèi)容為間接關(guān)聯(lián)時(shí),是通過(guò)名稱或描述間接地在工作產(chǎn)品中指明每個(gè)條目化與跟蹤ID存在對(duì)應(yīng)關(guān)系。
有益效果:本發(fā)明公開(kāi)的一種基于研發(fā)工作產(chǎn)品標(biāo)識(shí)的需求跟蹤方法具有以下有益效果:
1、利用該方法進(jìn)行需求跟蹤時(shí),在各級(jí)工作產(chǎn)品條目化分解的基礎(chǔ)上,通過(guò)在工作產(chǎn)品中嵌入與上級(jí)工作產(chǎn)品條目化的對(duì)應(yīng)關(guān)系,自動(dòng)形成整個(gè)軟件的需求跟蹤鏈;
2、這種方法將軟件工作產(chǎn)品的生產(chǎn)與需求跟蹤關(guān)系的定義一體化,簡(jiǎn)化了靜態(tài)需求跟蹤的過(guò)程,同時(shí)保證了需求跟蹤的準(zhǔn)確性。
具體實(shí)施方式:
下面對(duì)本發(fā)明的具體實(shí)施方式詳細(xì)說(shuō)明。
一種基于研發(fā)工作產(chǎn)品標(biāo)識(shí)的需求跟蹤方法,包括以下步驟:
(1)、將研發(fā)各階段工作產(chǎn)品條目化,得到條目化信息并作為需求跟蹤的依據(jù),每個(gè)工作產(chǎn)品中可跟蹤的條目化信息都設(shè)置一個(gè)唯一的跟蹤ID,該跟蹤ID與具體的條目化內(nèi)容直接關(guān)聯(lián)或間接關(guān)聯(lián),同時(shí)該跟蹤ID被自動(dòng)獲取并記錄到數(shù)據(jù)庫(kù)中;
(2)、條目化對(duì)應(yīng)關(guān)系標(biāo)識(shí)
在定義各階段工作產(chǎn)品時(shí),在工作產(chǎn)品中使用條目化標(biāo)識(shí)表示與上階段工作產(chǎn)品條目化的對(duì)應(yīng)關(guān)系;
(3)、需求跟蹤鏈抽取
在各階段工作產(chǎn)品變動(dòng)時(shí),自動(dòng)收集各階段工作產(chǎn)品條目化的對(duì)應(yīng)關(guān)系,形成整個(gè)需求跟蹤鏈。
進(jìn)一步地,步驟(1)中的工作產(chǎn)品包括軟件需求分析規(guī)格說(shuō)明書(shū)、軟件概要設(shè)計(jì)說(shuō)明書(shū)、軟件詳細(xì)設(shè)計(jì)說(shuō)明書(shū)、軟件源代碼以及軟件測(cè)試相關(guān)的測(cè)試計(jì)劃說(shuō)明書(shū)、測(cè)試?yán)蜏y(cè)試報(bào)告。
進(jìn)一步地,步驟(1)中的將研發(fā)各階段工作產(chǎn)品條目化包括
(11)將軟件任務(wù)書(shū)分解為用戶需求條目;
(12)將軟件需求分析分解為軟件需求條目;
(13)將軟件概要設(shè)計(jì)分解為概要設(shè)計(jì)條目。
進(jìn)一步地,步驟(2)中條目化對(duì)應(yīng)關(guān)系標(biāo)識(shí)是指建立上下相鄰或相關(guān)階段工作產(chǎn)品條目化的對(duì)應(yīng)關(guān)系,在下一階段工作產(chǎn)品的開(kāi)發(fā)過(guò)程中通過(guò)指定上一階段的跟蹤ID來(lái)標(biāo)識(shí)當(dāng)前條目化的跟蹤關(guān)系,標(biāo)識(shí)的跟蹤ID不一定非要直接出現(xiàn)在工作產(chǎn)品中,但在工作產(chǎn)品保存或更新時(shí)要能有辦法獲取出跟蹤ID。
進(jìn)一步地,步驟(1)中的工作產(chǎn)品的條目化指的是每個(gè)工作產(chǎn)品中可跟蹤的條目化信息都設(shè)置一個(gè)唯一的跟蹤ID,當(dāng)這個(gè)跟蹤ID與具體的條目化內(nèi)容直接關(guān)聯(lián)時(shí),顯式定義在工作產(chǎn)品中(,直接在工作產(chǎn)品中指明每個(gè)條目化與跟蹤ID存在對(duì)應(yīng)關(guān)系);當(dāng)這個(gè)跟蹤ID與具體的條目化內(nèi)容間接關(guān)聯(lián)時(shí),隱式對(duì)應(yīng)工作產(chǎn)品的條目化內(nèi)容(通過(guò)名稱或描述間接地在工作產(chǎn)品中指明每個(gè)條目化與跟蹤ID存在對(duì)應(yīng)關(guān)系),這些跟蹤ID可被自動(dòng)獲取并記錄到數(shù)據(jù)庫(kù)中,具體形式如下:
軟件源代碼條目化后,形式如下:
軟件需求規(guī)格說(shuō)明書(shū)條目化后,形式如下:
進(jìn)一步地,步驟(2)中的條目化對(duì)應(yīng)關(guān)系標(biāo)識(shí)指在編輯下一階段工作產(chǎn)品過(guò)程中標(biāo)識(shí)與上一階段條目化的關(guān)系,需要在工作產(chǎn)品創(chuàng)建或修改過(guò)程中定義出上一階段的跟蹤ID。這樣就可以知道兩個(gè)相鄰階段條目的對(duì)應(yīng)關(guān)系了。標(biāo)識(shí)的跟蹤ID不一定非要直接出現(xiàn)在工作產(chǎn)品中,但在保存或更新時(shí)能別有效識(shí)別出來(lái)。
文檔形式工作產(chǎn)品的條目化關(guān)系,在條目化編輯過(guò)程中直接指定上級(jí)工作產(chǎn)品的跟蹤ID。例如在編輯軟件需求分析條目化時(shí),需要指定相關(guān)聯(lián)用戶需求條目的跟蹤ID;在編輯概要設(shè)計(jì)條目化時(shí),需要指定相關(guān)聯(lián)軟件需求條目的跟蹤ID等。
代碼形式工作產(chǎn)品的條目化跟蹤關(guān)系,可在編碼過(guò)程中通過(guò)注釋的方式標(biāo)識(shí)詳細(xì)設(shè)計(jì)條目化的跟蹤ID。如下例中注釋通過(guò)##UPPERID##標(biāo)識(shí)上一階段工作產(chǎn)品條目化的跟蹤ID。
進(jìn)一步地,步驟(3)中的需求跟蹤鏈抽取指的是在每個(gè)階段工作產(chǎn)品的創(chuàng)建或修改后,可通過(guò)直接或間接的方法抽取并更新相鄰兩個(gè)階段的條目化對(duì)應(yīng)關(guān)系。在整個(gè)研發(fā)工作產(chǎn)品完成后,就可以得到所有階段工作產(chǎn)品的條目化對(duì)應(yīng)關(guān)系,形成需求跟蹤鏈。
條目化之間的跟蹤關(guān)系包括用戶需求-軟件需求、軟件需求-概要設(shè)計(jì)、概要設(shè)計(jì)-詳細(xì)設(shè)計(jì)、詳細(xì)設(shè)計(jì)-代碼,以及軟件需求-系統(tǒng)測(cè)試、概要設(shè)計(jì)-集成測(cè)試、詳細(xì)設(shè)計(jì)-單元測(cè)試等之間的關(guān)系,具體的存儲(chǔ)方式如下:
下一階段跟蹤 ID-11 上一階段跟蹤 ID-21 ……
…… …… ……
下一階段跟蹤 ID-12 上一階段跟蹤 ID-22 ……
匯總所有條目化對(duì)應(yīng)關(guān)系就形成了整個(gè)需求跟蹤鏈,實(shí)現(xiàn)對(duì)研發(fā)任務(wù)的需求跟蹤工作。
在開(kāi)發(fā)每個(gè)階段的工作產(chǎn)品時(shí),通過(guò)直接掃描工作產(chǎn)品或在開(kāi)發(fā)過(guò)程中記錄標(biāo)識(shí)的跟蹤ID等方法獲取兩個(gè)相鄰或相關(guān)階段工作產(chǎn)品的條目化對(duì)應(yīng)關(guān)系,在所有工作產(chǎn)品完成后,就可以得到所有階段工作產(chǎn)品的條目化對(duì)應(yīng)關(guān)系,形成需求跟蹤鏈;
上面對(duì)本發(fā)明的實(shí)施方式做了詳細(xì)說(shuō)明。但是本發(fā)明并不限于上述實(shí)施方式,在所屬技術(shù)領(lǐng)域普通技術(shù)人員所具備的知識(shí)范圍內(nèi),還可以在不脫離本發(fā)明宗旨的前提下做出各種變化。