PlantUML用例圖語法學習小結
一、什么是用例圖
用例圖是UML用於描述軟件功能的圖形。用例圖包括用例、參與者及其關系,用例圖也可以包括約束和注釋。
二、用例圖的要素
包括以下三個方面:(1)參與者,即與用例存在交互關系的系統外部實體;(2)用例,用來描述一個相對獨立的軟件功能;(3)關系,包含參與者與用例的關系,參與者相互之間的關系,以及用例相互之間的關系。
參與者:
參與者的特性概括起來,參與者有下面幾個特性。
(1)參與者位於系統的外部,不屬於系統的內容。
(2)參與者與系統發生交互關系,交互關系主要有使用系統、啟動系統、獲取系統信息或給系統提供信息。
(3)參與者和系統之間存在交互信息的接口,系統提供接口讓參與者使用系統,或者系統通過參與者的接口與參與者進行交互。
用例:
用例的含義是在一個應用場景下面,系統為用戶提供一個完整的服務,這個服務的完成需要用戶與系統直接發生一次完整的人機交互過程。
用例圖的特點:(1)用例描述用戶對系統的期望,被用於軟件需求建模,一個用例對應 於軟件能夠為參與者提供的一項服務。(2)用例反映參與者與系統A次完整的交互過程。這個交互過程總是要耗費一段時間 ,並執行.定的流程。流程的執行是參與者與系統的一段互動過程,在這個過程中有輸入到系統的信息以及系統反饋給參與者的信息。(3)用例的執行過程是系統為參與者的一次服務過程,這個服務就體現為系統提供給參與者的功能。一個用例執行的完成需要有確定的評價結果,這個結果表現為系統提供給參與者的一項完整的功能。(4)用例圖是軟件設計和測試的依據。
關系:
參與者與用例的關系1、啟動用例2、獲取用例提供的服務3、為用例提供服務4、給系統提供信息
參與者之間的關系:1、泛化關系2、通信關系
用例相互之間的關系:1、泛化關系2、包含關系3、擴展關系
二、語法
基本:用例用圓括號括起來;角色用兩個冒號包裹起來;用箭頭-->
連接角色和用例。用例描述:如果想定義跨越多行的用例描述,可以用雙引號將其裹起來。還可以使用這些分隔符:--..==__
。 並且可以在分隔符中間放置標題。繼承:如果一個角色或者用例繼承於另一個,用<|--
符號表示。注釋:用note left of
, note right of
, note top of
, note bottom of
等關鍵字給一個對象添加注釋。且注釋還可以通過note
關鍵字來定義,然后用..
連接其他對象。構造類型:用 <<
和 >>
來定義角色或者用例的構造類型。箭頭:-
越多,箭頭越長。 通過在箭頭定義的后面加一個冒號及文字的方式來添加標簽。箭頭的默認連接是豎直方向的,用--
表示,可以用一個橫杠或點來表示水平連接,也可以通過翻轉箭頭來改變方向。還可以通過給箭頭添加left
, right
, up
或down
等關鍵字來改變方向(這些方向關鍵字也可以只是用首字母或者前兩個字母的縮寫來代替)。分割圖示:用newpage
關鍵字將圖示分解為多個頁面,因默認自上而下構建圖示,所以可以用left to right direction
命令改變圖示方向。顯示:用skinparam
改變字體和顏色。
圖書管理系統的用例圖元素
借書
用例編號:03 -03用例名:借書
參與者:圖書管理員事件流程:
1.圖書管理員進人圖書借閱界面,選擇借書功能,用例開始。2.圖書管理員輸人借閱者的借書證號。
3.系統驗證借書證,如果不合格則給出提示,並結束借書。4.圖書管理員掃描要借圖書的條形碼。
5.系統顯示所借圖書的圖書信息:書名,作者,出版社等。6.系統記錄借書信息。
7.如果還有要借的圖書轉第4步。8.借書完成
還書
用例編號:03-04用例名:還書
參與者:圖書管理員事件流程:
1.圖書管理員進人圖書借閱界面,選擇能,用例開始。
2.圖書管理員掃描要還圖書的條形碼。3.系統顯示所還圖書的圖書信息:書名
出版社,借閱日期等。4.系統記錄還書信息。
5.如果還有要還的圖書,轉第2步,6.還書完成。
@startuml
left to right direction
actor cuixihan
rectangle 借閱證管理系統 {
cuixihan -- (辦證)
cuixihan -- (補證)
(辦證) ..> (打印證件) : <<include>>
(補證) ..> (打印證件) : <<include>>
cuixihan -- (注銷)
cuixihan -- (查詢證件)
}
@enduml


left to right direction
actor 圖書管理員
rectangle 圖書管理系統 {
圖書管理員 -- (添加圖書)
圖書管理員 -- (圖書編目)
圖書管理員 -- (修改圖書信息)
圖書管理員 -- (圖書報廢)
圖書管理員 -- (查詢圖書信息)
}

@startuml
left to right direction
skinparam packageStyle rectangle
actor 圖書管理員
actor 借閱人員
rectangle 圖書借閱管理系統 {
圖書管理員 -- (書目查詢)
圖書管理員 -- (圖書借閱信息查詢)
圖書管理員 -- (借書)
圖書管理員 -- (還書)
(過期催還) .> (打印催還單) : <<include>>
圖書管理員 -- (過期催還)
圖書管理員 -- (丟失處理)
(書目查詢) -- 借閱人員
(圖書借閱信息查詢) -- 借閱人員
} @enduml