UML的图及其他图补充

2024-09-06 18:36
文章标签 补充 uml 他图

本文主要是介绍UML的图及其他图补充,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、UML图

1.类图

类图‌是统一建模语言(UML)中的一种静态结构图,主要用于描述软件系统的静态结构。它显示了模型中的类、类的内部结构以及它们与其他类的关系。类图是面向对象建模的主要组成部分,用于对系统的词汇进行建模、对简单的协作进行建模以及对逻辑数据库模式进行建模。类图的基本元素包括类、接口以及它们之间的关系,这些元素共同构成了系统的静态结构模型。

总结:

1.静态图、特点是简单,统一,图形化,能表达软件设计中的动态与静态信息,对象、接口、协作及它们之间关系。

2.可组织在包中,用在分析和设计阶段,是这两者阶段的重要产物,也是编码的重要模型依据。

类图详细:https://blog.csdn.net/lxy1290439047/article/details/141747402

2.对象图

对象图(Object Diagram)‌是统一建模语言(UML)中的一个概念,用于描述在某一时刻,一组对象以及它们之间关系的图形。对象图是类图的实例,展示了类的对象实例而不是实际的类本身。它主要关注对象的名称、属性以及对象之间的关系,这些关系可以是关联、聚合或继承等。对象图的作用主要体现在以下几个方面:

  1. 描述复杂数据结构‌:对于复杂的数据结构,对象图能够通过展示对象实例及其关系,帮助理解和抽象这些数据结构在某一时刻的状态。
  2. 说明类交互‌:在类交互逻辑较为复杂时,可以通过绘制对象图来辅助说明类图,提供更具体的实例信息。
  3. 模拟运行状态‌:在设计类模型时,对象图可以用来模拟系统的运行状态,验证设计的合理性。

对象图与类图相似,但对象图更加具体它显示的是实际的对象实例而不是类定义。由于对象有生命周期,因此对象图只在系统的某个特定时间段存在。对象图的组成元素包括对象和链其中对象是类的实例,而链则是对象之间的关联关系的实例。通过对象图,可以清晰地看到对象之间的静态关系,而不包含对象之间的动态交互信息‌

总结:

1.静态图,类图的快照,由对象和链组成。它比类图更具体。

2.作用:描述复杂数据结构、说明类交互、模拟运行状态。

3.用例图

用例图是一种图形化工具,用于描述系统功能和用户与系统之间的交互。

用例图主要由参与者(Actor)、用例(Use Case)以及它们之间的关系构成用于描述系统的功能参与者代表与系统进行交互的外部实体,如用户或其他系统。用例则代表系统提供的功能或服务。通过这些元素及其关系,用例图展示了系统的用户和用户希望系统提供的功能,从而促进了用户和软件开发人员之间的沟通。

总结:

1.用例、参与者(有的包含子系统)及它们间关系。用例参与者的一系列操作。用例间关系:扩展、包含、泛化,(有的包含关联关系)。从图中可知,包含更强。

2.主要功能:获取需求、指导测试、其他工作流中起指导作用

4.序列图

序列图‌,也称为顺序图或时序图,是一种UML交互图,主要用于描述系统中对象之间的动态协作和消息传递的时间顺序。这种图通过展示对象间发送消息的时间顺序,帮助开发者理解和设计系统的行为和结构。序列图的主要特点包括:

  1. 动态协作‌:显示多个对象之间的动态协作,通过描述对象之间发送消息的时间顺序来实现。
  2. 用例行为顺序‌:可以表示用例的行为顺序,当执行一个用例行为时,其中的每条消息对应一个类操作或状态机中引起转换的触发事件

在分析系统中对象交互的场景中应用广泛,它不仅能够显示对象间的交互,还能从一定程度上更加详细地描述用例表达的需求,并将其转化为进一步的、更加正式层次的精细表达。

总结:

1.顺序图或时序图,场景的图形化,时间顺序组织对象间交互活动,描述对象间动态协作和消息传递顺序。

2.特点:动态协作、用例行为顺序。

3.消息类型:同步、异步、返回

4.识别:三者消息,竖条

5.通信图

通信图(Communication Diagram)‌,也被称为协作图(Collaboration Diagram),是UML(统一建模语言)中的一种图表类型,主要用于描述系统中对象之间的消息传递和通信关系。通信图展示了对象实体及其间的交互顺序,包括同步和异步消息,帮助开发人员和设计师更好地理解系统中的对象之间的相互作用。它强调对象间的消息传递和通信关系,常用于描述系统交互,为系统设计和开发提供辅助。

通信图的主要用途包括:

  1. 描述对象间的交互‌:通过显示对象之间如何通过消息进行交互,帮助理解系统的动态行为。
  2. 显示对象及其交互关系的空间组织结构‌:通过描绘对象之间消息的传递情况,反映具体使用语境的逻辑表达。
  3. 表达操作的实现‌:通过对象和对象之间的链、发送的消息来显示参与交互的对象,体现一种组织关系。

这种图表类型对于理解复杂系统中的对象交互和消息传递非常有帮助,尤其是在需要分析系统行为和设计高效交互的场景中‌。

总结:

1.强调参加对象的组织,描述对象间消息传递和通信关系,对象实体及其交互顺序(同步和异步消息)

2.用途:描述对象间交互、显示对象及其交互关系的空间组织结构、表达操作的实现。

3.识别:有链,有消息,消息有编号顺序

6.状态图

状态图是一种用于描述对象生命周期和状态转换的UML图示,它是一种行为图,用于详细说明对象的状态和状态之间的转换。

状态图通过建立类对象的生存周期模型,描述对象随时间变化的动态行为。它展示了对象如何根据当前所处的状态对不同的事件做出反应,从而创建一个系统的动态模型和场景的模型。状态图的作用主要体现在以下几个方面:

  1. 描述对象的动态行为‌:状态图通过显示状态机(指定对象所在的状态序列)、使对象达到这些状态的事件和条件,以及达到这些状态时所发生的操作,来描述对象的动态行为。
  2. 建模技术‌:状态图提供了建模技术,包括状态、转换、事件、活动和动作等,这些元素共同构成了状态机的核心,用于表现从一个状态到另一个状态的控制流。
  3. 清晰沟通‌:通过状态图,项目成员可以更简单、更直观地理解系统的行为和交互,避免了通过大量文字描述状态变化时可能出现的沟通困难和理解不一致的问题。
  4. 系统设计‌:状态图有助于研发人员更好地设计和实现系统功能,它通常与活动图、时序图结合使用,从不同视角补充对象状态流转的内容,从而全面理解系统的行为模式。

综上所述,状态图是一种强大的工具,它不仅用于描述对象的动态行为,还促进了团队成员之间的沟通,提高了系统设计和实现的效率‌

总结:

1.单个对象在多个用例中行为,包含简单和组合状态。

2.转换是两个状态间关系,可以通过事件触发器触发,触发后有监护条件检查。转移的原状态可有多个,目标状态也可有多个。

7.活动图

活动图是一种动态行为图,用于描述系统的业务流程或计算流程,将其抽象成一步步的数据流和控制流。‌ 它主要用来描述某一方法或用例的内部行为,将业务流程或计算流程可视化,帮助理解和分析系统的动态特性。活动图不仅可以显示用例内部和用例之间的路径,还能说明需要满足什么条件用例才会有效,以及用例完成后系统保留的条件或状态。此外,活动图在用例图之后提供了对系统的进一步充分表述,为系统分析提供了重要的参考。

总结:

1.特殊的状态图,系统内一个活动到另一个活动的流程,业务流程和计算流程,抽象成一步步的数据流和控制流。

2.并发分叉、并发汇合、监护表达式、分支、流。并发分叉下的分支表示并行的线程。

3.识别,两条大的黑色横线,并发分叉和并发汇合。

8.构件图

构件图是用来表示系统中构件与构件之间,以及定义的类或接口与构件之间的关系的图。

构件图通过显示系统的构件以及接口等之间的接口关系,形成系统的更大的一个设计单元。在以构件为基础的开发中,构件图为架构设计师提供了一个系统解决方案模型的自然形式,并且它还能够在系统完成后允许一个架构设计师验证系统的必须功能是由构件实现的,这样确保了最终系统将会被接受。

构件图的主要作用包括:

  1. 描述系统的物理结构‌:构件图展示了系统中各个物理组件(如可执行文件、源文件等)的存在以及它们之间的依赖关系,帮助理解系统的物理构成。
  2. 支持软件复用‌:通过良好的接口设计,构件图促进了软件组件的复用,允许新组件替换旧组件,而不需要修改依赖这些组件的其他部分。
  3. 支持系统设计和验证‌:在系统设计阶段,构件图帮助设计师理解和规划系统的整体结构。在系统开发完成后,它还可以用来验证系统的功能和性能是否符合设计要求。

综上所述,构件图是一种重要的UML图类型,对于理解系统的物理结构、促进软件复用以及支持系统的设计和验证具有重要作用‌。

总结:

1.展现了一组构件间的组织和依赖关系

2.作用:物理结构描述、促进复用、支持系统设计及开发完成后验证

3.识别:半圆的供接口,全圆的需接口,而且两者可结合。

9.部署图

部署图是用来显示系统中软件和硬件的物理架构的一种图形化表示方法。‌它提供了一个静态视图,展示了运行时的硬件节点以及在这些节点上运行的软件构件的物理位置和它们之间的通信方式。部署图的主要目的是描述系统的物理配置和部署方式,包括系统的硬件、安装在硬件上的软件以及连接异构机器之间的中间件。通过部署图,可以了解软件和硬件组件之间的物理关系以及处理节点的组件分布情况,同时传达构成应用程序的硬件和软件元素的配置和部署方式。

部署图在多个方面发挥作用:

  1. 探究系统投产的相关问题‌:通过部署图,可以评估系统的物理架构是否满足投产要求,以及是否需要调整以解决问题。
  2. 描述系统与生产环境中的其他系统的依赖关系‌:如果系统需要与其他已存在的或即将引入的系统进行交互,部署图可以帮助理解这些依赖关系。
  3. 描述一个商业应用主要的部署结构‌:对于商业应用,部署图展示了其主要组件如何在不同的硬件和软件环境中部署。
  4. 设计一个嵌入系统的硬件和软件结构‌:对于嵌入式系统,部署图描绘了硬件和软件的物理布局,确保它们正确集成和通信。
  5. 描述一个组织的硬件/网络基础结构‌:对于大型组织或企业,部署图可以展示其内部的硬件和网络基础设施。

总之,部署图是一种重要的工具,用于理解和设计复杂系统的物理架构,确保软硬件的正确配置和集成‌。

总结:

1.静态部署图,部署物理模块分布,于构件图有关,不过是构件粒度更小依赖节点

2.作用:部署图可评估物理架构是否满足要求,还能描述与外部其他系统关系,再就是各组件/硬件/网络等在软件/硬件环境的布局部署。

3.识别很好识别,大块的包,里面细粒度的组件。

10.UML4+1视图

11.包图

包图是在 UML 中用类似于文件夹的符号表示的模型元素的组合。系统中的每个元素都只能为一个包所有,一个包可嵌套在另一个包中。使用包图可以将相关元素归入一个系统。一个包中可包含附属包、图表或单个元素。

一个"包图"可以是任何一种的UML图组成,通常是UML用例图或UML类图。 包是一个UML结构,它使得你能够把诸如用例或类之类模型元件组织为组。 包被描述成文件夹,可以应用在任何一种UML图上。 虽然包图并非是正式的UML图,但实际上他们是很有用处的,

创建一个包图是为了∶描述你的需求高阶概述。描述你的设计的高阶概述。在逻辑上把一个复杂的图模块化。组织Java源代码。

类包图和用例包图。

总结:

1.它相当于一个文件级,文件就是类、接口、用例等等

2.它跟其他的图组合使用,它其实不是真正的UML图,都是配合其他元素使用的。

12.交互图

交互图是一个组合概念:它包含了前面的序列图(顺序图)、通信图、定时图、交互概览图。

交互图是描述对象之间的关系以及对象之间的信息传递的图。

  • 顺序图:是一种强调消息时间顺序的交互图,为读者提供了控制流随着时间推移的清晰的可视化轨迹
  • 通信图:UML 2.0中的通信图实际上就是UML 1中的协作图,它强调的是参加交互的对象的组织,为读者提供了在协作对象结构组织的语境中观察控制流的一个清晰的可视化轨迹
  • 定时图:采用了一种带数字刻度的时间轴来精确地描述消息的顺序。
  • 交互概述图:是交互图和活动图的混合物

以上UML图都是面向对象分析用的。

二、其他涉及的图补充

1.流程图

流程图是对某一个问题的定义、分析或解法的图形表示。

流程图是一种图形化的表示方法,用于描述一系列步骤或决策过程,以展示任务、操作或算法的流程。

流程图的主要用途

1. 清晰展示流程
  • 直观性‌:通过图形和箭头,流程图能够直观地展示复杂过程的结构和顺序,帮助人们快速理解整个流程。
  • 逻辑性‌:确保流程中的每个步骤都按照逻辑顺序排列,有助于发现潜在的逻辑错误或遗漏。
2. 辅助决策制定
  • 决策点‌:流程图中的菱形符号代表决策点,用于表示需要根据特定条件做出选择的步骤。这有助于明确决策过程,减少决策失误。
  • 分支路径‌:展示不同决策结果下的后续步骤,帮助决策者了解各种可能性和后果。
3. 项目管理
  • 任务分配‌:在项目管理中,流程图可以用来分配任务和资源,明确每个团队成员的职责和完成时间。
  • 进度跟踪‌:通过流程图,可以清晰地看到项目的进展情况和剩余任务,有助于及时调整计划以应对变化。
4. 教学和培训
  • 学习工具‌:流程图作为教学工具,可以帮助学生或受训者更好地理解复杂过程或概念。
  • 演示材料‌:在演示或讲解过程中,流程图可以作为辅助材料,使内容更加生动、易于理解。

综上所述,流程图在多个领域都具有广泛的应用价值,是组织和表达复杂流程的重要工具。

总结:

1.他不是UML图,它用来图形的方式来描述一系列步骤或决策过程。

2.组成:圆角矩形表示“开始”与“结束”;梯形表示的输入和输出;矩形表示普通执行环节;菱形表示条件判断环节;箭头表示执行方向。

2.状态实体关系图/实体关系图(E-R图)

状态实体关系图(ER图)是一种用于描述数据模型的概念图,主要用于数据库设计阶段。‌ 它通过可视化实体、属性和它们之间的关系,帮助设计师和开发者理解数据需求并构建相应的数据库结构。ER图广泛应用于多种场景中,包括但不限于系统分析与设计、数据库设计、软件工程、数据仓库和商业智能、数据治理和管理、项目管理和协作以及教学和培训。

系统开发初期,ER图被用来捕捉业务需求并定义数据结构,帮助分析人员和设计师理解业务流程中的数据元素及它们之间的关系。在数据库设计阶段,ER图可以用于定义数据库的逻辑结构,包括实体、属性和联系,并基于ER图进一步设计数据库的物理结构,如表结构、索引等。在软件工程中,ER图帮助开发者理解各个模块的数据需求,促进模块间的接口设计,并在集成测试阶段验证数据的一致性和完整性。此外,ER图还能用于构建数据仓库的架构,定义事实表和维度表之间的关系,支持高级数据分析和报表生成。

总的来说,状态实体关系图(ER图)是一种强大的工具,它提供了一个可视化的方式来理解和设计数据库结构,从而支持从业务需求分析到数据库物理实现的整个开发过程‌

总结:

1.描述数据模型的概念图,主用于数据库设计阶段(实体、属性及之间关系构建数据库逻辑模型),也可用于系统开发初期,用来捕捉业务需求并定义数据结构,集成测试阶段验证数据的一致性和完整性。

3.数据流图

从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。

4.状态转换图

状态转换图(State Transition Diagram,简称STD)‌是一种图形化工具,用于描述系统的状态及状态之间的转换,通过描绘系统的状态及引起系统状态转换的事件来表示系统的行为。它不仅展示了系统状态关系的全貌,还指明了作为特定事件的结果系统将执行的动作,如处理数据等。状态转换图的作用主要体现在以下几个方面:

  1. 需求分析‌:在软件工程的需求分析阶段,状态转换图用于建立需求分析中的行为模型,帮助清晰地表达系统的行为逻辑,为系统的设计和分析提供有力支持。
  2. 避免逻辑错误‌:通过状态转换图,可以避免开发过程中出现的状态转换逻辑错误,确保系统在各种条件下都能正常工作。
  3. 检测系统缺陷‌:状态转换图还可以帮助检测系统设计中是否存在缺陷,确保系统的完整性和正确性。
  4. 沟通和协作‌:在团队成员之间,状态转换图可以清晰地表达系统的行为逻辑,有助于沟通和协作。
  5. 论证系统结构和操作‌:系统实现后,状态模型还用于论证系统的结构和操作,确保系统的可理解和可维护性。

总之,状态转换图是一种重要的工具,它通过图形化的方式描述系统的状态及其转换,为系统的设计、分析、测试和维护提供了极大的便利‌。

状态转换图,即STD图(State Transform Diagram),表示行为模型。

STD图发生在软件工程的需求分析阶段。状态模型是一种描述系统对内部或者外部事件响应的行为模型。它描述系统状态和事件,以及事件引发系统在状态间的转换。这种模型适用于描述实时系统

总结:

1.非UML图,用于描述系统的状态及状态之间的转换。

2.<状态图>和<状态转换图>在软件工程中是同义词,UML的状态图和状态转换图基本类似,只有一些细微区别,基本可以通用。

5.因果图/状态因果图

状态因果图‌是一种图解法,用于分析输入与输出的各种组合情况从而设计测试用例的方法。它特别适合于检查程序输入条件的各种组合情况,尤其是当输入条件比较多时,能够测试所有输入条件的排列组合。状态因果图法通过图解的方式表示输入的各种组合关系,并据此写出判定表,进而设计相应的测试用例。这种方法不仅适用于技术领域,如在黑盒测试中,还广泛应用于社会科学领域,作为一种探究因果关系的工具,帮助分析复杂问题,明确解决问题的关键,准确抓住重点,并便于成员取得一致意见‌12。

具体来说,状态因果图的作用包括:

  1. 分析复杂问题‌:通过图形化的方式,帮助理解和分析各种复杂因素交织在一起的问题。
  2. 明确解决问题的关键‌:通过多次修改和绘制,可以明确解决问题的关键点,准确抓住重点。
  3. 便于成员取得一致意见‌:通过图形化的方式,使得团队成员更容易达成一致的意见和解决方案。

此外,状态因果图法还可以与判定表结合使用,通过映射同时发生相互影响的多个输入来确定判定条件,从而更有效地进行测试用例的设计‌

总结:

1.用于分析输入与输出的各种组合情况,适合于检查程序输入条件的各种组合情况,并据此写出判定表,从而设计测试用例的方法。

2.作用

6.

这篇关于UML的图及其他图补充的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1142795

相关文章

【多系统萎缩患者必看】✨维生素补充全攻略,守护你的健康每一天!

亲爱的朋友们,今天我们要聊一个既重要又容易被忽视的话题——‌多系统萎缩患者如何科学补充维生素‌!🌟 在这个快节奏的生活中,健康成为了我们最宝贵的财富,而对于多系统萎缩(MSA)的患者来说,合理的营养补充更是维护身体机能、提升生活质量的关键一步。👇 🌈 为什么多系统萎缩患者需要特别关注维生素? 多系统萎缩是一种罕见且复杂的神经系统疾病,它影响身体的多个系统,包括自主神经、锥体外系、小脑及锥

UML- 统一建模语言(Unified Modeling Language)创建项目的序列图及类图

陈科肇 ============= 1.主要模型 在UML系统开发中有三个主要的模型: 功能模型:从用户的角度展示系统的功能,包括用例图。 对象模型:采用对象、属性、操作、关联等概念展示系统的结构和基础,包括类图、对象图、包图。 动态模型:展现系统的内部行为。 包括序列图、活动图、状态图。 因为要创建个人空间项目并不是一个很大的项目,我这里只须关注两种图的创建就可以了,而在开始创建UML图

Vue2电商项目(二) Home模块的开发;(还需要补充js节流和防抖的回顾链接)

文章目录 一、Home模块拆分1. 三级联动组件TypeNav2. 其余组件 二、发送请求的准备工作1. axios的二次封装2. 统一管理接口API----跨域3. nprogress进度条 三、 vuex模块开发四、TypeNav三级联动组件开发1. 动态展示三级联动数据2. 三级联动 动态背景(1)、方式一:CSS样式(2)、方式二:JS 3. 控制二三级数据隐藏与显示--绑定styl

第三章 UML类图简介(设计模式笔记)

第三章 UML类图简介 3.1类 3.2接口 名字层必须有<> 3.3 泛化(继承)关系 箭头终点端指向父类(空心三角形) 3.4 关联(组合1)关系 B类是A类的成员变量 ,称A关联B。 箭头终点端指向B 3.5 依赖(组合2)关系 B类是A类的某个方法的参数 ,称A依赖B。 箭头终点端指向B(虚线) 3.6 实现关系 箭头终点端指向接口(虚线,空心

Numpy random.random()函数补充

np.random.random() np.random.random()的作用是生成指定形状的均匀分布的值为[0,1)的随机数 参数为size,也就是用于指定的形状大小 import numpy as npprint(np.random.random(size=(2, 2)))# [[0.19671797 0.85492315]# [0.99609539 0.66437246]]

”CSS 网格“二维布局系统(补充)——WEB开发系列32

CSS 网格布局是一种二维布局系统,用于网页设计。通过使用网格,你可以将内容以行和列的形式进行排列。此外,网格布局还能够简便地实现一些复杂的布局结构。 一、什么是网格布局? CSS网格布局是一种二维布局系统,它允许我们创建复杂的网页布局,既可以处理行也可以处理列。与传统的布局方法不同,网格布局将网页分成多个可控的区域,这些区域可以任意排列、对齐和调整大小。网格布局使得创建灵活且响应

设计模式反模式UML图示常见误用案例分析

1. 过度复杂化图示 反模式: 在UML图示中加入过多的细节,导致难以理解。 案例分析: 案例背景: 某软件开发团队在为一个社交媒体平台设计架构时,决定使用观察者模式来处理用户之间的通知功能。在创建UML图示时,团队将所有可能的通知类型和相关的属性、方法都包含在内,导致图示非常复杂和混乱。整个团队在讨论设计时,发现很难从图示中快速理解系统的核心结构。 问题分析: 这种做法导致了UML图示过

软考-软件设计师(UML习题)

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。💝💝💝 ✨✨ 欢迎订阅本专栏 ✨✨   前言 小郑正在备考2024年下半年的中级软件设计师,所以打算开展一个软考备考专栏,在这里记录一下备

“弹性盒子”一维布局系统(补充)——WEB开发系列31

弹性盒子是一种一维布局方法,用于根据行或列排列元素。元素可以扩展以填补多余的空间,或者缩小以适应较小的空间,为容器中的子元素提供灵活的且一致的布局方式。 一、什么是弹性盒子? CSS 弹性盒子(Flexible Box Layout,简称 Flexbox)是 CSS3 中引入的一种布局模式,提供一种有效的方式来布局、对齐和分配容器内空间,特别是在动态和复杂的应用界面中。 1、

斯坦福UE4 C++课学习补充25:寻路EQS

文章目录 一、创建EQS二、修改行为树三、查询上下文 一、创建EQS 场景查询系统EQS:可用于收集场景相关的数据。然后该系统可以使用生成器,通过各种用户定义的测试就这些数据提问,返回符合所提问题类型的最佳项目Item。 EQS的一些使用范例包括:找到最近的回复剂或弹药、判断出威胁最大的敌人,或者找到能看到玩家的视线 参考链接:https://dev.epicgames.c