用例图
-
概念
用例图主要用于描述角色以及角色与用例之间的链接关系,说明的是谁要使用系统,以及他们使用系统可以做些什么。
-
用例图的元素
-
用例图的三个元素 :
{参与者(Actor),用例(Use Case),子系统}
-
参与者 Actor
大多数系统具有多种类型的用户,每类用户表示为一个参与者。
用一个火柴人表示:

-
用例 Use Case
在不展现一个系统或子系统内部结构的情况下,对系统或子系统的某个连贯的功能单元的定义和描述。
用椭圆表示

-
子系统
用来展示系统的一部分功能,这部分功能联系紧密
用方框表示

-
-
用例图的关系
| 关系类型 | 说明 | 表示符号 |
|---|---|---|
| 关联 | 参与者与用例之间的关系 | ![]() |
| 泛化 | 参与者之间或用例之间的关系 | ![]() |
| 包含 | 用例之间的关系 | ![]() |
| 扩展 | 用例之间的关系 |
-
关联
表示参与者与用例之间的通信,用实线表示,指向消息接收方。

-
泛化
表示继承关系,指向父用例
-
包含
将一个复杂的用例的功能拆解成多个简单的步骤。
当用例事件流过于复杂时,要简化用例的描述,可以将一段事件流抽象成一个被包含的用例;另一种情况,当用例划分过于细致繁琐时,可以抽象出一个基用例。
箭头指向分解出来的功能用例。
-
扩展
扩展是基础用例的一个延伸,为基础用例一个附加的功能。
箭头指基础用例
-
@startuml
left to right direction
Actor 超市管理员 as admin
Actor 收银员 as cashier
Actor 顾客 as customer
rectangle 超市商品管理系统 {
admin --> (商品录入)
admin --> (用户信息管理)
admin --> (OS登录)
admin --> (退出)
admin --> (进货管理)
admin --> (销售管理)
admin --> (库存管理)
(商品录入) --> cashier
(OS登录) --> cashier
(退出) --> cashier
(结账) -> cashier
(结账) <-- customer
}
@enduml
本文介绍了用例图在软件工程中的应用,详细阐述了用例图的组成部分,包括参与者(Actor)、用例(Use Case)和子系统,以及它们之间的关联、泛化、包含和扩展关系。通过一个超市信息管理系统的例子,帮助读者深入理解如何构建和解读用例图。








1698

被折叠的 条评论
为什么被折叠?



