RequisitePro中需求管理的12個步驟 |
翻譯者:Blueski 提供日期:2001-9-20 |
需求管理是對變動的需求進(jìn)行確定、組織和制作文檔的過程。本文將介紹Rational Unified Process (RUP)中的有關(guān)于需求管理的基本概念,并展示如何使用RequisitePro來實行需求管理。 RequisitePro是很特別的產(chǎn)品,它集成了一個大家都很熟悉的環(huán)境:Microsoft Word,以及一個數(shù)據(jù)庫來提供強有力的十分容易使用的框架,你可以用它來對產(chǎn)品需求進(jìn)行管理。你要在需求文檔中逐條標(biāo)記你的需求,然后通過數(shù)據(jù)庫對它們進(jìn)行管理。以此為基礎(chǔ),你的團隊可以對同一個項目進(jìn)行合作與聯(lián)系,并進(jìn)行不斷的更新。 理解需求管理的第一步是建立一個通用的詞匯表。Rational把需求定義為:一種在建系統(tǒng)必須遵循的條件或功能。需求管理應(yīng)該是:可以對系統(tǒng)的需求進(jìn)行引入、組織和文檔化的一種系統(tǒng)化的方法與步驟,以及建立和維護(hù)開發(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。可以使用以下方法: 面談交流 這些和客戶交互的結(jié)果可以很方便地記錄到RequisitePro文檔中去。
Step 2: 為RequisitePro工程創(chuàng)建一個概要說明 一旦你的團隊已經(jīng)分析了問題,并且收集了足夠的stakeholder needs,下一步是在RequisitePro中對你的項目組織安排進(jìn)行規(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) 作為文檔中缺省的需求類型。 此后系統(tǒng)分析員可以在RequisitePro中建立功能特性(例如:客戶優(yōu)先級、風(fēng)險、rationale、來源等)。 在輸入完以后,系統(tǒng)分析員為需求管理來定義有關(guān)的屬性,因為它們涉及到開發(fā)周期中其它的工作。
一旦你的特性需求定義好了,你可以創(chuàng)建底層的需求(它門可能被組織成軟件需求) 。在搜集了整個團隊的輸入以后,系統(tǒng)分析員將需求輸入到RequisitePro,同時還定義屬性用以進(jìn)行跟蹤。 還有些組織會選擇use case來規(guī)劃他們的需求。系統(tǒng)分析員和所有項目成員聚集在一處,共同探討需求問題,對軟件中所有的use case和actor角色進(jìn)行鑒定。通常這會在白板或紙上進(jìn)行記錄,系統(tǒng)分析員使用這些信息并把這些use case和actor記錄到Rational Rose中去。你可以在Rose中拓展use case,并把它們和RequisitePro中的需求進(jìn)行關(guān)聯(lián) (參見Step 10: 和Rational Rose集成)。如果你的工作過程不包括Rose,那么何不直接把它們作為需求輸入到RequisitePro。 Rational提倡在詳細(xì)描述uses case時使用分層次等級的需求。如果你在一個很大的非常復(fù)雜的系統(tǒng)中,那么你可以決定是否要為某一個use case使用分離的需求類型。如果你要為2個不同的需求類型使用不同的安全設(shè)置,或者你可能希望在use case和在其中定義的需求之間建立外在的可跟蹤性,或者你需要一套2個不同的需求類型中彼此分離的屬性,那么這還是有必要的。 一旦需求被加入到RequisitePro,系統(tǒng)分析員(通過團隊的輸入?yún)f(xié)助下)可以定義一些屬性來對需求進(jìn)行管理。Use case用例在項目的某個過程中可能接著被加入。你的列表可能還不完善,但這沒有關(guān)系,因為它可以在任何時候得到進(jìn)一步的更新和完善。 Step 5: 跟蹤需求,并擴展到功能上去 一旦所有的需求都已經(jīng)輸入到RequisitePro中了,系統(tǒng)分析員在軟件需求(SR)和特性(FEAT)需求之間建立了可跟蹤性。我們推薦對從SR類型到FEAT類型需求的過程進(jìn)行跟蹤,由此可以顯示SR對FEAT依賴關(guān)系。 Step 6: 對需求區(qū)分優(yōu)先級 在需求之間設(shè)置了可跟蹤性以后,系統(tǒng)分析員和整個團隊成員要搜集并決定輸入RequisitePro的需求的有限級別。 在你確定優(yōu)先級的時候,要考慮這樣一些因素: 需求是如何體現(xiàn)到產(chǎn)品功能、可用性、可靠性和性能中去的? 在此階段建立比較現(xiàn)實的期望將幫助你的團隊在進(jìn)度和預(yù)算范圍內(nèi)開展工作。 使用需求屬性可以幫助你確定需求的優(yōu)先級別。一旦你輸入了需求數(shù)據(jù),你就可以對它們進(jìn)行查詢、排序并決定它們的位置。 在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保存并在以后再次查看它。
對需求指定優(yōu)先級以后,系統(tǒng)分析員和團隊將每一個use case或者requirement指派給團隊成員,這可通過使用 "Assigned To"需求屬性來完成。團隊中的一些人將對每一個特性的具體實現(xiàn)負(fù)責(zé)。 如果你的組織使用其它的方法,則分派也可能是其它形式:
團隊成員 (或者use case 定義者)通過在RequisitePro中"Assigned To"屬性來確認(rèn)他們被分派了哪些需求。他們可以得到一張顯示所有需求對個人的分派情況的列表。 Use case specifier將進(jìn)行查詢,這些查詢基于從用例的類型的跟蹤,然后可使用來自requirement workshop的use case描述來創(chuàng)建Use-Case Specification文檔。 Step 9: 在RequisitePro中將需求屬性公布(Populating) 在此之前,系統(tǒng)分析員已通過整個團隊的輸入而定義了需求管理的有關(guān)屬性(見前面章節(jié))。 被分派了需求的團隊成員可以將這些屬性在RequisitePro中通過賦予特定的用于需求管理的值來使之公布(Populating) 。 Step 10: 和Rational Rose進(jìn)行集成 如果你同時擁有Rational Rose和RequisitePro,那么有2種方法來共享數(shù)據(jù)。 但是,如果你在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需求和文檔。 在查詢以前,要在FEAT需求和指派給你的需求類型之間建立一個Traceability Matrix,(Use case specifiers將在FEAT和用例需求之間建立Traceability Matrix)。視圖將以行方式顯示你的FEAT需求,以列方式顯示其它需求。 查詢結(jié)果將給出這些FEAT需求類型的跟蹤情況。如果你選擇了沒有反復(fù)計劃的類型,這樣的列表可以在團隊會議上被檢閱,而被指派到這些需求上的反復(fù)疊代則沒有任何指示。 Step 12: 對變更進(jìn)行管理 每一個項目都會在發(fā)展過程中產(chǎn)生變化,如何跟蹤這些變化,以及如何將這些變化及時地與你的團隊和經(jīng)理進(jìn)行及時溝通,這將是一種挑戰(zhàn)。是否成功將取決于你跟蹤需求變更的能力。系統(tǒng)分析員在整個項目生命周期內(nèi)應(yīng)進(jìn)行各種查看以確定對各種不同的項目的估計是否合理正確。RequisitePro可以確定哪種需求已經(jīng)變更,該需求是否需要重新定位,從而使項目的描述保持正確。這些關(guān)聯(lián)將作為一種可覺察到的因素引起注意。 Traceability提供了一種有系統(tǒng)性的方法來管理變更,可以建立較高層次的需求和它們的更詳細(xì)精確的后期需求之間的連接。Traceability連接關(guān)系使得需求變更的跟蹤變得簡便。
后記: 以上譯自Rose Enterprise 2000中的RequisitePro 4.5中的隨機文檔。 由于才疏學(xué)淺,有些詞匯無法很好的翻譯,主要如下: Attribute Matrix不詳,保留原文。
此致 Blueski |