UML用例图详解

article/2025/9/30 1:34:13

1. 概述

  用例图(Use Case Diagram)描述“用户、需求、系统功能单元”之间的关系,是参与者所能观察和使用到的系统功能模型图。

  用例图用于需求分析阶段

  用例图包含6个基本元素:参与者(Actor)、用例(Use Case)、泛化关系(Generalization)、扩展关系(Extend)、包含关系(Include)和关联关系(Association)。

2、用例(Use Case)

  用例是外部可见的系统功能部分,用例的主要作用是在不揭示系统内部构造的前提下定义了连贯的行为。

2.1>、初识用例

  用例包含了所必需的全部行为,即执行用例的主线次序、标准行为的不同变形、一般行为下的所有异常情况及其预期的反应。从用户角度来看,用例包含的行为可能是异常情况,但从系统角度来看,则是必须被描述和处理的附加情况。用例不是系统需求或功能的规格说明,而是系统所描述过程中的需求情况。

  在UML中,用例用一个椭圆表示,并且每个用例都必须有一个名字,该名字不能与其他的用例重名。

  

  在UML中,每个用例的执行都独立于其他用例。每个用例都表示一个纵向的功能模块,这些模块在执行时会与其他用例混合执行。

  用例的动态执行过程可以用UML中的状态图、协作图、时序图来描述,也可以用非正式的文字来描述。

2.2>、确定用例

  确定用例最好的方法是从分析系统的参与者开始,考虑每个参与者是如何使用系统的。

  确定系统用例要明确以下问题:

  (1)特定参与者希望系统提供什么功能?

  (2)当系统改变状态时,是否通知参与者?

  (3)是否存在影响系统的外部事件?

  (4)哪个参与者通知系统这些事件?

  (5)系统是否存储、检索信息?如果需要,则由哪些参与者出发?

2.3>、事件流

  事件流描述的是一个系统“做什么”,而不是“怎么做”。事件流包括简要说明、前置条件、主事件流和其他事件流、后置条件。

  (1)简要说明。每个用例都应该有一个说明,描述用例的作用。说明应该包括执行用例的不同类型用户和通过用例所达到的效果。

  (2)前置条件。即用例的必须满足的条件。前置条件是另一个用例已经执行或用户具体有运行当前用例的权限。并不是每个用例都有前置条件。

  (3)主事件流和其他事件流。用例的具体细节在主事件流和其他事件流中描述。事件流是从用户角度描述执行用例的具体步骤,关注系统“做什么”,而不是“怎么做”。主事件流和其他事件流包括:用例的开始、用例的交互、用例的正常流程、用例的事件流变体、用例的错误流、其他事件的变体和错误流、用例的结束。

  (4)后置条件。该项是用例执行完后必须为真的条件。并不是每个用例都有后置条件。

3、参与者(Actor)

  参与者是系统外部的一个实体,它以某种方式参与用例的执行过程。参与者通过向系统中输入或请求系统输入某些事件来触发系统的执行。

3.1>、初识参与者

  每个参与者可以参与一个或多个用例,他通过交换信息与用例发生交互,而和参与者的内部实现没有关系。

  

  参与者一般分为三类:系统用户、其他系统、可运行的进程。

  (1)系统用户。该类参与者是最直接的,需要使用系统的用户。

  (2)其他系统。在当前项目范围之外,需要建立与其他系统的接口。这类位于项目边界之外的系统也是参与者。

  (3)一些可运行的进程。如时间,当经过一定时间段后,发生系统中的某个事件时,时间成为参与者。

3.2>、识别参与者

  获取用例之前,首先要确定系统的参与者。参与者表示人和事物与系统发生交互时所扮演的角色,而不是特定的人或特定的事物,并且一个人可以扮演多个角色。

  参与者的识别方法:

  (1)系统主要功能的使用者;

  (2)系统所服务的对象及要完成的工作;

  (3)系统的维护、管理人员;

  (4)系统所需要的硬件设备;

  (5)与该系统交互的其他系统;

  (6)对本系统产生的结果感兴趣的人或其他系统。

3.3>、参与者与参与者之间的关系

  参与者不是具体的人或物,而是类,所以多个参与者之间关系是类与类之间的关系。在用例图中,使用泛化关系来描述多个参与者之间的公共行为。

  

          参与者之间的泛化关系

3.4 用例与用例之间的关系

  用例之间的关系包括:包含关系、泛化关系、关联关系、扩展关系,应用这些关系的目的是为了从系统中抽取公共行为及其变体。

3.4.1 包含关系

  包含关系:一个用例可以简单地包含其他用例具有的行为,并把它所包含的用例行为作为自身的一部分。在这种情况下,新用例不是初始用例的一个特殊例子,并且不能被初始用例所代替。

  在UML中,包含关系用虚线箭头加<<include>>来表示,箭头指向被包含的用例。

  

  包含关系把几个用例的公共步骤分离成一个单独的被包含用例。

  示例:

  

3.4.2 泛化关系

  用例泛化:一个用例可以被特别列举为一个或多个子用例。当父用例能够被使用时,任何子用例也可以被使用。

  在UML中,用例泛化用一个三角箭头从子用例指向父用例。

  

  在用例泛化中,子用例表示父用例的特殊形式。子用例可以从父用例继承属性与行为,还可以添加、改变继承的行为。

  示例:

  

3.4.3 关联关系

  关联关系描述参与者与用例之间的关系,用于表示类的关系的关联元素的实例。

  关联关系表示参与者与用例之间的通信,不同的参与者可以访问同一个用例。

  

3.4.4 扩展关系

  扩展关系是一个用例被定义为基础用例的增量扩展,通过扩展关系把新的行为插入到已有用例中。扩展关系中,扩展用例是基础用例的一个相对独立并且可选的用例。

  在UML中,扩展关系用虚线箭头加<<extend>>表示,箭头指向基础用例,即被扩展的用例。

  

  示例:读者在归还图书馆借书时,若超过应归还日期,则需要超期罚款;若未超过归还日期,则不需要超期罚款。

  

4、UML语境建模技术

  在UML中,利用用例图对系统语境进行建模,强调的是系统的外部参与者。具体建模方法如下:

  (1)识别系统外部的参与者;

  (2)在需要加深理解的地方,为每个参与者提供一个构造型;

  (3)将参与者放入到用例图中,并说明参与者与用例之间的通信路径;

  (4)将类似参与者组织成泛化的结构层次。

5、UML需求建模技术

  软件需求是根据用户对产品的功能的期望,提出产品外部功能的描述。需求分析师的工作是获取系统的需求,归纳系统所要实现的功能,使最终的软件产品最大限度贴近用户的要求。需求分析师一般只考虑系统要做什么,而尽可能不去考虑怎么做。

  对系统建模可以参考如下方法:

  (1)识别系统外部的参与者,从而建立系统的语境;

  (2)考虑每一个参与者期望的行为或需要系统提供的行为;

  (3)把公共行为命名为用例;

  (4)确定供其他用例使用的用例和扩展其他用例的用例;

  (5)在用例图中对用例、参与者和它们之间关系建模;

  (6)用描述非功能需求的注释修饰用例图。


http://chatgpt.dhexx.cn/article/9qhQ2c7H.shtml

相关文章

UML用例图、时序图、类图、活动图

1 .类图 1.1关系 实现: 类实现接口 , [表现] implements 泛化: 类继承类 , [表现] extends 组合: 特殊的关联关系, 是整体与部分的关系, 部分与整体同生命周期, [表现] 成员变量 聚合: 特殊的关联关系, 是整体与部分的关系, 部分与整体不同生命周期, [表现] 成员变量关联: 一个…

UML用例图关系(Include 和extend)

用例图关系 三种关系 泛化&#xff08;Generalization&#xff09; 包含&#xff08;Include&#xff09; 扩展&#xff08;extend&#xff09; 下面给大家分别通过举例来介绍一下这三种关系的概念和用法 概念和用法 概念 &#xff08;1&#xff09;泛化关系&#xff08;带…

图书管理系统 UML用例图

细节处还未扣。资料保留

(转)UML用例图

用例图是指由参与者&#xff08;Actor&#xff09;、用例&#xff08;Use Case&#xff09;&#xff0c;边界以及它们之间的关系构成的用于描述系统功能的视图。用例图&#xff08;User Case&#xff09;是外部用户&#xff08;被称为参与者&#xff09;所能观察到的系统功能的…

UML的用例图

用例图的构成 1 角色&#xff1a;人员角色——人、事&#xff1b; 角色不一定局限于人&#xff0c;还可以是事物、事儿 2用例&#xff1a;功能的描述&#xff1b; 每一个用例描述了一个完整的系统服务 3 系统边界 4 关系&#xff1a;执行者与用例之间的关系。 泛化 依赖 关联…

UML用例图关系与画法

用例图主要用来描述“用户、需求、系统功能单元”之间的关系。它展示了一个外部用户能够观察到的系统功能模型图。 【用途】&#xff1a;帮助开发团队以一种可视化的方式理解系统的功能需求。 用例图所包含的元素如下&#xff1a; 1. 参与者(Actor) 表示与您的应用程序或系统进…

设计模式之UML用例图

用例图主要用来描述“用户、需求、系统功能单元”之间的关系。它展示了一个外部用户能够观察到的系统功能模型图。 【用途】&#xff1a;帮助开发团队以一种可视化的方式理解系统的功能需求。 用例图所包含的元素如下&#xff1a;   1. 参与者(Actor) 表示与您的应用程序或…

UML用例图和类图

UML常见关系&#xff1a; 用例图 构成&#xff1a;参与者、用例、关系。 概念&#xff1a; 参与者&#xff1a;外部用户、进程或其他系统的理想化概念。 用例&#xff1a;外部可见的一个系统功能单元&#xff0c;用例名字是一个动词短语字符串&#xff0c;比如&#xff0c;…

【软件工程】2.UML用例图

什么是UML&#xff1f; UML(Unified modeling language) 出现于70年代中期&#xff0c;建模语言数量从不到十种增加到了五十多种&#xff0c;OO(面向对象)方法的用户并不了解不同建模语言的优缺点及相互之间的差异&#xff1b; 90年代中期形成了UML统一建模语言&#xff0c;它是…

UML用例图与类图

1、用例图 用例图是被称为参与者的外部用户所能观察到的系统功能的模型图。 (《UML参考手册》) 用例图列出系统中的用例和系统外的参与者&#xff0c;并显示哪个参与者参与了哪个用例的执行(或称为发起了哪个用例)。 用例图多用于静态建模阶段(主要是业务建模和需求建模)。 …

UML用例图介绍

1.什么是用例图 1.用例图用来描述系统的需求&#xff0c;从用户的角度来描述系统的功能&#xff0c;强调谁在使用系统&#xff0c;系统实现了哪些功能&#xff0c;总的来说&#xff0c;用例图就是描述用户的需求和系统的功能&#xff0c;从外部用户的角度来描述系统的功能。 2…

UML-----用例图

文章目录 什么是用例图&#xff1f;用例图的作用用例图的组成部分扩展关系与包含关系的不同点如下 实例绘制用例图 什么是用例图&#xff1f; 用例图就是用来描述用户需求的图。 用例图的作用 帮助开发团队以一种可视化的方式理解系统的功能需求。借助于用例图&#xff0c;系…

Visio画UML用例图

Visio画UML图基本操作及技巧解析 本文和大家重点讨论一下用Visio画UML图基本操作&#xff0c;画UML图有好多种工具&#xff0c;VISIO只是其中一种&#xff0c;VISIO的动作非常轻快.很多人都在用。下面就让我们一起来看一下具体介绍吧。 用Visio画UML图基本操作 目的 画UML图有好…

软件需求分析——UML用例图

前言:UML是 Unified Modeling language 的缩写,是一种统一建模语言,主要在软件需求分析与设计阶段使用。UML一共包括9个图,分别是用例图、类图、对象图、序列图、协作图、状态图、活动图、构件图、部署图。本篇仅讨论用例图,后续再慢慢补充。 用例图: 1、定义:由参与者…

UML用例图_练习

练习题 “远程网络教学系统”的功能需求包括: (1)学生登录网站后&#xff0c;可以浏览课件、查找课件、下载课件、观看教学视频。 (2)教师登录网站后&#xff0c;可以上传课件、上传教学视频、发布教学心得、查看教学心得、修改教学心得。 (3)系统管理员负责对网站页面的维护…

UML用例图讲解及画法

1.用例图 ●用例图(Use Case Diagram)用于描述若干参与者(actor) 以及这些参与者与系统提供的用例之间的交互关系 ●用例图从人-机交互的角度,分析和考察系统的行为,描述系统对用户提供的功能特性 ●用例图由参与者、用例及它们之间的关系组成:用例图参与者用例关系 ●参与者:…

UML用例图实例解析

本文和大家重点讨论一下UML用例图实例的应用&#xff0c;UML用例图包含了用例和参与者&#xff0c;用例之间用关联来连接以求把系统的整个结构和功能反映给非技术人员&#xff08;通常是软件的用户&#xff09;&#xff0c;对应的是软件的结构和功能分解。 UML用例图 本文和大家…

UML用例图怎么画 有手就会

UML用例图是用于描述系统内用户和与之相关的用例之间的关系&#xff0c; 比如系统、参与者、用例和显示这些元素关系的模型。它展示了一个外部用户能够观察到的系统功能模型图&#xff0c;帮助开发团队以一种可视化的方式理解系统的功能需求。 这里将使用BoardMix绘制UML用例图…

UML用例图总结

转载请注明出处&#xff1a;http://blog.csdn.net/tianhai110 用例图主要用来描述 用户、需求、系统功能单元 之间的关系。它展示了一个外部用户能够观察到的系统功能模型图。 【用途】&#xff1a;帮助开发团队以一种可视化的方式理解系统的功能需求。 用例图所包含的元素如下…

UML-用例图

用例图&#xff1a;主要用于描述系统的行为及各种功能之间的关系&#xff0c;是描述参与者&#xff08;Actor&#xff09;与用例以及用例与用例之间关系的图。 用例图 参与者 用例 关系 1.组成 1.1 用例&#xff08;use case&#xff09; 用例 概念&#xff1a; 1&#xf…