干货分享10分钟掌握14种UML图知识社区

大家好,又见面了,我是你们的朋友ProcessOn阿冷。

UML(UnifiedModelingLanguage)是统一建模语言的缩写,它是一种用于描述软件系统的视觉化工具。UML提供了一套丰富的图形符号和规范,用于描述和可视化软件系统的结构、行为和交互。通过使用UML,软件开发人员可以更好地理解和沟通系统的设计和功能,降低开发风险,提高开发效率。

UML图主要分为三大类,共14种类型:

结构性图形(静态图):主要分析和描述系统或流程的结构,包括:类图、对象图、组件图、复合结构图、部署图、包图和剖面图。

行为性图形(动态图):主要描述系统的行为、它的参与者和它的构建组件,包括:活动图、用例图、状态图。

交互性图形:通信图、交互概览图、时序图,序列图

1.活动图

主要用于描述系统、子系统或业务过程中的一系列活动以及这些活动之间的控制流。活动图展示了从活动到活动的流程,包括决策点(如分支和合并)、并行执行的活动以及可能的流程循环。它们对于理解和设计系统的工作流程非常有用,特别是在业务流程建模、工作流建模和系统动态行为建模中。

活动图的主要组成部分

1.活动(Actions):代表系统或业务过程中的一个操作步骤或任务。活动之间通过控制流连接。

2.控制流(ControlFlows):箭头表示从一个活动到另一个活动的流程。控制流可以是单向的,也可以是带有条件分支的,还可以表示循环或并发。

3.决策点(DecisionPoints):包括分支(Fork)和合并(Join)。分支用于表示并行活动的开始,而合并用于表示并行活动的结束。

4.泳道(Swimlanes):将活动图划分为不同的逻辑区域,每个区域代表不同的参与者(如用户、系统或子系统),有助于理解不同实体在过程中的角色和责任。

5.开始和结束点:分别表示活动图的起点和终点。

2.用例图

是软件工程中用于展示系统外部用户(参与者)与系统内部功能(用例)之间交互关系的一种图形化工具。它是UML(统一建模语言)中用于需求分析阶段的一种重要图表,旨在帮助开发人员和用户理解系统的功能需求。

用例图的基本组成:

1.参与者(Actor):

参与者是与系统交互的外部实体,可以是人、组织、外部系统或硬件设备。

在用例图中,参与者通常用“小人”图标表示。

2.用例(UseCase):

用例代表系统的一个功能单元,描述了系统如何响应参与者发出的请求。

它定义了系统的行为,即系统在特定条件下对特定参与者请求的反应。

在用例图中,用例通常用一个椭圆来表示,并在其中写上用例的名称。

3.关联(Association):

关联表示参与者与用例之间的关系,即哪个参与者能够触发哪个用例。

关联通常用一条实线表示,一端连接到参与者,另一端连接到用例。

4.包含(Include):

包含关系表示一个用例(包含用例)的功能被另一个用例(基用例)所包含或使用。

在用例图中,包含关系用带有“<>”标签的虚线箭头表示,箭头指向基用例。

5.扩展(Extend):

扩展关系表示在特定条件下,一个用例(扩展用例)可以插入到另一个用例(基用例)中,为其增加额外的行为。

在用例图中,扩展关系用带有“<>”标签的虚线箭头和一个圆圈(表示扩展点)表示,箭头指向基用例,圆圈连接到基用例中的一个点。

3.交互概览图

主要用于将不同交互图(如顺序图、通信图等)衔接在一起,以提供对交互过程中控制流的整体概览。以下是关于交互概览图的详细解释:

定义与特点

定义:交互概览图是交互图与活动图的混合物,可以将其理解为细化的活动图,其中的活动都通过一些小型的顺序图来表示;也可以将其理解为利用标明控制流的活动图分解过的顺序图。

特点:交互概览图并没有引入新的建模元素,其主要元素来自于活动图和时序图。它侧重从整体上概览交互过程中的控制流,包括交互图之间的事件或消息流。

4.时序图

时序图主要由以下几个元素组成:

消息(Message):对象之间传递的信息,用于表示对象之间的交互。消息可以带有参数和条件表达式,以表示传递的数据和交互的条件。

5.状态图

是UML(统一建模语言)中的一种重要图表,用于描述一个实体(如对象、组件、子系统等)基于事件反应的动态行为。它展示了该实体如何根据当前所处的状态对不同的事件做出反应,以及这些事件如何导致状态之间的转换。UML状态图在软件开发过程中被广泛应用于分析、设计和实现阶段,以帮助开发者理解和设计系统的动态行为。

6.序列图

特点:

动态协作:它展示了对象之间如何通过消息传递进行协作,从而完成特定的任务或功能。

可视化表示:序列图以图形化的方式展示了对象之间的交互过程,使得系统行为更加直观易懂。

7.通信UML图

在UML1中称为协作图(CollaborationDiagram),是UML(统一建模语言)中的一种交互图,用于描述一组对象在协作过程中如何互相通信。以下是对通信UML图的详细解释:

定义:通信图展现了多个对象在协同工作达成共同目标的过程中互相通信的情况,通过对象和对象之间的链、发送的消息来显示参与交互的对象。

强调对象在交互中承担的角色和它们之间的关系。

通过链和消息来连接和传递对象之间的交互信息。

8.类图

它主要用于描述系统中类的集合、类的内部结构(如属性和方法)以及类之间的关系。类图是面向对象建模的主要组成部分,广泛应用于软件工程中的系统分析和设计阶段。以下是关于类图的详细解释:

定义:类图是一种用于表示系统中类的静态结构,包括类、接口以及它们之间关系的图。

强调类的静态结构,不展示暂时的信息。

描述类的属性(字段)、方法(操作)以及类与类之间的关系(如关联、聚合、组合、继承等)。

是系统编码和测试的重要模型依据。

9.对象图

主要用于描述系统在某个特定时刻的具体情况,特别是对象及它们之间的相互关系。以下是对对象图的详细解释:

定义:对象图显示了在某时刻对象和对象之间的关系,反映了系统的静态过程。它是类图的实例,展示了类的多个对象实例以及这些实例之间的关联、组合等关系。

强调系统在某一时刻的状态,而不是过程或行为。

使用与类图相同的符号和关系,但展示的是类的具体实例。

10.组件图

组件图又称为构件图,用于显示系统各组件及各组件关系的物理视图。它描述了系统中组件的静态结构,包括组件、接口以及它们之间的依赖关系、实现关系等。

11.组合结构图

用于描述系统中某一部分(即“组合结构”)的内部结构,以及该部分与系统其它部分的交互点。以下是关于组合结构图的详细解释:

定义:组合结构图是一种UML结构图,它表示某一对象的内部结构,其内部由一组小对象组成。它专注于对象内部的组成对象及其相互关系。

锁定的范围是对象内部,而不是整个系统或业务系统的系统内部。

强调对象内部的组成对象及其协作关系,这与一般业务系统中对象的平等性有所不同。

是一种静态图,展示的是系统在某一方面的静态结构。

12.部署图

也称为实施图或配置图,是UML(统一建模语言)中的一种静态图,用于显示系统中软件和硬件的物理架构。它描述了系统中硬件的物理拓扑结构以及在此结构上执行的软件。通过部署图,可以了解到软件和硬件组件之间的物理关系以及处理节点的组件分布情况。以下是关于部署图的详细解释:

定义:部署图是用来显示系统中软件和硬件的物理架构的图形表示。

强调硬件和软件组件的物理分布和连接。

显示运行时系统的结构,传达构成应用程序的硬件和软件元素的配置和部署方式。

常用于帮助理解分布式系统。

13.包图

主要用于描述系统中包(Package)以及包内所含元素的组织结构和它们之间的依赖关系。以下是对包图的详细解释:

定义:包图是在UML中用类似于文件夹的符号表示的模型元素的组合,用于描述模型中的包和所包含元素的组织方式。

强调包的组织结构和层次关系。

展示包之间的依赖关系。

可以包含各种类型的UML元素,如类、接口、用例等。

14.剖面图

又称为剖切图,是通过对有关的图形按照一定剖切方向所展示的内部构造图例。剖面图一般用于工程的施工图和机械零部件的设计中,补充和完善设计文件,是工程施工图和机械零部件设计中的详细设计,用于指导工程施工作业和机械加工。除此之外,剖面图也用于生物研究、气象分析等领域。以下是对剖面图的详细解释:

定义:剖面图是假想用一个剖切平面将物体剖开,移去介于观察者和剖切平面之间的部分,对于剩余的部分向投影面所做的正投影图。

能够直观地展示物体内部的结构和构造形式。

清楚地表达设计思想和意图,便于施工人员理解和执行。

在绘制时,剖切平面的位置和剖切方向需要根据具体情况进行选择,以确保能够充分展示物体的内部特征。

提高沟通效率:UML图通过可视化的方式展示系统的结构和行为,使得开发人员之间可以更好地沟通和理解系统的设计和功能。降低开发风险:在软件开发之前,通过UML图对整个软件设计进行建模和验证,可以及早发现潜在的问题和风险,从而降低开发过程中的不确定性。支持面向对象开发:UML图支持面向对象的设计和开发方法,包括类、对象、接口、继承、关联等概念,使得开发人员可以更加自然地描述和构建软件系统。

学习UML图需要掌握其基本概念和符号规范,并通过实践来加深理解和应用。建议初学者从类图、用例图等基本的UML图开始学习,逐步掌握更复杂的行为性图形。同时,结合具体的软件开发项目来应用UML图,可以更好地理解其在实际工作中的作用和价值。

THE END
1.UML类图详解(全网最无敌详解版(自封的))空心菱形箭头指向整体,表示“部分-整体”的关系,但部分可以独立存在。 示例: 组合(Composition): 实心菱形箭头指向整体,表示“部分-整体”的关系,且部分不能独立存在。 示例: 继承(Generalization): 空心三角形箭头指向父类,表示子类继承父类。 示例: 实现(Realization): ...http://www.360doc.com/content/24/1127/23/65649819_1140594546.shtml
2.矢量图是常用的图形图像表示形式,()是描述矢量图的基本组成单位。矢量图是常用的图形图像表示形式,( )是描述矢量图的基本组成单位。 A. 像素 B. 像素点 C. 图元 D. 二进制位 相关试题:颜色属性更多> 知识点讲解 ·图形·图形与图像·基本组成 图形 UML 2.0包括14种图,分别列举如下。 (1)类图(class diagram):描述一组类、接口、协作和它们之间的关系。在面向对象系统的建...http://www.rkpass.cn/tk_timu/3_631_59_xuanze.html
3.RationalRose简明实用教程用例图中包含的元素除了系统边界、角色和用例,另外就是关系。 关系包括用例之间的关系,角色之间的关系,用例和角色之间的关系。 1、角色之间的关系 由于角色实质上也是类,所以它拥有与类相同的关系描述,即角色之间存在泛化关系, 泛化关系的含义是把某些角色的共同行为提取出来表示为通用的行为。 https://www.360doc.cn/article/9824753_653791134.html
4.业务流程图的六种基本图形符号中,方框表示()用例图中的用例用()图形符号表示 A.方框 B.小人 C.椭圆 D.箭头 点击查看答案 第2题 ()控制阀以滑阀应用最广,其基本图形符号是方框,有几个方框就有几位。 A.压力 B.流量 C.方向 点击查看答案 第3题 系统流程图用图形符号表示系统中各个元素表达系统中各种元素之间的()情况。 https://www.xilvlaw.com/souti/zhiye/t38cw4rl.html
5.UML基础教程(7)下面哪份代码(Java)最接近于图中对Segment的描述 4. 顺序图 4.1 概要 顺序图用来表示用例中的行为顺序。当执行一个用例行为时,顺序图中的每条消息对应了一个类操作或状态机中引起转换的事件。 顺序图展示对象之间的交互,这些交互是指在场景或用例的事件流中发生的。 顺序图属于动态建模。 https://www.jianshu.com/p/c60d669b6664
1.UML概述类图关系及连接线表示51CTO博客简单来说,就是规定一个约定俗成的东西,方便大家表示一些行为(根据这个东西,大家都能知道这个行为,基本不用再一一解释)。 二、UML的主要图型 用例图(Use Case Diagram) 定义:用例图主要用于描述系统的功能需求,它展示了系统中的参与者(Actor)与用例(Use Case)之间的关系。参与者可以是用户、外部系统等,用例代表...https://blog.51cto.com/u_16417016/12591365
2.软件测试如何写一个好的测试用例?测试员的目标是要保证系统在各种场景下的功能是符合设计要求的。而测试用例就是测试员想到的测试场景。(这也是高级别的测试员即使不会代码也能找到较好工作的原因) 编写测试用例的思路 等价类,边界值,正交 判定表 因果图 状态迁移图 场景分析 错误猜测法,其中等价类和边界值是最基础最重要的 我的思路是80%的用例...https://blog.csdn.net/qq_73332379/article/details/142664398
3.UML方法(精选十篇)1)面向对象,UML支持面向对象技术的主要概念,提供了一批基本的模型元素的表示图形和方法,能简洁明了地表达面向对象的各种概念。 2)可视化,表示能力强。通过UML的模型图能清晰地表示系统的逻辑模型和实现模型。可用于各种复杂系统的建模。 3)独立于过程。UML是系统建模语言,独立于开发过程。 https://www.360wenmi.com/f/cnkeyf1m62t7.html
4.有色Petri网论文7篇(全文)有色Petri网论文(精选7篇) 有色Petri网论文 第1篇 Petri网直观的图形表示和严密的数学基础,使得Petri网在系统建模与分析中被广泛应用。但是传统的Petri网具有封闭、状态空间爆炸等缺点,而有色Petri网却能避免状态空间爆炸问题,此外,有色Petri网的层次性也可以有效地降低模型的复杂性。 https://www.99xueshu.com/w/ikey1v6mxivl.html
5.PayPalAPI设计原则MyblogREST 组件通过使用表示形式来捕获资源的当前状态或预期状态并在组件之间传输该表示形式,从而对资源执行操作。 一个表示形式是一个字节序列,外加描述这些字节的表示形式元数据 ——Fielding论文第5.2节。 2.1.4 域 根据Wikipedia 所说,领域模型是一个抽象系统,描述了知识, ...https://blog.iclouds.work/2020/09/01/api-design/paypal_api_style_guide/
6.draw.io在线绘图工具怎么用?draw.io超详细的小白入门教程Diagram选项卡中,设置一些与绘图图形有关的内容。 (1)View Grid设置是否显示网格,默认是显示的。Gride右侧的数字用于指定网格的大小和网格线的颜色。 Page View设置绘图区是否以页视图的形式显示。Background用于设置背景色,默认为白色,如果去掉勾选,则保存的图的背景是透明色。 https://www.jb51.net/softjc/906693_all.html
7.JAW:针对Web应用程序的客户端CSRF漏洞检测工具HPG由代码表示形式和状态值组成。代码表示统一了JavaScript程序的多个表示,而状态值是在程序执行期间观察到的具体值的集合。使用标记的属性图对二者进行建模,其中节点和边可以具有标签和一组键值属性。以下示例显示了一个图形,其中li是节点标签,rj是关系标签。节点和边可以通过使用属性(键值映射)存储数据。 https://xz.aliyun.com/t/10990
8.福建省建设工程监管一体化平台项目第三方性能测评服务项目附件④供应商根据磋商小组的要求,在磋商过程中以纸质方式签署确认并提交的澄清或说明、解决方案、图纸图表以及最后报价等资料均为补充响应文件,磋商小组将此部分内容通过扫描或拍照或数据录入或附件上传等形式提交到电子平台系统,应保持两者内容一致,并作为补充电子响应文件进行评审。相关纸质响应文件应当存档保留,做为监督或核验...https://zfcg.czt.fujian.gov.cn/upload/document/20220302/e433797ee60245daaae68a2ad2259af7.html