参与者、用例及其关系
引言
软件需求工程是指在软件开发过程中,通过对用户需求的分析、收集、规范和管理,确定软件系统的功能、性能、接口、约束等方面的需求,并将其转化为可实现的软件系统的过程。
参与者、用例以及它们之间的关系属于软件需求工程中的知识点,应用于用例图。
简介
-
参与者(Actor):在用例中,参与者通常是指与系统进行交互的人、组织或其他系统。
-
用例(Use Case):用例是描述系统如何满足参与者需求的一种方式,是从用户角度描述系统行为的一种技术,用于描述系统的功能需求和业务流程。
-
关系(Relationship):用例和参与者之间的关系可以是一对一、一对多或多对多。常见的关系有:扩展关系(Extend)、包含关系(Include)和泛化关系(Generalize)。
常见关系
1.关联关系
定义:参与者与用例之间通常用关联关系来描述,关联关系可以是单向的或双向的,它描述了类对象之间的关联性。
表示方法:
单项:带箭头的实线,箭头指向用例(用例被关联)。
双向:双向箭头加实线或不带箭头的实线。
如图:
2. 泛化关系
定义:泛化关系是一种特殊的继承关系,子用例是父用例的一种特殊形式,它继承了父用例的所有结构、行为、关系。表示一个用例可以泛化为另一个或多个子用例,通常用于描述一些相似但有差异的功能。
注意:泛化关系的箭头不是指向被泛化,而是指向被继承。泛化和继承是不同的方向。泛化是从下到上的抽象过程,继承是从上到下,从一般到特殊的过程。
表示方法:带空心箭头的实线,指向父用例(父用例被泛化)。
如图:
3. 包含关系
定义:一个用例的行为包含了另一个用例的行为,是比较特殊的依赖关系,通常用于描述一些共用的、重复的功能。
注意:包含关系双方不能访问对方的属性。
表示方法:虚线箭头且有<< include>>字样,箭头指向被包含的用例(包含用例被包含)。
如图:
4. 扩展关系
定义:扩展关系表示一个用例可以在另一个用例的基础上进行扩展,通常用于描述一些可选的、非必须的功能。
注意:在扩展关系中,基础用例没有扩展也是完整的,而在包含关系中,基础用例依赖于包含用例的执行结果。
表示方法:虚线箭头且有<< extend>>字样,箭头指向被扩展的用例(基础用例被扩展)。
如图:
总结
了解参与者、用例以及它们之间的关系,有助于分析和理解系统的需求,进而指导软件开发过程中的设计和实现。
标签:关系,泛化,包含,箭头,及其,用例,参与者 From: https://www.cnblogs.com/cjw2002/p/17760481.html