01 基本概念
黑盒:系统对外部的客观世界发挥什么作用,提供什么业务功能来展现系统。
白盒:系统如何提供业务服务功能的。
- 系统边界:一个系统与系统以外的各种事物的分界线
- 系统:是由“用户”使用的软件,以及所有与其相关的硬件。
- 参与者:在系统边界以外,与系统进行交互的事物 —— 人员、设备、外系统
02 Actor(参与者/活动者/执行者/行动者)
- 定义:Actor是指系统以外的实体,需要使用系统或与系统交互的任何事物,包括人,设备和其它系统。
用户(直接使用系统的)、外部系统和设备等
如果参与者是人 如果参与者是外部设备
- 可以发出对系统服务的请求
- 按系统的要求提供服务
- 通过参与者和系统之间服务请求的复杂对话与系统交互
- 所有参与者的请求/相应的完全集构成了可以察觉到的系统问题域边界
- 一个参与者的一个实例代表以一种特定方式与系统进行单独加护
- 参与者存在于系统之外,不是系统的一部分
2.1 泛化关系(参与者之间)
- 定义:
- 表示一个一般性的参与者与另一个更为特殊的参与者之间的联系。
- 从A参与者到B参与者之间的泛化关系,指A的实例能与B的实例进行通讯的用例实例进行通信
空心箭头指向父参与者(一般将父参与者画在上方
- 参与者有相同的系统调用请求。
- 如果一组参与者具有共同的性质,可以把这些性质抽取出来放在另一个参与者中,再从中继承,称为’泛化关系‘。
03 Use Case(用例、用况)
- 定义:
- 是对一个活动者使用系统的一项功能(一种操作)时进行交互的过程的文字描述序列
- 时系统、子系统或类 和外部参与者交互的动作序列。
从使用系统的角度描述系统中的信息,站在系统外部察看系统功能,不考虑内部实现方法。使用Use Case可以促进与用户沟通,理解正确需求。面向对象设计的起点
对用户需求的规范化描述
(一个actor可以执行多个UseCase;一个UseCase可以由多个actor使用)
1. 一个用例可以同时与多个参与者交互
- 参与者间通过系统实时交互
- 参与者间与系统处于同一控制流
2. Use Case的实现
- UML中,用“协作”来实现Use Case的实现
04 scenario脚本
- 定义:又称情景,情节,剧本等。在UML中,scenario指贯穿usecase的一条单一路径,用来显示usecase中某种特殊情况。
05 用例(UseCase)与参与者(Actor)之间的关系
- 定义:关联是参与者在用例中的参与(参与者实例与用户实例之间的相互通信),表示为实线
06 Use Case间的关系
6.1 泛化关系
- 定义:泛化代表一般与特殊的关系(父A:一般;子B:特殊)。(子用例指向父用例,空心三角形朝上
6.2 包含关系
- 定义:指两个用例之间的关系,其中一个用例的行为(基本用例)包含了另一个用例(包含用例)的行为
- 基本用例依赖于包含用例
6.3 扩展关系
- 定义:用例B的实例是可以被用例A指定的行为扩充