本文共 2381 字,大约阅读时间需要 7 分钟。
统一建模语言(UnifiedModelingLanguage,UML)是一种定义良好、易于表达、功能强大且普遍适用的建模语言,它融入了软件工程领域的新思想、新方法和新技术,它的作用域不限于支持OOA面向对象分析和OOD面向对象设计,支持从需求分析开始的软件开发的全过程。
UML是一个通用的可视化建模语言,它是面向对象分析和设计的一种标准化农小,用丁入队ITL1出可视化处理、构造和建立软件系统的文档。
UML独立于软件开发过程,它不是可视化的程序设计语言,而是一种可视化的建模语言。
UML它有十四图
六个-静态图
类图构件搞对象(类图、构件图、对象图)
复合生下部署图(复合结构图、部署图)
还送一个小包图(包图)
八个-动态图
用例状态在活动(用例图、状态图、活动图)
定时顺序来通信(定时图、顺序图、通信图)
二者交互制成品(交互概观图、制品图)
泛化= 实现> 组合> 聚合> 关联> 依赖
【泛化关系】:是一种继承关系, 表示一般与特殊的关系, 它指定了子类如何特化父类的所有特征和行为. 例如:老虎是动物的一种, 即有老虎的特性也有动物的共性.
【箭头指向】:带三角箭头的实线,箭头指向父类
【实现关系】:是一种类与接口的关系, 表示类是接口所有特征和行为的实现.
【箭头指向】:带三角箭头的虚线,箭头指向接口
【关联关系】:是一种拥有的关系, 它使一个类知道另一个类的属性和方法;如:老师与学生,丈夫与妻子
关联可以是双向的,也可以是单向的。双向的关联可以有两个箭头或者没有箭头,单向的关联有一个箭头。
【代码体现】:成员变量
【箭头及指向】:带普通箭头(或实心三角形箭头)的实心线,指向被拥有者
【聚合关系】:是整体与部分的关系, 且部分可以离开整体而单独存在. 如车和轮胎是整体和部分的关系, 轮胎离开车仍然可以存在.
聚合关系是关联关系的一种,是强的关联关系;关联和聚合在语法上无法区分,必须考察具体的逻辑关系。
【代码体现】:成员变量
【箭头及指向】:带空心菱形的实心线,菱形指向整体
【组合关系】:是整体与部分的关系, 但部分不能离开整体而单独存在. 如公司和部门是整体和部分的关系, 没有公司就不存在部门.
组合关系是关联关系的一种,是比聚合关系还要强的关系,它要求普通的聚合关系中代表整体的对象负责代表部分的对象的生命周期
【代码体现】:成员变量
【箭头及指向】:带实心菱形的实线,菱形指向整体
【依赖关系】:是一种使用的关系, 即一个类的实现需要另一个类的协助, 所以要尽量不使用双向的互相依赖.
【代码表现】:局部变量、方法的参数或者对静态方法的调用
【箭头及指向】:带箭头的虚线,指向被使用者
UML的五种视图:5种视图分别描述系统的一个方面,5种视图组合成UML语言完整的模型。
用例视图:用户描述系统应具备的功能。
逻辑视图:设计人员和开发人员描述用例视图中提出的系统功能的实现。
组件视图:开发人员显示代码组件的组织结构。
配置视图: 开发人员、系统集成人员、测试人员显示系统的具体部署。部署是指将系统配置到由计算机和设备组成的物理结构上。
并发视图:开发人员、系统集成人员显示系统的并发性,解决在并发系统中存在的通信和同步问题。
类图描述系统中类的静态结构。不仅定义系统中的类,表示类之间的联系如关联、依赖、聚合等,也包括类的内部结构(类的属性和操作)
对象图是表示在某一时间点上一组对象以及它们之间的关系的图。
对象图是类图的实例,几乎使用与类图完全相同的标识。他们的不同点在于对象图显示类的多个对象实例,而不是实际的类
部署视图描述位于节点实例上的运行构件实例的安排。节点是一组运行资源,如计算机、设备或存储器。这个视图允许评估分配结果和资源分配
各种软件构件之间的依赖关系 组件图又称为构件图(Component Diagram) 。
组件图中通常包括组件、接口,以及各种关系。组件图
显示组件以及它们之间的依赖关系,它可以用来显示程序代码如何分解成模块或组件。一般来说,组件就是一个实际文件。
组合结构图(画出结构化类的内部内容:下图描述了一个船的内部构造,包含一个螺旋桨和发动机,两者之间通过传动轴连接)
包图是包和包之间的关系构成,是维护和控制系统总体结构的重要建模工具,用于描述系统的分层结构。
(从用户角度描述系统功能,描述系统与外部系统及用户之间的交互)
状态图显示了一个状态机,它强调从状态到状态的控制流。描述对象状态和事件之间的关系。
(是状态图的一个变体,用来描述执行算法的工作流程中涉及的活动。活动图主要用来表示活动次序,状态图主要用来表示状态)
,又作“通信图”。即Communication Diagram,而“协作”作为一个结构事物用于表达静态结构和动态行为的概念组合,表达不同事物相互协作完成一个复杂功能。
时序图别称为顺序图、序列图,在我的大致印象中时序图是以时间为主线,有生命线的动态视图,主要描述的对象是对象。是交互图的一种。主要的作用是表达设计者心中对于未来程序在运作时的对象协作建模,验证软件领域模型的正确性,为程序员提供编码的蓝图。
转载地址:http://rabai.baihongyu.com/