用例圖是軟件項(xiàng)目成本預(yù)估的好幫手
成本預(yù)估對(duì)于所有的項(xiàng)目來(lái)說(shuō)都是至關(guān)重要的。沒(méi)有成本預(yù)估,就不可能在項(xiàng)目前期控制成本與管控風(fēng)險(xiǎn)。為了讓項(xiàng)目經(jīng)理能夠盡早組建團(tuán)隊(duì)、申請(qǐng)項(xiàng)目資金,并評(píng)估可能的風(fēng)險(xiǎn),一個(gè)方式便是參考以往項(xiàng)目經(jīng)驗(yàn)來(lái)估算項(xiàng)目成本。
成本最重要的“開(kāi)發(fā)成本(時(shí)間)”部分就是由程序員參考生產(chǎn)力來(lái)評(píng)估所有系統(tǒng)功能完成的。盡管具體功能花費(fèi)的時(shí)間是由程序員來(lái)估算,但是比”具體功能”影響更大的,比如,項(xiàng)目有多少功能?范圍如何?則是由項(xiàng)目經(jīng)理向客戶(hù)確認(rèn)的,而確認(rèn)的結(jié)果就是用例文檔和用例圖。
相比用例,同樣是描述參與者和系統(tǒng)的交互(也就是系統(tǒng)功能),用例圖卻有這樣的優(yōu)點(diǎn):
- 簡(jiǎn)單。相比幾百行的文字和簡(jiǎn)單的圖形,可想而知哪個(gè)更容易
- checklist。圖形容易放在一張紙上,這樣有助于發(fā)現(xiàn)檢查遺漏的需求;幾十頁(yè)的文字很難做到。
所以,在分析系統(tǒng)時(shí)使用用例圖更不容易遺漏,更有幫助與溝通,也更能幫助到你。而我們說(shuō)的成本預(yù)估剛好需要從系統(tǒng)的范圍入手。
誰(shuí)使用用例圖?
用例圖是一個(gè)非常有效的工具,各個(gè)參與方都可以從中獲益:
- 客戶(hù)–可以更好的理解軟件將完成什么,并能判斷當(dāng)前的方案是否滿(mǎn)足他們大部分的需求。
- 項(xiàng)目經(jīng)理–項(xiàng)目經(jīng)理可以使用用例圖來(lái)保證各利益方達(dá)成共識(shí)。在項(xiàng)目預(yù)估時(shí),用例圖可以作為重要的溝通手段,確保所有人都很好的理解了方案設(shè)計(jì)的系統(tǒng)范圍。
- 程序員–通過(guò)用例圖理解系統(tǒng)的功能和交互。
如果你有一只筆和一張紙,那么現(xiàn)在就可以開(kāi)始了
怎樣創(chuàng)建用例圖?
創(chuàng)建用例圖的工具非常多。一開(kāi)始時(shí)建議使用白紙來(lái)繪制草圖,一般我會(huì)快速地畫(huà)出馬上識(shí)別出來(lái)的用例圖。這些用例一般顆粒比較粗,所以隨后我會(huì)在另外一張白紙上畫(huà)出比它顆粒更細(xì)的用例圖。過(guò)程中,我通常使用比較粗的黑色水筆來(lái)繪制第一份用例圖,因?yàn)檩^粗的線條會(huì)迫使我專(zhuān)注在重要的元素上,并忽略那些暫時(shí)不重要的細(xì)節(jié)。如果出現(xiàn)了錯(cuò)誤,我選擇直接放棄它,這完全不會(huì)影響其它的草圖。但是被放棄的草圖紙,你最好想辦法再次利用他們,這是為了環(huán)保。
當(dāng)草圖完成的時(shí)候,我一般會(huì)邀請(qǐng)團(tuán)隊(duì)的技術(shù)主管做個(gè)簡(jiǎn)短的評(píng)審。評(píng)審時(shí)我會(huì)先在電腦上使用軟件重新繪制草圖。較之于在白紙上繪制草圖,使用軟件繪制有如下的好處:
1 重新組織用例圖元素時(shí),使用軟件比手繪更快、更簡(jiǎn)單。
2 軟件提供了繪制模板,使用手動(dòng)拖放就可完成繪制過(guò)程。
3 數(shù)字用例圖更容易和別人分享,并且能夠在團(tuán)隊(duì)中保證用例圖的一致性。
我使用UMLet作為繪制用例圖繪制工具,你可以在官網(wǎng)http://www.umlet.com中下載到它。它是開(kāi)源代碼輕量級(jí)UML建模工具,使用界面簡(jiǎn)單,能夠讓你快速建模,并能導(dǎo)出各種格式SVG, JPG, PDF and LaTeX-friendly EPS。恰恰因?yàn)樗暮?jiǎn)單,讓我在眾多的軟件中選擇它。
UMLet還為繪制其它圖形提供了模板,比如時(shí)序圖、泳道圖等
我認(rèn)為UMLet是非常值得推薦的工具,但是,用例圖本身是和工具無(wú)關(guān)的,他的目的是促進(jìn)交流和探索新需求。這意味著你應(yīng)該選擇自己熟悉的工具。
用例圖的4個(gè)小技巧
1. 不要試圖將用例圖變漂亮
雖然我們應(yīng)該盡量將用例圖裝飾得好看一點(diǎn),但是不要把精力放在上面,而應(yīng)該把精力集中在其要展示的系統(tǒng)上。
2. 及早反饋,經(jīng)常反饋
不用擔(dān)心你的用例圖還沒(méi)有展示所有的東西,而應(yīng)該盡早地向利益相關(guān)者展示。用例圖應(yīng)該是協(xié)作式的、迭代式的過(guò)程,這個(gè)過(guò)程分為3個(gè)步驟:
- 從草圖開(kāi)始,以表達(dá)一些概念
- 從所有利益相關(guān)方收集反饋
- 逐步完善直到項(xiàng)目結(jié)束
3. 站在用戶(hù)的角度
4. 在必要時(shí)使用注釋
在你需要說(shuō)明的地方加上注釋?zhuān)热珀P(guān)于更細(xì)顆粒的用例在另外一頁(yè)時(shí),可以使用用例說(shuō)明。
結(jié)論
用例圖是幫助團(tuán)隊(duì)討論系統(tǒng)、分析系統(tǒng)的絕佳工具,它非常適合在團(tuán)隊(duì)討論、分析、展示、評(píng)審時(shí)使用。同時(shí),它又非常地簡(jiǎn)單,一只筆、一張紙即可,當(dāng)然你也可以使用軟件。如果你在預(yù)估項(xiàng)目開(kāi)發(fā)時(shí)間時(shí)使用它,我相信它會(huì)幫助到你的。
本文來(lái)自:http://blog.51cto.com/