的工作。
4. 如果所提出的新需求比你已確定的需求的優(yōu)先級(jí)都低時(shí),也許你就完成了收集需求的工作。
5. 如果用戶(hù)提出對(duì)將來(lái)產(chǎn)品的要求,而不是現(xiàn)在我們討論的特定產(chǎn)品,也許你就完成了收集需求的工作。
以上知識(shí)大致上討論需求分析應(yīng)該如何做,實(shí)際上對(duì)于需求分析的方法有很多很多,已經(jīng)形成了一定的理論,當(dāng)然這種理論比較偏向與方法學(xué),而方法學(xué)的應(yīng)用主要還是要靠個(gè)人。所以,大家在實(shí)際應(yīng)用的時(shí)候,不妨結(jié)合自己的實(shí)際,有選擇性的采用一些方法,那你就是成功的。
多年來(lái),分析者總是利用情節(jié)或經(jīng)歷來(lái)描述用戶(hù)和軟件系統(tǒng)的交互方式,從而獲取需求(McGraw and Harbison 1997)。Ivar Jacobson(1992)把這種看法系統(tǒng)地闡述成用例(用例)的方法進(jìn)行需求獲取和建模。雖然用例來(lái)源于面向?qū)ο蟮拈_(kāi)發(fā)環(huán)境,但是它也能應(yīng)用在具有許多開(kāi)發(fā)方法的項(xiàng)目中,因?yàn)橛脩?hù)并不關(guān)心你是怎樣開(kāi)發(fā)你的軟件。而最重要的,用例的觀點(diǎn)和思維過(guò)程帶給需求開(kāi)發(fā)的改變比起是否畫(huà)正式的用例圖顯得更為重要。注意用戶(hù)要利用系統(tǒng)做什么遠(yuǎn)遠(yuǎn)強(qiáng)于詢(xún)問(wèn)用戶(hù)希望系統(tǒng)為他們做什么這一傳統(tǒng)方法。
用例的重要功能是用畫(huà)用例圖的功能來(lái)鑒別和劃分系統(tǒng)功能。它把系統(tǒng)分成角色(actor)和用例(用例)。角色(actor)表示系統(tǒng)用戶(hù)能扮演的角色(role)。這些用戶(hù)可能是人,可能是其他的計(jì)算機(jī)一些硬件或者甚至是其它軟件系統(tǒng),唯一的標(biāo)準(zhǔn)是它們必須要在被劃分進(jìn)用例的系統(tǒng)部分以外。它們必須能刺激系統(tǒng)部分并接收返回。用例描述了當(dāng)角色給系統(tǒng)特定的刺激時(shí)系統(tǒng)的活動(dòng)。這些活動(dòng)被文本描述。它描述了觸發(fā)用例的刺激的本質(zhì),輸入和輸出到其他活動(dòng)者,和轉(zhuǎn)換輸入到輸出的活動(dòng)。用例文本通常也描述每一個(gè)活動(dòng)在特殊的活動(dòng)線時(shí)可能的錯(cuò)誤和系統(tǒng)應(yīng)采取的補(bǔ)救措施。
這樣說(shuō)可能會(huì)非常復(fù)雜,其實(shí)一個(gè)用例描述了系統(tǒng)和一個(gè)角色(actor)的交互順序。用例被定義成系統(tǒng)執(zhí)行的一系列動(dòng)作,動(dòng)作執(zhí)行的結(jié)果能被指定角色察覺(jué)到。用例可以:
· 用例捕獲某些用戶(hù)可見(jiàn)的需求,實(shí)現(xiàn)一個(gè)具體的用戶(hù)目標(biāo)。
· 用例由角色激活,并提供確切的值給角色。
· 用例可大可小,但它必須是對(duì)一個(gè)具體的用戶(hù)目標(biāo)實(shí)現(xiàn)的完整描述。在UML中,用例表示為一個(gè)橢圓。
角色是指用戶(hù)在系統(tǒng)中所扮演的角色。其圖形化的表示是一個(gè)小人。在某些組織中很可能有許多角色實(shí)例(例如有很多個(gè)銷(xiāo)售員),但就該系統(tǒng)而言,他們均起著同一種作用,扮演著相同的角色,所以用一個(gè)角色表示。一個(gè)用戶(hù)也可以扮演多種角色。例如,一個(gè)高級(jí)營(yíng)銷(xiāo)人員既可以是貿(mào)易經(jīng)理,也可以是普通的營(yíng)銷(xiāo)人員;一個(gè)營(yíng)銷(xiāo)人員也可以是售貨員。在處理角色時(shí),應(yīng)考慮其作用,而不是人或工作名稱(chēng),這一點(diǎn)是很重要的。
我們使用不帶箭頭的線段將角色與用例連接到一起,表示兩者之間交換信息,稱(chēng)之為通信聯(lián)系。角色觸發(fā)用例,并與用例進(jìn)行信息交換。單個(gè)角色可與多個(gè)用例聯(lián)系;反過(guò)來(lái),一個(gè)用例可與多個(gè)角色聯(lián)系。對(duì)同一個(gè)用例而言,不同角色有著不同的作用:他們可以從用例中取值,也可以參與到用例中。需要注意的是角色在用例圖中是用類(lèi)似人的圖形來(lái)表示,盡管執(zhí)行的,但角色未必是人。例如,角色也可以是一個(gè)外界系統(tǒng),該外界系統(tǒng)可能需要從當(dāng)前系統(tǒng)中獲取信息,與當(dāng)前系統(tǒng)有進(jìn)行交互。
一個(gè)用例可能包括完成某項(xiàng)任務(wù)的許多邏輯相關(guān)任務(wù)和交互順序。因此,一個(gè)用例是相關(guān)的用法說(shuō)明的集合,并且一個(gè)說(shuō)明(scenario)是用例的實(shí)例。這種關(guān)系就像是類(lèi)和對(duì)象的關(guān)系。在用例中,一個(gè)說(shuō)明被視為事件的普通過(guò)程(normal course),也叫作主過(guò)程,基本過(guò)程,普通流,或“滿意之路” (happy path)。在描述普通過(guò)程時(shí)列出執(zhí)行者和系統(tǒng)之間相互交互或?qū)υ挼捻樞?。?dāng)這種交互結(jié)束時(shí),執(zhí)行者也達(dá)到了預(yù)期的目的。
在用例中的其它說(shuō)明可以描述為可選過(guò)程(alternative coruse)。可選過(guò)程也可促進(jìn)成功地完成任務(wù),但它們代表了任務(wù)的細(xì)節(jié)或用于完成任務(wù)的途徑的變化部分。在交互序列中,普通過(guò)程可以在一些決策點(diǎn)上分解成可選過(guò)程,然后再重新匯成一個(gè)普通過(guò)程。
項(xiàng)目經(jīng)理勝任力免費(fèi)測(cè)評(píng)PMQ上線啦!快來(lái)測(cè)測(cè)你排多少名吧~
http://m.opto-elec.com.cn/pmqhd/index.html