什麼是用例圖學習
用例圖(usecase diagram)是UML用於描述軟件功能的圖形。用例圖包括用例、參與者及其關係,用例圖也能夠包括註釋和約束。測試
用例圖的要素字體
(1)參與者(與用例存在交互關係的系統外部實體)設計
(2)用例(一個相對獨立的軟件功能)code
(3)關係(包括參與者與用例、參與者之間及用例之間的關係等)對象
參與者(活動者)繼承
包含有人、設備、其它系統及時間,位於系統外部,與系統交互且與系統間存在交互信息的接口的實體被稱爲參與者。接口
參與者之間存在有兩種關係:泛化關係與通訊關係。get
用例(用況、用案)io
UML規定用橢圓表示一個用例,用例的名字放在橢圓裏面或下方。
用例用於描述系統的功能,故而名字每每用動詞或動詞短語。
用例描述了用戶對系統的指望,反映着參與者與系統一次完整的交互過程,而其執行過程也是系統爲參與者的一次服務過程,用例是軟件設計與測試的依據。
關係
用例互相之間存在泛化關係、包含關係和擴展關係。
泛化關係:用例之間存在的通常和特殊的關係。
包含關係:A用例的完整執行必須依賴於B用例的執行。(當一個用例過於複雜時,能夠提取出部分功能做爲一個用例;或是幾個用例包含有同一個功能,提取出該功能做爲用例)
擴展用例:A用例做爲一個完整的服務功能,若是須要某些擴展功能時,會存在一個B用例完成那個附加功能,這稱爲擴展用例。
語法
基本:用例用圓括號括起來;角色用兩個冒號包裹起來;用箭頭-->
鏈接角色和用例。
用例描述:若是想定義跨越多行的用例描述,能夠用雙引號將其裹起來。還可使用這些分隔符:--
..
==
__
。 而且能夠在分隔符中間放置標題。
繼承:若是一個角色或者用例繼承於另外一個,用<|--
符號表示。
註釋:用note left of
, note right of
, note top of
, note bottom of
等關鍵字給一個對象添加註釋。且註釋還能夠經過note
關鍵字來定義,而後用..
鏈接其餘對象。
構造類型:用 <<
和 >>
來定義角色或者用例的構造類型。
箭頭:-
越多,箭頭越長。 經過在箭頭定義的後面加一個冒號及文字的方式來添加標籤。箭頭的默認鏈接是豎直方向的,用--
表示,能夠用一個橫槓或點來表示水平鏈接,也能夠經過翻轉箭頭來改變方向。還能夠經過給箭頭添加left
, right
, up
或down
等關鍵字來改變方向(這些方向關鍵字也能夠只是用首字母或者前兩個字母的縮寫來代替)。
分割圖示:用newpage
關鍵字將圖示分解爲多個頁面,因默認自上而下構建圖示,因此能夠用left to right direction
命令改變圖示方向。
顯示:用skinparam
改變字體和顏色。
參與者:借閱人員、圖書管理員
系統功能結構:圖書館圖書管理系統(總)、借閱證管理系統(分)、圖書管理系統(分)、圖書借閱管理系統(分)。
用例:
借閱證管理系統(辦證、補證、打印證件、註銷、查詢證件;打印證件做爲辦證與補證的包含用例)
圖書管理系統(圖書信息查詢、添加、刪除、修改、圖書編目)
圖書借閱管理系統(圖書類目查詢、借閱、歸還、過時處理、丟失處理、借閱信息查詢、打印催還單;打印催還單做爲過時處理的包含用例,圖書類目查詢與借閱信息查詢同時由借閱人員與圖書管理員做爲參與者,其他都由圖書管理員做爲參與者)
@startuml
left to right direction
actor 圖書管理員
rectangle 借閱證管理系統 {
圖書管理員 -- (辦證)
圖書管理員 -- (補證)
(辦證) ..> (打印證件) : <<include>>
(補證) ..> (打印證件) : <<include>>
圖書管理員 -- (註銷)
圖書管理員 -- (查詢證件)
}
@enduml
@startuml
left to right direction
actor 圖書管理員
rectangle 圖書管理系統 {
圖書管理員 -- (添加)
圖書管理員 -- (修改)
圖書管理員 -- (刪除)
圖書管理員 -- (圖書信息查詢)
圖書管理員 -- (圖書編目)
}
@enduml
@startumlleft to right directionskinparam packageStyle rectangleactor 圖書管理員actor 借閱人員rectangle 圖書借閱管理系統 { 圖書管理員 -- (圖書類目查詢) 圖書管理員 -- (借閱信息查詢) 圖書管理員 -- (借閱) 圖書管理員 -- (歸還) 圖書管理員 -- (過時處理) 圖書管理員 -- (丟失處理) (圖書類目查詢) -- 借閱人員 (借閱信息查詢) -- 借閱人員 (過時處理) .> (打印催還單) : <<include>>}@enduml