详解UML建模之用例图关系

UML 用例图以及UML的八种关系 小编终于在学习的道路上又前进一步啦,进度很慢,但是在走,小编今天学习完了UML中的第一个图——用例图,来分享给大家我的学习成果呀~ 首先,一张总体的知识脉络导图献上: UML视图:4+1视图:互相关联的视图:用例视图(椭圆形)、设计视图、实现视图、部署视图、进程视图。 用例视图覆盖了其他四个视图,是关键。 一、什么是用例图? 用例图描述了一组用例、参与者以及它们之间的关系... 阅读详情

一.UML简介

UML(统一建模语言,Unified Modeling Language)是一种定义良好、易于表达、功能强大且普遍适用的可视化建模语言。它融入了软件工程领域的新思想、新方法和新技术。它的作用域不限于支持面向对象的分析与设计,还支持从需求分析开始的软件开发的全过程。在系统分析阶段,我们一般用UML来画很多图,主要包括用例图、状态图、类图、活动 图、序列图、协作图、构建图、配置图等等,要画哪些图要根据具体情况而定。其实简单的理解,个人理解,UML的作用就是用很多图从静态和动态方面来全面描述我们将要开发的系统。

二、什么是用例

用例是对包括变量在内的一组动作序列的描述,系统执行这些动作,并产生传递特定参与者的价值的可观察结果。这是UML对用例的正式定义,可能有点难懂。我们可以这样去理解,用例是参与者想要系统做的事情。对于用例的命名,我们可以给用例取一个简单、描述性的名称,一般为带有动作性的词。用例在画图中用椭圆来表示,椭圆下面附上用例的名称。

三、什么是用例图

用例图(use case diagram)就是由主角、用例以及它们之间的关系构成的图。该图说明了用例模型中的关系。

可以将用例图组织到用例包中,并归用例包所有,让特定包中仅显示互为关联关系的内容。

用例图由参与者(Actor)、用例(Use Case)、系统边界、箭头组成,用画图的方法来完成。

参与者不是特指人,是指系统以外的,在使用系统或与系统交互中所扮演的角色。因此参与者可以是人,可以是事物,也可以是时间或其他系统等等。还有一点要注意的是,参与者不是指人或事物本身,而是表示人或事物当时所扮演的角色。比如小明是图书馆的管理员,他参与图书馆管理系统的交互,这时他既可以作为管理员这个角色参与管理,也可以作为借书者向图书馆借书,在这里小明扮演了两个角色,是两个不同的参与者。参与者在画图中用简笔人物画来表示,人物下面附上参与者的名称。

如何发现角色:

1. 使用系统的主要功能的人是谁(即主要角色)?

2.需要借助于系统完成日常工作的人是谁?

3.谁来维护,管理系统(次要角色),保证系统正常工作?

4.系统控制的硬件设备有哪些?

5.系统需要与哪些其他系统交互?其他系统包括计算机系统,也包括该系统将要使用的计算机中的其他应用软件。其他系统也分成两类,一类是启动该系统的系统,另一类是该系统要使用的系统。

6.对系统产生的结果感兴趣的人或事是哪些?


用例:用例代表的是一个完整的功能。

如何发现用例:

1.角色需要从系统中获得哪种功能?角色需要做什么?

2.角色需要读取,产生,删除,修改或存储系统中的某种系统吗?

3.系统中发生的事件需要通知角色吗?或者角色需要通知系统某件事吗?这些事件(功能)能干些什么?

4.如果用系统的新功能处理角色的日常工作是简单化了,还是提高了工作效率?

5.还有一些与当前角色可能无关的问题,也能帮助建模者发现用例,例如:

6.系统需要的输入/输出是什么信息?这些输入/输出信息从哪儿来到哪儿去?

7.系统当前的这种实现方法要解决的问题是什么(也许用自动系统代替手工操作)?

四、UML用例图中用例之间的关系:

主要用来图示化系统的主事件流程,它主要用来描述客户的需求,即用户希望系统具备的完成一定功能的动作,通俗地理解用例就是软件的功能模块,所以是设计系统分析阶段的起点,设计人员根据客户的需求来创建和解释用例图,用来描述软件应具备哪些功能模块以及这些模块之间的调用关系,用例图包含了用例和参与者,用例之间用关联来连接以求把系统的整个结构和功能反映给非技术人员(通常是软件的用户),对应的是软件的结构和功能分解。

1)包含关系——include

包含关系:使用包含(Inclusion)用例来封装一组跨越多个用例的相似动作(行为片断),以便多个基(Base)用例复用。基用例控制与包含用例的关系,以及被包含用例的事件流是否会插入到基用例的事件流中。基用例可以依赖包含用例执行的结果,但是双方都不能访问对方的属性。

UML用例图关系中包含关系最典型的应用就是复用,也就是定义中说的情景。但是有时当某用例的事件流过于复杂时,为了简化用例的描述,我们也可以把某一段事件流抽象成为一个被包含的用例;相反,用例划分太细时,也可以抽象出一个基用例,来包含这些细颗粒的用例。这种情况类似于在过程设计语言中,将程序的某一段算法封装成一个子过程,然后再从主程序中调用这一子过程。 

例如:业务中,总是存在着维护某某信息的功能,如果将它作为一个用例,那添加、删除以及修改都要在用例详述中描述,过于复杂;如果分成添加用例、修改用例和删除用例,则划分太细。这时包含关系可以用来理清关系。

2)、扩展关系——extend

扩展关系:将基用例中一段相对独立并且可选的动作,UML用例图关系中用扩展(Extension)用例加以封装,再让它从基用例中声明的扩展点(ExtensionPoint)上进行扩展,从而使基用例行为更简练和目标更集中。扩展用例为基用例添加新的行为。扩展用例可以访问基用例的属性,因此它能根据基用例中扩展点的当前状态来判断是否执行自己。但是扩展用例对基用例不可见。

对于一个扩展用例,可以在基用例上有几个扩展点。

例如,系统中允许用户对查询的结果进行导出、打印。对于查询而言,能不能导出、打印查询都是一样的,导出、打印是不可见的。导入、打印和查询相对独立,而且为查询添加了新行为。因此可以采用扩展关系来描述:

在以下几种情况下,可使用扩展用例:

2.1).表明用例的某一部分是可选的系统行为(这样,您就可以将模型中的可选行为和必选行为分开);

2.2).表明只在特定条件(如例外条件)下才执行的分支流;

2.3).表明可能有一组行为段,其中的一个或多个段可以在基本用例中的扩展点处插入。所插入的行为段和插入的顺序取决于在执行基本用例时与主角进行的交互。

3)、泛化关系——generalization

泛化关系:子用例和父用例相似,但表现出更特别的行为;子用例将继承父用例的所有结构、行为和关系。子用例可以使用父用例的一段行为,也可以重载它。父用例通常是抽象的。UML用例图关系中泛化关系在实际应用中很少使用,子用例中的特殊行为都可以作为父用例中的备选流存在。

原文链接:http://www.cnblogs.com/lyp3314/archive/2011/11/16/2251906.html

【编辑推荐】

  1. 系统架构师谈企业应用架构之开卷有益
  2. 系统架构师谈企业应用架构之系统建模1
  3. 系统架构师谈企业应用架构之系统建模2
  4. 系统架构师谈企业应用架构之系统建模3
  5. 系统架构师谈企业应用架构之系统建模4
  6. 系统架构师谈企业应用架构之系统设计规范与原则1
  7. 系统架构师谈企业应用架构之系统设计规范与原则2
  8. 系统架构师谈企业应用架构之业务逻辑层
  9. 系统架构师谈企业应用架构之表现层
  10. 系统架构师谈企业应用架构之服务层
  11. 系统架构师谈企业应用架构之数据访问层

用例图之间的几种关系 用例图之间的几种关系 1. 执行者与执行者之间的唯一关系(继承) A.解释 执行者与执行者之间只有一种关系即继承(也叫泛化)。其意义与面向对象过程中的继承关系类似,但它主要强调子类执行者对父类执行者与用例之间的交互行为的继承。 B.表示形式 (从子类指向父类) C.核心 两个或两个以上执行者之间有共性,共性单独设为一个执行者。 D.例子 在教务管理系统中,老师、学生、用户之间的关... 阅读详情

相关推荐

ProcessOn UML 实战:5种核心图(用例/类/时序/状态/活动)绘制指南与常见误区

本文详细介绍了使用ProcessOn绘制UML图的实战技巧,涵盖用例图、类图、时序图、状态图和活动图5种核心图的绘制方法与常见误区。通过具体案例和高效操作技巧,帮助软件工程从业者提升UML建模效率,特别适合团队协作和教学场景。文章重点解析了ProcessOn的云端协作、模板复用等优势功能。

weixin_33690963的博客 429

UML用例图中三种关系详解

用例图的三种关系 泛化(Generalization) 包含(Include) 扩展(extend) 概念和用法 (1)泛化关系:是一种继承关系,子用例是父用例的一种特殊形式,它继承了父用例的所有结构、行为、关系。其中三角箭头指向父用例。 ...

晴宇 1万+

探索设计模式的魅力:设计之美-揭秘设计模式、原则与UML的魔法

设计模式、设计原则和UML是软件工程设计中的核心要素。设计模式为常见问题提供经验证的解决方案,复用性高且提升开发效率。设计原则指导我们创建灵活、可维护和可扩展的系统,确保代码质量和长期可维护性。UML(统一建模语言)则是一种强大的可视化工具,用于描述、构建和文档化软件系统的结构和行为。它帮助开发者更清晰地理解系统架构和组件间关系。综合应用设计模式、设计原则和UML,能够显著提高软件开发的效率和质量,减少维护成本,为复杂系统的设计和实施提供有力支持。

制定明确可量化的目标,坚持默默的做事。 6674

01_描述功能_用例图(Use Case Diagram)

1. 作用 用于面向对象软件开发的分析和设计阶段,描述系统的静态结构。 描述类与类、类与接口、接口与接口之间的静态结构和关系,描述系统的结构化设计。最基本的元素:类、接口。 用于应用程序的一般概念建模、详细建模、数据建模,将模型转换成编程代码。 类图是系统编码和测试的重要模型依据。 2. 元素 包(package) 类(class) 接口(interface) 关系(relation) 信号(signal) 数据类型(data type) 原始类型(primitive type..

qq_39173535的博客 1628

[精华] UML (统一建模语言) 各种图总结

UML(Unified Modeling Language)是一种统一建模语言,为面向对象开发系统的产品进行说明、可视化、和编制文档的一种标准语言。下面将对UML的九种图+包图的基本概念进行介绍以及各个图的使用场景。 一、基本概念     如下图所示,UML图分为用例视图、设计视图、进程视图、实现视图和拓扑视图,又可以静动分为静态视图和动态视图。静态图分为:用例图,类图,对象图,包图,构...

AI天才研究院 9897

UML需求分析与医院管理系统演示(一)

文章目录一、引言二、UML的作用三、UML类图关系四、医院住、出院管理系统演示五、小结 一、引言 UML是软件设计提供统一且可视化的建模语言,其是一种用图形方式表现面向对象系统。它是从需求分析出发的软件设计的全过程。 UML统一了各种方法对不同类型的系统、不同开发阶段以及不同概念的不同观点,从而消除了各种建模语言之间不必要的差异。它是一种通用的建模语言,因而被用户广泛地使用。目前UML共有12中图形,分别包括用例图、类图、对象图、状态图、活动图、顺序图、协作图、构件图、部署图9种;包图、组合结构图、交互图

Charles梦想家 1万+

UML一一 类图关系 (泛化、实现、依赖、关联、聚合、组合)

目录 类图关系 概述 面向对象是符合人们对现实世界的思维模式,利用面向对象设计,特别是采用各种设计模式来解决问题时,会设计多个类,然后创建多个对象,一个设计良好的类,应该是兼顾信息和行为并且高内聚。而不同的类之间,应该做到松耦合。当面对应用系统或者需要解决的问题经常是复杂的、高度抽象的,我们创建的多个对象往往是有联系的,通常对象之间的关系可以分为以下几类: 泛化关系 实现关系 依赖关...

Guizy 27万+

电商项目模块间调用关系

电商项目中各个模块间的一个调用关系可以结合着表结构的设计一块来看。另外本文档所涉及到的业务逻辑较浅,比较适合刚入门的同事。但是,无论如何希望能够一定的帮助。

UML概述、类图关系及连接线表示

继承和实现体现的是一种类与类、或者类与接口间的纵向关系;依赖关联聚合组合体现的是类与类、类与接口间的引用,即横向关系;这几种关系,所表现的强弱程度依次为:组合 > 聚合 > 关联 > 依赖。

FreeLikeTheWind的博客 3083

绝对旋转编码器学习笔记(基本原理,与PC通信等,不定期更新中)

前言 最近开始学习编码器相关内容,目的在于搞清楚编码器的原理,与上位机的联系等问题。笔记资料来源为网络,整理的同时也会有一些总结和感悟。由于研究方向需求,主要研究数字旋转编码器。 1.编码器的定义 编码器(encoder)是将信号(如比特流)或数据进行编制、转换为可用以通讯、传输和存储的信号形式的设备。——摘自《百度百科》 通常来说,编码器可以将角度位移、直线位移、转速等物理量转换为电信号。这里的电信号根据不同原理的编码器输出脉冲、二进制数码等不同的类型,下面会提到。 2.编码器的分类 编.

黑化咸鱼的博客 1万+

[小技巧] 如何复制知乎电子书中的文字和图片

文章目录一、背景二、复制文字1.最简单的方法(适合短小文字)2. 进阶方法(适合大段文字)三、复制图片四、注意事项 一、背景 有时候希望从书中摘录一部分文字作为笔记,但是知乎电子书阅读时候是禁止copy的,要么手打,要么OCR,给学习带来了一些不便。 审查元素后发现,知乎电子书是把文字分成一段一段的,试图F12直接copy不太方便。 本问将以谷歌Chrome浏览器为例,给出复制小技巧。 二、复制文字 1.最简单的方法(适合短小文字) 选中你需要的文字,左键单击不放,直接拖到地址栏。 然后可以从地址栏中

江南蜡笔小新 9247

【软件工程】一篇入门UML建模图(状态图、活动图、构件图、部署图)

所谓UML(Unified Modeling Language,统一建模语言),一种用来对软件密集系统进行可视化建模的语言。这样的概念大概解释了UML是什么,不过还不够直观。我们可以换个问题,UML做到了什么,让人们愿意为之喝彩?答案就是,它统一了各种方法对不同类型的系统、不同开发阶段以及不同内部概念的不同观点,从而有效的消除了各种建模语言之间不必要的差异。它是一种通用的建模语言,可以为许多面向对象建模方法的用户广泛使用。如此一来,UML的本质也就呼之欲出了。UML的本质就是为了交流。

十二月的猫 1万+

行人重识别技术(Re-ID)概述、研究现状以及相关数据集下载

ReID技术概述什么是ReID一般流程Re-ID特点研究现状难点数据集reid常用数据集以及下载链接评价指标实现思路研究方式基于表征学习基于度量学习基于局部特征全局特征切片姿态基于视频序列RQEN基于GANCamStyleDG-NetGAN总结对比未来方向建议文献 什么是ReID 行人重识别是指利用计算机视觉技术,判断在不同时间段、不同监控下出现的行人图像是否属于同一人员的技术。行人重识别是最近几年在视频分析领域下热门的研究领域,可以看做是人脸识别应用的拓展。现在大街上的监控较多,由于设备质量、成像光线、.

留缘的博客 1万+

UML中的类图及常见类图关系

UML(统一建模语言,Unified Modeling Language),是用来设计软件蓝图的可视化建模语言。从目标系统的不同角色出发,分为用例图,类图,对象图,状态图,活动图,时序图,协作图,构件图,部署图等9种图 最近重新研究了设计模式,在整理总结时,用到了类图,发现经常混淆类图的关系,所以特意做下整理。 文章目录类、接口、类图类接口类图类之间的关系依赖关系关联关系聚合关系组合关系泛化关系...

jonathan的专栏 2万+

多模态论文笔记——CogVLM和CogVLM2

本文详细介绍LoRA版本的多模态模型——CogVLM和CogVLM2。在SD3中使用其作为captioner基准模型的原因和优势。

haopinglianlian的博客 2205

《QGIS快速入门与应用基础》【专栏完整目录】

《QGIS快速入门与应用基础》第一卷专栏完整目录,覆盖 001–328 全部篇目与附录,逐篇可跳转。

LuckyHanMo的博客 1301

UML类图详解

UML类图详解一、定义二、发展历史三、优缺点1、优点2、缺点四、工具五、使用六、示例参考 一、定义 UML,即Unified Model Language,统一建模语言。它是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持,包括由需求分析到规格,到构造和配置。 二、发展历史 1994-1995年,由Grady Booch, Ivar Jacobson and ...

天道酬勤 2903

《网络安全自学教程》- Windows基线检查加固

Windows安全配置,基线检查标准,基线加固方式

wangyuxiang946的博客 1万+

UML (统一建模语言) 各种图总结

点击上方蓝字,关注我们UML(Unified Modeling Language)是一种统一建模语言,为面向对象开发系统的产品进行说明、可视化、和编制文档的一种标准语言。下面将对UML的...

独行侠梦的博客 2662

MinerU 系列教程 | 第二课:快速上手 -- 安装与第一次解析

本篇教程作为的第二课,将带你从零完成 MinerU 的环境搭建、模型下载,并成功运行第一次文档解析。上一课我们从宏观视角认识了 MinerU,本课开始正式动手实践。

weixin_43674738的博客 301

第67步 时间序列建模实战:ARIMA建模(Stata)

第67步 时间序列建模实战:ARIMA建模(Stata)

Jet4505的博客 6822

UML建模常用视图-分类

1 .UML常见图分类 UML从考虑系统的不同角度出发,定义了用例图、类图、对象图、包图、状态图、活动图、序列图、协作图、构件图、部署图等10种图。 用例图 用例图,展现了一组用例、参与者(actor)以及它们之间的关系。用例图从用户角度描述系统的静态使用情况,用于建立需求模型。 参与者(Actor)   在系统外部与系统直接交互的人或事物。需要注意以下两点:   1)参与者是角色而不是具体的...

rdz_NNN的博客 1304

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

【MERMAID】UML 统一建模语言 —— 类图(Diagram)

  愿你如阳光,明媚不忧伤。 目録1. UML 概述2. 类成员的可见性及返回值类型3. 类图关系4. 关系的基数 / 多重性5. 类注释5. 完整示例   1. UML 概述 UML (Unified Modeling Language)统一建模语言,是一种为面向对象系统的产品进行说明、可视化和编制文档的一种标准语言,是非专利的第三代建模和规约语言,独立于任何具体程序设计语言。UML立足于对事物的实体、性质、关系、结构、状态和动态变化过程的全程描述和反映,可以从不同角度描述人们所观

おうせき碩の博客 842

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

UML概述及UML类图详解

UML9种常用的图形

qq_39431405的博客 7621

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

【设计模式】UML类图关系与符号

文章目录一、UML简介1.1 UML类图常用关系1.2 UML模型结构1.3 UML类的表示二、类之间的关系2.1 泛化(Generalization)2.2 实现(Realization)2.3 关联(Association)(1)单项关联(2)双向关联(3)自关联2.4 聚合(Aggregation)2.5 组合(Composition)2.6 依赖(Dependency) 一、UML简介 UML-Unified Model Language 统一建模语言,是在开发阶段,说明、可视化、构建和书写一个面向

发现问题,并解决问题,批判性思维 3248

UML之用例图和类图

软件建模 软件建模的作用是把源于现实世界的问题转化为计算机可以理解和实现的过程。 软件建模的实现过程是从需求入手, 用模型表达分析设计过程, 最终将模型映射成软件实现. UML (1)UML(United Modeling Language, 统一建模语言): 是一种基于面向对象的可视化建模语言. (2)UML 采用了一组形象化的图形(如类图)符号作为...

weixin_41017788的博客 9298
上一篇: UML建模之状态图(Statechart Diagram)
下一篇: 图书管理系统中UML应用之需求分析和建模设计解析
LuckyJiang.2021
博客等级 码龄15年 217粉丝 199原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

打赏作者

LuckyJiang.2021

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

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

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

打赏作者

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

抵扣说明:

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

余额充值