首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

用例图-包含关系

用例图(Use Case Diagram)是 UML(Unified Modeling Language)的一部分,用于描述系统的功能需求以及系统与外部实体(如用户或其他系统)之间的交互。用例图中的包含关系(Include Relationship)表示一个用例在其执行过程中会包含另一个用例的行为。

包含关系的定义

包含关系通常用于表示用例之间的共用行为。它有以下几个特点:

  1. 复用行为:当多个用例共享相同的行为时,可以将这些行为提取到一个独立的用例中,并通过包含关系来复用这些行为。
  2. 强制执行:包含关系表示被包含的用例在包含它的用例执行时一定会被执行。

包含关系的表示

在用例图中,包含关系使用带有箭头的虚线表示,箭头指向被包含的用例,并在箭头旁边标注 <<include>>

示例

假设我们有一个在线购物系统,其中有以下几个用例:

  1. 用户登录(User Login)
  2. 浏览商品(Browse Products)
  3. 添加商品到购物车(Add to Cart)
  4. 结账(Checkout)

在这个系统中,结账过程(Checkout)需要用户先登录(User Login)。因此,我们可以使用包含关系来表示这一点。

用例图示例

代码语言:javascript
复制
+-------------------+
|    用户           |
|    (Actor)        |
+-------------------+
         |
         |
         v
+-------------------+
|  浏览商品         |
|  (Use Case)       |
+-------------------+
         |
         |
         v
+-------------------+        +-------------------+
|  添加商品到购物车 |        |  用户登录         |
|  (Use Case)       |<-------|  (Use Case)       |
+-------------------+        +-------------------+
         |
         |
         v
+-------------------+
|  结账             |
|  (Use Case)       |
+-------------------+
         |
         |
         v
+-------------------+
|  用户登录         |
|  (Use Case)       |
+-------------------+

在这个示例中:

  • 用户登录(User Login)用例被 结账(Checkout)用例包含。
  • 用户登录(User Login)用例也可以被 添加商品到购物车(Add to Cart)用例包含。

用例图的绘制工具

你可以使用多种工具来绘制用例图,包括但不限于:

  • Microsoft Visio:一个功能强大的图表绘制工具。
  • Lucidchart:一个在线图表绘制工具,支持 UML 图。
  • Draw.io:一个免费的在线图表绘制工具。
  • StarUML:一个专门用于 UML 建模的工具。
  • PlantUML:一个基于文本的 UML 绘制工具,可以与多种 IDE 集成。

PlantUML 示例

如果你喜欢使用 PlantUML,可以使用以下代码来生成上述用例图:

代码语言:javascript
复制
@startuml
actor 用户 as User

usecase 浏览商品 as BrowseProducts
usecase 添加商品到购物车 as AddToCart
usecase 结账 as Checkout
usecase 用户登录 as UserLogin

User --> BrowseProducts
User --> AddToCart
User --> Checkout

Checkout --> UserLogin : <<include>>
AddToCart --> UserLogin : <<include>>
@enduml

将上述代码粘贴到支持 PlantUML 的工具中(如 PlantUML 在线编辑器或集成了 PlantUML 插件的 IDE),即可生成相应的用例图。

通过使用包含关系,可以更好地组织和复用用例中的共用行为,从而使用例图更加简洁和易于理解。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

图示例:包含和扩展

什么是提供了系统的高级视图。建模是与用户和其他利益相关者就系统和目标进行沟通的有效方式。描述了系统执行的动作序列,其为特定的actor产生可观察的值结果。...指南 确保每个都能满足可观察的用户目标 未显示的详细信息:它仅总结了,参与者和系统之间的一些关系未显示为实现每个的目标而执行步骤的顺序。...与相关的其他详细信息可以在其他图表和文档中描述,例如用于描述系统场景行为的序列,或用于在用场景中涉及的对象建模的类仅涉及系统的功能要求。...你如何写一个包含以下元素: 名称 - 用于传达范围的明确动词/名词或演员/动词/名词描述符。 简要说明 - 描述范围的简短文本段落。...发布条件 - 完成时必须为true的任何内容。 包含和扩展 图示例描述: 此图示例描述了几个业务的模型。

2.6K90

EA&UML日拱一卒 包含关系

包含关系 包含(Include) 是两个之间的有向关系,表示被包含的行为被插入到包含的行为中。 包含关系可在两个或多个的行为存在共同部分时使用。...通常情况下,这个公共部分被提取到一个单独的中,然后被所有具有这个部分的基本包含。由于包含关系的主要用途是重用公共部分,因此基本中剩下的部分通常并不完整,需要和包含的部分结合才有意义。...这一点反映在关系的方向上:基础依赖于被包含,但反之则不然。 包含关系允许的分层组合以及重用。...可以看到我们将一个转账分解为九个小的,而这里的取款和九个之间的关系就是包含关系也就是说:转账包含九个小。...这种说法在EA的图中,使用下面的图表来表示包含关系: 上面的转账变成就是下面的样子: 使用同样的方法,取款可以表示成下面的样子: 可以看到,除了绿色的执行去狂动作之外,所有的被包含都是在转账中出现过的

26710
  • UML:的依赖与扩展关系详解

    引言 在软件设计和建模中,理解和正确使用UML(统一建模语言)的各种关系是非常重要的。...依赖关系(Dependency) 依赖关系是一种表示两个之间的弱关系。它通常表示一个在执行过程中可能使用或影响另一个。...这里,“借书”在执行过程中可能需要依赖“检查库存”,以确认所需图书的可用性。 扩展关系(Extend) 扩展关系是一种表示一个(扩展)在某些条件下扩展另一个(基本)功能的关系。...这种关系通常用于表示可选的、非必须的功能。在UML图中,扩展关系通常以虚线和带箭头的线表示,箭头指向被扩展的基本。...扩展关系则表示在特定条件下,一个的行为可以被另一个扩展或增强。 结论 正确理解和区分依赖和扩展关系,对于构建清晰、准确的至关重要。

    89210

    从用户的角度描述对软件产品的需求,并分析产品所需要的功能和动态行为。 的组成元素: 1、参与者:代表系统的用户(可以是人、物、时间或者其他系统),小人表示。 2、系统边界:矩形表示。...4、关联:包含(include)、扩展(extend)、泛化(generalization)       包含:表示一个的行为包含了另一个的行为(基本的步骤中一定含有被包含的步骤),如“...扩展:表示对基本的一个扩展。(基本的步骤中有时会用到扩展的步骤)。...泛化:这个就是类中的继承,表示的是一般与特殊的关系,如“查找图书”和“精确查找”等 下面从别人的博客:http://www.cnblogs.com/silent2012/archive/2011/09/...07/2169518.html引用一张完整的: ?

    1.7K50

    关系 和 UML类关系

    关系包含、扩展、泛化) UML类关系(依赖、关联、聚合、组合、泛化) 关系 使用户 与开发人员交流的一种重要的方式,是对用户需求的一种描述。开发人员从用户的角度整体上理解系统的功能。... “注册学生信息”和“充值”与“用户登录”之间的关系就是包含关系。b和a本质不一样,就是做b之前一定要做a,那a和b就是包含。 如图 扩展 只有在基本满足某种条件的时候才会执行。...包含关系中基本的基本流执行时,包含一定会执行。b和a本质是一样东西,但是b比a大。...“会员注册”和“电话注册”、“邮件注册”之间是泛化关系。本质都是一样的,都是注册,而且一样大。 UML类关系 类 在UML中,我们分成三栏的长方形表示。...依赖 凡是动物,生存都需要水和空气,这种必须的需求,我们称之为依赖关系虚线一端带箭头表示,箭头指向依赖物。 聚合、组合 这两个关系我们放在一起,因为她们看似十分的相似,但是却有着本质的区别。

    1.3K30

    UML——

    是由参与者(Actor)、(Use Case)以及用它们之间的关系构成的用于描述系统静态视图的UML(本定义摘自百度百科)。...能够展示系统外部的各类执行者与系统中用关系。      有哪些组成部分?...从定义中我们就可以知道,由参与者(Actor)、(Use Case)以及这两者之间的关系三部分组成,严格意义上来说,还包括系统边界,但与参与者分别处于系统内外,故它们之间隐含为系统边界...关系:参与者与之间需要交换信息,所以它们之间的关系为通信关系,通常用一个箭头来表示,箭头方向为启动者指向用指向支持者。如图: ?       ...的作用 1、最主要的作用是描述用户的需求,即系统实现什么功能(不需要说明如何实现),因此主要用于需求分析阶段。

    2K20

    UML _uml建模和细化用

    UML 参考 【UML】— 初学UML—— 需求中如何画 为什么使用用 从业务事件、发起事件以及系统如何响应这些事件来建模系统功能的过程。...依赖关系——包含 包含指的是一个(基)可以包含其他用包含)具有的行为,其中包含中定义的行为将被插入基定义的行为中。...包含的两个基本约束: 基可以看到包含,并需要依赖于包含的执行结果,但是它对包含的内部结构没有了解; 基一定会要求包含执行。...扩展 扩展指的是一个(扩展)对另一个(基)行为的增强。 在这一关系中,扩展包含了一个或多个片段,每个片段都可以插入到基中的一个单独的位置上,而基对于扩展的存在是毫不知情的。...使用扩展我们就可以在不改变基的同时,根据需要自由地向用中添加行为。 图示例 依赖关系对比 描述 一个完整的模型应该不仅仅包括部分,还要有完整的描述部分。

    1.2K20

    详解_include是什么画的

    对于来说我们需要了解的是什么叫,构成的要素,有哪些重要的元素,各个之间的关系。当然最重要的是如何根据需求创建。...的含义   由参与者(Actor)、(Use Case)以及它们之间的关系构成的用于描述系统功能的动态视图称为。...的作用   是需求分析中的产物,主要作用是描述参与者和之间的关系,帮助开发人员可视化的了解系统的功能。...例如,要求在某个执行完后,必须执行另一个之间的关系 1. 包含   包含关系指用可以简单地包含其他用具有的行为,并把它所包含例行为作为自身行为的一部分。...录入成绩、修改成绩和保存成绩之间是包含关系找回密码和登录之间是扩展关系

    2.1K40

    UML及其描述

    在系统分析阶段,我们一般UML来画很多,主要包括、状态、类、活动 、序列、协作图、构建、配置等等,要画哪些要根据具体情况而定。...其实简单的理解,也是个人的理解,UML的作用就是很多从静态和动态方面来 全面描述我们将要开发的系统。 二.建模简介 建模是UML建模的一部分,它也是UML里最基础的部分。...建模的最主要功能就是用来表达系统的功能性需求或行为。依我的理解建模可分为 描述。由参与者(Actor)、(Use Case)、系统边界、箭头组成,画图的方法来完成。...描述用来详细描述图中每个文本文档来完成。 1. 参与者不是特指人,是指系统以外的,在使用系 统或与系统交互中所扮演的角色。

    1.9K30

    UML——

    UML视频使我们对的基本组成元素、属性、粒度等有了理论上的理解,我们还需要自己亲自动手画一画才能加深对的理解。...画,首先要分析开发系统中的角色、,然后通过关系把角色和联系起来。 角色:包括系统的使用者,维护人员,使用到的外设,所以角色不仅仅是人,还可以是事、物。...:指的是系统要实现的功能,是对系统功能的描述。 关系:包括依赖、泛化、关联三种关系,指明了和角色之间具体的关系。...第一次画,角色和感觉还是比较容易就可以分析出来的,但是角色和之间具体是什么关系,就傻傻分不清楚了。...UML中包括依赖、关联、泛化、实现四种关系,最初对这几种关系的理解就不是很清楚,后来又接触到扩展和包含关系,于是发现在不同的图中这些关系会有一些区别。

    46320

    介绍:在线制图UML(use case)

    描述了用户如何使用系统来实现特定的目标。由系统、相关的和参与者组成,并且将它们相互联系起来....包含四个主要组件: [] Actor 参与者通常是根据角色定义的参与系统的个人。Actor可以是用户或其他外部系统。 Use Case 描述了参与者如何使用系统来实现特定的目标。...通常由用户发起,以实现描述实现目标所涉及的活动、步骤过程。 RelationShip 参与者和之间的关系 System Boundary 系统边界定义了系统与外部世界边界。...[] Abstract and generalized Use Case 通用用是抽象的。它无法实例化,因为它包含不完整的信息。...下图显示了一个自动柜员机图示例,这是在讲授时使用的一个非常经典的示例。 [] 下面的文档管理系统(DMS)图示例显示了系统的参与者和。特别是,之间有包含和扩展的关系

    4.4K00

    Java——类、时序

    从实际开发标准,应该在项目别写前设计类,但是,不太符合实际,实际开发中改动的场景太多,大家懂的。所以,现在开发大部分情况下,都是先完成功能,交工前,将代码转换成类。本文内容作为概念性的讲解。...1、类描述 要想描述类,基本都会采用以下结构完成: 类名称 属性名称 方法名称 1)类名称 普通类,直接进行编写; 抽象类,道理上应该使用斜体描述; 类名称 {abstract} 属性名称 方法名称...setName(name:String):void          public String getName()                     +getName():String 如果要画类,...因为类的描述太麻烦了,所以,往往会进行转换。 ? 2、时序 时序比较重要,它定义了代码的执行顺序。...3、 指的是某一种角色具备什么样的操作功能,一般进行需求分析的时候使用的。 ? ?

    2.5K20

    UML建模(

    一、 在软件生命周期的整个过程中,是软件需求分析到软件交付的第一步,的主要目的是说明这个软件的使用者是谁,使用者要使用那些功能,以及使用者需要向软件提供什么功能。...主要有六个元素,分别是:参与者(Actor)、(Use Case)、关联关系(Association)、包含关系(Include)、扩展关系(Extend)以及泛化关系(Generalization...image.png 包含关系(Include) 在uml中包含关系表示为虚线箭头交>字样,有时候一个很大,那么我们可以把分块,把复杂的分解为几个小来描述 【...箭头指向】:箭头指向被包含 ?...image.png Include、Extend、Inheritance总结对比 包含关系强调整体与部分之间关系,也就是说整体的功能是由一个个子功能叠加起来的,比如上图庭审功能就包含了线上视频庭审

    89230

    UML学习---

    1、什么是  源于Jacobson的OOSE方法,是需求分析的产物,描述了系统的参与者与系统进行交互的功能,是参与者所能观察和使用到的系统功能的模型。...2、的组成  有四部分组成:(Use Case)、参与者(Actor)、系统边界、关联 2.1 参与者 在一个系统开发前,我们必定首先要确定系统的用户,系统的用户就是系统的参与者...的粒度越大,包含的功能越多,反之则包含的功能越少。 ? 2.3 系统边界 所谓系统边界是指系统与系统之间的界限。把系统边界以外的同系统相关联的其他部分称之为系统环境。 ?...2.4 关联   为了减少模型维护的工作量、保证模型的可维护性和一致性,可以在用之间抽象出包含(Include)、扩展(Extend)和泛化(Generalization)这几种关系 包含关系是指用可以简单地包含其他用具有的行为...泛化关系是指一个父可以被特化形成多个子,而父和子之间的关系就是泛化关系。 ? 3、简单登录注册系统 ?

    1.4K60

    UML总结

    主要用来描述“用户、需求、系统功能单元”之间的关系。它展示了一个外部用户能够观察到的系统功能模型。 【用途】:帮助开发团队以一种可视化的方式理解系统的功能需求。...包含的元素如下: 1. 参与者(Actor) 表示与您的应用程序或系统进行交互的用户、组织或外部系统。一个小人表示。 ? 2....关系 图中涉及的关系有:关联、泛化、包含、扩展。 如下表所示: ? a. 关联(Association) 表示参与者与之间的通信,任何一方都可发送或接受消息。...父通常是抽象的。 【箭头指向】:指向父 ? c. 包含(Include) 包含关系用来把一个较复杂用所表示的功能分解成较小的步骤。 【箭头指向】:指向分解出来的功能用 ? d....对Inheritance而言,子包含基础的所有内容及其和其他用或参与者之间的关系; 一个图示例: ?

    1.9K10

    【集合论】序关系 ( 哈斯图示例 | 整除关系哈斯 | 包含关系哈斯 | 加细关系哈斯 )

    文章目录 一、哈斯图示例 ( 整除关系 ) 二、哈斯图示例 ( 包含关系 ) 三、哈斯图示例 ( 加细关系 ) 一、哈斯图示例 ( 整除关系 ) ---- 集合 A = \{ 1, 2, 3, 4,...5 , 因此其既覆盖 3 , 又覆盖 5 ; 4 可以整除 2 , 因此 4 覆盖 2 ; 9 可以整除 3 , 因此 9 覆盖 3 ; 二、哈斯图示例 ( 包含关系...“ \subseteq ” 是偏序关系 , 偏序集是 空集 包含于 所有集合 , 是最小的 , 在哈斯最下面 ; 空集 之上是单元集 , 单元集...覆盖 空集 , 它们之间并不会有第三个元素 ; 三个单元集之间相互没有包含关系 , 是不可比的 ; 单元集 之上是 双元集 , 每个 双元集 之下就是其包含的对应的单元集 ; 三、哈斯图示例 ( 加细关系...a \} , \{ b \} , \{ c , d \} \} 集族 \mathscr{A}_6 = \{ \{ a , b , c , d\} \} 上述集族都是 A 集合的划分 ; 划分关系的哈斯

    4K00

    uml详解_uml模型

    的含义 由参与者(Actor)、(Use Case) 以及它们之间的关系构成的用于描述系统功能的动态视图称为。...的作用 是需求分析中的产物,主要作用是描述参与者与和之间的关系,帮助开发人员可视化地了解系统的功能。...的构成元素 的构成元素又四个:参与者(角色)、、系统边界、元素之间的关系 参与者(Actor)——与应用程序或系统进行交互的用户、组织或外部系统。一个小人表示。...的粒度越大,包含的功能越多,反之则包含的越少。 粗粒度 细粒度 例规约: 只是在总体上大致描述了系统所提供的各种服务,让人们对系统有一个总体的认识。...实例 销售员 仓库管理员 采购员 会计 系统管理元 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。

    3K30

    教程(示例指南)

    包含对用户有重要意义的所有系统活动。可以被认为是与特定目标相关的可能场景的集合,实际上,和目标有时被认为是同义词。...与类类似,包用于将用组合在一起。它们的绘制方式如下图所示。 图中的关系 图中有五种类型的关系。...他们是 Actor和之间的关联 Actor的泛化 扩展(extend)两个之间的关系 包括(include)两个之间的关系 如何创建 到目前为止,您已经了解了在绘制时至关重要的对象...提取现金,转移现金,向慈善机构捐款,支票余额和结算账单等主要功能都被模拟为。所有这些都包括Login。这意味着它们都包含与Login建模相同的登录功能。登录用通过两个进一步扩展。...绘制图 使用此模板 创建空白 指南 确保每个都能满足可观察的用户目标 未显示的详细信息:它仅总结了,参与者和系统之间的一些关系

    3.4K30
    领券