UML图-用例图

用例图的介绍和组成元素

用例图(Use Case Digram):用来直观的描述系统对外提供的功能。

用例图包含三个主要的元素:角色、系统、用例。

  • 角色:图中的小人
  • 系统:图中的边框
  • 用例:图中的椭圆

如何识别角色

并不是只有真正的人才是角色,只要和系统有交互的外部实体都是角色。

常见的角色如下:

  • 使用者:使用系统服务的人和系统。以微博为例,微博用户就是使用者
  • 维护者:维护和管理系统的人和系统。以微博为例,运维人员,微博小秘书等都是维护者
  • 监管者。以微博为例,安全部门、政府人员、绿网等。
  • 依赖者。以微博为例:其他网站、基于微博API开发的APP

注意,虽然在现实生活中一个人可以同时承担多个角色的职责,但在用例图中,一个角色应该只承担一个职责,否则系统提供的能力与角色的对应关系就无法清晰地表达。

如何识别系统边界

收银机的条码扫描仪是否属于收银机系统的一部分?

站在客户的角度,对于客户来说,他不会管条码扫描仪是哪一部分,他只管能够快速完成买单。这里的买单就是一个业务功能,为了完成这个业务功能,要提供条码扫描仪,所以条码仪是业务系统的一部分。

站在开发者的角度,对于收银机的软件系统来说,条码扫描仪只是输入条码的一种方式,是系统外的一个外部输入设备。所以,条码扫描仪只是输入条码的一种方式,是系统外的一个外部输入设备。所以条码扫描仪并不是软件系统的一部分。

但对于用例图来说,第一种说法应该是正确的,因此此时软件系统还没有,只有业务系统,客户此时看到的也只有业务系统。

用例图的关系

角色和用例的关系有两种:无关系和关联关系

这里写图片描述

用例和用例的关系

  • 泛化,其实就是继承,子用例是父用例的一个特殊实现,泛华是通过一条带三角箭头的连接线表示的,箭头指向的一端是父用例,另一端是子用例。

这里写图片描述

  • 包含:就是某一个用例又包含更多的小用例。包含是通过一条带箭头的虚线表示的,并且会有一个关键标识<<include>>,箭头所指的用例是小用例,另一端是大用例。

这里写图片描述

  • 扩展:是指在原有用例功能上的一个扩展和延伸。扩展通过一条带箭头的虚线表示,并且有一个关键标识<<extend>>,箭头所指的用例是基础用例,另一端是扩展用例。(可有可无的功能,比如修改密码,没有这个功能系统也可以用)

这里写图片描述

  • 依赖:是指某个用例功能必须依赖另一个用例才能完成(这个关系不是UML的标准关系),但其实在实际应用中是很常见的,例如,发微博之前要登录。

这里写图片描述

猜你喜欢

转载自blog.csdn.net/zsx157326/article/details/80870975