首页 > 其他分享 >UML类图

UML类图

时间:2024-08-03 20:39:46浏览次数:18  
标签:关系 表示 个类 对象 类图 UML

UML(Unified Modeling Language,统一建模语言):
一种由图形符号表达的建模语言,其主要结构包括以下几个部分:
1.视图:UML视图用于从不同的角度来表示待建模系统。
2.图:UML图是描述UML视图内容的图形。比如:类图(Class Diagram)、用例图(Use Case Diagram)、对象图(Object Diagram)等
3.模型元素:指UML图中所使用的一些概念,它们对应于普通的面向对象概念,如类、对象、消息以及这些概念之间的关系,如关联关系、依赖关系、泛化关系等。
4.通用机制:UML提供的通用机制为模型元素提供额外的注释、信息和语义。这些通用机制也提供了扩展机制,允许用户对UML进行扩展,如定义新的建模元素、扩展原有元素的语义、添加新的特殊信息来扩展模型元素的规则说明等,以便适用于一个特定的方法或过程、组织或用户。

类图(Class Diagram):
类图UML2.0的13种图形中使用频率最高的两种UML图之一(另一种是用于需求建模的用例图),它用出现在系统中的不同类来描述系统的静态结构,主要用来描述不同的类以及它们之间的关系。

一、表示
1、类的UML图示:

在UML中,类使用包含类名、属性和操作且带有分隔线的长方形来表示,类一般由3部分组成:
第1行:类名(若类名为斜体字,表示抽象类)
第2行:字段/属性【表示方法:可见性 名称:类型 [ = 默认值 ]】
第3行:方法【可见性 名称(参数列表) [ : 返回类型]】

注:
①可见性表示:
+:public;
#:protected;
-:private;
②[]表示:可选
③参数列表的参数个数为任意的,多个参数之间用逗号","隔开

2、接口的UML图示:

注:名称上方多了<<interface>>字符来表示这个为接口

二、类之间的关系
1、关联关系:
两个类、或者类与接口之间语义级别的一种强依赖关系。如师傅和徒弟、班级和学生等,这种关系比依赖更强、不存在依赖关系的偶然性,关系也不是临时性的,一般是长期性的,而且双方的关系一般是平等的、独立的
代码表现:将1个类的对象作为另1个类的成员变量。
类图表示:实线连接。

UML中,关联关系通常包含如下几种形式:
①双向关联:如:顾客购买商品并拥有商品,相应地,卖出的商品总有某个顾客与之关联。
类图表示:实线连接表示

②单向连接:如:顾客拥有地址
类图表示:带箭头的实线表示,箭头指向被关联者

③自关联:如:一个节点类的成员又是节点类型的对象。
类图表示:带箭头的实现指向自身

④多重性关联:又称重数(Multiplicity)性关联,表示两个关联对象在数量上的对应关系。
类图表示:UML中,对象之间的多重性可以直接在关联直线上用一个数字或一个数字范围表示。
如:1..1:表示另1个类的1个对象只与该类的1个对象有关系;
0..*:表示另1个类的1个对象与该类的0个或多个对象有关系;

⑤聚合关系(Aggregation):表示has-a的关系,聚合关系表示整体与部分的关系,成员对象是整体对象的一部分,但成员对象可以脱离整体对象独立存在。如汽车发动机与汽车的关系,发动机为汽车一部分,但可独立存在。
代码实现聚合关系时,成员对象通常作为构造方法、Setter方法或业务方法的参数注入到整体对象中。
类图表示:带空心菱形的直线表示(可带箭头)。

⑥组合关系(Composition):表示contains-a的关系,组合关系也表示类之间整体与部分的关系,但组合关系中整体对象可以控制成员对象的生命周期,一旦整体对象不存在成员对象也将不存在。如头和嘴巴的关系,嘴巴是头的组成部分之一,且如果头没了,嘴巴也就没了。
代码实现组合关系时,通常在整体类的构造方法中直接实例化成员类。
类图表示:带实心菱形的直线表示(可带箭头)。

2、依赖关系:
依赖关系是一种使用关系,特定事物的改变有可能会影响到使用该事物的其他事物,在需要表示一个事物使用另一个事物时使用依赖关系。
类图表示:用带箭头的虚线表示,由依赖的一方指向被依赖的一方。
代码中,通常通过3种方式实现依赖关系:
①将1个类的对象作为另1个类中方法的参数;
②在1个类的方法中将另1个类的对象作为局部变量;
③在1个类的方法中调用另1个类的静态方法;

3、泛化关系:
泛化关系也就是继承关系,表示is-a的关系,用于描述父类与子类的关系。
类图表示:用带空心三角形的直线表示

4、接口与实现关系:
接口之间也可有与类之间关系类似的继承关系和依赖关系,但接口和类之间还有一种实现(Realization)关系。即:类实现了接口,类中的操作实现了接口中所声明的操作。
类图表示:带空心三角形的虚线表示。

标签:关系,表示,个类,对象,类图,UML
From: https://www.cnblogs.com/Hello30/p/18340842

相关文章

  • 尝试导入“cuml”库时出现导入错误
    摘要:尝试在Ubuntu24.04上的conda环境中导入cuml库时遇到导入错误。以下是我遵循的步骤以及遇到的错误。重现步骤:创建新的conda环境:condacreate--prefix./envjupyterpython=3.8从rapidsai通......
  • Tools - 通过PlantUML进行文本方式绘图
    PlantUML简介PlantUML是支持多系统多编辑器的一个以文字方式绘图的工具,可以根据文字表述直接生成图,支持时序图、流程图、用例图、状态图、组件图等。能够以插件形式被Idea、VSCode、PyCharm等编辑工具所集成需先安装Java和开源图片渲染库Graphviz,否则无法正常显示需要先熟悉......
  • 通过一份经典的UML类图来学会如何读懂UML类图
    ​一份经典的UML类图如下:继承关系:—▷鸟—▷动物;鸟继承动物实现接口:•••▷大雁•••▷飞翔;大雁实现了飞翔接口实现接口:—○唐老鸭—○讲人话;唐老鸭实现讲人话接口(棒棒糖表示法)关联关系:—>企鹅—>气候;企鹅需要‘知道’气候的变化依赖关系:••......
  • PlantUML-UML 绘图工具安装、Graphviz安装、本地使用/在线使用、语法、图示案例
    文章目录前言本地安装vscode安装插件下载安装Graphviz配置Graphviz环境变量测试在线使用演示PlantUML语法总结活动图(新语法)时序图类图用例图其他图更多相关内容可查看前言本篇提供两种使用方式分别为在线使用地址1:https://www.planttext.com/在线使用地址2vsco......
  • 各种图(流程图,思维导图,UML,拓扑图,ER图)简介
    原文链接:https://blog.51cto.com/jiqing9006/3284733流程图1.定义:流程图是对过程、算法、流程的一种图像表示,在技术设计、交流及商业简报等领域有广泛的应用。2.案例  3.计算机语言只是一种工具。光学习语言的规则还不够,最重要的是学会针对各种类型的问题,拟定出有效的解......
  • UML/SysML建模工具更新情况(2024年7月)共12款,StarUML 6.1.2
    DDD领域驱动设计批评文集做强化自测题获得“软件方法建模师”称号《软件方法》各章合集工具最新版本:PlantUMLv1.2024.6更新时间:2024年7月7日工具简介将文本转换为UML图形,可以在许多其他工具中使用。开源。平台:多平台获得地址https://plantuml.com/工具最新版本:E......
  • 【UML用户指南】-34-应用UML
    目录1、事物1.1、结构事物1.2、行为事物1.3、成组事物1.4、注释事物2、关系2.1、依赖2.2、关联2.3、泛化3、可扩展性4、图4.1、结构图4.2、行为图5、统一过程Rational5.1、四个阶段5.2、九个任务5.3、制品5.3.1、模型5.3.2、其他制品利用UML的大约20%就......
  • UML类图
    学习目标能够自己画类图。UML(Unified Modeling Language,UML)统一建模语言是一种伪面向对象系统的产品进行说明、可视化和编制文档的一种标准语言,是非专利的第三代建模和规约语言。UML是面向对象设计的建模工具,独立于任何具体程序设计语言。简单理解使用一些高级的UML可......
  • UML/SysML建模工具更新情况(2024年7月)(1)
    DDD领域驱动设计批评文集做强化自测题获得“软件方法建模师”称号《软件方法》各章合集工具最新版本:EnterpriseArchitect17.0BETA更新时间:2024年7月2日工具简介性价比很高,目前最流行的UML建模工具。还包含需求管理、项目估算、测试支持。团队建模支持。平台:Window......
  • UML图书管理系统用例图示例
    新书速览|《UML2.5基础、建模与设计实践》新书速览|《UML2.5基础、建模与设计实践【例4.4】图书管理系统用例图。图书管理系统按其业务功能分成借阅者管理、图书管理、借书、还书和用户管理等几部分,这些职能对应于系统的不同组织部门。1)系统参与者图书管理系统针对的对象......