kapok

          垃圾桶,嘿嘿,我藏的這么深你們還能找到啊,真牛!

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            455 隨筆 :: 0 文章 :: 76 評論 :: 0 Trackbacks
          http://www.uml.org.cn/gcgj/gcgj36.htm
          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。可以使用以下方法:

          面談交流
          問題調(diào)查表
          集體討論與靈感收集
          討論板
          原型

          這些和客戶交互的結(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) 作為文檔中缺省的需求類型。
          每一個經(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: 拓展需求的細(xì)節(jié)

          一旦你的特性需求定義好了,你可以創(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)系。
          如果你選擇使用use case,我們推薦對Use Case需求到FEAT需求的過程進(jìn)行跟蹤,因為use case依賴于對功能的定義。但在某些時候,功能特性并不和use case相對應(yīng),或者,很難通過特殊的use case來進(jìn)行跟蹤。在這種情況下,系統(tǒng)分析員要對功能需求進(jìn)行Supplementary Specification (SUPL)跟蹤。

          Step 6: 對需求區(qū)分優(yōu)先級

          在需求之間設(shè)置了可跟蹤性以后,系統(tǒng)分析員和整個團隊成員要搜集并決定輸入RequisitePro的需求的有限級別。

          在你確定優(yōu)先級的時候,要考慮這樣一些因素:

          需求是如何體現(xiàn)到產(chǎn)品功能、可用性、可靠性和性能中去的?
          在進(jìn)度約束下,需求實現(xiàn)后的效果是否值得?
          現(xiàn)實下需求是否帶來風(fēng)險?
          該需求如果實現(xiàn)了,對你進(jìn)行產(chǎn)品維護(hù)的能力有什么影響?
          你還必須檢查你的進(jìn)度。是否有時間完成所有高優(yōu)先級需求?

          在此階段建立比較現(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保存并在以后再次查看它。


          Step 7: 對需求進(jìn)行分派

          對需求指定優(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: 細(xì)化需求規(guī)格

          團隊成員 (或者use case 定義者)通過在RequisitePro中"Assigned To"屬性來確認(rèn)他們被分派了哪些需求。他們可以得到一張顯示所有需求對個人的分派情況的列表。
          從該表中你可以查詢一個FEAT需求類型的Traceability Matrix,以及分派給你的需求類型。你可以通過選擇需求類型得到所有特性跟蹤的列表,并通過它生成一個特定的文檔。

          Use case specifier將進(jìn)行查詢,這些查詢基于從用例的類型的跟蹤,然后可使用來自requirement workshop的use case描述來創(chuàng)建Use-Case Specification文檔。
          Rational推薦在詳細(xì)描述use case時使用分等級管理。你可以使用“屬性Property”來組織你的use case需求。 可以用use case的名字來創(chuàng)建父一級的用例需求,并設(shè)置屬性"Name"的值。你可能還要使用屬性"Brief Description"或者"Basic Flow"來定義子一級的用例需求,他們可提供用例的細(xì)節(jié)。

          Step 9: 在RequisitePro中將需求屬性公布(Populating)

          在此之前,系統(tǒng)分析員已通過整個團隊的輸入而定義了需求管理的有關(guān)屬性(見前面章節(jié))。 被分派了需求的團隊成員可以將這些屬性在RequisitePro中通過賦予特定的用于需求管理的值來使之公布(Populating) 。

          Step 10: 和Rational Rose進(jìn)行集成

          如果你同時擁有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需求進(jìn)行關(guān)聯(lián)。 Step 11: 通過查詢來找出項目的進(jìn)展?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: 對變更進(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)將作為一種可覺察到的因素引起注意。
          RequisitePro包含了2個強力管理工具來幫助你記載需求的狀態(tài),跟蹤對需求的變更,并加強你在變更發(fā)生時對所實行處理的分析能力。

          Traceability提供了一種有系統(tǒng)性的方法來管理變更,可以建立較高層次的需求和它們的更詳細(xì)精確的后期需求之間的連接。Traceability連接關(guān)系使得需求變更的跟蹤變得簡便。
          通過Rational ClearCase, Microsoft Visual SourceSafe, 或Merant (Intersolv) PVCS Version Manager 進(jìn)行的版本控制可以允許你通過項目存檔來跟蹤變化。版本控制可以幫助你在整個開發(fā)周期內(nèi)保持項目文件的變化。你可以管理多種項目的修訂版。你可以用一種有組織的、協(xié)同一致的方式來找回、修改并把修訂版返回到檔案中去。如果你沒有版本管理經(jīng)理,那么你可以使用RequisitePro的Archive命令進(jìn)行項目備份。


          (the end)

           

          后記:

          以上譯自Rose Enterprise 2000中的RequisitePro 4.5中的隨機文檔。

          由于才疏學(xué)淺,有些詞匯無法很好的翻譯,主要如下:

          Attribute Matrix不詳,保留原文。
          iteration 反復(fù)疊代?
          Populating 公布?
          FEAT 特性需求或功能需求,SR 軟件需求,stakeholder needs 原始需求?這些不同需求的定義和區(qū)別我不太清楚,建議參考別的RUP文檔。

           

          此致

          Blueski

          posted on 2005-03-29 14:51 笨笨 閱讀(354) 評論(0)  編輯  收藏 所屬分類: ALL軟件工程和項目管理
          主站蜘蛛池模板: 蓬溪县| 永新县| 两当县| 朔州市| 澄江县| 宣城市| 湘乡市| 四子王旗| 咸阳市| 平利县| 陇西县| 长武县| 凯里市| 绵竹市| 岳阳市| 靖宇县| 阿克| 大荔县| 禹州市| 闸北区| 清水县| 梓潼县| 吉林省| 沙坪坝区| 缙云县| 融水| 囊谦县| 邵武市| 类乌齐县| 呼玛县| 甘德县| 满城县| 鹿邑县| 广元市| 庆元县| 胶州市| 永顺县| 汤阴县| 清新县| 孟津县| 巩义市|