簡(jiǎn)介 本章簡(jiǎn)要介紹迭代和進(jìn)化式需求,并且描述特定的UP需求制品,以此為后續(xù)的面向需求的章節(jié)做好鋪墊。
定義:需求 需求(requirement)就是系統(tǒng)(更廣義的說(shuō)法是項(xiàng)目)必須提供的能力和必須遵從的條件。
UP提出了一系列的最佳實(shí)踐,其中之一就是需求管理(manage requirement)。需求管理不主張采用瀑布的觀點(diǎn),即在編程之前項(xiàng)目的第一個(gè)階段就試圖完全定義和固話需求。在變更不可避免,涉眾意愿不明朗的情況下,UP更推崇用“一種系統(tǒng)的方法來(lái)尋找、記錄、組織和跟蹤系統(tǒng)不斷變更的需求”
簡(jiǎn)而言之,就是通過(guò)迭代巧妙地進(jìn)行需求分析、而非草率和隨意地為之。 需求分析的最大挑戰(zhàn)是尋找、溝通和記住什么是真正需要的,并能夠清楚地講解給客戶和開(kāi)發(fā)團(tuán)隊(duì)的成員。
進(jìn)化式需求與瀑布式需求 注意,在UP的需求管理定義中使用了“不斷變更”一詞。UP能夠包容需求中的變更,并將其作為項(xiàng)目的基本驅(qū)動(dòng)力。這一點(diǎn)極為重要,也是迭代和進(jìn)化式思想與瀑布思想的核心差異。
尋找需求可以采用的方法 除“不斷變更”之外,另一個(gè)重要的詞是“尋找”。也就是說(shuō),UP提倡使用一些有效的技巧以獲得啟示,例如與客戶一同編寫(xiě)用例、開(kāi)發(fā)者和客戶共同參加需求討論會(huì)、請(qǐng)客戶代理參加焦點(diǎn)小組以及向客戶演示每次迭代的成果以求得反饋。 UP歡迎任何能夠帶來(lái)價(jià)值并提高用戶參與度的需求啟發(fā)方法。
需求的類(lèi)型和種類(lèi) 在統(tǒng)一過(guò)程中,需求按照“FURPS+”模型進(jìn)行分類(lèi),這是一種有效的記憶方法,其含義如下:
》功能性(Functional):特性、功能、安全性。
》可用性(Usability):人性化因素、幫助、文檔。
》可靠性(Reliability):故障頻率、可恢復(fù)性、可預(yù)測(cè)性
》性能(Performance):響應(yīng)時(shí)間、吞吐量、準(zhǔn)確性、有效性、資源利用率。
》可支持性(Supportability):適應(yīng)性、可維護(hù)性、國(guó)際化、可配置性
“FURPS+”中“+”是指一些輔助性的和次要的因素,比如:
》實(shí)現(xiàn)(Implementation):資源限制、語(yǔ)言和工具、硬件等。
》接口(Interface):強(qiáng)加于外部系統(tǒng)接口之上的約束
》操作(Operation):對(duì)其操作設(shè)置的系統(tǒng)管理
》包裝(Packaging):例如物理的包裝盒
》授權(quán)(Legal):許可證或其他方式
其中某些需求可以統(tǒng)稱為質(zhì)量屬性(quality attribute)、質(zhì)量需求(quality requirement)或系統(tǒng)的“某屬性”。這些需求包括:可用性、可靠性、性能和可支持性。在一般使用中,需求按照功能性(行為的)和非功能性(其他所有的行為)來(lái)分類(lèi),有些人不喜歡這種寬泛的分類(lèi)方式,但這種方式已被廣泛采用。
UP制品如何組織需求 UP提供了一些需求制品。同所有UP制品一樣,它們都是可選的。其中關(guān)鍵的制品包括:
》用例模型:一組使用系統(tǒng)的典型場(chǎng)景。主要用于功能需求
》補(bǔ)充性規(guī)格說(shuō)明:基本上是用例之外的所有內(nèi)容。主要用于所有非功能需求,例如性能或許可發(fā)布。該制品也用來(lái)記錄沒(méi)有表示為用例的功能特性,例如報(bào)表生成
》詞匯表:詞匯表以最簡(jiǎn)單的形式定義重要的術(shù)語(yǔ)。同時(shí)也包含了數(shù)據(jù)字典(data dictionary)的概念,其中記錄了關(guān)于數(shù)據(jù)的需求,例如有效性規(guī)則,容許值等。詞匯表可以詳述任何元素:對(duì)象屬性、操作調(diào)用的參數(shù)、報(bào)表布局等。
》設(shè)想:概括了高階需求,這些需求在用例模型和補(bǔ)充性規(guī)格說(shuō)明中進(jìn)行細(xì)化。設(shè)想也概括了項(xiàng)目的業(yè)務(wù)案例。設(shè)想是簡(jiǎn)短的執(zhí)行概要文檔,用以快速了解項(xiàng)目的主要思想。
》業(yè)務(wù)規(guī)則:業(yè)務(wù)規(guī)則(也稱為領(lǐng)域規(guī)則)通常描述了凌駕于某一軟件項(xiàng)目的需求或政策,這些規(guī)則是領(lǐng)域或業(yè)務(wù)所要求的,并且許多應(yīng)用應(yīng)該遵從這些規(guī)則。政府的稅收法規(guī)是一個(gè)例子。領(lǐng)域規(guī)則的細(xì)節(jié)可以記錄在補(bǔ)充性規(guī)格說(shuō)明中,但是因?yàn)檫@些規(guī)則通常更為持久,并且對(duì)不止一個(gè)軟件項(xiàng)目適用,所以應(yīng)將其放入集中的業(yè)務(wù)規(guī)則制品(供公司的所有分析員共享),以便在這方面做出的分析工作能夠被更好的重用。
制品的正確格式 在UP中,所有制品都是信息的抽象,它們可以存儲(chǔ)在Web頁(yè),板報(bào),或各種可以想象到的載體之上。