UML入门2:用例模型

本节参考《UML2.0基础与RSA建模实例教程》曹衍龙、汪杰

用例模型对系统中各个主体抽象,以类似漫画的形式表现整个系统的功能。
用例图中主要包含两个主体。

  1. 参与者
  2. 用例

参与者用演员表示,用例由一个实心的椭圆表示。
在这里插入图片描述
下面以一个具体的例子说明用例图的构建。

某图书馆管理系统的需求分析:

  1. 读者可以借阅图书
  2. 读者可以归还图书
  3. 读者可以预留图书
  4. 读者可以查询图书
  5. 读者可以撤销图书预留
  6. 读者可以查询自己的账户
  7. 读者可以更改自己的账户
  8. 读者可以缴纳罚款
  9. 馆员可以添加图书信息
  10. 馆员可以修改图书信息
  11. 馆员可以删除图书信息
  12. 馆员可以添加读者账户
  13. 馆员可以删除读者账户
  14. 馆员可以修改读者账户
  15. 系统维护人员可以维护数据库
  16. 可以利用校园卡管理系统转账

由需求分析可以得出,系统的参与者有4个,分别是:读者、馆员、系统维护人员和外部系统。
也就是说,我们的用例图中有4个小人。

根据不同的参与者对系统用例进行分配。
显然,读者:

  1. 读者可以借阅图书
  2. 读者可以归还图书
  3. 读者可以预留图书
  4. 读者可以查询图书
  5. 读者可以撤销图书预留
  6. 读者可以查询自己的账户
  7. 读者可以更改自己的账户
  8. 读者可以缴纳罚款

馆员:

  1. 馆员可以修改图书信息
  2. 馆员可以删除图书信息
  3. 馆员可以添加读者账户
  4. 馆员可以删除读者账户
  5. 馆员可以修改读者账户

系统维护人员:

  1. 维护数据库

校园卡管理系统:

  1. 转账

接下来开始绘制用例图。
我们把整个系统划分成给了4个参与者,可以以此划分成4个包,每个包完成一个参与者的功能。
类似于Python里把实现某个功能的代码封装在一个包里。
在starUML里,首先创建一个包,然后右键点击这个包,选择add diagram,选择Use Case Diagram
这样就进入了新的界面,即包内。
在这里插入图片描述
进入包以后,先创建一个演员,然后创建一些用例,再用directed association将二者联系起来。
在这里插入图片描述
我们的需求是:

  1. 读者可以借阅图书
  2. 读者可以归还图书
  3. 读者可以预留图书
  4. 读者可以查询图书
  5. 读者可以撤销图书预留
  6. 读者可以查询自己的账户
  7. 读者可以更改自己的账户
  8. 读者可以缴纳罚款

因此,接下来只需要根据需求画图即可。考虑到交罚款和还书是一起的,所以把交罚款作为还书的拓展用例。
在这里插入图片描述
双击还书用例,最右侧按钮即为拓展用例。
在这里插入图片描述
以上即为我们根据需求画出来的用例。
此外,除了搜书不需要进行系统登记以外,其余几种均需要登记。这种共有的行为可以用包含关系实现。(starUML中是Dependency)
在这里插入图片描述
对于馆员,我们创建一个新的包,在包内根据以下需求画出用例图。

  1. 馆员可以修改图书信息
  2. 馆员可以删除图书信息
  3. 馆员可以添加读者账户
  4. 馆员可以删除读者账户
  5. 馆员可以修改读者账户

在这里插入图片描述
剩余两个分别是;
在这里插入图片描述
在这里插入图片描述
我们的四个包分别是:
在这里插入图片描述
在这里插入图片描述
从右侧栏可以进入每个包内。
最后,我们对几个实体之间的关系,画一个图。
在这里插入图片描述

  • 4
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值