UML()是一种统一建模语言,为面向对象开发系统的产品进行说明、可视化、和编制文档的一种标准语言 。下面将对UML的九种图+包图的基本概念进行介绍以及各个图的使用场景 。
一、基本概念
如下图所示,UML图分为用例视图、设计视图、进程视图、实现视图和拓扑视图,又可以静动分为静态视图和动态视图 。静态图分为:用例图,类图,对象图,包图,构件图,部署图 。动态图分为:状态图,活动图,协作图,序列图 。
文章插图
1、用例图( ):
用例图主要回答了两个问题:1、是谁用软件 。2、软件的功能 。从用户的角度描述了系统的功能,并指出各个功能的执行者,强调用户的使用者,系统为执行者完成哪些功能 。
文章插图
2、类图(Class ):
用户根据用例图抽象成类,描述类的内部结构和类与类之间的关系,是一种静态结构图 。在UML类图中,常见的有以下几种关系:泛化(),实现(),关联(),聚合(),组合(),依赖() 。
各种关系的强弱顺序:泛化=实现>组合>聚合>关联>依赖
2.1.泛化
【泛化关系】:是一种继承关系,表示一般与特殊的关系,它指定了子类如何继承父类的所有特征和行为 。例如:老虎是动物的一种,即有老虎的特性也有动物的共性 。
文章插图
2.2.实现
【实现关系】:是一种类与接口的关系,表示类是接口所有特征和行为的实现 。
文章插图
2.3.关联
【关联关系】:是一种拥有的关系,它使一个类知道另一个类的属性和方法;如:老师与学生,丈夫与妻子关联可以是双向的,也可以是单向的 。双向的关联可以有两个箭头或者没有箭头,单向的关联有一个箭头 。
【代码体现】:成员变量
文章插图
2.4.聚合
【聚合关系】:是整体与部分的关系,且部分可以离开整体而单独存在 。如车和轮胎是整体和部分的关系,轮胎离开车仍然可以存在 。
聚合关系是关联关系的一种,是强的关联关系;关联和聚合在语法上无法区分,必须考察具体的逻辑关系 。
【代码体现】:成员变量
文章插图
2.5.组合
【组合关系】:是整体与部分的关系,但部分不能离开整体而单独存在 。如公司和部门是整体和部分的关系,没有公司就不存在部门 。
组合关系是关联关系的一种,是比聚合关系还要强的关系,它要求普通的聚合关系中代表整体的对象负责代表部分的对象的生命周期 。
【代码体现】:成员变量
【箭头及指向】:带实心菱形的实线,菱形指向整体
文章插图
2.6.依赖
【依赖关系】:是一种使用的关系,即一个类的实现需要另一个类的协助,所以要尽量不使用双向的互相依赖.
【代码表现】:局部变量、方法的参数或者对静态方法的调用
【箭头及指向】:带箭头的虚线,指向被使用者
文章插图
文章插图
2.7 各种类图关系
- 惊惧!秦朝统一六国时的*腥屠城
- 5 统一建模语言UML活动图
- UML建模语言中的活动图
- 为什么对ChatGPT、ChatGLM这样的大语言模型说“你是某某领域专家”
- 2019年华中杯数学建模B题数据处理代码
- 曹操因为自负和好色所以未能统一天下?
- 大模型产业格局的分析、文本音频生成、语言模型替代知识图谱、天气气候预训练和通用蛋
- 巴哈马—巴哈马的官方语言是什么
- 成吉思汗有机会统一世界却因为这些原因放弃了?
- 世界十大最难语言,世界十大难学语言