(譯自Rose Enterprise 2000中的RequisitePro 4.5中的隨機文檔)
需求管理是對變動的需求進行確定、組織和制作文檔的過程。本文將介紹Rational Unified Process (RUP)中的有關(guān)于需求管理的基本概念,并展示如何使用RequisitePro來實行需求管理。
RequisitePro是很特別的產(chǎn)品,它集成了一個大家都很熟悉的環(huán)境:Microsoft Word,以及一個數(shù)據(jù)庫來提供強有力的十分容易使用的框架,你可以用它來對產(chǎn)品需求進行管理。你要在需求文檔中逐條標(biāo)記你的需求,然后通過數(shù)據(jù)庫對它們進行管理。以此為基礎(chǔ),你的團隊可以對同一個項目進行合作與聯(lián)系,并進行不斷的更新。
理解需求管理的第一步是建立一個通用的詞匯表。Rational把需求定義為:一種在建系統(tǒng)必須遵循的條件或功能。需求管理應(yīng)該是:可以對系統(tǒng)的需求進行引入、組織和文檔化的一種系統(tǒng)化的方法與步驟,以及建立和維護開發(fā)團隊和客戶之間關(guān)于系統(tǒng)需求變更的確認(rèn)的過程。
要注意的是目前的需求管理沒有最通用的辦法。以下的各步驟是作為一種起點來提供的。在你的開發(fā)環(huán)境中,由于你不斷經(jīng)歷著你的軟件的反復(fù)疊代并為此不斷工作,你需要不斷地重新定義你的過程,并且要找出最適合你開發(fā)需要的工作程序。 由于這是反復(fù)迭代的過程,所以你要在項目中經(jīng)常經(jīng)歷以下的12個步驟。
Step 1: 分析問題并收集stakeholder needs
系統(tǒng)分析對總體任務(wù)負(fù)有責(zé)任。所有的團隊成員,包括核心的stakeholder,都要幫助系統(tǒng)分析員從客戶那里收集stakeholder needs??梢允褂靡韵路椒ǎ?br>
☆面談交流
☆問題調(diào)查表
☆集體討論與靈感收集
☆討論板
☆原型
這些和客戶交互的結(jié)果可以很方便地記錄到RequisitePro文檔中去。
Step 2: 為RequisitePro工程創(chuàng)建一個概要說明
一旦你的團隊已經(jīng)分析了問題,并且收集了足夠的stakeholder needs,下一步是在RequisitePro中對你的項目組織安排進行規(guī)劃。你可以使用Requirements Management Plan outline (rup_rmpln.dot)來創(chuàng)建一個需求管理計劃文檔。如果你使用的是RequisitePro Project Template 4.5,那么你還可以選擇需求管理計劃文檔的類型。你可以在需求管理計劃文檔中記載以下信息:
你可能在項目中要用到的Requirements artifacts (RequisitePro文檔),例如Stakeholder需求文檔、 Vision(確定性不高的)文檔、軟件需求文檔、測試計劃書,還有需求類型,例如用于stakeholder NEED,特性 FEAT, 軟件需求SR(software requirement),另外還有需求屬性,跟蹤要點等。
Step 3: 在一個可見的文本中的文檔特性
系統(tǒng)分析員可以在推薦的軟件產(chǎn)品的高層次的需求(或功能特性)上獲得客戶的認(rèn)可。這些關(guān)鍵性的用戶需要一個在RequisitePro中的可見的文檔。系統(tǒng)分析員可以為功能特性Feature創(chuàng)建需求類型 (使用FEAT)以及Stakeholder需求(使用NEED) 作為文檔中缺省的需求類型。
每一個經(jīng)過肯定的特性都被標(biāo)記為FEAT需求,而每一個stakeholder needs將被標(biāo)記為NEED需求并放在一個不確定文檔中。
此后系統(tǒng)分析員可以在RequisitePro中建立功能特性(例如:客戶優(yōu)先級、風(fēng)險、rationale、來源等)。 在輸入完以后,系統(tǒng)分析員為需求管理來定義有關(guān)的屬性,因為它們涉及到開發(fā)周期中其它的工作。
Step 4: 拓展需求的細節(jié)
一旦你的特性需求定義好了,你可以創(chuàng)建底層的需求(它門可能被組織成軟件需求) 。在搜集了整個團隊的輸入以后,系統(tǒng)分析員將需求輸入到RequisitePro,同時還定義屬性用以進行跟蹤。
還有些組織會選擇use case來規(guī)劃他們的需求。系統(tǒng)分析員和所有項目成員聚集在一處,共同探討需求問題,對軟件中所有的use case和actor角色進行鑒定。通常這會在白板或紙上進行記錄,系統(tǒng)分析員使用這些信息并把這些use case和actor記錄到Rational Rose中去。你可以在Rose中拓展use case,并把它們和RequisitePro中的需求進行關(guān)聯(lián) (參見Step 10: 和Rational Rose集成)。如果你的工作過程不包括Rose,那么何不直接把它們作為需求輸入到RequisitePro。
Rational提倡在詳細描述uses case時使用分層次等級的需求。如果你在一個很大的非常復(fù)雜的系統(tǒng)中,那么你可以決定是否要為某一個use case使用分離的需求類型。如果你要為2個不同的需求類型使用不同的安全設(shè)置,或者你可能希望在use case和在其中定義的需求之間建立外在的可跟蹤性,或者你需要一套2個不同的需求類型中彼此分離的屬性,那么這還是有必要的。
一旦需求被加入到RequisitePro,系統(tǒng)分析員(通過團隊的輸入?yún)f(xié)助下)可以定義一些屬性來對需求進行管理。Use case用例在項目的某個過程中可能接著被加入。你的列表可能還不完善,但這沒有關(guān)系,因為它可以在任何時候得到進一步的更新和完善。
Step 5: 跟蹤需求,并擴展到功能上去
一旦所有的需求都已經(jīng)輸入到RequisitePro中了,系統(tǒng)分析員在軟件需求(SR)和特性(FEAT)需求之間建立了可跟蹤性。我們推薦對從SR類型到FEAT類型需求的過程進行跟蹤,由此可以顯示SR對FEAT依賴關(guān)系。
如果你選擇使用use case,我們推薦對Use Case需求到FEAT需求的過程進行跟蹤,因為use case依賴于對功能的定義。但在某些時候,功能特性并不和use case相對應(yīng),或者,很難通過特殊的use case來進行跟蹤。在這種情況下,系統(tǒng)分析員要對功能需求進行Supplementary Specification (SUPL)跟蹤。
Step 6: 對需求區(qū)分優(yōu)先級
在需求之間設(shè)置了可跟蹤性以后,系統(tǒng)分析員和整個團隊成員要搜集并決定輸入RequisitePro的需求的有限級別。
在你確定優(yōu)先級的時候,要考慮這樣一些因素:
需求是如何體現(xiàn)到產(chǎn)品功能、可用性、可靠性和性能中去的?
在進度約束下,需求實現(xiàn)后的效果是否值得?
現(xiàn)實下需求是否帶來風(fēng)險?
該需求如果實現(xiàn)了,對你進行產(chǎn)品維護的能力有什么影響?
你還必須檢查你的進度。是否有時間完成所有高優(yōu)先級需求?
在此階段建立比較現(xiàn)實的期望將幫助你的團隊在進度和預(yù)算范圍內(nèi)開展工作。
使用需求屬性可以幫助你確定需求的優(yōu)先級別。一旦你輸入了需求數(shù)據(jù),你就可以對它們進行查詢、排序并決定它們的位置。
在RequisitePro學(xué)習(xí)工程中,屬性"Planned Iteration"字段被設(shè)為一個數(shù)值,該數(shù)值反映了軟件中的反復(fù),團隊準(zhǔn)備用該軟件來實現(xiàn)特定的use case。一旦第一次反復(fù)疊代的范圍被定義完成,而且反復(fù)疊代次數(shù)被指定到use case,系統(tǒng)分析員對用例執(zhí)行一項Attribute Matrix查詢來分離那些在軟件中首次反復(fù)可被定位的用例。你可以將該Attribute Matrix保存并在以后再次查看它。
Step 7: 對需求進行分派
對需求指定優(yōu)先級以后,系統(tǒng)分析員和團隊將每一個use case或者requirement指派給團隊成員,這可通過使用 "Assigned To"需求屬性來完成。團隊中的一些人將對每一個特性的具體實現(xiàn)負(fù)責(zé)。
通過參考上面步驟中的Attribute Matrix,分析員為每一個需求或用例填寫"Assigned To"屬性。這將被作為第一次反復(fù)。
使用use case方法的組織將把use cases分派給use case定義者,他將對所有和流程相關(guān)的所有需求負(fù)責(zé)。
如果你的組織使用其它的方法,則分派也可能是其它形式:
SRS系統(tǒng)規(guī)格文檔,可以包括多組需求;
或者特定格式的需求記錄
Step 8: 細化需求規(guī)格
團隊成員 (或者use case 定義者)通過在RequisitePro中"Assigned To"屬性來確認(rèn)他們被分派了哪些需求。他們可以得到一張顯示所有需求對個人的分派情況的列表。
從該表中你可以查詢一個FEAT需求類型的Traceability Matrix,以及分派給你的需求類型。你可以通過選擇需求類型得到所有特性跟蹤的列表,并通過它生成一個特定的文檔。
Use case specifier將進行查詢,這些查詢基于從用例的類型的跟蹤,然后可使用來自requirement workshop的use case描述來創(chuàng)建Use-Case Specification文檔。
Rational推薦在詳細描述use case時使用分等級管理。你可以使用“屬性Property”來組織你的use case需求。 可以用use case的名字來創(chuàng)建父一級的用例需求,并設(shè)置屬性"Name"的值。你可能還要使用屬性"Brief Description"或者"Basic Flow"來定義子一級的用例需求,他們可提供用例的細節(jié)。
Step 9: 在RequisitePro中將需求屬性公布(Populating)
在此之前,系統(tǒng)分析員已通過整個團隊的輸入而定義了需求管理的有關(guān)屬性(見前面章節(jié))。 被分派了需求的團隊成員可以將這些屬性在RequisitePro中通過賦予特定的用于需求管理的值來使之公布(Populating) 。
Step 10: 和Rational Rose進行集成
如果你同時擁有Rational Rose和RequisitePro,那么有2種方法來共享數(shù)據(jù)。
我們推薦使用Integrated Use Case Management來開始你的開發(fā)周期。系統(tǒng)分析員在Rose中定義use case ,然后在RequisitePro中使用Integrated Use Case Management特性來創(chuàng)建use case文檔。該方法只需要通過幾項菜單操作即可實現(xiàn)Rose和RequisitePro之間的轉(zhuǎn)化和關(guān)聯(lián)。對use case的修改將自動在Rose或RequisitePro中得到更新。
但是,如果你在RequisitePro中開發(fā)use case,并且想轉(zhuǎn)換到Rose use case圖,并且?guī)в嘘P(guān)聯(lián)屬性,那么你要使用Rational Synchronizer,此后你可以通過Integrated Use Case Management將這些use case關(guān)聯(lián)到RequisitePro需求和文檔。
Rational Synchronizer可以幫助你在Rose中從RequisitePro中已經(jīng)存在的需求中創(chuàng)建use case。如果你已經(jīng)在RequisitePro中建立了大量的use case,那么這時候?qū)⒑苡袔椭T谶@種情況下,你可以用Rational Synchronizer中的rules feature來把RequisitePro中的use case需求以批處理方式轉(zhuǎn)換到Rose中。然后你可以使用Integrated Use Case Management來把這些Rose use case和已經(jīng)存在的RequisitePro中的use case需求進行關(guān)聯(lián)。
Step 11: 通過查詢來找出項目的進展?fàn)顩r
在查詢以前,要在FEAT需求和指派給你的需求類型之間建立一個Traceability Matrix,(Use case specifiers將在FEAT和用例需求之間建立Traceability Matrix)。視圖將以行方式顯示你的FEAT需求,以列方式顯示其它需求。
點擊Query column requirements按鈕,并且在Select Attribute對話框中選擇"Planned Iteration" 屬性,點擊OK。在Query Requirements對話框中,選擇Equal to選項,然后鍵入你期望的反復(fù)次數(shù)。如果要看哪一項屬性沒有反復(fù)計劃,則可以什么也不填。點擊OK,并關(guān)閉每個對話框以執(zhí)行查詢。
查詢結(jié)果將給出這些FEAT需求類型的跟蹤情況。如果你選擇了沒有反復(fù)計劃的類型,這樣的列表可以在團隊會議上被檢閱,而被指派到這些需求上的反復(fù)疊代則沒有任何指示。
Step 12: 對變更進行管理
每一個項目都會在發(fā)展過程中產(chǎn)生變化,如何跟蹤這些變化,以及如何將這些變化及時地與你的團隊和經(jīng)理進行及時溝通,這將是一種挑戰(zhàn)。是否成功將取決于你跟蹤需求變更的能力。系統(tǒng)分析員在整個項目生命周期內(nèi)應(yīng)進行各種查看以確定對各種不同的項目的估計是否合理正確。RequisitePro可以確定哪種需求已經(jīng)變更,該需求是否需要重新定位,從而使項目的描述保持正確。這些關(guān)聯(lián)將作為一種可覺察到的因素引起注意。
RequisitePro包含了2個強力管理工具來幫助你記載需求的狀態(tài),跟蹤對需求的變更,并加強你在變更發(fā)生時對所實行處理的分析能力。
Traceability提供了一種有系統(tǒng)性的方法來管理變更,可以建立較高層次的需求和它們的更詳細精確的后期需求之間的連接。Traceability連接關(guān)系使得需求變更的跟蹤變得簡便。
通過Rational ClearCase, Microsoft Visual SourceSafe, 或Merant (Intersolv) PVCS Version Manager 進行的版本控制可以允許你通過項目存檔來跟蹤變化。版本控制可以幫助你在整個開發(fā)周期內(nèi)保持項目文件的變化。你可以管理多種項目的修訂版。你可以用一種有組織的、協(xié)同一致的方式來找回、修改并把修訂版返回到檔案中去。如果你沒有版本管理經(jīng)理,那么你可以使用RequisitePro的Archive命令進行項目備份。
【?發(fā)表評論?0條?】