参与者、用例及其关系

参与者、用例及其关系


引言

  软件需求工程是指在软件开发过程中,通过对用户需求的分析、收集、规范和管理,确定软件系统的功能、性能、接口、约束等方面的需求,并将其转化为可实现的软件系统的过程。

  参与者、用例以及它们之间的关系属于软件需求工程中的知识点,应用于用例图。


简介

  • 参与者(Actor):在用例中,参与者通常是指与系统进行交互的人、组织或其他系统。

  • 用例(Use Case):用例是描述系统如何满足参与者需求的一种方式,是从用户角度描述系统行为的一种技术,用于描述系统的功能需求和业务流程。

  • 关系(Relationship):用例和参与者之间的关系可以是一对一、一对多或多对多。常见的关系有:扩展关系(Extend)、包含关系(Include)和泛化关系(Generalize)。


常见关系

1.关联关系

定义:参与者与用例之间通常用关联关系来描述,关联关系可以是单向的或双向的,它描述了类对象之间的关联性。

表示方法:

 单项:带箭头的实线,箭头指向用例(用例关联)。

 双向:双向箭头加实线或不带箭头的实线。

如图:

2. 泛化关系

定义:泛化关系是一种特殊的继承关系,子用例是父用例的一种特殊形式,它继承了父用例的所有结构、行为、关系。表示一个用例可以泛化为另一个或多个子用例,通常用于描述一些相似但有差异的功能。

注意:泛化关系的箭头不是指向被泛化,而是指向被继承。泛化和继承是不同的方向。泛化是从下到上的抽象过程,继承是从上到下,从一般到特殊的过程。

表示方法:带空心箭头的实线,指向父用例(父用例泛化)。

如图:

3. 包含关系

定义:一个用例的行为包含了另一个用例的行为,是比较特殊的依赖关系,通常用于描述一些共用的、重复的功能。

注意:包含关系双方不能访问对方的属性。

表示方法:虚线箭头且有<< include>>字样,箭头指向被包含的用例(包含用例包含)。

如图:

4. 扩展关系

定义:扩展关系表示一个用例可以在另一个用例的基础上进行扩展,通常用于描述一些可选的、非必须的功能。

注意:在扩展关系中,基础用例没有扩展也是完整的,而在包含关系中,基础用例依赖于包含用例的执行结果。

表示方法:虚线箭头且有<< extend>>字样,箭头指向被扩展的用例(基础用例扩展)。

如图:


总结

 了解参与者、用例以及它们之间的关系,有助于分析和理解系统的需求,进而指导软件开发过程中的设计和实现。

posted @ 2023-10-12 20:21  一支萝卜  阅读(1559)  评论(0)    收藏  举报