UML—用例图

什么是用例图

用例图表明了开发者和用户对需求规格达成的某种共识,描述了一个系统待开发的功能需求。

原则:从用户的角度理解系统,不需要考虑某个功能如何实现,只考虑有哪些功能,由谁来进行交互和执行。

它强调系统的功能和执行者是谁。

用例图的构成

用例图由角色、用例、关系构成。

1.角色
 角色即用例的执行者,除了是人(包括使用者、维护者)外,还可以是一些事、设备或跟此系统连接的其他系统。用一个小人来表示。

 那么如何寻找执行者呢?
 寻找执行者时按照以上给出的三类角色思考即可。
 1)谁使用系统的功能?谁需要系统支持日常工作?谁来维护这个系统?
 2)使用这些功能需要操作哪些硬件?
 3)和哪些系统进行交互?
 4)还有哪些人或事物对结果感兴趣?

2.用例
 用例即对功能的描述,用椭圆表示。

3.关系
 关系分为3种:执行者和用例之间的关系、用例和用例之间的关系、角色和角色之间的关系。
 关系分别有:依赖关系、泛化关系、关联关系。

用例图的属性

1.事件流:用例在执行时,执行者和系统之间的交互关系。分为基本流和备选流。
 基本流:是经过用例最简单的路径,即正确完成一个用例的基本流程,这条流程无任何差错,程序直接从开始到结束。
 备选流:即在用例执行中出现的各种错误情况,比如在登录界面什么都不输入或者密码输入错误就属于备选流,而基本流就是账号和密码都输入正确,并顺利进入主界面。备选流也有可能导致用例结束。

2.前置条件:用例执行的前提条件,说明在什么条件下可以开始执行一个事件流。
3.后置条件:用例执行结束时系统的状态。

用例图示例

这里写图片描述

用例之间的关系

1.《include》包含
  包含关系:我的理解就是:1.一个用例使用了另一个用例的功能。2.一个用例是另一个用例的子功能。
  包含用例通常用在:比如说有一个用例有许多用例都要用到它,就可以把它单独抽象出来,而不必每一个用例在实现的时候重写这个功能的代码,这样做利于提高代码的复用性。就像上图中的“导出数据”一样。
  一句话解释就是:将重复的功能分解。

2.《extend》扩展关系
  扩展关系:举个栗子:比如图书借阅系统,当你还书时,在规定时限内可以顺利还书。但是如果你超出了借阅时限,则需要缴纳罚款,那么缴纳罚款就是还书用例的一个扩展用例。
  即扩展用例在一定条件下才会用到,正常的基本流不会用到扩展用例。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值