UML(Unified Modeling Language: 統一建模語言)分兩類:
1).結構型的圖
* 類圖(Class Diagram)
* 對象圖(Object Diagram)
* 構件圖(Component Diagram)
* 部署圖(Deployment Diagram)
* 包圖(Package Diagram)
2).行爲型的圖
* 用例圖(Use Case Diagram)
* 活動圖(Activity Diagram)
* 狀態機圖(State Machine Diagram)
* 順序圖/序列圖(Sequence Diagram)
* 通信圖(Communication Diagram)
* 時序圖(Timing Diagram)
1、用例圖
要弄清楚一個項目的大概需求,往往可以從以下兩個問題來想:
1).這個系統誰在用?
2).這些人通過這個系統能做什麼?
用例圖就是用來回答這兩個問題的。
1.1.用例圖的語法
用例圖有四個部分:用例(Use Case), 參與者(Actor),系統邊界,關係。
1).參與者(Actor)
在UML圖中我們用一個小人表示,是對系統使用者的抽象。參與者是與系統交互的人或另一個系統,如果是人可以稱爲“角色”。在分析系統時,應該先思考什麼角色會用這個系統,然後逐一思考不同的角色對系統有什麼需求。
2).用例(Use Case)
圖中的橢圓就是用例,裏面的文字是動賓結構(也就是動詞+名詞),用例表明系統能做什麼事情。如何讀?可以先讀執行者的名字,再讀出用例中的文字。如“一般用戶登陸系統”,可以用這樣的方式來檢查自己的用例圖畫得是否合適。
3).系統邊界(System Boundary)
在圖中有一個只框住了用例,沒有框住執行者的方框叫系統邊界,框框的上部註明本系的名字。系統的邊界能清晰表達出系統的範圍,但系統的範圍不是那麼好確定的。也並是所有的用例圖都需要畫出系統邊界,不然會顯示冗餘,一般的做法是:使用一個全局的用例圖來宏觀表達系統的需求,這個宏觀的用例圖需要畫出系統邊界。
4).關係
用例圖中的關係:角色的繼承、關聯、泛化、包含(Include)、擴展(Extend)、比較少用到的用例繼承。
關聯(Association):線條是指角色與用例之間線條,有三種:無箭頭,指向用例的箭頭,指向執行者的箭頭。一般來說,箭頭的尾部用來表示啓動交互的一方,頭部用來表示被啓動的一方。不過箭頭的解釋容易把人弄暈,建議全部畫成沒有箭頭就行了。
包含(Include):包含關係用來把一個較複雜的用例所表示的功能分解成較小的步驟。包含用例是必須的,如果缺少包含用例,基用例就是不完整的。
操作數據最基本的動作:增加(Create),讀取(Read),更新(Update),刪除(Delete),如果都按下面來畫用例圖,會顯得很多,很雜,可以用上面的”管理某某“用例來代替。
包含關係最典型的應用就是複用。這種情況類似與在過程設計語言中,將程序的某一段算法封裝成一個子過程,然後在從主程序中調用這一子過程(這麼說好像懂了點)
在UML中,包含關係用帶箭頭的虛線段加《include》表示,箭頭指向被包含的用例。
擴展(Extend):在某用例的基礎上,還能做什麼事情,帶有”《extend》”標誌的虛線的箭頭方向,箭頭方向表明了誰擴展誰。
1.2.用例表