UML总结
UML 总结
1. UML 概述
-
UML 是一种编制软蓝图的标准化语言,它的目标之一就是为开发团队提供标准通用的设计语言来开发和构建计算机应用。
-
UML的模型主要有三部分构成:
- 事物(Things):UML模型中最基本的构成元素,是具有代表性的成分的抽象
- 关系(Relationships):关系把事物紧密联系在一起
- 图(Diagrams ):图是事物和关系的可视化表示
-
UML 的核心是图表,大致可以将这些图归类为结构图和行为图。
- 结构图是由静态图,如类图,对象图等静态图;
- 行为图是由像序列图,协作图等动态图;
-
UML 类图:
类图是使用面向对象的社会最流行的 UML 图。它描述了在一个系统中的对象和他们的关系,能够让我们在正确编写代码以前对系统有一个全面的认识。
一个单独的类图描述系统的一个具体方面,收集类图表示整个系统。基本上,类图表示系统的静态视图。
类图是唯一可以直接映射到面向对象的语言UML图。因此,它被广泛应用于开发者社区。
-
UML 对象图:
对象图是类图的一个实例。因此,一类图的基本要素是类似的。对象图是由对象和链接。在一个特定的时刻,它捕获该系统的实例。
对象图用于原型设计,****和实际场景建模。
-
UML 组件图:
组件图是一种特殊的UML图来描述系统的静态实现视图。组件图包括物理组件,如库,档案,文件夹等。
此图是用来从实施的角度。使用一个以上的元件图来表示整个系统。正向和****技术的使用,使可执行文件组件图。
-
UML 部署图:
组件图是用来描述一个系统的静态部署视图。这些图主要用于系统工程师。
部署图是由节点和它们之间的关系。一个高效的部署图是应用软件开发的一个组成部分。
-
UML 用例图:
用例图是从用户角度描述系统功能,并指出各功能的操作者,用来捕捉系统的动态性质。
一个高层次的设计用例图是用来捕捉系统的要求,因此它代表系统的功能和流向。虽然用例图的正向和反向工程是不是一个很好的选择,但他们仍然在一个稍微不同的方法来模拟它。
-
UML 交互图:
交互图,用于捕获系统的动态性质。
交互图包括序列图和协作图,其中:序列图显示对象之间的动态合作关系,它强调对象之间消息发送的顺序,同时显示对象之间的交互;协作图描述对象间的协作关系,协作图跟时序图相似,显示对象间的动态合作关系。
-
UML 状态图:
状态图是一个用于模拟系统的动态性质的五个图。这些图用来模拟一个对象的整个生命周期。
一个对象的状态被定义为对象所在的条件下,特定的时间和对象移动对其他状态,在某些事件发生时。状态图还用于正向和反向工程。
状态图着重描述从一个状态到另一个状态的流程,主要有外部事件的参与。
-
UML 活动图:
活动图是 UML 的动态模型的一种图形,一般用来描述相关用例图,活动图是一种特殊的状态图。
准确的活动图定义:活动图描述满足用例要求所要进行的活动以及活动间的约束关系,有利于识别并行活动。活动图是一种特殊的状态图,它对于系统的功能建模特别重要,强调对象间的控制流程。
2. UML 构建模块
UML 的构建块的定义如下:
- 事物
- 关系
- 图
(1)事物:
事物是是实体抽象化的最终结果,是 UML 构建块最重要的组成部分,事物的分类如下:
- 结构事物
- 行为事物
- 分组事物
- 注释事物
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bTbjwv3S-1590491915784)(C:\Users\jiaxiongxiong\AppData\Roaming\Typora\typora-user-images\1590479701249.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ADqczeAw-1590491915789)(C:\Users\jiaxiongxiong\AppData\Roaming\Typora\typora-user-images\1590479743157.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3Q89nchr-1590491915792)(C:\Users\jiaxiongxiong\AppData\Roaming\Typora\typora-user-images\1590479789991.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wMH0bvBm-1590491915796)(C:\Users\jiaxiongxiong\Desktop\1590479852414.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Pf2nAeIv-1590491915798)(C:\Users\jiaxiongxiong\AppData\Roaming\Typora\typora-user-images\1590479874328.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ec0cooA2-1590491915800)(C:\Users\jiaxiongxiong\AppData\Roaming\Typora\typora-user-images\1590480203535.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4PTNE3N2-1590491915801)(C:\Users\jiaxiongxiong\AppData\Roaming\Typora\typora-user-images\1590480295494.png)]
3. UML 架构
UML 是由视图(View)、图(Diagrams)、模型元素(Model elements)和通用机制等几个部分构成。
视图用来表示被建模系统的各个方面。由多个图构成,它不是一个图片,而是在某一个抽象层上,对系统的抽象表示。如果要为系统建立一个完整的模型图,只需定义一定数量的视图,每个视图表示系统的一个特殊方面就可以了。视图还把建模语言和系统开发时选择的方法或过程连接起来。
图由各种图片构成,用来描述一个视图的内容。UML语言定了9中不同的图的类型,把它们有机地结合起来就可以描述系统的所有视图。
模型元素代表面向对象中的类、对象、消息和关系等概念,是构成图的最基本的常用概念。
通用机制用于表示其他信息,比如注释、模型元素的语义等。它还提供扩展机制,使UML语言能够适应一个特殊的方法(或过程)、或扩充至一个组织或用户。
UML 系统可以由不同的用户使用,用户可以是开发人员、测试人员、商务人士、分析师等等,所以要设计一个系统的体系结构,最重要的是做到从不同的角度来看,实现可视化系统,这样也可以让我们自己更好的了解系统,让它达到一个更好的效果。
从不同的角度使用 UML 定义一个系统的起着重要的作用,这些角度是:
- 设计
- 实现
- 处理
- 部署
该中心是连接所有这四个用例视图,一个用例代表了系统的功能。因此,其他的角度连接使用的情况下:
- 系统设计包括类,接口和协作。 UML类图,对象图支持。
- 实现定义的组件组装在一起,使一个完整的物理系统。 UML组件图是用来支持实施的角度。
- 流程定义了系统的流动。因此,在设计中所用的相同的元件也可用来支持当前角度看。
- 部署代表物理节点的硬件系统构成。 UML部署图是用来支持这个角度来看。
4. UML 建模类型
UML 建模可以把在复杂世界的许多重要的细节给抽象出。为了区分 UML 模型, UML 建模用不同类型的不同的图。接下来介绍三个重要类型的UML建模:
(1)结构建模:
结构建模具有捕捉静态的功能,包括下列各项:
- 类图
- 对象图
- 部署图
- 包图
- 复合结构图
- 组件图
结构模型代表的系统架构,这个框架的所有其他组件存在的地方。因此,类图,组件图和部署图的部分结构建模。它们都代表的元素和机制将它们组装。
但是,从来没有的结构模型描述系统的动态行为。类图中是最广泛使用的结构图。
(2)行为建模:
行为建模描述了在系统中的相互作用,代表之间的交互的结构图,行为建模显示系统的动态性质,包括下列各项:
- 活动图
- 交互图
- 用例图
所有上述的显示在一个系统中流动的动态序列。
(3)架构建模:
架构建模表示的是一个系统的总体框架,它包含了系统的结构和行为的元素。架构建模可以被定义为整个系统的蓝图。包图是根据架构模型进行的。
5. UML 基本表示法
UML 中最重要的建模元素是符号,一个完整的、有意义的模型要适当有效地使用符号,如果一个模型中的目的没有被正确描述,则该模型是无用的。所以学习符号应该从一开始就强调。
UML 图使用不同的符号来表示事物和关系;可扩展性是另一个重要的功能,这使得UML更加强大和灵活。
本章还介绍更详细的 UML 基本表示法。这仅仅是一个扩展的 UML 构建块段,已经在前面的章节中讨论。
结构事物:
用图形表示法中使用的结构事物是 UML 中最广泛使用的,这些被认为是为UML模型的名词。
以下是结构事物的列表。
- 类
- 接口
- 协作
- 用例
- 活动类
- 组件
- 节点
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZdyZdp0W-1590491915803)(C:\Users\jiaxiongxiong\AppData\Roaming\Typora\typora-user-images\1590490486974.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bnCgYbk2-1590491915804)(C:\Users\jiaxiongxiong\AppData\Roaming\Typora\typora-user-images\1590490556736.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TxFcwW2d-1590491915805)(C:\Users\jiaxiongxiong\AppData\Roaming\Typora\typora-user-images\1590490615068.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-k01BELuJ-1590491915806)(C:\Users\jiaxiongxiong\AppData\Roaming\Typora\typora-user-images\1590490642798.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qvjShobn-1590491915807)(C:\Users\jiaxiongxiong\AppData\Roaming\Typora\typora-user-images\1590490716036.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9p1PjyYQ-1590491915808)(C:\Users\jiaxiongxiong\AppData\Roaming\Typora\typora-user-images\1590490811343.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IerNsCXc-1590491915809)(C:\Users\jiaxiongxiong\AppData\Roaming\Typora\typora-user-images\1590491006475.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-s2bnxuMA-1590491915811)(C:\Users\jiaxiongxiong\AppData\Roaming\Typora\typora-user-images\1590491215505.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-u1I9yb3w-1590491915812)(C:\Users\jiaxiongxiong\AppData\Roaming\Typora\typora-user-images\1590491291395.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Vt2tZVY6-1590491915813)(C:\Users\jiaxiongxiong\AppData\Roaming\Typora\typora-user-images\1590491334702.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jon5F8gv-1590491915815)(C:\Users\jiaxiongxiong\AppData\Roaming\Typora\typora-user-images\1590491411961.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PzHuAt3L-1590491915816)(C:\Users\jiaxiongxiong\AppData\Roaming\Typora\typora-user-images\1590491504980.png)]
img-s2bnxuMA-1590491915811)]
[外链图片转存中…(img-u1I9yb3w-1590491915812)]
[外链图片转存中…(img-Vt2tZVY6-1590491915813)]
[外链图片转存中…(img-jon5F8gv-1590491915815)]
[外链图片转存中…(img-PzHuAt3L-1590491915816)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TWqXqF7f-1590491915817)(C:\Users\jiaxiongxiong\AppData\Roaming\Typora\typora-user-images\1590491707397.png)]