在08年3月期的“程序員”中,潘加宇的“用例有粒度嗎”這篇文章感覺非常好,讓我有種茅塞頓開之感。遂作筆記如下。
- 做用例前,要先弄清楚研究對象是什么,并時刻提醒自己不要偏離主題。不然會發(fā)生“患者到醫(yī)院掛號”,或者“患者到醫(yī)院信息系統(tǒng)看病”之類的笑話。
- 只要在形式上能寫出符合需求標(biāo)準(zhǔn)的路徑、步驟,都可以作為用例。注意,是“可以”,并不是“一定”。
- 做用例分析時最常犯的錯誤是:把步驟當(dāng)作用例。如“取款”用例中的“驗(yàn)證密碼”與“扣除帳戶金額”,它們是“取款”用例的步驟,而不是其子用例。
- include的目的是為了復(fù)用有價值的步驟集合。形式往往是多個大用例include一個可復(fù)用的用例,即“多個老大include一個小弟”。
- 用例是否用對了的一個判斷標(biāo)準(zhǔn)是:其是否加強(qiáng)了和涉眾的聯(lián)系。如多級審批中,局長樂意跟科長共享一個審批功能嗎?
- 層次問題的出現(xiàn)常常是因?yàn)榘蜒芯繉ο笈e了,或者將系統(tǒng)契約與非契約混在一起。如將醫(yī)院的職責(zé)“強(qiáng)加”給了醫(yī)院信息系統(tǒng)。
- 講究“復(fù)用”不是需求要考慮的事情,而是設(shè)計要考慮的。高煥堂老師說:需求是收益面,設(shè)計是成本面。
- 用例的步驟應(yīng)該是回合制的,一個回合內(nèi)包括一下幾類步驟:
- 1.執(zhí)行者請求;
- 2.系統(tǒng)驗(yàn)證(可選);
- 3.系統(tǒng)改變(可選);
- 4.系統(tǒng)回應(yīng)。