UML 类图的初次使用

迅速掌握统一建模语言UML图 统一建模语言 是非专利的第三代建模和规约语言。UML是一种开放的方法,用于说明、可视化、构建和编写一个正在开发的、面向对象的、软件密集系统的制品的开放方法。UML展现了一系列最佳工程实践,这些最佳实践在对大规模,复杂系统进行建模方面,特别是在软件架构层次已经被验证有效。   这个语言由葛来迪·布区,伊瓦尔·雅各布森与詹姆士·兰宝于1994年至1995年间,在Rational Software公... 阅读详情

建议学习位置:w3cschool UML教程

UML基础知识

百度百科
统一建模语言(英语:Unified Modeling Language,缩写 UML)是非专利的第三代建模和规约语言。UML是一种开放的方法,用于说明、可视化、构建和编写一个正在开发的、面向对象的、软件密集系统的制品的开放方法。UML展现了一系列最佳工程实践,这些最佳实践在对大规模,复杂系统进行建模方面,特别是在软件架构层次已经被验证有效。

在这里插入图片描述

UML模型图的构成

  • 事物(Things):UML模型中最基本的构成元素,是具有代表性的成分的抽象
  • 关系(Relationships):关系把事物紧密联系在一起
  • 图(Diagrams ):图是事物和关系的可视化表示

UML事物

UML包含4种事物:构件事物 行为事物 分组事物 注释事物

  1. 构件事物: UML模型的静态部分,描述概念或物理元素它包括以下几种:
  • 类:具有相同属性相同操作 相同关系相同语义的对象的描述
  • 接口:描述元素的外部可见行为,即服务集合的定义说明
  • 协作:描述了一组事物间的相互作用的集合
  • 用例:代表一个系统或系统的一部分行为,是一组动作序列的集合
  • 构件:系统中物理存在,可替换的部件
  • 节点:运行时存在的物理元素
    另外,参与者、信号应用、文档库、页表等都是上述基本事物的变体
  1. 行为事物:UML模型图的动态部分,描述跨越空间和时间的行为。
  • 交互:实现某功能的一组构件事物之间的消息的集合,涉及消息、动作序列、链接。
  • 状态机:描述事物或交互在生命周期内响应事件所经历的状态序列
  1. 分组事物: UML模型图的组织部分,描述事物的组织结构
  • 主要由包实现,包是指把元素编程成组的机制。
  1. 注释事物: UML模型的解释部分,用来对模型中的元素进行说明,解释
  • 注解:对元素进行约束或解释的简单符号

结构型的图(Structure Diagram)

UML图可分为结构型和行为型两种。
1、结构型的图描述的是某种结构,这种结构在某段时间内是稳定的,“静态”的;
2、行为型的图描述的是某种行为,是“动态”的。

  • 结构型的图(Structure Diagram)包含:类图(Class Diagram),对象图(Object Diagram),构件图(Component Diagram),部署图(Deployment Diagram),包图(Package Diagram)。

类图(Class Diagram)

类图描述系统中类的静态结构。不仅定义系统中的类,表示类之间的联系如关联、依赖、聚合等,也包括类的内部结构(类的属性和操作)。
关系

  1. 在UML类图中,类使用包含类名、属性(field) 和方法(method) 且带有分割线的矩形来表示.。
  2. 其中+ :表示public ; - :表示private ; #:表示protected。
    在这里插入图片描述
    在这里插入图片描述
    图片出自《大话设计模式》清华大学出版社 -- 程杰 著

依赖关系(Dependency)

是一种使用关系,即一个类的实现需要另一个类的协助,所以要尽量不适用双向依赖。
代码重点体现在 :一个类局部变量、方法的参数 或者是静态方法的调用 另一个类。

  • 类图
    在这里插入图片描述
    在这里插入图片描述
  • 代码
    在这里插入图片描述
  • 实例一:人和手机没有关系,但是人需要使用手机。
    在这里插入图片描述
    在这里插入图片描述
  • 实例二:动物的生存需要氧气和水。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

关联关系(Association)

1、是一种拥有的关系,它使一个类知道另一个类的属性和方法,如老师和学生可以是双向的,也可以是单向的。双向的使用双向箭头,单向的使用单向箭头。
2、成员变量。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

聚合关系(Aggregations)

1、聚合关系是整体和部分的关系,且部分可以离开整体而单独存在,如车和车胎是整体和部分的关系,轮胎离开车仍然可以存在;还比方说,大雁和雁群是整体和部分的关系,大雁属于雁群的一部分,大雁离开雁群仍然可以存在。
2、聚合关系是关联关系的一种,是强的关联关系;关联和聚合在语法上无法区分,必须考察具体的逻辑关系。
3、成员变量的操作。

  • 策略模式的重要 类图。
    在这里插入图片描述
  • 大雁的例子的类图。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 策略模式。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

组合关系(composition)

是整体与部分的关系,但部分不能离开整体而单独存在。组合关系是关联关系的一种,是比聚合关系还要强的关系,它要求普通的聚合关系中代表整体的对象负责代表部分的对象的生命周期。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

泛化关系(generalization)

表示类与类之间的继承关系,接口与接口之间的继承关系,或类对接口的实现关系。一般化的关系是从子类指向父类的,与继承或实现的方法相反。

  • 类图(这里没有做详细的说明)
    在这里插入图片描述

对象图(Object Diagram)

构件图(Component Diagram)

部署图(Deployment Diagram)

包图(Package Diagram)。

行为型的图(Behavior Diagram)

  • 行为型的图(Behavior Diagram)包括:行为图(Activity Diagram),状态机图(State Machine Diagram),顺序图(Sequence Diagram),通信图(Communication Diagram),用例图(Use Case Diagram),时序图(Timing Diagram)。

用例图(Use Case Diagram)

1、(从用户的角度去描述系统功能,并指出个系统的操作者)
2、 用例图由参与者(Actor)、用例(Use Case)、系统边界、箭头组成。
3、 系统边界在画图中用方框来表示,同时附上系统的名称,参与者画在边界的外面,用例画在边界里面。

  1. 参与者: 参与者不是特指人,是指系统以外的,在使用系统或与系统交互中所扮演的角色。因此参与者可以是人,可以是事物,也可以是时间或其他系统等等
  2. 用例: 是对包括变量在内的一组动作序列的描述,系统执行这些动作,并产生传递特定参与者的价值的可观察结果。
  3. 系统边界:系统边界是用来表示正在建模系统的边界。边界内表示系统的组成部分,边界外表示系统外部。
  4. 箭头:箭头用来表示参与者和系统通过相互发送信号或消息进行交互的关联关系。
  • 包含
    在这里插入图片描述
  • 扩展
    在这里插入图片描述
  • 泛化(继承)
    在这里插入图片描述

活动图(Activity Diagram)

活动图是状态图的一个变体,用来描述执行算法的工作流程中涉及的活动

状态机图(State Machine Diagram)

顺序图(Sequence Diagram)

1、顺序图显示对象之间的动态合作关系,它强调对象之间消息发送的顺序,同时显示对象之间的交互。
2、顺序图的一个用途是用来表示用例中的行为顺序。当执行一个用例行为时,顺序图中的每条消息对应了一个类操作或引起状态转换的触发事件

通信图(Communication Diagram)

时序图(Timing Diagram)

行为图(Activity Diagram)

UML统一建模语言,类图、时序图等详解 统一建模语言(Unified Modeling Language,UML)是用来设计软件蓝图的可视化建模语言,1997 年被国际对象管理组织(OMG)采纳为面向对象的建模语言的国际标准。它的特点是简单、统一、图形化、能表达软件设计中的动态与静态信息。统一建模语言能为软件开发的所有阶段提供模型化和可视化支持。而且融入了软件工程领域的新思想、新方法和新技术,使软件设计人员沟通更简明,进一步缩短了设计时间,减少开发成本。它的应用领域很宽,不仅适合于一般系统的开发,而且适合于并行与分布式系统的建模。 阅读详情

相关推荐

统一建模语言 UML

统一建模语言 UML

xinyuan的专栏 6122

UML类图

一:介绍 下面UML类图标记详解的整体类图 UML全称为Unified Modeling Language,统一建模语言,为面向对象开发系统的产品进行说明、可视化、和编制文档的一种标准语言。UML分为用例图、类图、对象图、状态图、活动图、顺序图、协作图、构件图、部署图、包图、组合结构图、交互概览图,对于设计人员和开发人员最常用的就是类图 二:制作UML类图的工具 ProcessOn在线制图:https://www.processon.com/?utm_source=baidu&utm_med

L的博客 2088

【UML】第11篇 类图(6种关系)(3/3)

类图的6种关系

AI人人懂 665

UML类图和时序图

UML类图和时序图 1、UML概述 1997年,OMG 组织(Object Management Group对象管理组织)发布了统一建模语言(Unified Modeling Language,UML)。它为开发团队提供了标准通用的设计语言来开发和构建计算机应用。 为什么是统一建模语言 UML集成了Booch,OMT和面向对象软件工程的概念及建模符号,将这些方法融合为通用的,并且可广泛使用的建...

Steven's blog 1070

UML Use Case Diagrams

Engineering Notebook C++ Report Nov-Dec 98

RT-Thread NANO V4.1.1 在Cortex-M0上移植踩坑记:解决内存分配宏导致的线程创建失败

本文详细记录了RT-Thread NANO V4.1.1在Cortex-M0平台移植过程中遇到的内存分配宏配置问题,导致线程创建失败的解决方案。通过分析内存管理算法宏定义,将RT_USING_SMALL_MEM替换为RT_USING_SMALL_MEM_AS_HEAP,成功解决了线程创建问题,为开发者提供了实用的移植经验。

weixin_29189373的博客 306

UML-类图

在UML类图中,常见的有以下几种关系:泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency)泛化(Generalization)【泛化关系】:是一种继承关系,它指定了子类如何特化父类的所有特征和行为例如:老虎是动物的一种. 【箭头指向】:带三角箭头的实线,

憧憬的专栏 495

Python自动化办公:5分钟搞定钉钉群文件自动发送(附完整代码)

本文详细介绍了如何利用Python实现钉钉群文件的自动化发送。通过结合钉钉企业内部应用与群机器人API,构建了包含智能令牌管理、文件上传与消息发送的完整工作流。文章提供了可直接复用的完整代码,并分享了定时任务、目录监听等进阶实战方案,帮助职场人士高效解决重复性文件发送难题,实现办公自动化。

7z8x2c4v6b9的博客 322

UML类图与类关系

一、写在前面的话 类关系一般有6种:继承,实现,依赖,关联,聚合,组合。 类关系有各自的表示符号,建议牢牢记住这些符号,因为咱们除了要自己掌握画UML类图以外,其实大部分的时间是在阅读别人已经画好的UML类图,所以牢记这些基础知识,掌握这些符号代表的含义,可以帮助我们快速准确地理解UML类图。二、类关系详解 1、继承(Generalization) 也叫

黄鹰的专栏 1147

Flowable前端可视化配置动态审批人:告别硬编码,实现部门领导、项目经理自动分配

本文详细介绍了Flowable前端可视化配置动态审批人的全栈解决方案,通过表达式分配、监听器分配等动态审批人机制,实现从硬编码到智能分配的转变。文章提供了前端扩展bpmn-js设计器、后端动态解析实现方案及性能优化建议,帮助企业应对组织架构变动,提升审批流程的灵活性和效率。

weixin_30352645的博客 473

AgentScope Java多智能体框架

AgentScope Java 的核心设计理念是“Agent-Oriented Programming” (面向智能体编程)。

zzz19920821的博客 1735

[学习日记]重构简易RSSREADER的UML类图

这几天在学UML,找到一个不错的工具trufun plato ,一个国产的UML软件,用起来很爽哈!刚学UML,才看书十多页,无聊,按自己乱想画了个前面做的RSSREADER的类图发上来,算是学习记念吧,过些日子看了,多半自己要喷饭! 转载于:https://www.cnblogs.com/aowind/archive/2005/03/22/123418.html...

153

AI穿透式智慧粮仓

本报告基于 2025-2026 年全国多地智慧粮储实践案例,系统分析了 "AI + 穿透式" 智慧粮储体系的技术架构、AI 算法应用、提质增效成效、区域差异化特点及未来发展趋势。该体系通过多模态感知、智能算法与管控平台的深度融合,实现粮食存储全流程精准感知、智能预警与科学调控,显著降低储粮损耗与运营成本,大幅提升储粮安全水平与管理效率。报告梳理了各地差异化实践路径,提出针对性发展建议,为推动我国粮食仓储高质量发展、筑牢国家粮食安全防线提供参考。

reset2021的博客 229

如何画UML类图

简单介绍 统一建模语言(Unified Modeling Language,UML)是用来设计软件蓝图的可视化建模语言,面向对象的建模语言的国际标准。它的特点是简单、统一、图形化、能表达软件设计中的动态与静态信息。 类、接口、类图 类 类(Class)是指具有相同属性、方法和关系的对象的抽象,它封装了数据和行为,是面向对象程序设计(OOP)的基础,具有封装性、继承性和多态性等三大特性。在 UML 中,类使用包含类名、属性和操作且带有分隔线的矩形来表示。 类名 类名(Name)是一个字符串,例如,

java_kider的博客 4万+

组合预测模型 | LSTM-XGBoost长短期记忆神经网络结合极限梯度提升树时间序列预测(Matlab程序)

组合预测模型 | LSTM-XGBoost长短期记忆神经网络结合极限梯度提升树时间序列预测(Matlab完整程序)

前程算法屋的博客 2179

【Clickhouse】Clickhouse写入报错keeper server rejected the connection during the handshake

我的clickhouse集群时不时的报这个错误All connection tries failed while connecting to ZooKeeper. nodes: xxx 到时写入数据失败 用的ck自带的keeper。你需要仔细检查ZooKeeper集群的配置和状态,确保所有节点都正常运行,并且能够正确地选举领导者。检查ZooKeeper的ACL以及ClickHouse连接所使用的凭据,确保它们被正确配置和授权。版本不兼容:有时,不同版本的软件之间可能存在不兼容性,导致连接问题。

九师兄 371

IDEA快速构建UML类图

目录 1 UML图 1.1 类图概述 1.2 类图的作用 1.3 类图表示法 1.3.1 类的表示方式 1.3.2 类与类之间关系的表示方式 1.3.2.1 关联关系 1.3.2.2 聚合关系 1.3.2.3 组合关系 1.3.2.4 依赖关系 1.3.2.5 继承关系 1.3.2.6 实现关系 2 IDEA快速构建UML类图 1 UML图 统一建模语言(Unified Modeling Language,UML)是用来设计软件的可视化建模语言。它的特点是简单、统一、图形化、能表达软件设计中的动态与静态信息

赵广陆 3万+

Allegro如何改变线宽操作指导

用Allegro做pcb设计的时候,改变走线线宽是非常常用的功能,如下图。线宽目前是12mil,需要把线宽改成15mil。如何改变线宽操作指导。

weixin_54787054的博客 4254

Java程序设计——UML类图

一、定义 UML即统一建模语言(Unified Modeling Language),它是一种开放的方法,用于说明、可视化、构建和编写一个正在开发的、面向对象的、软件密集系统的制品的开放方法。UML展现了一系列最佳工程实践,这些最佳实践在对大规模,复杂系统进行建模方面,特别是在软件架构层次已经被验证有效。 从定义上看可能有点抽象,说白了就是一种由图表组成的标准化建模语言,一般我们理解的语言都是由文字组成,而这种统一建模语言是由图表组成的。我们知道开发一个软件系统,不光只有程序员参与,另外还有分析师、设计

Mr_John 1万+

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

统一建模语言——UML

统一建模语言——UML一、基本概念二、作用三、分类1 用例图2 类图3 对象图4 状态图5 活动图6 序列图(时序图)7 协作图8 构件图9 部署图(配置图)四、UML绘图工具选择: 一、基本概念 统一建模语言(Unified Modeling Language,UML)可以为面向对象系统的产品进行说明、可视化和编制文档,是一种非专利的第三代建模和规约语言。UML是面向对象设计的建模工具,独立于任何具体程序设计语言。UML的本质是为了更好地交流。 二、作用 1 为软件系统建立可视化模型 基于UML的可视化模

长不大的大灰狼 1万+

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

【软件工程】一篇入门UML建模图(类图)

来理一理我们前面走过的【软件工程】学习之旅,来帮助大家更好的搞清楚软件工程学习思路。软件工程是什么首先定义软件工程的概念,解释其重要性和目标。要通过系统化(系统定界方法)、工程化方法(引入软件开发过程)来解决软件工程问题说明软件工程面临的挑战,并引入系统化和工程化方法作为解决方案。因为软件工程的定义以及其目标和重要性,要求我们必须要引入工程化(分步骤、有序)、系统化(系统定界法///活动、实体、边界三要素)方法来处理软件工程问题软件开发过程模型在工程化的要求下,有序、有步骤来进行软件工程开发。

十二月的猫 6743

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

UML类图是什么

一、什么是UML类图 先引用一段百度百科的定义 统一建模语言(Unified Modeling Language,UML)是用来设计软件的可视化建模语言。它的特点是简单、统一、图形化、能表达软件设计中的动态与静态信息。 类图是描述系统中的类,以及各个类之间的关系的静态视图。能够让我们在正确编写代码以前对系统有一个全面的认识。类图是一种模型类型,确切的说,是一种静态模型类型。类图表示类、接口和它们之间的协作关系。 哈哈,相信你看来这个定义,肯定是迷惑的,但如果用一句话来概述 UML类图就是用来描述类与类

优秀的程序员不应该是CRUD 6445

【UML】详解UML类图

还不是很清楚UML?相信我,进来,五分钟,看完就学会。

BugMan的博客 2061

UML概述及UML类图详解

UML9种常用的图形

qq_39431405的博客 7621

UML类图全解析

画UML图的目的其实就是为了将自己的思想描述给别人,既可以对自己的抽象思路进行完整的实际复现,也可以将自己的思路呈现给别人去理解想法(软件是如何设计的),UML图在软件工程中很重要。只要在类中用到了对方,那么他们之间就存在依赖关系。如果没有对方,连编译也无法通过。泛化关系其实就是继承关系,它是依赖关系的特例。实现关系就是A类实现了B接口,是依赖关系的特例。关联关系其实就是类与类之间的联系,是依赖关系的特例。关联关系具有导航性:即双向关系或者单向关系。关系具有多重性:1."1":标识有且仅有一个。

2301_79108772的博客 2103

3.UML中的类图及类图之间的关系

统一建模语言简介 统一建模语言(Unified Modeling Language,UML)是用来设计软件蓝图的可视化建模语言,1997 年被国际对象管理组织(OMG)采纳为面向对象的建模语言的国际标准。它的特点是简单、统一、图形化、能表达软件设计中的动态与静态信息。 统一建模语言能为软件开发的所有阶段提供模型化和可视化支持。而且融入了软件工程领域的新思想、新方法和新技术,使软件设计人员沟通更简...

bater2356的博客 5772
上一篇: Visual Studio Code 的安装及设置
下一篇: AndroidStudio 安装及配置
Roobert_Chao
博客等级 码龄9年 89粉丝 94原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值