用例图(User Case Diagram):也称为用户模型图,是从软件需求分析到最终实现的第一步,它是从
客户的角度来描述系统功能
。
当拿到客户的需求之后,程序员需要再次确定需求,用例图是和客户沟通的直接图形语言
。
三个基本成员
三个基本组件:参与者(Actor)、用例(User Case)、关系
[参与者(Actor)]
与系统打交道的人或其它系统,即使用该系统的人或事物。在UML中参与者用人性图标表示。
[用例(User Case)]
代表系统的某种完整的功能,在UML中使用一个椭圆来表示。
[关系]
关系分为关联关系(Association)
、包含关系(Include)
、扩展关系(Extend)
、泛化关系(Generalization)
绘图
工具:PowerDesigner 16
[案例一]
现有游客和管理员两种客户,游客只能查询数据,管理员不仅可以查询数据还可以添加数据、删除数据。
如图所示,图中的两个小人是两种不同的客户(游客和管理员),三个椭圆形是用例(功能),用户和功能之间的线表示关联关系,这个线默认不带箭头,当然,也可以自己设置带有箭头的线。
该案例主要演示的内容是:参与者(Actor)与用例(User Case)之间关系的表示。
另外,关联关系是有方向的,起始方向和目标方向,可以修改线条的格式添加箭头,当然也可以不要箭头。
[案例二]
爱奇艺有两种用户,分别是普通用户以及会员用户,普通用户不可以观看VIP专区视频,而VIP用户可以观看所有视频。
如图所示,该用例图完全符合需求,但是我想加入泛化关系,修改后的用例图如下:
图片.png上图中,用户
和会员用户
属于泛化关系,相当于面向对象语言中的继承,用户是父类,会员用户是子类,然而,无论是大众视频还是VIP专区视频,它们都属于视频,所以可以增加视频
用例,与大众视频和VIP专区视频形成包含关系。
这就是所谓的包含关系,那么还剩下最后一个关系:扩展关系(Extend)。
假如爱奇艺新增了VIP体验券,那么,普通用户可以拿到这个体验券观看VIP专区视频了。
最终效果如下:
图片.png[本章完...]
网友评论