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