型、統(tǒng)一建模語(yǔ)言、用例和敏捷軟件開發(fā)等方法。
主要技術(shù)
需求分析有可能在一個(gè)項(xiàng)目中成為一個(gè)漫長(zhǎng)、艱巨的工作。需求分析專家與他們的顧客交談、記錄他們的交談結(jié)果、分析他們收集的信息,從中提取互相矛盾的地方,總結(jié)出一個(gè)總體觀念,然后再與顧客交談他們發(fā)現(xiàn)的問(wèn)題。這個(gè)過(guò)程可以不斷重復(fù),在有些項(xiàng)目中這個(gè)過(guò)程可以伴隨著整個(gè)在有些項(xiàng)目中這個(gè)過(guò)程可以伴隨著整個(gè)生命周期。
新系統(tǒng)很可能改變?nèi)酥g的關(guān)系和人的工作環(huán)境,因此認(rèn)定誰(shuí)是重要的信息持有者是非常重要得。只有這樣在需求分析的過(guò)程中才能夠?qū)㈩櫩退械男枰技o(jì)錄下來(lái),只有這樣才能保證他們認(rèn)識(shí)到新的系統(tǒng)對(duì)他們來(lái)說(shuō)帶來(lái)怎樣的變化。出于下述原因這個(gè)要求往往達(dá)不到:
·與顧客的交談不夠多和不夠徹底,一些重要的需求被忽視;
·顧客的反應(yīng)不說(shuō)明問(wèn)題,顧客對(duì)新系統(tǒng)的特征不滿。
·為了使所有這些討論有條理、有組織和有效地被記錄下來(lái),這些討論的過(guò)程和其內(nèi)容的演化也必須被記錄下來(lái)。
分析員可以使用不同的技術(shù)來(lái)從顧客手中獲得需求。比較老的方式有采訪顧客,或者與顧客一起開座談會(huì),列舉顧客的需求。比較新的技術(shù)有建立模型和使用用例。在最佳狀態(tài)下在采納了不同的技術(shù)后他們可以完全理解顧客的需要和與持重要信息的人建立了必要的聯(lián)系。
采訪持重要信息的人
采訪持重要信息的人是需求分析中一個(gè)必不可少的過(guò)程。但在一個(gè)大的系統(tǒng)中許多人必須被采訪,這需要許多時(shí)間和金錢,但最重要的是這個(gè)過(guò)程最可能顯示現(xiàn)有的業(yè)務(wù)流程與新系統(tǒng)中的業(yè)務(wù)流程之間的差別。不同的顧客有可能有不同的或甚至相對(duì)的需求,在這種情況下分析員必須協(xié)調(diào)各方的需要。
需求工作會(huì)
出于上述原因一般假如一個(gè)系統(tǒng)非常復(fù)雜的話需求分析最常用的方法是召開需求工作會(huì),在需求工作會(huì)上分析員和持重要信息的人一起分析系統(tǒng)的需要和發(fā)展解決方案。
這樣的工作會(huì)最好不要再采訪對(duì)象的工作場(chǎng)進(jìn)行,這樣采訪對(duì)象不會(huì)被打擾。工作會(huì)有一個(gè)負(fù)責(zé)人來(lái)保持會(huì)議的進(jìn)程,一個(gè)記錄員來(lái)記錄會(huì)議的討論,投影儀和相應(yīng)的軟件是常用的工具。一般需要進(jìn)行多次會(huì)議后才能得到最終結(jié)果。
一般認(rèn)為需求工作會(huì)可以節(jié)省不少時(shí)間,因此是一個(gè)非常有用的工具,但是往往很難同時(shí)將所有的持重要信息的人聚集到一起。
一個(gè)常見的缺陷是一些持重要信息者在這樣的會(huì)議上不十分積極,因此他們的需求沒(méi)有獲得必要的重視。這樣得到的解決方案必然有限。此外需求工作會(huì)是一個(gè)很好的分析現(xiàn)有系統(tǒng)的工具,但用它來(lái)尋求解決方案就不是十分有用了。
將需求列成合同式的文件
最常見的紀(jì)錄需求分析的方式是將顧客需求列入一個(gè)合同式的表。一個(gè)復(fù)雜的系統(tǒng)的文件可以數(shù)百頁(yè)長(zhǎng)。現(xiàn)代的分析員不愿使用這樣的列表,因?yàn)樗鼈儽蛔C明相當(dāng)無(wú)用,但它們依然相當(dāng)常見。
優(yōu)點(diǎn):
·提供一份需求的清單。
·提供一份顧客和開發(fā)者間的合同。
·對(duì)一個(gè)大的系統(tǒng)來(lái)說(shuō)它提供了一份高級(jí)的描寫。
缺點(diǎn):
·這些列表可以長(zhǎng)達(dá)上百頁(yè),實(shí)際上沒(méi)有人能夠完整地閱讀這樣的文件來(lái)獲得一個(gè)完整的系統(tǒng)理解。
·列表中的需求一般都很抽象和缺乏列出的需求互相之間的關(guān)聯(lián)
·這樣的列表一般表示不出列出的需求之間怎樣組成一個(gè)整體。
·從列表中很難看出哪些需求更重要。
·抽象后的列表為讀者提供了許多理解的余地,因此不同的讀者對(duì)文件的理解可能不同。一個(gè)項(xiàng)目越大,讀者越多,理解的方式就越多。
·從抽象后的列表中很難看出它是否完全。它們往往忽視了許多細(xì)節(jié)。
·顧客和開發(fā)者對(duì)這個(gè)列表的理解往往完全不同。