用例图包含6个基本元素:
参与者(Actor)
用例(Use Case)
泛化关系(Generalization)
扩展关系(Extend)
包含关系(Include)
关联关系(Association)
- 泛化关系
定义:子用例和父用例相似,但表现出更特别的行为;子用例将继承父用例的所有结构、行为和关系。子用例可以使用父用例的一段行为,也可以重载它。父用例通常是抽象的。
表现:通过空心箭头表示,箭头指向子用例
例图:
- 包含/扩展(include/extend)
定义:包含关系描述的是一个用例需要某种功能,而该功能被另外一个用例定义,那么在用例的执行过程中,就可以调用已经定义好的用例。
扩展关系描述的是用一个用例(可选)扩展另一个用例(基本例)的功能。
用例的主要属性
- 事件流
事件流可以分为:
基本流-------常规和预期路径
备选流--------受到其他因素影响,用例执行了其他的路径
- 前置条件:该用例执行的前提条件,用来描述什么条件下可以执行一个事件流
- 后置条件:用例结束时的系统的状态
前置和后置条件可以用于验证用例是否正确
用例的粒度和范围
目的:用来评判用例图的优劣
级别划分:
1.概述级
2.用户目标级
3.子功能级
举个例子:图书管理系统(Library)
概述级:
用户目标级:
子功能级:
用例图的作用
重在应用
重在交流
重在事件流的描述
用例图的注意点
1. 应该清晰的定义系统边界
2. 防止用例过多
3. 应该从执行者的角度来命名用例
4. 用例描述正规程度
5. 避免执行者的名字不一致
6. 避免执行者和用例之间的关系太复杂
7. 注意用例的大小是合恰当
8. 避免用例描述混乱
9. 区分用例分解和功能分解
10.避免客户不能理解用例的情况发生
11.有些场合,用用例来描述需求是不合适的