1.認識
用例圖第一次遇到它的時候印象就是一個個的小人,很好看但是有什么卵用壳炎,可以用功能描述為什么要畫“小人”(用例)泞歉,只要配置了相應的權限,系統的任何角色都可以使用任何一個功能點冕广,為什么需求要寫成什么角色對應什么用例這種模式疏日。或者要給千千萬萬的用戶分成什么角色撒汉。
其實用例圖還需要和其他UML圖配合使用沟优,才能發(fā)揮更大的威力。當然也發(fā)現用例圖并不是在任何情況下都是作用巨大的睬辐,用例圖和其他UML圖一-樣挠阁,只是我們可以利用的一種工具。
用例圖簡單說就是描述系統需求的一種方法溯饵,描述什么角色通過什么系統能做什么事情侵俗,關注的是系統的外在表現,系統與人的交互丰刊,系統與其他系統的交互隘谣。概括下就是回答:
- 這個系統有誰在用?
- 這些人通過這個系統能做什么事情?
2.簡單語法
- 小人(Actor):
執(zhí)行者寻歧,執(zhí)行者也可能不是人掌栅,而是另外的一個系統,本系統與另外一個系統交互的話码泛,可以將另外一個系統畫成某某執(zhí)行者就行了猾封,對使用某系統的用戶進行分類后,可以總結出使用本系統有哪些角色噪珊,不同的角色的工作責任不太一樣晌缘,他們需要用到的系統的功能也會不太一樣。圖中的小人就是角色痢站,它給了我們一一個啟示磷箕,我們思考某系統的需求時,可從不同角色的角度來思考瑟押。
我們在做一個考勤系統時搀捷,不會列出好多功能,比較好的方式是先思考什么角色用多望,思考不同角色對系統有什么需求。
圈圈(Use Case item):
圈圈里會有一段動賓結構的文字氢烘,也就是“動詞+名詞”的方式怀偷,這個圈圈里面的文字就是用例,這些用例表明了系統能做什么事情播玖,比如“打卡”椎工,“查看考勤情況”System:
外面的大框框是系統邊界,框框上部注明系統名字蜀踏,系統要發(fā)揮作用维蒙,靠執(zhí)行者“穿越”系統邊界來使用本系統用例,可以很清晰表達出系統的范圍果覆,不過系統范圍不好確定颅痊。線條(關聯)
這條線是角色與用例之間的線條,有箭頭的表示執(zhí)行者與系統交互過程中數據的流向局待,如果指向用例斑响,說明執(zhí)行者需要向系統輸入數據,指向執(zhí)行者說明系統要向執(zhí)行者輸出數據钳榨。沒箭頭說明某某執(zhí)行者能執(zhí)行什么用例舰罚。
描述系統需求喜歡用什么功能、什么模塊之類的表達薛耻,描述需求會不自覺地用到很多技術用語营罢,這其實是很多技術人員做需求分析工作的通病。要分析好一個系統的需求饼齿,首先要搞清楚本系統的目標饲漾,然后思考什么角色會用這個系統瘟滨,這些角色希望通過這個系統完成什么事情,由粗到細地理出細致的需求能颁。用例圖語法不復雜,其實用好用例圖的關鍵在于改變需求分析的舊有習慣,要學會從角色入手杂瘸,從用戶的角度來思考他們需要什么,用他們能看懂的語言來表達需求伙菊。
進階
進階部分不繼續(xù)寫了败玉,就是綜合類圖到用例中