需求總是在發(fā)生變化
之前的狗門運(yùn)行的很不錯(cuò)硼啤,但是用戶很快有了新的想法:它們嫌手動(dòng)開門太麻煩了过牙,希望能通過識(shí)別狗叫聲自動(dòng)開門威彰。
雖然這樣的用戶很煩人,但是用戶永遠(yuǎn)是對的掘宪。
場景中會(huì)有多條路徑蛾扇,但是目標(biāo)只有一個(gè)
現(xiàn)在將聲音識(shí)別器參與到系統(tǒng)中的場景攘烛,修改原先的用例∑ㄉ#考慮到用聲音識(shí)別器開門是一種獨(dú)立的路徑医寿,可以這一步分單獨(dú)分列出來。如下圖:
可以將更常用的路徑放到主要路徑中蘑斧,聲音識(shí)別器明顯更常用,再次修改
場景
每一條路徑都是一個(gè)場景须眷。一個(gè)用例可以有多條路徑竖瘾,即多個(gè)場景,但是所有路徑的最終目標(biāo)都是一樣的花颗。
替換路徑不能缺少
替換路徑雖然不常用捕传,但是必不可少,否則用例就是不完整的扩劝,導(dǎo)致需求分析也不完整庸论。
用修改后的用例檢查需求列表
用修改后的用例檢查需求列表,發(fā)現(xiàn)缺少聲音識(shí)別的功能棒呛,因此添加這些功能
為新的功能編寫代碼
新的需求分析出來以后聂示,可以編寫代碼。主要增加了一個(gè)狗叫識(shí)別類
測試新功能簇秒,發(fā)現(xiàn)問題
測試新功能代碼鱼喉,發(fā)現(xiàn)似乎有些問題。通過狗叫開門以后趋观,狗門無法自動(dòng)關(guān)閉扛禽。
經(jīng)過分析發(fā)現(xiàn)了問題的原因:之前自動(dòng)關(guān)門的相關(guān)代碼,放置在了按鈕開門之后皱坛;而聲音識(shí)別開門后面沒有相關(guān)的代碼
修正錯(cuò)誤编曼,但不要重復(fù)
為了修正這個(gè)錯(cuò)誤,有個(gè)程序員認(rèn)為剩辟,可以在聲音識(shí)別開門后面加上同樣的自動(dòng)關(guān)門代碼掐场,但是這樣就造成了重復(fù)代碼
將自動(dòng)關(guān)門的相關(guān)代碼從遙控器類中,移動(dòng)到狗門類中是更好的方法抹沪,不會(huì)造成重復(fù)
最后再次測試刻肄,一切正常了
總結(jié):
- 用戶的需求總是在發(fā)生變化,因此系統(tǒng)也常常會(huì)被修改
- 修改從更新用例開始
- 一個(gè)用例從起點(diǎn)到終點(diǎn)可以有多條路徑融欧,每條路徑都是一個(gè)場景
- 替換路徑是一條單獨(dú)路徑敏弃,雖然不常用但是不能缺少
- 修改代碼是應(yīng)該消除重復(fù)