干货分享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.用例图的作用是什么?用例图的作用是什么? 正确答案 用例图是外部参与者所能观察到的系统功能的模型图。由一组用例、参与者及它们之间的关系组成。主要用于对系统、子系统或类的功能行为进行建模。参与者是与系统交互的外部实体,可以是人,也可以是其它系统。用例是从用户的角度描述系统的行为(功能)它将系 统的功能描述成一系列事件,https://www.examk.com/p/599697703.html
2.简答题用例图的作用是什么?【题目】 【简答题】用例图的作用是什么? 搜题找答案>13005软件工程试题答案>试题详情 【题目】【简答题】用例图的作用是什么? 纠错 查看答案 查找其他问题的答案?https://www.zikaosw.cn/daan/5646958.html
3.用例图的作用软件工程课件课程资源2.用例图的作用 Use Case主要用于促进和用户的交流、沟通,为此使用了一种用户和开发人员都能理解的方式描述系统功能和行为。 Use Case可以划分系统与外部实体的界限,是系统开发的起点,而最终应该落实到类和实现代码上。 Use Case既然是对系统行为的动态描述,因此它是类、对象、操作的来源,是系统分析和设计阶段的https://www.coder100.com/index/index/content/id/1995763
4.什么是用例图?用例图有什么作用?某国间谍戴某,结识了我某国家机关机要员黄某。戴某谎称来华投资建厂需了解政策动向,让黄某借工作之便为其搞到密级为“机密”的《内参报告》四份。戴某拿到文件后送给黄某一部手机,并为其子前往某国留学提供了六万元资金。对黄某的行为如何定罪处罚()https://www.shuashuati.com/ti/efb8923d138a4d3c8cbb1b75de1762e8.html?fm=bd3c5f17cf1afbac9419aeffe975404912
5.用例图介绍:在线制图UML用例图(usecase)腾讯云开发者社区用例描述了参与者如何使用系统来实现特定的目标。用例通常由用户发起,以实现描述实现目标所涉及的活动、步骤过程。 RelationShip 参与者和用例之间的关系 System Boundary 系统边界定义了系统与外部世界边界。 用例图作用 用例是获取和记录黑盒功能需求的强大技术。 https://cloud.tencent.com/developer/article/1436777
6.什么是用例图?用例图有什么作用?用例图中通常包含哪些元素? 点击查看答案 第2题 问答题 (1)什么是用例图?说明用例图的作用。(20分) 点击查看答案 第3题 问答题()什么是用例图?说明用例图的作用。(20分) 点击查看答案 第4题 用例说明和用例图对需求分析有什么帮助? 点击查看答案 第5题 简述什么是用例图(Use—CaseDiagram)。 点击https://www.shangxueba.cn/2213370.html
7.什么是用例图?用例图有什么作用?什么是用例图?用例图有什么作用? 该题目是简答题,请认证思考题目并且简要回答!正确答案 点击免费查看答案 试题上传试题纠错TAGS什么是用例图用例图有甚么作用 关键词试题汇总大全本题目来自[12题库]本页地址:https://www.12tiku.com/newtiku/919843/34992160.htmlhttps://m.12tiku.com/newtiku/919843/34992160.html
8.静态模型描述一个系统的静态特征。包括**用例图****类图**1 用例图(use case ) 1.1 作用 展示系统的核心功能及与其交互的用户。系统可以是整个系统,也可以是某个局部,但用户一定是在该系统外。 1.2 要素 用例(use case):也就是一个相对独立的功能。 参与者(actor):与用例存在交互关系的外部实体。 关系:包括参与者与用例间的关系,参与者之间的关系,以及用例间的关系https://article.juejin.cn/post/7222640431531802680
9.用例图的绘制与分析1. 用例图简介 本章将介绍用例图的基本概念、作用与优势,以及在软件开发中的重要性。让我们深入了解用例图的精髓。 2. 用例图的基本元素 在用例图中,包含了三种主要的基本元素,它们分别是参与者(Actors)、用例(Use Cases)和系统边界和关系(Relationships)。让我们逐一来了解它们的定义和特点。 2.1 参与者(Actorshttps://wenku.csdn.net/column/5p22zjfh0b
10.软件工程已校对.md·infy001/MSE根据上述描述,该音乐盒的用例图如下: 描述MP3播放功能的活动图: 观察上图,业务活动的分劈和接合用粗短线(同步杆)表示 活动图的概念及作用 概念 活动图本质上是一种流程图,它描述活动的序列,即系统从一个活动到另一个活动的控制流。 作用 描述用例,描述类的操作,另外,可以用来描述算法(单独使用)。 注意:一https://gitee.com/infy001/MSE/blob/master/%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B-%E5%B7%B2%E6%A0%A1%E5%AF%B9.md