目录
一、视图和图
二、图的种类
2.1 结构图
2.2 行为图
图是UML中最重要的概念了,起码我是这么认为。
上篇关于低代码的文章,我也说了,未来也许AI编码,我们更重要的工作,是能够为业务进行建模,拆解,用最准确的语言,生成高效的prompt提示词,让人工智能去为我们开发,健壮的应用程序。我们再也不用焦虑,架构是不是抗得住压力,逻辑是否经得住破坏性的测试。
一、视图和图
关于视图和图,其实不用纠结。
在UML中,视图和图都是用于描述和可视化系统的工具,它们之间存在联系也有区别。
联系:
- 视图是由图构成的:视图是从某个角度对系统进行抽象表示的概念,而图则是具体的可视化工具。一个视图通常会包含多个图,这些图共同表达了视图所要展示的系统的特定方面。
- 视图和图都是模型元素:无论是视图还是图,它们都是UML模型中的元素。这些元素代表了系统中的概念、关系和行为等,用于帮助我们理解和设计系统。
区别:
- 抽象层次不同:视图是对系统的抽象表示,它关注的是系统的某个特定方面。而图则是具体的可视化工具,用于展示视图中的模型元素和它们之间的关系。因此,视图在抽象层次上高于图。
- 关注点不同:视图关注的是系统的某个特定方面,例如静态结构、动态行为、用例等。而图则关注于展示模型元素之间的具体关系和细节。因此,视图更侧重于整体和抽象,而图更侧重于具体和细节。
- 用途不同:视图主要用于组织和管理模型元素,帮助我们从不同的角度理解和设计系统。而图则主要用于可视化和交流模型的细节,使得我们可以更直观地理解模型的各个方面。
综上所述,视图和图在UML中既有联系也有区别。它们共同构成了UML模型的完整表示,帮助我们更好地理解和设计系统。
二、图的种类
重点我们后续会用实际的例子,来讲述各种图的画法。
在UML中,图可以分为两类:结构图和行为图。
2.1 结构图
结构图描述了系统或软件的静态结构,即系统中的类、对象、接口、关联关系等元素之间的静态关系。常见的结构图包括:
- 类图(Class Diagram):用于描述系统中的类、接口、关联关系等元素,展示它们之间的静态结构和关系。
- 对象图(Object Diagram):是类图的实例化表示,展示了系统中具体对象之间的关系。
- 包图(Package Diagram):用于表示系统中的包(命名空间)之间的层次结构和关系。
- 组件图(Component Diagram):用于描述系统中的组件和它们之间的关系。组件是可独立部署和替换的系统模块,可以是单个的类、库、框架或其他实现单元。组件图展示了组件的物理和逻辑关系,以及它们之间的接口和依赖关系。
- 部署图(Deployment Diagram):用于描述系统的部署架构,即系统中的硬件和软件资源的物理配置。部署图展示了系统的组件、节点(硬件设备)和连接之间的关系,可以显示软件组件和硬件设备的部署位置和拓扑结构。
2.2 行为图
行为图描述了系统或软件的动态行为,即系统在特定条件下的活动、交互和状态变化等。常见的行为图包括:
- 用例图(Use Case Diagram):用于描述系统的功能需求,展示系统与外部参与者之间的交互。
- 时序图(Sequence Diagram):展示了系统或软件中的对象之间交互的时间顺序和消息流程。
- 协作图(Collaboration Diagram),也被称为通信图(Communication Diagram)或交互图(Interaction Diagram),用于描述系统中对象之间的交互和通信。协作图展示了对象之间的消息传递和交互流程,可以清楚地展示对象之间的合作和相互作用。
- 活动图(Activity Diagram):用于描述系统中的业务流程或算法,展示了各个活动之间的流程和控制流。
- 状态机图(State Machine Diagram):用于描述对象在不同状态之间的转换和事件触发的动态行为。
这些结构图和行为图通常被用于不同的目的和层次的系统设计,以提供对系统的不同方面的建模和可视化表示。
未完,后续我们挨个举例来详细学习。