如何使用用例之间的关系?

本文介绍了用例图的基本概念,如用例、演员和系统边界,并重点讲解了用例之间的不同关系,包括通信、扩展、包含和泛化。通过具体的示例解释了这些关系在实际系统中的应用,帮助初学者更好地理解和使用用例图。

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

什么是用例图?

用例提供了系统的高级视图。用例建模是与用户和其他利益相关者就系统和目标进行沟通的有效方式。用例描述了系统执行的动作序列,其为特定的actor产生可观察的值结果。它支持需求工程活动和捕获系统应该执行的需求过程,主要是系统功能需求。

用例之间的关系

用例共享不同类型的关系。两个用例之间的关系基本上是两个用例之间的依赖关系。定义两个用例之间的关系是用例图的建模者的决定。使用不同类型关系的现有用例减少了在系统中定义用例所需的总体工作量。用例关系可以是以下之一:

  • 通信 (communication link): 通过将actor符号连接到用例符号的实线路径来显示演员在用例中的参与。据说演员与用例“沟通”。这只是一个actor和用例之间的关系。见图 1。

图3.4
图  1通信关系

  • 扩展 (Extends): 扩展显示用例之间的关系。用例A和用例B之间的关系表明用例B的实例可以包括(在扩展中指定的)由A指定的行为。用例之间的“扩展”关系用带有点线的有向箭头描绘。轴。箭头的尖端指向父用例,子用例连接在箭头的底部。构造型“”标识为扩展关系,如图 2 所示。

图3.5

图 2扩展关系的示例

例如,验证用户的系统。无效密码是验证密码用例的扩展,如图3.5所示。

  • 包含 (include) :_当用例被描述为使用另一个用例的另一个功能的功能时,用例之间的这种关系被命名为包含或使用关系。换句话说,在包含关系中,用例包括在另一用例中描述的功能作为其业务处理流程的一部分。从用例A到用例B的使用关系表示用例的实例还将包括由B指定的行为。包含关系用具有虚轴的有向箭头描绘。箭头的尖端指向子用例和在箭头底部连接的父用例。构造型“”将关系标识为包含关系。

图3.6

图 3包含关系的示例

系统边界可能是需求文档中定义的整个系统。对于大型复杂系统,每个模块可以是系统边界。例如,对于组织的ERP系统,诸如个人,工资单,会计等的每个模块可以形成特定于这些业务功能中的每一个的用例的系统边界。整个系统可以跨越描述整个系统边界的所有这些模块。

  • 泛化 (Generalization): 泛化关系也是用例之间的父子关系。泛化关系中的子用例具有基础业务流程的含义,但是是对父用例的增强。在用例图中,泛化显示为带有三角形箭头的有向箭头。儿童用例连接在箭头的底部。箭头的尖端连接到父用例。

图3.7

图 4 泛化关系的一个例子

从表面上看,泛化和延伸似乎或多或少相似。但是泛化和延伸关系之间存在细微差别。当在用例之间建立泛化关系时,这意味着父用例可以被子用例替换而不会破坏业务流。另一方面,用例之间的扩展关系意味着子用例将父用例的功能增强为专用功能。扩展关系中的扩展中的父用例不能被子用例替换。


从泛化关系图(图 4)中,您可以将“Store_patient_records(纸质文件)”(父)用例描述为“Store_patient_records(计算机化文件)”(子)用例的通用版本。定义两者之间的泛化关系意味着系统业务流中任何出现的“Store_patient_records(纸质文件)”用例都可以用“Store_patient_records(计算机化文件)”用例替换,而不会影响任何业务流程。这意味着将来您可能会选择将患者记录存储在计算机化文件中而不是纸质文档中,而不会影响其他业务操作。
现在,考虑无效密码用例的示例,它是Login用例的扩展。登录用例不能被无效密码用例替换。如果您尝试这样做,您将无法使用“无效密码”用例无缝替换“登录”用例的出现。

用例图指南

  • 确保每个用例都能满足可观察的用户目标
  • 用例图未显示用例的详细信息:它仅总结了用例,参与者和系统之间的一些关系。
  • 用例图未显示为实现每个用例的目标而执行步骤的顺序。
  • 与用例相关的其他详细信息可以在其他图表和文档中描述,例如用于描述系统场景行为的序列图,或用于在用例场景中涉及的对象建模的类图。
  • 用例仅涉及系统的功能要求。其他要求(如业务规则和实施约束)必须单独表示。
  • 将大型应用程序划分为包以形成软件架构。

用例图示例:包含和扩展用例

此用例图示例描述了几个业务用例的模型。用例模型表示餐馆(业务系统)与其主要利益相关者(业务角色和业务角色)之间的交互。在确定了基本用例之后,您可以使用<构造这些用例>和<>用例以更清晰。

åå«åæ©å±ç¨ä¾

使用此用例图模板创建自己的图表。只需单击“使用此模板进行编辑

用例图示例:ATM

这是ATM的用例图模板。在学习UML时,ATM系统被广泛用作例子。ATM用例图是非常经典和流行的UML示例之一。让我们来看看。在此示例中,作为ATM用户的客户被建模为actor。提取现金,转移现金,向慈善机构捐款,支票余额和结算账单等主要功能都被模拟为用例。所有这些用例都包含Login用例。这意味着它们都包含与Login用例建模相同的登录功能。登录用例通过两个用例进一步扩展。这可以模拟登录过程中可能发生的异常情况。

èªå¨å款æº

使用此用例图模板作为创建自己的图表的起点。单击“使用此模板"进行编辑”


为初学者推荐UML文章

 

参考资源链接:[Enterprise Architect中文教程:从入门到精通](https://wenku.youkuaiyun.com/doc/613dykfkhu?utm_source=wenku_answer2doc_content) 要在Enterprise Architect中创建用图,首先你需要启动软件并选择“项目”菜单下的“新建图表”,然后在图表类型中选择“用图”。一旦创建了用图,你就可以在图中添加参与者(用户或其他系统)和用。参与者表示与系统交互的角色,而用则表示系统可以执行的功能。绘制关系时,可以使用以下几种关系类型来描述用之间的交互: 1. 关联(Association):表示参与者和用之间的直接交互关系。 2. 包含(Include):表示基本用的执行总会隐含地包含另一个用的执行。 3. 扩展(Extend):表示基本用的执行可能会在某些条件下临时包含另一个用的功能。 4. 泛化(Generalization):表示一个用可以继承另一个用的特性。 创建关系时,从一个参与者或用拖动一个连接线到另一个,并在连接线弹出的菜单中选择相应的关系类型。对于每个用,你可以进一步定义其属性,如名称、描述等,并且能够通过右键点击用来添加前置条件、后置条件以及用的属性。 为了更好地掌握这一过程,建议参考《Enterprise Architect中文教程:从入门到精通》一书。该教程详细讲解了用图的创建方法及其与系统功能的关系定义,通过实演示了如何在Enterprise Architect中实现这些操作。同时,该书还包括了其他UML图的创建和配置,为软件开发的各个阶段提供了全面的指导,是软件开发团队不可或缺的实用资源。 参考资源链接:[Enterprise Architect中文教程:从入门到精通](https://wenku.youkuaiyun.com/doc/613dykfkhu?utm_source=wenku_answer2doc_content)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值