一、小結
用例圖是UML用於描述軟件功能的圖形。用例圖包括用例、參與者及其關系,用例圖也可以包括注釋和結束。
用例圖的要素:
(1)參與者,即與用例存在交互關系的系統外部實體;
(2)用例,用來描述個相對獨 立的軟件功能 ;
(3)關系,包含參與者與用例的關系,參與者相互之間的關系,以及用例相互之間的關系等。
參與者(actor)也稱為活動者,是與系統發生交互的外部實體。“小人”圖標可以表示與系統進行交互的參與者。
參與者類型有四種類型:人、設備、其他系統、時間;參與者之間的關系有泛化關系和通信關系。
用例也被稱為用況、用案。用例表示系統執行的一組動作,它會給系統或者參與者產生一組可觀測的結果,用例描述系統的一個功能。它的含義是在一個應用場景下面,系統為用戶提供一個完整的服務,這個服務的完成需要用戶與系統直接發生一次完整的人機交互過程。
用例的表示:UML規定用橢圓來表示一個用例,用例的名字放在橢圓里面或者下方。因為用例用來描述系統的功能,因此用例的名字應該用動詞或動詞短語。
參與者與用例之間的關系:啟動用例,獲取用例提供的服務,為用例提供服務,給系統提供信息。用例之間存在泛化關系、包含關系、擴展關系。
用例圖的作用:
1.描述軟件功能
2.建立軟件分析模型的依據
3.軟件測試的依據
用法:
用例:用圓括號(),或者使用關鍵字來定義用例;
角色:用兩個冒號包裹來表示,或者通過關鍵字actor來定義角色;用箭頭-->連接角色和用例。
用例描述:用雙引號來定義多行的用例描述,--,==為分隔符, 並且可以在分隔符中間放置標題。
連接:用箭頭連接角色和用例,橫杠越多箭頭越長,可以在箭頭定義的后面加一個冒號來添加標簽;
繼承:如果一個角色或者用例繼承於另一個,用<|--符號表示。
注釋:用note left of , note right of , note top of , note bottom of等關鍵字給一個對象添加注釋。且注釋還可以通過note關鍵字來定義,然后用..連接其他對象。
構造類型:用 << 和 >> 來定義角色或者用例的構造類型。
箭頭:-越多,箭頭越長。 通過在箭頭定義的后面加一個冒號及文字的方式來添加標簽。箭頭的默認連接是豎直方向的,用--表示,可以用一個橫杠或點來表示水平連接,也可以通過翻轉箭頭來改變方向。還可以通過給箭頭添加left, right, up或down等關鍵字來改變方向(這些方向關鍵字也可以只是用首字母或者前兩個字母的縮寫來代替)。
二、圖書館管理系統
主要任務:圖書信息管理、借書證管理以及圖書借閱管理。
提取參與者:圖書管理員和借閱者
功能用例:1.借書證管理、2.圖書管理 3.圖書借閱管理
1.@startuml
left to right direction
actor 圖書管理員
rectangle 借閱證管理系統 {
圖書管理員 -- (辦證)
圖書管理員 -- (補證)
(辦證) ..> (打印證件) : <<include>>
(補證) ..> (打印證件) : <<include>>
圖書管理員 -- (注銷)
圖書管理員 -- (查詢證件)
}
@enduml

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