能足以描述其復(fù)雜程度。在該情況下,需要使用狀態(tài)圖來輔助闡述。狀態(tài)圖和順序圖之間使用事件聯(lián)結(jié)在一起。它們之間的一致性問題,目前UML和ROSE沒有提供解決方案。相對折衷的方法是使用事件的命名規(guī)范強(qiáng)制一致性。
可以說,之前說的所有的東西都是為了能夠?qū)С鲇美谛枨笾械淖饔?。用例是從用戶的角度看待系統(tǒng),而不是基于程序員的角度。這樣的話,用例驅(qū)動(dòng)的系統(tǒng)能夠真正做到以用戶為中心,用戶的任何需求都能夠在系統(tǒng)開發(fā)鏈中完整的體現(xiàn)。用戶和程序員間通過用例溝通,避免了牛頭馬嘴的尷尬局面。
從前,系統(tǒng)開發(fā)者總是通過情節(jié)來獲取需求,是問用戶希望系統(tǒng)為他做什么。在Jacobson發(fā)明了用例的概念之后,需求獲取就變成問用戶要利用系統(tǒng)做什么。這是立場不同導(dǎo)致的結(jié)果。用戶通常并不關(guān)心系統(tǒng)是如何實(shí)現(xiàn)的(也有少數(shù)可愛的技術(shù)狂是例外)。對他們來說,更重要的是要達(dá)到他的目的。相反的,大部分的程序員的工作習(xí)慣就是考慮計(jì)算機(jī)應(yīng)該如何實(shí)現(xiàn)用戶的要求。所幸的是,用例方法能夠調(diào)和雙方的矛盾,因?yàn)殡m然用例是來源于用戶,服務(wù)于用戶,但是它同樣可以用于開發(fā)的流程。當(dāng)系統(tǒng)的開發(fā)過程都是基于用例的,用用例獲取需求,用用例設(shè)計(jì),用用例編碼,用用例測試的時(shí)候。這個(gè)開發(fā)過程就是用例驅(qū)動(dòng)的。
用例和用例文檔
《軟件需求》一書中提到了幾種方法來確定用例:
首先明確執(zhí)行者和他們的角色,然后確定業(yè)務(wù)過程,在這一過程中每一個(gè)參與者都在為確定用例而努力。
確定系統(tǒng)所能反映的外部事件,然后把這些事件與參與的執(zhí)行者和特定的用例聯(lián)系起來。
以特定的說明形式表達(dá)業(yè)務(wù)過程或日常行為,從這些說明中獲得用例,并確定參與到用例中的執(zhí)行者,
有可能從現(xiàn)在的功能需求說明中獲得用例。如果有些需求與用例不一致,就應(yīng)考慮是否真的需要它們。
用例代表了用戶的需求,在你的系統(tǒng)中,應(yīng)該直接從不同用戶類的代表或至少應(yīng)從代理那里收集需求。用例為表達(dá)用戶需求提供了一種方法,而這一方法必須與系統(tǒng)的業(yè)務(wù)需求相一致。分析者和用戶必須檢查每一個(gè)用例,在把它們納入需求之前決定其是否在項(xiàng)目所定義的范圍內(nèi)。基于“用例”方法進(jìn)行需求獲取的目的在于:描述用戶需要使用系統(tǒng)完成的所有任務(wù)。在理論上,用例的結(jié)果集將包括所有合理的系統(tǒng)功能。在現(xiàn)實(shí)中,你不可能獲得完全包容,但是比起我所知道的其它獲取方法,基于用例的方法可以為你帶來更好的效果。
當(dāng)使用用例進(jìn)行需求獲取時(shí),應(yīng)避免受不成熟的細(xì)節(jié)的影響。在對切合的客戶任務(wù)取得共識(shí)之前,用戶能很容易地在一個(gè)報(bào)表或?qū)υ捒蛑辛谐雒恳豁?xiàng)的精確設(shè)計(jì)。如果這些細(xì)節(jié)都作為需求記錄下來,他們會(huì)給隨后的設(shè)計(jì)過程帶來不必要的限制。你可能要周期性地檢查需求獲取,以確保用戶參與者將注意力集中在與今天所討論的話題適合的抽象層上。向他們保證在開發(fā)過程中,將會(huì)詳盡闡述他們的需求。在一個(gè)逐次詳細(xì)描述過程中,重復(fù)地詳述需求,以確定用戶目標(biāo)和任務(wù),并作為用例。然后,把任務(wù)描述成功能需求,這些功能需求可以使用戶完成其任務(wù),也可以把它們描述成非功能需求,這些非功能需求描述了系統(tǒng)的限制和用戶對質(zhì)量的期望。雖然最初的屏幕構(gòu)思有助于描述你對需求的理解,但是你必須細(xì)化用戶界面設(shè)計(jì)。
建立用例文檔。在每一次的需求獲取之后,都會(huì)生成很多未整理的需求,你必須將它們組織成用例文檔。使用諸如模板的技術(shù)能夠提高你的速度和需求的復(fù)用性。一個(gè)用例文檔可以使用表格來組織,主要的要素包括了用例標(biāo)識(shí)號、用例名稱、父用例標(biāo)志號、創(chuàng)建者、創(chuàng)建時(shí)間、審核者、修訂記錄、角色、說明、先決條件、請求結(jié)果、優(yōu)先級、普通過程、可選過程、例外、非功能需求、假設(shè)、注釋和問題。
雖然列舉出了這么多的屬性,但是實(shí)際中使用的屬性這要看你的團(tuán)體而定,看項(xiàng)目的大小而定。把大量的時(shí)間花在用例的描述上是沒有意義的。用戶需要的是一個(gè)軟件系統(tǒng),并不是一大堆的用例說明。
項(xiàng)目經(jīng)理勝任力免費(fèi)測評PMQ上線啦!快來測測你排多少名吧~
http://opto-elec.com.cn/pmqhd/index.html