用例分析是一種簡(jiǎn)單方便的建模方法囊拜,基本過程是根據(jù)已有的用例進(jìn)行分析钢坦,找到領(lǐng)域的模型類究孕、屬性以及模型之間的關(guān)聯(lián)關(guān)系。因此爹凹,通過這種方式建模主要輸入為用例厨诸。完整的用例編寫需要耗費(fèi)大量的時(shí)間,而且需要專業(yè)的培訓(xùn)禾酱,在現(xiàn)實(shí)的工作中我還從來沒見過哪個(gè)項(xiàng)目有完整的用例微酬,常見的就是需要的PRD,之前討論了使用實(shí)例化需求來對(duì)PRD進(jìn)行分析颤陶,得到業(yè)務(wù)規(guī)則颗管,我們可以使用業(yè)務(wù)規(guī)則來代替用例。
方法步驟
找名詞:我們可以簡(jiǎn)單把用例中的名詞都列出來滓走,這些名詞會(huì)作為模型類或者屬性的候選者
找動(dòng)詞:動(dòng)詞往往可以發(fā)現(xiàn)模型之間的關(guān)聯(lián)關(guān)系
確定模型類與屬性:從第一步中確定模型類與屬性垦江,主要在于判斷哪些名詞應(yīng)該作為類,哪些作為屬性搅方;一般如果是單值名詞(或者可以通過基本數(shù)據(jù)類型表示的)往往可以作為屬性比吭,或者一個(gè)名詞只關(guān)聯(lián)了一個(gè)概念的
確定模型的關(guān)聯(lián)關(guān)系:通過動(dòng)詞來分析出模型之間的關(guān)聯(lián)關(guān)系
整個(gè)步驟很簡(jiǎn)單,只需要找到用例中的名詞姨涡、動(dòng)詞衩藤,然后集合場(chǎng)景分析即可。在內(nèi)網(wǎng)上也看到過通過用例的主謂賓定狀結(jié)構(gòu)來分析的涛漂,方法會(huì)更精細(xì)一些赏表。不過從分析過程來看,兩種方式效果差不多匈仗,通過主謂賓定狀來分析步驟會(huì)麻煩一些瓢剿。
另外由于用例的不但完善也會(huì)推進(jìn)模型的不斷的完善,也可以通過額外的用例來對(duì)已有的模型進(jìn)行驗(yàn)證與修正锚沸。
工作中的一個(gè)例子
最近在工作中遇到一個(gè)需求跋选,需要調(diào)整收銀臺(tái)中支付寶支付方式的置灰規(guī)則,通過實(shí)例化需求分解之后業(yè)務(wù)規(guī)則如下:
當(dāng)用戶支付金額大于10w時(shí)哗蜈,而且不在白名單內(nèi)前标,將支付寶置灰;
當(dāng)用戶支付金額大于10w時(shí)坠韩,在白名單內(nèi),將支付寶不置灰;?
當(dāng)用戶支付金額大于5w小于10w炼列,不在人群內(nèi)只搁,將支付寶不置灰;?
當(dāng)用戶支付金額大于5w小于10w,在人群內(nèi)俭尖,不在白名單內(nèi)氢惋,將支付寶置灰;?
當(dāng)用戶支付金額大于5w小于10w,在人群內(nèi)稽犁,在白名單內(nèi)焰望,將支付寶不置灰;?
當(dāng)用戶支付金額小于5w,將支付寶不置灰;?
1. 找名詞:用戶已亥、支付金額熊赖、金額下限(大于5w)、金額下限(小于10w)虑椎、人群(白名單也是一種人群)震鹉、支付工具(支付寶)
2. 找動(dòng)詞:置灰、屬于(在人群內(nèi))
3. 模型與屬性:
? ? 模型:用戶捆姜、支付工具传趾、人群、置灰規(guī)則泥技、咨詢行為浆兰; 其中咨詢行為是基于已有模型得來的(也可以參考業(yè)界已有模型),置灰規(guī)則是上面用例中的隱含主語
? ?屬性:金額上限零抬、金額下限镊讼、支付金額
4. 確定關(guān)系:置灰說明規(guī)則是與支付方式關(guān)聯(lián);屬于說明用戶與人群有關(guān)聯(lián)
最后得到的模型如下
上面得到的是問題域模型平夜,在真正系統(tǒng)實(shí)現(xiàn)的是時(shí)候可以根據(jù)需要對(duì)模型進(jìn)行適當(dāng)?shù)恼{(diào)整蝶棋,例如將人群作為用戶的屬性進(jìn)行表示等。