介绍
UML
是统一建模语言(Unified Modeling Language
)的简称。
UML
是一种编制软蓝图的标准化语言,它的目标之一就是为开发团队提供标准通用的设计语言来开发和构建计算机应用。
UML
提出了一套 IT 专业人员期待多年的统一的标准建模符号。
通过使用UML
,这些人员能够阅读和交流系统架构和设计规划。
UML
支持面向对象的技术,能够准确的方便地表达面向对像的概念,体现面向对象的分析和设计风格。
统一
UML
统一了Booch
、OMT
、OOSE
和其他面向对象方法所涉及的基本概念和建模符号。
特点
- 面向对象
- 可视化,表达能力强
- 独立于过程
- 独立于程序设计
- 容易掌握使用
构成
UML
的模型主要有三部分构成:
- 事物(
Things
)UML
模型中最基本的构成元素,是具有代表性的成分的抽象
- 关系(
Relationships
)- 关系把事物紧密联系在一起
- 图(
Diagrams
)- 图是事物和关系的可视化表示
面向对象概念
- 对象: 对象代表一个实体的基本构建块.
- 类: 类是对象的蓝图.
- 抽象化: 抽象代表现实世界中实体的行为.
- 封装: 封装是将数据绑定在一起,并隐藏他们外部世界的机制。
- 继承: 继承是从现有的机制作出新的类。
- 多态性: 定义的机制来以不同的形式存在.
构建模块
事物
事物是是实体抽象化的最终结果,是
UML
构建块最重要的组成部分
结构事物
结构事物是模型中的静态部分,用以呈现概念或实体的表现元素,是软件建模中最常见的元素,接下来是对结构化物件的简要描述:
- 类
- 类是指具有相同属性、方法、关系和语义的对象的集合
- 接口
- 接口是指类或组件所提供的服务(操作),描述了类或组件对外可见的动作
- 协作
- 协作定义元素之间的相互作用
- 用例
- 用例定义了执行者(在系统外部和系统交互的人)和被考虑的系统之间的交互来实现的一个业务目标
- 组件
- 组件描述物理系统的一部分
- 节点
- 一个节点可以被定义为在运行时存在的物理元素
行为事物
行为事物指的是
UML
模型中的动态部分,代表语句里的 "动词",表示模型里随着时空不断变化的部分,包含两类:
- 交互
- 交互被定义为一种行为,包括一组元素之间的消息交换来完成特定的任务
- 状态机
- 状态机由一系列对象的状态组成,它是有用的,一个对象在其生命周期的状态是很重要的
分组事物
可以把分组事物看成是一个"盒子",模型可以在其中被分解。
目前只有一种分组事物,即包(package)。
结构事物、动作事物甚至分组事物都有可能放在一个包中。包纯粹是概念上的,只存在于开发阶段,而组件在运行时存在。
- 包
- 封装是唯一一个分组事物可收集结构和行为的东西。
注释事物
注释事物可以被定义为一种机制来捕捉
UML
模型元素的言论,说明和注释。
注释是唯一一个注释事物。
- 注释
- 注释用于渲染意见,约束等的
UML
元素。
- 注释用于渲染意见,约束等的
关系
关系是另一个最重要的构建块
UML
,它显示元素是如何彼此相关联,此关联描述的一个应用程序的功能,UML
中定义了以下几种关系:
依赖关系
Dependency
- 依赖是两件事物之间的语义联系,其中一个事物的变化也影响到另一个事物。
- 是一种使用的关系,即一个类的实现需要另一个类的协助,所以要尽量不使用双向的互相依赖
- 带普通箭头的虚线,指向被使用者
- 类构造以及其他方法的传入参数
泛化关系
Generalization
- 泛化可以被定义为一个专门的元件连接关系与一个广义的元素,它基本上描述了在对象世界中的继承关系,是一种一般化-特殊化的关系
- 指的是一个类(称为子类、子接口)继承另外的一个类(称为父类、父接口)的功能,并可以增加它自己的新功能的能力,继承是类与类或者接口与接口之间最常见的关系
- 带三角箭头的实线,箭头指向父类
- 继承非抽象类
实现关系
Realization
- 类之间的语义关系,其中的一个类指定了由另一个类保证执行的契约
- 指的是一个class类实现interface接口(可以是多个)的功能;实现是类与接口之间最常见的关系
- 带三角箭头的虚线,箭头指向接口
- 继承抽象类
关联关系
Association
- 体现的是两个类、或者类与接口之间语义级别的一种强依赖关系
- 单向关联
- 带普通箭头的实心线,指向被拥有者
- 双向关联
- 用不带箭头的实线连接双方
- 自身关联
- 用带普通箭头的实线连接自己
- 单向关联
- 成员变量
聚合关系
Aggregation
- 聚合是关联关系的一种特例,他体现的是整体与部分、拥有的关系,即has-a的关系,此时整体与部分之间是可分离的,他们可以具有各自的生命周期,部分可以属于多个整体对象,也可以为多个整体对象共享
- 是整体与部分的关系,且部分可以离开整体而单独存在
- 带空心菱形和普通箭头的实心线,菱形指向整体
组合关系
Composition
- 组合也是关联关系的一种特例,他体现的是一种contains-a的关系,这种关系比聚合更强,也称为强聚合
- 他同样体现整体与部分间的关系,但此时整体与部分是不可分的,整体的生命周期结束也就意味着部分的生命周期结束
- 是整体与部分的关系,但部分不能离开整体而单独存在
- 带实心菱形和普通箭头的实心线,菱形指向整体
图
UML
图的整个讨论的最终输出所有要素,关系用于使一个完整的UML
图,图中表示的系统。
图是事物集合的分类
UML
中包含多种图:
类图
- 类图描述系统所包含的类、类的内部结构及类之间的关系
对象图
- 对象图是类图的一个具体实例
用例图
- 用例图从用户的角度出发描述系统的功能、需求,展示系统外部的各类角色与系统内部的各种用例之间的关系
顺序图
- 顺序图表示对象之间动态合作的关系
协作图
- 协作图描述对象之间的协作关系
活动图
- 活动图描述系统中各种活动的执行顺序
状态图
- 状态图描述一类对象的所有可能的状态以及事件发生时状态的转移条件
部署关系图
- 部署关系图定义系统中软硬件的物理体系结构
组件图
- 组件图描述代码部件的物理结构以及各部件之间的依赖关系
建模类型
结构建模
- 类图
- 对象图
- 部署图
- 包图
- 复合结构图
- 组件图
行为建模
- 活动图
- 交互图
- 用例图
架构建模
架构建模表示的是一个系统的总体框架,它包含了系统的结构和行为的元素
架构建模可以被定义为整个系统的蓝图
包图是根据架构模型进行的
本文为原创文章,版权归Aet所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ 51CTO:Linux C++网络编程三08/16
- ♥ Linux_命令大全 文件传输03/16
- ♥ 匹配_有限自动机字符串匹配算法10/13
- ♥ Reading 2020 《坟》10/16
- ♥ vim编辑器的配置03/18
- ♥ 【Javascript】对象构造05/20