用例圖
概念
用例圖(Use Case Diagram):也稱用戶模型圖,是從軟件需求分析到最終實現的第一步,它是從 客戶的角度來描述系統的功能。
基本組件
參與者(Actor)
與系統打交道的人或其它系統即使用該系統的人或物,在UML中用人型表示。
用例(Use Case)
代表系統中的某項完整的功能,在UML中用橢圓來表示。
用例之間的關係(Relationship)
泛化(generalization):泛化關係是一種繼承關係,子用例將繼承基用例的所有行爲,關係和通信關係,也就是說在任何使用基用例的地方都可以用子用例來代替。泛化關係在用例圖中使用空心的箭頭表示,箭頭方向從子用例指向基用例。
- 擴展(extend): extend關係是對基用例的擴展,基用例是一個完整的用例,即使沒有子用例的參與,也可以完成一個完整的功能。extend的基用例中將存在一個擴展點,只有當擴展點被激活時,子用例纔會被執行。 extend關係在用例圖中使用帶箭頭的虛線表示(在線上標註<>),箭頭從子用例指向基用例。
- 包含(include): include爲包含關係,當兩個或多個用例中共用一組相同的動作,這時可以將這組相同的動作抽出來作爲一個獨立的子用例,供多個基用例所共享。因爲子用例被抽出,基用例並非一個完整的用例,所以include關係中的基用例必須和子用例一起使用纔夠完整,子用例也必然被執行。include關係在用例圖中使用帶箭頭的虛線表示(在線上標註<>),箭頭從基用例指向子用例。
用例圖練習
1.試畫出學院班級管理系統的用例圖
用例:登陸;找回密碼;查看、修改、刪除、錄入班級基本信息。
參與者:管理員與系院領導。
2.試畫出學生成績管理的用例圖
用例:登陸;找回密碼;錄入、修改、保存、查詢、刪除成績。
參與者:教師和學生。
3. 試畫出網上選課系統的用例圖
用例:登陸;找回密碼;查看課程信息;按課程編號查詢;按課程名查詢;選擇課程;刪除已選課程;維護課程信息。
參與者:系統管理員與學生。
4. 試畫出賬號管理的用例圖
用例:創建新的賬戶;設置賬戶;設置賬戶基本信息;設置賬戶權限;刪除賬戶;查詢賬戶。
參與者:系統管理員。
5. 一臺自動飲料售貨機共有6中飲料,售貨機上有6個按鈕,分別對應6種飲料,顧客可以通過按鈕來選擇所要購買的飲料。每個按鈕旁有一個指示燈,用來表示該售貨機中是否還有這種飲料可售,售貨機有一個硬幣槽,用來收錢和找錢,假設一位顧客購買礦泉水,不用找零錢,請給出描述上述場景的用例圖。