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 类图示例来表示、
https://img2023.cnblogs.com/blog/3174021/202310/3174021-20231003205300357-156306986.png
对象是用来描述系统行为和功能的实体。类和对象有相同的符号。唯一不同的是,对象名称在UML中总是以下划线表示。
https://img2023.cnblogs.com/blog/3174021/202310/3174021-20231003205651953-1951775505.png
[*]接口(Collaboration)
接口类似于没有实现细节的模板,用圆圈符号表示它。当类实现了接口,它的功能也就实现了。
https://img2023.cnblogs.com/blog/3174021/202310/3174021-20231003205748751-1239764498.png
[*]协作(Collaboration)
用虚线椭圆表示,椭圆内写有名称。
https://img2023.cnblogs.com/blog/3174021/202310/3174021-20231003205820912-1539000214.png
[*]Use-case
Use-case是面向对象建模的核心概念之一。它们用于表示高级功能和用户如何处理系统。
https://img2023.cnblogs.com/blog/3174021/202310/3174021-20231003205854751-1483786570.png
[*]角色(Actor)
用在用例图中。Actor 符号用来表示与系统交互的实体。用户就是角色的最好例子。UML 中的角色符号如下。
https://img2023.cnblogs.com/blog/3174021/202310/3174021-20231003205946480-1133698554.png
[*]组件(Component)
组件符号用来表示系统的一部分。UML 中的表示方法如下、
https://img2023.cnblogs.com/blog/3174021/202310/3174021-20231003210010030-1454981081.png
[*]节点(Node):
节点用于描述系统的物理部分。节点可用来表示网络、服务器、路由器等。其符号如下。
https://img2023.cnblogs.com/blog/3174021/202310/3174021-20231003210229579-707939462.png
[*]部署图(Deployment diagram)
它表示安装系统的物理硬件。部署图表示系统的物理视图。它表示系统各部分之间的通信和交互。
部署图由以下符号组成:节点、组件、artifact、接口
https://img2023.cnblogs.com/blog/3174021/202310/3174021-20231003210406836-357744502.png
2.3.2 行为事物
[*]状态机(State machine:)
用于描述单个组件在整个软件开发生命周期中的各种状态。它用于捕捉系统组件的不同状态。
https://img2023.cnblogs.com/blog/3174021/202310/3174021-20231003210457201-1296711730.png
[*]活动图(Activity diagram)
活动图用于表示系统不同组件开展的各种活动。其表示方法与状态机图相同。
活动图主要包含初始状态、最终状态、决策框和动作符号。
https://img2023.cnblogs.com/blog/3174021/202310/3174021-20231003210618839-776922142.png
[*]交互图
交互图用于直观显示系统各组件之间的信息流。
序列图显示一条或多条生命线之间的实时交互。
https://img2023.cnblogs.com/blog/3174021/202310/3174021-20231003212027719-1169321382.png
参考资料
[*]软件测试精品书籍文档下载持续更新 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 中唯一可用的分组方式。
https://img2023.cnblogs.com/blog/3174021/202310/3174021-20231003212143969-139187807.png
2.3.4 注释
它就像一张便条,可以写在模型上以捕捉一些重要信息。它类似于黄色便条。
https://img2023.cnblogs.com/blog/3174021/202310/3174021-20231003212214468-143701840.png
2.4关系
两个或多个事物之间的关系。UML中的关系能让你捕捉事物之间有意义的联系。它显示每个元素如何相互关联,以及这种关联如何描述应用程序的功能。
UML 中的关系分类如下、
[*]关联关系
[*]依赖关系
[*]泛化关系(Generalization relationship)
[*]实现关系
2.4.1 关联关系
这是一组连接UML模型元素的链接。它还定义了有多少对象参与该关系。它说明了有多少元素参与了特定的交互。
它表示为一条虚线,两边都有箭头。两边都包含一个描述关系的元素。我们引入了新术语 "多重性"(multiplicity),它告诉我们有多少个特定元素的对象被关联起来。
https://img2023.cnblogs.com/blog/3174021/202310/3174021-20231004084857547-1787995768.png
2.4.2 依赖关系
在这种关系中,源元素依赖于目标元素,并可能受到目标元素变化的影响。它是UML最重要的符号之一。它定义了从一个对象到另一个对象的依赖方向。
它用一条虚线表示,虚线一侧有一个箭头。
https://img2023.cnblogs.com/blog/3174021/202310/3174021-20231003212534264-553944921.png
2.4.3 泛化关系
也称为父子关系。它是一般事物和更具体的事物之间的关系。这种关系用来表示继承概念。
它用一条一侧带有空心箭头的直线来表示。
https://img2023.cnblogs.com/blog/3174021/202310/3174021-20231003212616039-1638751988.png
2.4.4 实现关系
在这种关系中,一个元素描述了一些没有实现的责任,其他元素实现了第一个元素提到的功能。实现关系在表示接口时被广泛使用。
它以虚线表示,一端带有空心箭头。
https://img2023.cnblogs.com/blog/3174021/202310/3174021-20231003212722670-1383443646.png
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符号图用于表示单个系统的不同方面。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页:
[1]