UML 是统一建模语言的缩写,就像使用一组图表来可视化软件建模的蓝图(或设计计划)。它不仅可以让您彻底评估整个概念,还可以确保团队中的每个人都在同一页面上。
UML 图可以组织成两个不同的组。
结构图与行为图
结构图 (Structure Diagram) 描绘了系统的静态方面,它们代表了构成主要结构的图的那些部分,因此是稳定的。
行为图 (Behavioral Diagram) 显示了系统如何在“运动”中工作,即系统如何与外部实体和用户交互、如何响应输入或事件以及它在哪些约束下运行。
类图 (Class Diagram)
类图是用于软件应用程序开发的最重要的UML 图。类图描述了系统中对象的类型以及它们之间存在的不同类型的关系。
类图示例 1
从上图可以看出,UML 类图的基本元素是:
- 类名(应始终以粗体格式书写)
- 属性 (Attribute)
- 操作(Operation)
对象图——类图的一个实例
对象图可以被认为是类图的一个独特案例,它是系统在某个时间点的详细状态的快照。它可以在某个时间点包含结构内对象的数据值。因为它显示实例而不是类,所以它也被称为实例图。类图和对象图的区别在于目的,以及它们在特定时间显示的内容。
对象图示例 1
对象图示例 2
组件图——模型实现细节
组件图将系统的实现视图可视化。
组件图示例
有两种类型的组件接口:提供接口和必需接口。
提供的接口
从他人调用并提供服务的实体。
所需接口
调用和使用他人服务的实体。
接口
它可以用作“接入点”,将提供的接口和所需的接口连接在一起。
用例图——功能建模
作为行为 UML 类型中最著名的图类型,用例图从用户的角度描述系统的行为。用例图由四个对象组成。
- 参与者:与系统用例交互的人或物
- 用例:系统功能的特定部分
- System:定义系统中包含的功能
- 包:可选以表示用例的所有权
用例图示例
用例规范
用例就像一个故事,讲述当用户开始与系统互动时会发生什么情况。如果你不提前准备一些要点,你就无法分享正确的故事。这就是用例规范出现的原因!这是用于记录用例详细信息的标准用例模板。
用例规范。
扩展两个用例之间的关系
顾名思义,它扩展了基本用例并为系统添加了更多功能。
包括两个用例之间的关系
主要目的是在多个用例中重用通用操作。
活动图 - 建模流程
活动图以图形方式说明了任何组件的工作流程,并描述了执行用例而不是实现所涉及的步骤。
Unified Modeling Language (UML)
- What is UML?
- Why UML Modeling?
- Overview of the 14 UML Diagram Types
- What is Class Diagram?
- What is Component Diagram?
- What is Deployment Diagram?
- What is Object Diagram?
- What is Package Diagram?
- What is Composite Structure Diagram?
- What is Profile Diagram?
- What is Use Case Diagram?
- What is Activity Diagram?
- What is State Machine Diagram?
- What is Sequence Diagram?
- What is Communication Diagram?
- What is Interaction Overview Diagram?
- What is Timing Diagram
- What is UML Collaboration Diagram?
- UML Association vs Aggregation vs Composition
- UML Class Diagram Tutorial
- How to Model Constraints in UML?
- State Machine Diagram vs Activity Diagram
- How to Identify Actors?
- Types of Actor in Use Case Model
- What is Model-View and Control?
- How to Model MVC Framework with UML Sequence Diagram?
- UML - Behavioral Diagram vs Structural Diagram
- What is UML Extensibility Mechanism?
- UML Practical Guide - All you need to know about UML modeling
- UML Modeling, Software Process and Tool
- UML - Modeling Software Architecture with Packages
- All You Need to Know about State Diagrams