【UML】第8篇 用例图(3/3)

目录

一、用例的关系

1.1 泛化(Generalization)关系

1.2 包含(include)关系

1.3  扩展关系

二、用例表示例


不是非要把电影改成连续剧,给大家播,确实是时间和精力有限。

用例图,虽然简单,其实可说的内容也不少。

看前2篇,地址在这里:

【UML】第6篇 用例图(1/3)-CSDN博客

【UML】第7篇 用例图(2/3)-CSDN博客

一、用例的关系

用例之间的关系,主要包括泛化、包含和扩展三种。

1.1 泛化(Generalization)关系

用例的泛化关系可以理解为同一业务目的的不同实现路径。

【UML】第8篇 用例图(3/3)_第1张图片

这就是泛化关系,我们说过,泛化感觉有点别扭,是的,就是要从具体指向一般。可以理解为继承。

支付是父用例,不用管具体的支付实现,定义好属性和接口即可。

1.2 包含(include)关系

【UML】第8篇 用例图(3/3)_第2张图片

如上图,这是一个典型的包含关系,提现了包含关系的两种情况。

  1. 反复可能被用到的用例,适合单独拿出来,作为一个独立的用例来分析和看待,但是可以在表达时,被其他用例包含。比如上图的身份验证。这是一个让用户无感的功能,因此可以不从参与者直接连线,但是身份验证非常重要,预借图书、 归还图书,都要用到,因此用包含的方式,一举两得。
  2. 查询图书,是参与者要具体执行的目标,因此要单独列为用例。同时,这个用例也被预借图书用例包含,因此用包含符号表示。

注意,包含符号,带有<>构造型。

1.3  扩展关系

扩展关系中,基本用例是完整的,执行基本用例不一定执行扩展用例;但包含关系中的基本用例不完整,执行基本用例必须执行包含用例。

扩展关系使用带构造型的虚线箭头表示。箭头由扩展用例指向基本用例。

例如:<>

【UML】第8篇 用例图(3/3)_第3张图片

这里一定要注意,是谁指向了谁,扩展用例去指向基本用例。没有扩展用例,基本用例也是能独立工作的。扩展用例,可以理解为是基本用例的特殊情况。

例如缴纳罚款,就是扩展用例,归还图书,是基本用例。因为归还图书,不一定要缴纳罚款。 

二、用例表示例

如图,这是一个标准的用例文档描述。

用例编号 UC2023001-01
 用例名称 借阅图书
 用例简述 读者把要借阅的图书和一卡通送到借书台,图书管理员使用该功能帮助读者完成借书操作。
参与者 图书馆工作人员
相关用例 UC2023001-02(核验身份),UC2023001-06(缴纳罚款)
 前置条件
  • 图书馆工作人员登录到借阅系统
  • 读者没有超期图书
  • 读者没有欠款
基本事件流
  1. 读者刷取一卡通;
  2. 系统读取一卡通信息,并检查一卡通信息和读者信息的有效性;
  3. 系统检查该读者是否有超期图书和欠款信息;
  4. 系统读取读者已借阅的图书信息列表;
  5. 图书馆工作人员扫描读者借阅的每本图书的条形码;
  6. 系统获取图书信息,并显示在借阅列表中;
  7. 扫描完毕后,图书馆工作人员确认借阅的图书信息;
  8. 系统记录本次借阅信息;
  9. 图书馆工作人员将借阅册数和归还日期告知读者;
  10. 读者将一卡通和借出的书籍带走。
备选事件流

2a:若不是有效的一卡通,系统给出提示;
2b:若一卡通未绑定读者信息,系统给出提示;
2c:若一卡通绑定的读者信息被限制借阅,系统给出提示;
2d:若读者当前已借阅册数达到最大值,给出提示,并禁止借阅。

3a:若读者有超期图书未归还,则给出提示,并禁止执行借阅操作;

3b:若读者有欠款信息,系统给出提示        

注:序号和上面的基本事件流对应。

后置条件
  • 更新借出的书籍状态为“已借出”;
  • 更新读者的已借阅册数;
  • 系统创建一条借阅记录。
其它说明 扫描的图书信息应能快速显示到借阅列表的最上端,供工作人员能及时核对信息是否一致。
编写人 giszz 编写日期 2023-09-21
修改记录 2023-09-22:添加【其它说明】内容
审核 giszz 审核日期 2023-09-23

用例图部分完,敬请关注,后续更精彩。

你可能感兴趣的:(学习笔记,产品经理,uml)