UML教程1简介2UML图实例
1 简介
主要:UML图表简介、UML符号、关系、类图、对象图、用例图、状态机图、组件图、部署图和UML工具。
1.2 什么是UML?
UML是统一建模语言(Unified Modeling Language)的缩写。它是一种标准,主要用于为现实世界中的任何软件系统创建面向对象、有意义的文档模型。它为我们提供了一种开发丰富模型的方法,可以描述任何软件/硬件系统的工作。
UML图是统一建模语言的输出。它是类、对象和它们之间关系的图形表示。UML图是描述系统一部分的模型。它用于定义系统的功能或设计。图表必须简洁明了,以便浏览者容易理解。
1.3 UML图表的类型
下面是 UML 图表的主要类型:
- 结构图:
- 类图
- 对象图
- 包图
- 组件图
- 部署图
- 行为图:
- 活动图
- 用例图
- 状态机图
- 交互图:
- 时序图
- 顺序图
- 协作图
2 UML图实例
2.1 什么是模型?
模型是对某一事物的抽象,它 省略了不重要的细节,因此比原始实体更容易操作。
模型是对现实的简化。
模型可以提供
- 系统蓝图
- 系统的组织
- 系统的动态
内容表:
2.2 UML构件(Block)
UML 是统一建模语言(Unified Modeling Language)的缩写。构件是开发完整的UML模型图所需的东西。它是每个UML图表的重要组成部分。以下是 UML 的基本构件:
- 事物(Thing)
- 关系
- 图
2.3 事物
事物可以描述为现实世界中的任何实体或对象。在UML中,事物分为以下几类、
- 结构性事物(Structural things)
- 行为事物(Behavioral things)
- 分组事物(Grouping things)
- 注释性事物(Annotational things)
2.3.1 结构事物
结构事物用于描述模型的静态部分。它用来表示人眼可见的事物。UML中的结构事物都是关于系统的物理部分。它是UML模型的名词,如类、对象、接口、协作、用例、组件和节点。
让我们来解释一下 UML 中的结构体:
- 类:
类用于表示各种对象。它用来定义对象的属性和操作。在UML中,我们还可以表示抽象类。功能未定义的类称为抽象类。任何UML类图符号一般用下面的 UML 类图示例来表示、
对象是用来描述系统行为和功能的实体。类和对象有相同的符号。唯一不同的是,对象名称在UML中总是以下划线表示。
- 接口(Collaboration)
接口类似于没有实现细节的模板,用圆圈符号表示它。当类实现了接口,它的功能也就实现了。
- 协作(Collaboration)
用虚线椭圆表示,椭圆内写有名称。
- Use-case
Use-case是面向对象建模的核心概念之一。它们用于表示高级功能和用户如何处理系统。
- 角色(Actor)
用在用例图中。Actor 符号用来表示与系统交互的实体。用户就是角色的最好例子。UML 中的角色符号如下。
- 组件(Component)
组件符号用来表示系统的一部分。UML 中的表示方法如下、
- 节点(Node):
节点用于描述系统的物理部分。节点可用来表示网络、服务器、路由器等。其符号如下。
- 部署图(Deployment diagram)
它表示安装系统的物理硬件。部署图表示系统的物理视图。它表示系统各部分之间的通信和交互。
部署图由以下符号组成:节点、组件、artifact、接口
2.3.2 行为事物
- 状态机(State machine:)
用于描述单个组件在整个软件开发生命周期中的各种状态。它用于捕捉系统组件的不同状态。
- 活动图(Activity diagram)
活动图用于表示系统不同组件开展的各种活动。其表示方法与状态机图相同。
活动图主要包含初始状态、最终状态、决策框和动作符号。
- 交互图
交互图用于直观显示系统各组件之间的信息流。
序列图显示一条或多条生命线之间的实时交互。
参考资料
- 软件测试精品书籍文档下载持续更新 https://github.com/china-testing/python-testing-examples 请点赞,谢谢!
- 本文涉及的python测试开发库 谢谢点赞! https://github.com/china-testing/python_cn_resouce
- python精品书籍下载 https://github.com/china-testing/python_cn_resouce/blob/main/python_good_books.md
- Linux精品书籍下载 https://www.cnblogs.com/testing-/p/17438558.html
2.3.3 分组事务
包用于将语义相关的建模元素组合成一个有凝聚力的单元。包是 UML 中唯一可用的分组方式。
2.3.4 注释
它就像一张便条,可以写在模型上以捕捉一些重要信息。它类似于黄色便条。
2.4关系
两个或多个事物之间的关系。UML中的关系能让你捕捉事物之间有意义的联系。它显示每个元素如何相互关联,以及这种关联如何描述应用程序的功能。
UML 中的关系分类如下、
- 关联关系
- 依赖关系
- 泛化关系(Generalization relationship)
- 实现关系
2.4.1 关联关系
这是一组连接UML模型元素的链接。它还定义了有多少对象参与该关系。它说明了有多少元素参与了特定的交互。
它表示为一条虚线,两边都有箭头。两边都包含一个描述关系的元素。我们引入了新术语 "多重性"(multiplicity),它告诉我们有多少个特定元素的对象被关联起来。
2.4.2 依赖关系
在这种关系中,源元素依赖于目标元素,并可能受到目标元素变化的影响。它是UML最重要的符号之一。它定义了从一个对象到另一个对象的依赖方向。
它用一条虚线表示,虚线一侧有一个箭头。
2.4.3 泛化关系
也称为父子关系。它是一般事物和更具体的事物之间的关系。这种关系用来表示继承概念。
它用一条一侧带有空心箭头的直线来表示。
2.4.4 实现关系
在这种关系中,一个元素描述了一些没有实现的责任,其他元素实现了第一个元素提到的功能。实现关系在表示接口时被广泛使用。
它以虚线表示,一端带有空心箭头。
2.5 图
UML 图分为三个不同的类别,如
- 结构图
- 行为图
- 交互图
2.5.1 结构图
结构图用于表示系统的静态视图。它表示构成系统结构的系统部分。结构图显示了系统中的各种对象。
以下是 UML 中的各种结构图:
- 类图
- 对象图
- 包图
- 组件图
- 部署图
2.5.2 行为图
现实世界中的任何系统都可以用静态或动态两种方式表示。如果一个系统既可以用静态方式表示,也可以用动态方式表示,那么这个系统就是完整的。行为图表示系统的功能。
涉及系统静态部分的 UML 图称为结构图。涉及系统运动或动态部分的 UML 图称为行为图。
以下是 UML 中的各种行为图:
- 活动图
- 用例图(Use case diagram)
- 状态机图
2.5.3 交互图
交互图只是行为图的一个子集。它用于可视化系统中各种用例元素之间的流程。交互图用于显示两个实体之间的交互以及数据如何在其中流动。
以下是 UML 中的各种交互图:
- 时序图(Timing diagram)
- 顺序图(Sequence diagram)
- 协作图
2.6 小结
- 模型是一个系统的抽象,它隐藏了实现的细节。
- 模型提供了系统的蓝图和结构。
- UML符号帮助我们定义系统的结构和行为方面。
- 事物、关系和图是 UML 语法的三个组成部分。
- 事物是现实世界中的任何实体。
- 关系用于描述一个或多个事物之间的联系。
- 各种UML符号图用于表示单个系统的不同方面。