概述
- 统一建模语言是面向对象软件的标准化建模语言
- 1997 年 UML 被国际对象管理组织(OMG)采纳为面向对象的建模语言的国际标准
- 它的特点是简单、统一、图形化、能表达软件设计中的动态与静态信息
- UML 建模的核心是模型,模型是现实的简化、真实系统的抽象
UML 三要素
事物
- 事物是对模型中最具有代表性的成分的抽象:关系把事物结合在一起:图聚集了相关的事物
接口(Interface)
- 指一个类或构建的一个服务的操作集合,它仅仅定义了一组操作的规范,并没有给出这组操作的具体实现

结构事物
类(Class)

用例(User Case)
- 指对一组动作序列的描述,系统执行这些动作将产生一个对特定的参与者(Actor)有价值且可观察的结果

协作(Collaboration)

组件(Component)

活动类(Active Class)
- 指对象有一个或多个进程或线程。活动类和类很相象,只是它的对象代表的元素的行为和其他元素是同时存在的

节点(Node)

行为事物
交互(Interaction)

状态机(State Machine)

分组事物
- 目前只有一种分组事物,即包。包纯碎是概念上的,只存在于开发阶段,结构事物、行为事物甚至分组事物都有可能放在一个包中
包

注释事物
注释(Note)

关系
类、接口和类图
类
- 在
UML
中,类使用包含类名、属性和操作且带有分隔线的矩形来表示

接口
- 在 UML 中,接口使用一个带有名称的小圆圈来进行表示


类图
- 类图(Class Diagram)是用来显示系统中的类、接口、协作以及它们之间的静态结构和关系的一种静态模型
类之间的关系
依赖关系
- 依赖(Dependency)关系是一种使用关系,它是对象之间耦合度最弱的一种关联方式,是临时性的关联
- 在 UML 类图中,依赖关系使用带箭头的虚线来表示,箭头从使用类指向被依赖的类

继承(泛化)关系
- 是对象之间耦合度最大的一种关系,表示一般与特殊的关系,是父类与子类之间的关系,是一种继承关系,是
is-a
的关系
- 在 UML 类图中,泛化关系用带空心三角箭头的实线来表示,箭头从子类指向父类

组合关系
- 组合(Composition)关系也是关联关系的一种,也表示类之间的整体与部分的关系
- 在 UML 类图中,组合关系用带实心菱形的实线来表示,菱形指向整体

关联关系
- 关系是对象之间的一种引用关系,用于表示一类对象与另一类对象之间的联系,如老师和学生、师傅和徒弟、丈夫和妻子等
- 在 UML 类图中,双向的关联可以用带两个箭头或者没有箭头的实线来表示,单向的关联用带一个箭头的实线来表示,箭头从使用类指向被关联的类

聚合关系
- 聚合(Aggregation)关系是关联关系的一种,是整体和部分之间的关系,是
has-a
的关系
- 在 UML 类图中,聚合关系可以用带空心菱形的实线来表示,菱形指向整体

实现关系
- 实现(Realization)关系是接口与实现类之间的关系。在这种关系中,类实现了接口,类中的操作实现了接口中所声明的所有的抽象操作
- 在 UML 类图中,实现关系使用带空心三角箭头的虚线来表示,箭头从实现类指向接口


图
- UML2.0 一共有
13
种图
- 分别是类图、对象图、构件图、部署图、活动图、状态图、用例图、时序图、协作图 9 种
- 以及包图、组合结构图、时间图、交互概览图 4 种
posted @
2021-07-13 11:01
BNTang
阅读(
500)
评论()
编辑
收藏
举报
点击右上角即可分享
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具