a. 獲取執(zhí)行者
獲取用例首先要找出系統(tǒng)的執(zhí)行者。可以通過用戶回答一些問題的答案來識別執(zhí)行者。以下問題可供參考:
·誰使用系統(tǒng)的主要功能(主要使用者)。
·誰需要系統(tǒng)支持他們的日常工作。
·誰來維護(hù)、管理使系統(tǒng)正常工作(輔助使用者)。
·系統(tǒng)需要操縱哪些硬件。
·系統(tǒng)需要與哪些其它系統(tǒng)交互,包含其它計(jì)算機(jī)系統(tǒng)和其它應(yīng)用程序。
·對系統(tǒng)產(chǎn)生的結(jié)果感興趣的人或事物。
b. 獲取用例
一旦獲取了執(zhí)行者,就可以對每個執(zhí)行者提出問題以獲取用例。
以下問題可供參考:
·執(zhí)行者要求系統(tǒng)提供哪些功能(執(zhí)行者需要做什么)?
·執(zhí)行者需要讀、產(chǎn)生、刪除、修改或存儲的信息有哪些類型。
·必須提醒執(zhí)行者的系統(tǒng)事件有哪些?或者執(zhí)行者必須提醒系統(tǒng)的事件有哪些?怎樣把這些事件表示成用例中的功能?
·為了完整地描述用例,還需要知道執(zhí)行者的某些典型功能能否被系統(tǒng)自動實(shí)現(xiàn)?
還有一些不針對具體執(zhí)行者問題(即針對整個系統(tǒng)的問題):
·系統(tǒng)需要何種輸入輸出?輸入從何處來?輸出到何處?
·當(dāng)前運(yùn)行系統(tǒng)(也許是一些手工操作而不是計(jì)算機(jī)系統(tǒng))的主要問題?
需要注意,最后兩個問題并不是指沒有執(zhí)行者也可以有用例,只是獲取用例時尚不知道執(zhí)行者是什么。一個用例必須至少與一個執(zhí)行者關(guān)聯(lián)。還需要注意:不同的設(shè)計(jì)者對用例的利用程度也不同。例如,Ivar Jacobson說,對一個十人年的項(xiàng)目,他需要二十個用例。而在一個相同規(guī)模的項(xiàng)目中,Martin Fowler則用了一百多個用例。我們認(rèn)為:任何合適的用例都可使用,確定用例的過程是對獲取的用例進(jìn)行提煉和歸納的過程,對一個十人年的項(xiàng)目來說,二十個用例似乎太少,一百多個用例則嫌太多,需要保持二者間的相對均衡。