用例图之间的几种关系

本文主要介绍了用例图之间的几种关系,包括执行者与执行者的继承关系、执行者与用例的关联关系、用例与用例的包含、扩展和继承关系。详细阐述了各关系的解释、表现形式、核心要点及示例,还说明了这些关系在软件开发中的作用,如减少代码冗余、提高程序安全性等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

用例图之间的几种关系

1.执行者与执行者之间的唯一关系(继承)

A.解释

  执行者与执行者之间只有一种关系即继承(也叫泛化)。其意义与面向对象过程中的继承关系类似,但它主要强调子类执行者对父类执行者与用例之间的交互行为的继承。

B.表示形式

在这里插入图片描述(从子类指向父类)

C.核心

两个或两个以上执行者之间有共性,共性单独设为一个执行者。

D.例子

在教务管理系统中,老师、学生、用户之间的关系
在这里插入图片描述
理解:老师和学生都是用户的子类,所以继承了用户身份验证和注册操作

E.有什么用?

1.减少代码的冗余量
2.易于修改

2.执行者与用例之间的关系(关联)

A.解释

通常来讲,执行者与用例之间的关系都是用无向边表示的(可理解为双向传递信息)

B.表现形式

在这里插入图片描述

C.核心

对号入座

D.例子

管理员与用户身份验证的关系
在这里插入图片描述
但也有特殊情况,如下所述
1.当多个执行者与用例相连时,为了强调某个执行者是主要执行者,就在执行者到用例之间加上一条边。
2.被动执行者仅从用例获取信息,而不提供信息给用例,那么此时用例到执行者之间就可以连一条有向边。

E.有什么用

1.使程序整洁了,避免混乱
2.使软件开发符合要求,难出现缺斤少两的现象。

3.用例与用例之间的关系

3.1 包含(include)

A.解释

A.1一个用例所需要完成的功能是多个互不联系的用例的功能之和,那么它们之间就具备着包含关系。

A,2多个用例之间具有共性,就需要把共性提取出来作为一个新的用例,此时新用例与原来的多个用例之间就具备了包含关系。

B.表现形式

在这里插入图片描述
(指向包含的用例)

C.核心

对于不同用例而言,提取公共子函数,在登录教务管理系统中,老师和学生都包含着身份信息验证这个用例。

对于某一个用例而言,可以采用拆分法,不断拆分成小的用例。如管理图书信息这个用例

D.例子

图书管理系统中,管理图书信息这个用例就包含增加图书信息,删除图书信息,修改图书信息,查询图书信息四个子用例
在这里插入图片描述

E.有什么用?

1.方便软件开发人员开发出软件需的功能
2.能使客户更好的表达自己的观点(错则改正)。

3.2 扩展(extend)

A,解释

通俗点来说就是倒霉到家了,碰到了千万分之一概率的异常情况,如火车晚点3小时。

B.表现形式

在这里插入图片描述
(指向被扩展的用例)

C.核心

异常情况

D.例子

在用户身份验证这一用例中,只要输入账户和密码就可以登录这个网站了。但有一种特殊情况是用户忘记了密码,此时就需找回密码,而找回密码很显然可以作为一个单独的用例。那么它就相当于在用户身份验证这个用例下的一种异常情况,所以用户身份验证与找回密码是扩展关系
在这里插入图片描述

E.有什么用

1.提高程序的安全性
2.减少程序的维护成本(因为不怕异常)

3.3 继承

A.解释

同执行者与执行者之间的关系类似,只需把执行者变成用例就可以得到其解释。

B.表现形式

在这里插入图片描述
(指向父类)

C.核心

子类继承了父类的所有非私有属性和方法,但与父类不同的是它在自己的基础上增加了一些新的东西.

D.例子

蒙牛公司下的产品——特仑苏是继承蒙牛的草场和资金,但他新的地方在于广告效应深远和牛奶的质量好
在这里插入图片描述

E.有什么用?

同执行者与执行者之间的关系(泛化)。

### UML用例图中的四种主要关系 #### 1. 关联关系 关联关系表示参与者与用例之间或者不同用例之间的交互连接。这种关系表明某个参与者参与了特定的用例,或者是两个用例间存在某种形式的合作或依赖[^3]。 #### 2. 包含关系 包含关系是一种强制性的组合方式,在此情况下,基本用例会无条件调用另一个被称为“被包含”的用例。这意味着每当执行该基本用例时,“被包含”部分总是会被触发并完成其定义的功能。在图形上表现为一条带有箭头的实线加上《include》标签,箭头方向指向被包含的用例[^2]。 ```mermaid graph TD; A[基础用例] -->|<<include>>| B(被包含用例); ``` #### 3. 扩展关系 扩展关系允许在一个已有基础上增加额外的行为逻辑而不改变原有结构。具体来说,如果某些条件下发生,则可以从外部引入一个新的用例来补充现有流程;反之则不会影响原过程正常运行。为了区分于其他类的链接,在绘图时表示为带箭头的虚线加《extend》标记,并且箭头应指向作为目标的基础用例而非发起方即扩展者。 ```mermaid graph TD; C[基础用例] -.->|<<extend>>| D{扩展用例}; ``` #### 4. 关系 化指的是特殊化的过程——更具体的子类继承自更为通用的父类特性的同时还可以添加自己独有的属性和方法。对于用例而言,这意呸着一个特殊的用例可以继承一般性用例的所有特征,并在此之上进一步细化或修改。在图表里通常画成从特化的用例指向更加普遍的那个实体的一条直线,末端附有三角形符号代表继承的概念[^1]。 ```mermaid graph TD; E[派生/特殊用例] -->|<<generalization>>| F[基类/通用用例]; ```
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SSS4362

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值