- PlantUML用例图 语法学习小结。
什么是用例图
用例图(usecase diagram)是UML用于描述软件功能的图形。用例图包括用例、参与者及其关系,用例图也可以包括注释和约束。
用例图的要素
(1)参与者(与用例存在交互关系的系统外部实体)
(2)用例(一个相对独立的软件功能)
(3)关系(包括参与者与用例、参与者之间及用例之间的关系等)
参与者(活动者)
包含有人、设备、其它系统及时间,位于系统外部,与系统交互且与系统间存在交互信息的接口的实体被称为参与者。
参与者之间存在有两种关系:泛化关系与通信关系。
用例(用况、用案)
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
@startuml
left to right direction
skinparam packageStyle rectangle
actor 图书管理员
actor 借阅人员
rectangle 图书借阅管理系统 {
图书管理员 -- (图书类目查询)
图书管理员 -- (借阅信息查询)
图书管理员 -- (借阅)
图书管理员 -- (归还)
图书管理员 -- (过期处理)
图书管理员 -- (丢失处理)
(图书类目查询) -- 借阅人员
(借阅信息查询) -- 借阅人员
(过期处理) .> (打印催还单) : <<include>>
}
@enduml
- 用例图
来源:https://www.cnblogs.com/carala/p/10573572.html