UML用例图
1、概念
用例图(Use Case Diagram)是用户与系统交互的最简表示形式,展现了用户和与TA相关的用例之间的关联关系。
通过用例图,人们可以获知系统不同种类的用户和用例:
- 用例图呈现出谁将是相关的用户。
- 用户希望系统提供什么样的服务。
- 用户需为系统提供什么样的操作。
2、构成元素
2.1、系统(System)
由一系列的相互作用的元素形成的具有特定功能的整体。一般以矩形来表示。
2.2、参与者(Actor)
存在于系统外部并直接与系统进行交互的人、系统、子系统或类外部实体的抽象。一般以人形图标来表示。
2.3、用例(Use Case)
用来描述系统提供给参与者的服务或功能。一般以椭圆来表示。
2.4、关系(Relationship)
参与者和用例间的关联关系。一般通过连接线表示。
- 关联关系
- 包含关系
- 扩展关系
- 泛化关系(也称继承关系)
3、示例图
4、示例图说明
1、银行应用是一个系统,提供登录、检查账单、转账、付款功能;
2、登录、检查账单、转账、付款 属于用例,注意每个用例都是一个动词,最好将用例按照逻辑顺序排列;
3、客户作为银行应用的主要参与者放在系统左边,银行作为银行应用的次要参与者放在系统右边;次要参与者基于主要参与者的动作做出响应;
4、关系说明:
4.1、关联关系
客户需要与登录、检查账单、转账、付款直接交互,用实线连接表示这种关联关系。
同时客户想在应用上查看余额时,银行将提供余额;客户想转账或付款时,银行将完成这些交易;所以银行和这些用例也要用实线连接。
不需要将银行和登录连起来,因为这个动作发生在银行应用内部,银行没有必要参与登录过程。
4.2、包含关系
包含一个基本用例和一个包含用例。每次执行基本用例时,包含用例也会执行。
用带箭头的虚线由基本用例指向包含用例,箭头上注明 <<include>>。
客户登录时,银行应用会验证密码。
客户想要转账或付款时,银行应用要验证有充足的资金完成交易。
4.3、扩展关系
包含一个基本用例和一个扩展用例。每次执行基本用例时,扩展用例有时会触发,有时不会触发(扩展用例只有在满足某些条件时才会触发)。
用带箭头的虚线由扩展用例指向基本用例,箭头上注明 <<extend>>。
客户登录时,银行应用会验证密码,验证密码错误时才会提示登录错误。
4.4、泛化(继承)关系
一般包含一个父用例和多个子用例。子用例有着父用例的功能,并且子用例通常还有自己特有的功能。
用空心三角箭头的实线由子用例指向父用例。
当客户从银行应用付款时,银行应用会提供两种付款方式:储蓄账户支付、信用卡账户支付。
参考:https://www.bilibili.com/video/BV1qN41177fw/?spm_id_from=333.788.recommend_more_video.0&vd_source=63c4bb310d969ae328d2f0b599ceac1a