小心避免軟件需求分析中五類(lèi)陷阱
當(dāng)前位置:點(diǎn)晴教程→知識(shí)管理交流
→『 技術(shù)文檔交流 』
用例(use case)已經(jīng)成為被廣泛使用的需求開(kāi)發(fā)技術(shù)。圍繞著用戶(hù)和他們的目標(biāo),而不是產(chǎn)品的功能,這大大提高了開(kāi)發(fā)出能真正滿(mǎn)足客戶(hù)需求的軟件產(chǎn)品的可能性。然而,由于對(duì)用例所知甚少,造成用例的神秘感與日俱增,很多開(kāi)發(fā)團(tuán)隊(duì)也在試圖成功地運(yùn)用用例技術(shù)。本文將針對(duì)已經(jīng)開(kāi)始應(yīng)用用例技術(shù)的分析師,特別指出五處應(yīng)避免的用例應(yīng)用陷阱。 陷阱1:連用戶(hù)都不理解的用例 用例是一種表述用戶(hù)需求的方法,它描述了用戶(hù)需要產(chǎn)品所能完成的具體功能。用例應(yīng)著重于那些用戶(hù)所需借助產(chǎn)品系統(tǒng)來(lái)完成的任務(wù),所以用例和用戶(hù)的業(yè)務(wù)流程密切相關(guān)。用例應(yīng)該能讓用戶(hù)方便閱讀和檢查,以尋找可能存在的問(wèn)題,例如被遺漏的可替代流程,或者不正確的異常處理等。如果用戶(hù)不能參與用例,將帶來(lái)很多問(wèn)題。或許是因?yàn)檫@些用例太過(guò)注重技術(shù),而不是業(yè)務(wù)性、前瞻性的。 陷阱2:用例太多啦 分析人員正忙于建立數(shù)十或數(shù)百個(gè)用例,他們沒(méi)有意識(shí)到這也許是錯(cuò)誤的。用例數(shù)量過(guò)多通常意味著用例的抽象水平太低。每個(gè)用例都應(yīng)當(dāng)具備一定的抽象性,以涵蓋某個(gè)共同主題的多個(gè)相關(guān)場(chǎng)景。這些用例的部分將成功,而其他的在某些特例條件下則不會(huì)成功。如果你正處于這樣一種用例爆炸的情形,請(qǐng)?jiān)囍岣叱橄髮哟危瑢⑾嗨频挠美喜⒊山M,把它們作為一個(gè)單一的、更加抽象的用例的分支流程。 陷阱3:過(guò)于復(fù)雜的用例 用例應(yīng)用的總體思路是,一個(gè)正常的用例流程所包含的步驟應(yīng)該不超過(guò)12個(gè)。而事實(shí)上,曾經(jīng)有用例在一個(gè)正常流程中包括近50個(gè)步驟。問(wèn)題就在于,所謂“正常流程”也包含了許多可能的分支,包括錯(cuò)誤的異常流向,以及隨之而來(lái)的如何處理它們等問(wèn)題。所以,事實(shí)上,正常的流程也包括了備選流程和異常情況。更好的方法是選擇一個(gè)簡(jiǎn)單的、在默認(rèn)情況下能夠順利走完整個(gè)用例流程的路徑,這才是真正的正常流程。然后再寫(xiě)出其他的分支流程用例,以囊括該流程的其他分支和異常情況,特別是描述流程發(fā)生錯(cuò)誤的那些用例情況。通過(guò)這種方法,提供一套包括多個(gè)小分支流程的用例包,相比提供給用戶(hù)一個(gè)試圖在單一流程描述中處理好每一種可能性的龐大用例,無(wú)疑將容易理解和管理得多。 陷阱4:描述特定用戶(hù)界面元素和行為的用例 我們所需要的是撰寫(xiě)“必要”的用例,在一個(gè)抽象的層面來(lái)描述用戶(hù)和系統(tǒng)的互動(dòng),而不要加入用戶(hù)界面的細(xì)節(jié)。用例描述不應(yīng)包括界面設(shè)計(jì),雖然簡(jiǎn)單的用戶(hù)界面原型有利于方便地檢查用例。筆者甚至不喜歡聽(tīng)到在用例中暗指特定用戶(hù)界面控制的那些術(shù)語(yǔ)。我們說(shuō)“用戶(hù)點(diǎn)擊確定”,這意味著gui界面使用到鼠標(biāo)和按鈕。但是,是不是還可以使用觸摸屏或語(yǔ)音識(shí)別界面呢?在用例中強(qiáng)加入不成熟的設(shè)計(jì)局限,可能導(dǎo)致產(chǎn)生一個(gè)糟糕的設(shè)計(jì),除非你喜歡在已有界面的現(xiàn)有應(yīng)用程序中不斷增添新功能。 陷阱5:不再使用其他需求模型 分析人員在采用用例方法后,似乎忘記了其它他們所知道的需求模型和獲取方法。對(duì)于交互式系統(tǒng)、網(wǎng)站等,用例對(duì)于捕獲用戶(hù)需求相當(dāng)有幫助。然而,對(duì)于事件驅(qū)動(dòng)的實(shí)時(shí)系統(tǒng)、數(shù)據(jù)倉(cāng)庫(kù)或批處理過(guò)程,用例的方法卻并不適合。 我們要避免受到用例方法好處的誘惑,將用例方法強(qiáng)加于所有的功能需求工作。我們完全可以用一份詳細(xì)的包括功能需求、非功能需求、圖形分析模型、原型、數(shù)據(jù)字典和其他相關(guān)需求信息的列表來(lái)補(bǔ)充用例說(shuō)明。在很多情況下,用例是有用的,但請(qǐng)將它添加到您的需求分析工具箱,而不是用它取代您當(dāng)前的所有工具。 該文章在 2010/7/25 1:56:31 編輯過(guò) |
關(guān)鍵字查詢(xún)
相關(guān)文章
正在查詢(xún)... |