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