在需求獲取的過程中,你可能會(huì)發(fā)現(xiàn)對(duì)項(xiàng)目范圍的定義存在誤差,不是太大就是太小。如果范圍太大,你將要收集比真正需要更多的需求,以傳遞足夠的業(yè)務(wù)和客戶的值,此時(shí)獲取過程將會(huì)拖延。如果項(xiàng)目范圍太小,那么客戶將會(huì)提出很重要的但又在當(dāng)前產(chǎn)品范圍之外的需求。當(dāng)前的范圍太小,以致不能提供一個(gè)令人滿意的產(chǎn)品。需求的獲取將導(dǎo)致修改項(xiàng)目的范圍和任務(wù),但作出這樣具有深遠(yuǎn)影響的改變,一定要小心謹(jǐn)慎。正如經(jīng)常所說的,需求主要是關(guān)于系統(tǒng)做什么,而解決方案如何實(shí)現(xiàn)是屬于設(shè)計(jì)的范圍。這樣說雖然很簡(jiǎn)潔,但似乎過于簡(jiǎn)單化。需求的獲取應(yīng)該把重點(diǎn)放在“做什么”上,但在分析和設(shè)計(jì)之間還是存在一定的距離。你可以使用假設(shè)“怎么做”來分類并改善你對(duì)用戶需求的理解。在需求的獲取過程中,分析模型、屏幕圖形和原型可以使概念表達(dá)得更加清楚,然后提供一個(gè)尋找錯(cuò)誤和遺漏的辦法。把你在需求開發(fā)階段所形成的模型和屏幕效果看成是方便高效交流的概念性建議,而不應(yīng)該看成是對(duì)設(shè)計(jì)者選擇的一種限制。需求獲取討論會(huì)中如果參與者過多,就會(huì)減慢進(jìn)度。人數(shù)大致控制在5到7人是最好的。這些人包括客戶、系統(tǒng)設(shè)計(jì)者、開發(fā)者和可視化設(shè)計(jì)者等主要工程角色。相反地,從極少的代表那里收集信息或者只聽到呼聲最高、最有輿論影響的用戶的聲音,也會(huì)造成問題。這將導(dǎo)致忽視特定用戶類的重要的需求,或者其需求不能代表絕大多數(shù)用戶的需要。最?好的權(quán)衡在于選擇一些授權(quán)為他們的用戶類發(fā)言的產(chǎn)品代表者,他們也被同組用戶類的其它代表所支持。沒有一個(gè)簡(jiǎn)單、清楚的信號(hào)暗示你什么時(shí)候已完成需求獲取。當(dāng)客戶和開發(fā)者與他們的同事聊天、閱讀工業(yè)和商業(yè)上的文獻(xiàn)及在早上沐浴時(shí)思考時(shí),他們都將對(duì)潛在產(chǎn)品產(chǎn)生新的構(gòu)思。你不可能全面收集需求,但是下列的提示將會(huì)暗示你在需求獲取的過程中的返回點(diǎn)?!?/p>
1. 如果用戶不能想出更多的使用實(shí)例,也許你就完成了收集需求的工作。用戶總是按其重要性的順序來確定使用實(shí)例的?!?/p>
2. 如果用戶提出新的使用實(shí)例,但你可以從其它使用實(shí)例的相關(guān)功能需求中獲得這些新的使用實(shí)例,這時(shí)也許你就完成了收集需求的工作。這些新的使用實(shí)例可能是你已獲取的其它使用實(shí)例的可選過程。
3. 如果用戶開始重復(fù)原先討論過的問題,此時(shí),也許你就完成了收集需求的工作。
4. 如果所提出的新需求比你已確定的需求的優(yōu)先級(jí)都低時(shí),也許你就完成了收集需求的工作?!?/p>
5. 如果用戶提出對(duì)將來產(chǎn)品的要求,而不是現(xiàn)在我們討論的特定產(chǎn)品,也許你就完成了收集需求的工作?!?/p>
以上知識(shí)大致上討論需求分析應(yīng)該如何做,實(shí)際上對(duì)于需求分析的方法有很多很多,已經(jīng)形成了一定的用例在需求分析中的使用。
多年來,分析者總是利用情節(jié)或經(jīng)歷來描述用戶和軟件系統(tǒng)的交互方式,從而獲取需求(McGrawandHarbison1997)。IvarJacobson(1992)把這種看法系統(tǒng)地闡述成用例(用例)的方法進(jìn)行需求獲取和建模。雖然用例來源于面向?qū)ο蟮拈_發(fā)環(huán)境,但是它也能應(yīng)用在具有許多開發(fā)方法的項(xiàng)目中,因?yàn)橛脩舨⒉魂P(guān)心你是怎樣開發(fā)你的件。而最重要的,用例的觀點(diǎn)和思維過程帶給需求開發(fā)的改變比起是否畫正式的用例圖顯得更為重要。注意用戶要利用系統(tǒng)做什么遠(yuǎn)遠(yuǎn)強(qiáng)于詢問用戶希望系統(tǒng)為他們做什么這一傳統(tǒng)方法。用例的重要功能是用畫用例圖的功能來鑒別和劃分系統(tǒng)功能。它把系統(tǒng)分成角色(actor)和用例(用例)。角色(actor)表示系統(tǒng)用戶能扮演的角色(role)。這些用戶可能是人,可能是其他的計(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ǔ)救措施。這樣說可能會(huì)非常復(fù)雜,其實(shí)一個(gè)用例描述了系統(tǒng)和一個(gè)角色(actor)的交互順序。用例被定義成系統(tǒng)執(zhí)行的一系列動(dòng)作,動(dòng)作執(zhí)行的結(jié)果能被指定角色察覺到。用例可以:用例捕獲某些用戶可見的需求,實(shí)現(xiàn)一個(gè)具體的用戶目標(biāo)。用例由角色激活,并提供確切的值給角色。用例可大可小,但它必須是對(duì)一個(gè)具體的用戶目標(biāo)實(shí)現(xiàn)的完整描述。在UML中,用例表示為一個(gè)橢圓。角色是指用戶在系統(tǒng)中所扮演的角色。其圖形化的表示是一個(gè)小人。在某些組織中很可能有許多角色實(shí)例(例如有很多個(gè)銷售員),但就該系統(tǒng)而言,他們均起著同一種作用,扮演著相同的角色,所以用一個(gè)角色表示。一個(gè)用戶也可以扮演多種角色。例如,交換。單個(gè)角色可與多個(gè)用例聯(lián)系;反過來,一個(gè)用例可與多個(gè)角色聯(lián)系。對(duì)同一個(gè)用例而言,不同角色有著不同的作用:他們可以從用例中取值,也可以參與到用例中。需要注意的是角色在用例圖中是用類似人的圖形來表示,盡管執(zhí)行的,但角色未必是人。例如,角色也可以是一個(gè)外界系統(tǒng),該外界系統(tǒng)可能需要從當(dāng)前系統(tǒng)中獲取信息,與當(dāng)前系統(tǒng)有進(jìn)行交互?!?/p>
一個(gè)用例可能包括完成某項(xiàng)任務(wù)的許多邏輯相關(guān)任務(wù)和交互順序。因此,一個(gè)用例是相關(guān)的用法說明的集合,并且一個(gè)說明(scenario)是用例的實(shí)例。這種關(guān)系就像是類和對(duì)象的關(guān)系。在用例中,一個(gè)說明被視為事件的普通過程(normalcourse),也叫作主過程,基本過程,普通流,或“滿意之路”(happypath)。在描述普通過程時(shí)列出執(zhí)行者和系統(tǒng)之間相互交互或?qū)υ挼捻樞?。?dāng)這種交互結(jié)束時(shí),執(zhí)行者也達(dá)到了預(yù)期的目的。
在用例中的其它說明可以描述為可選過程(alternativecoruse)??蛇x過程也可促進(jìn)成功地完成任務(wù),但它們代表了任務(wù)的細(xì)節(jié)或用于完成任務(wù)的途徑的變化部分。在交互序列中,普通過程可以在一些決策點(diǎn)上分解成可選過程,然后再重新匯成一個(gè)普通過程。角色類和角色實(shí)例。軟件產(chǎn)品最終是給一些用戶來使用的,而用戶之間的差異是非常大的。造成差異的原因包括了對(duì)計(jì)算機(jī)的認(rèn)知程度的不同,使用習(xí)慣的不同,在軟件目標(biāo)組織中所處的地位不同,地理位置不同,業(yè)務(wù)熟練程度不同。
不同的用戶都有自己一系列的功能需求和非功能需求。對(duì)電腦熟練程度不同的人可能就會(huì)有不同的要求,熟練程度低的用戶可能希望有一個(gè)友好的界面,熟練程度高的用戶可能更希望有快捷鍵或宏的操作以提高工作效率??紤]到用戶的差異性,將用戶分類并研求。抓住用戶代表的需求就大致把握住了用戶類的需求。當(dāng)然,需求分析還是需要在用戶中做大規(guī)模的調(diào)查的,只是要把重點(diǎn)放在用戶代表上。
確保和用戶直接進(jìn)行溝通!大家有沒有玩過傳話的游戲,可能看過。一群人排成一列,一句話從排頭挨個(gè)向后傳,到最后,那句話已經(jīng)是面目全非了。所以,一定要保證項(xiàng)目組能夠直接和用戶接觸。對(duì)于和用戶直接溝通這一點(diǎn),一般的針對(duì)特定企業(yè)的應(yīng)用系統(tǒng)當(dāng)然是不成問題,可是如果是開發(fā)行業(yè)軟件,和用戶直接溝通就成為一件幾乎是不可能的事情。在這種情況下,一般有幾種解決的辦法:
溫馨提示:因考試政策、內(nèi)容不斷變化與調(diào)整,信管網(wǎng)網(wǎng)站提供的以上信息僅供參考,如有異議,請(qǐng)以權(quán)威部門公布的內(nèi)容為準(zhǔn)!
信管網(wǎng)致力于為廣大信管從業(yè)人員、愛好者、大學(xué)生提供專業(yè)、高質(zhì)量的課程和服務(wù),解決其考試證書、技能提升和就業(yè)的需求。
信管網(wǎng)軟考課程由信管網(wǎng)依托10年專業(yè)軟考教研傾力打造,官方教材參編作者和資深講師坐鎮(zhèn),通過深研歷年考試出題規(guī)律與考試大綱,深挖核心知識(shí)與高頻考點(diǎn),為學(xué)員考試保駕護(hù)航。面授、直播&錄播,多種班型靈活學(xué)習(xí),滿足不同學(xué)員考證需求,降低課程學(xué)習(xí)難度,使學(xué)習(xí)效果事半功倍。
發(fā)表評(píng)論 查看完整評(píng)論 | |