面向对象的软件工程——用例图

本文介绍了用例图在软件工程中的应用,详细阐述了用例图的组成部分,包括参与者(Actor)、用例(Use Case)和子系统,以及它们之间的关联、泛化、包含和扩展关系。通过一个超市信息管理系统的例子,帮助读者深入理解如何构建和解读用例图。

用例图

  1. 概念

    用例图主要用于描述角色以及角色与用例之间的链接关系,说明的是谁要使用系统,以及他们使用系统可以做些什么。

  2. 用例图的元素

    • 用例图的三个元素 :

      {参与者(Actor),用例(Use Case),子系统}

    • 参与者 Actor

      大多数系统具有多种类型的用户,每类用户表示为一个参与者。

      用一个火柴人表示:

      图片.png

    • 用例 Use Case

      在不展现一个系统或子系统内部结构的情况下,对系统或子系统的某个连贯的功能单元的定义和描述。

      用椭圆表示

      图片.png

    • 子系统

      用来展示系统的一部分功能,这部分功能联系紧密

      用方框表示

  3. 用例图的关系

关系类型说明表示符号
关联参与者与用例之间的关系图片.png
泛化参与者之间或用例之间的关系
包含用例之间的关系
扩展用例之间的关系
  • 关联

    表示参与者与用例之间的通信,用实线表示,指向消息接收方。

    图片.png

  • 泛化

    表示继承关系,指向父用例

    图片.png

  • 包含

    将一个复杂的用例的功能拆解成多个简单的步骤。

    当用例事件流过于复杂时,要简化用例的描述,可以将一段事件流抽象成一个被包含的用例;另一种情况,当用例划分过于细致繁琐时,可以抽象出一个基用例。

    箭头指向分解出来的功能用例。

    • 扩展

      扩展是基础用例的一个延伸,为基础用例一个附加的功能。

      箭头指基础用例

  1. 用例图实例

    超市信息管理系统

@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
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值