UML设计系列(4):用例图

目录

传送门

UML之类图

UML之时序图

UML之状态机

什么是用例图

感受一下

基本概念

用例图的作用

用例的组成

参与者

用例

关联

总结&参考

参考资料:《UML2基础、建模与设计实战》


传送门

UML之类图

UML之时序图

UML之状态机

什么是用例图

用例用于描述一系列的动作,这些动作是系统对一个特定角色来执行。在模型中用例是通过写作来实现的。

感受一下

用例图是从用户的角度出发,描述系统功能,并且指明各功能的操作者-角色。看一个图书管理系统的用例:

上面是一个简单的用例图,包含的主图内容:用例、参与者、关联。有2个角色:

  • 管理员:2个动作,新增图书、下架图书
  • 普通用户:浏览图书、用户注册、系统登录

基本概念

用例图(Use Case Diagram):是显示一组用例、参与者以及他们之间关系的一种图

用例图的作用

用例图从用户的角度出发而不是开发者角度出发,描述对软件产品的需求,分析产品所需的功能和动态行为。

主要作用有以下几点:

  • 用来描述将要开发系统的功能需求和系统使用场景
  • 作为设计和开发过程的基础,促进各阶段开发工作的进展
  • 用于验证和确认系统需求

用例的组成

  • 参与者(Actor):也成为角色,它代表系统的用户
  • 系统边界(System scope):它确定系统的范围
  • 用例(Use case):它代表系统提供的服务
  • 关联(Association):它代表参与者与用例之间的关系

参与者

在上图中,"管理员"、"用户"都是参与者,我们一般称之为"角色"。但是参与者并不是特指人,与系统交互的另一个系统甚至设备也可以,都是指参与系统的角色。一般如下表示,并且可以命名。

所以在系统中,需要能准确的识别参与者。

比如,小丽打电话给小王,让他在图书馆帮忙借一本书,那么这里面谁是图书管理系统参与者?小王,准确一点是小王在系统中的角色!

用例

在图书管理系统中,新增图书、下架图书、流量图书、用户等都是用例。一般如下表示:

用例一般来源于系统需求分析,即可以是比较简单的,比如"新增图书";也可能是比较复杂的,比如"用户丢失图书"。

用例是不区分角色的,多个角色直接的用例可能是一样的,比如图书管理员也是可以"浏览图书"、"用户注册"

关联

角色关联关系

上面提到不同的角色可能有相同的用例,那么角色之间又有什么关系呢?

让我们扩展一下图书管理系统的角色,普通用户,可以分为老师、学生,学生又可以分为研究生、本科生,假设他们的用例不一样:比如老师可以延期借阅:

用例关联关系

上面提到一个复杂用例"用户丢失图书",这个用例复杂在于,系统里面要先查询图书-》下架图书-》用户赔偿,可以发现,

它其实包含了好几个子用例,比如"下架图书",这种我们称之为"包含"关系:《include》

当然,这里面还包含一个"用户赔偿",它与"还书"之间是"扩展"关系:《extend》

"包含"与"扩展"直接的区别是:extend是一种特殊情况下才触发的分支操作,而包含是单独的操作,比如上面,如果用户没有丢失图书,永远也不会触发"用户赔偿";但是图书下架是很有可能的

总结&参考

UML系统分析建模里面,用例图是一个很重要的点。准确的分析识别用例图、角色及他们之间的关系,对系统后期的开发机确认有很大帮忙

参考资料:《UML2基础、建模与设计实战》

  • 5
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值