UML-Unified Modeling Language 统一建模语言,又称标准建模语言。是用来对软件密集系统进行可视化建模的一种语言。UML的定义包括UML语义和UML表示法两个元素。
UML是在开发阶段,说明、可视化、构建和书写一个面向对象软件密集系统的制品的开放方法。最佳的应用是工程实践,对大规模,复杂系统进行建模方面,特别是在软件架构层次,已经被验证有效。统一建模语言(UML)是一种模型化语言。模型大多以图表的方式表现出来。一份典型的建模图表通常包含几个块或框,连接线和作为模型附加信息之用的文本。这些虽简单却非常重要,在UML规则中相互联系和扩展。
UML标准建模语言中5种主要的类型图:
1、用例图:指的是从用户角度来描述系统功能,并且指明各功能操作者。
2、静态图:包含的是类图和对象图。类图是一种静态模型类型,是用来表示类之间的联系、类的属性以及操作,在系统的整个生命周期都是有效的。对象图则是类图的一个实例,使用的标识几乎与类图一致,但是其生命周期有限,只能在系统中某一时间段内存在。
3、交互图:包含的是时序图和协作图,是用来描述对象之间的交互关系。时序图强调的是对象之间的消息发送顺序,是对象之间动态合作关系。协作图则是用来描述对象之间的协作关系,既显示对象间的动态合作关系,又显示对象以及它们之间的关系。时序图用来强调时间和顺序,协作图则用来强强调上下级的关系。
4、行为图:包含的是活动图和状态图,是用来描述系统的动态模型于组成对象之间的交互关系。活动图描述的是为了满足用例要求所进行的活动以及活动间的约束关系,方便识别并进行活动。状态图是类的补充,是用来描述类的对象所有可能的状态以及事件发生时状态的转移条件。
5、实现图:包含的是部署图和组件图。部署图是用来表示建模系统的物理部署。组件图则用来表示建模软件的组织以及其相互之间的关系。
UML建模时常见的9种图:
1、用例图:
用例图是需求分析的产物,主要是用来描述用户是如何使用一个系统的,是用户所能观察和使用到的系统功能的模型图。
2、类图:
UML类图,是用来描述系统中的类以及各个类之间的关系。系统中可以有多个类图,单个类图则只是表达了系统的一个方面。类图可以帮助我们在正确编写代码之前对系统有个很全面的认识,是建模中最常见的一种类型图。
3、对象图:
对象图描述的是一组对象之间的关系,而不是类之间的关系。它是类图的变体,但是又与之不同,对象显示的类的多个对象而不是实际的类。
4、活动图:
UML活动图,顾名思义就是UML的动态模型的一种图形,对于系统的功能建模特别重要。它用来描述满足用例要求所要进行的活动以及活动间的约束关系,有利于识别并行活动。简单来讲,就是表示在处理某个活动时,两个或者更多类对象之间的过程控制流。
5、状态图:
UML状态图,用于显示状态机,即描述一个对象所处的可能状态以及状态之间的转移。用状态图建模可以帮助开发人员分析复杂对象的各种状态的转换,以及对象何时执行怎样的动作。
6、时序图:
UML时序图,又叫序列图或者顺序图,是一种用来描述对象之间传送消息的时间顺序,是用来表示用例中的行为顺序。
7、协作图:
UML协作图(又叫通信图)是一种作用于显示对象之间如何进行交互以执行特点用例或用例中特点部分行为的交互图,它强调的是发送和接收消息的对象之间的组织结构。
8、组件图:
UML组件图(又叫构件图),是用来描述在软件系统中遵从并实现一组接口的物力的、可替换的软件模块。它所表现的是一种系统静态实现的结构,能够帮助开发人员对系统组成达成一致的认识。
9、部署图:
UML 部署图是一个用来描述系统的硬件配置和部署以及软件的构件和模块在不同节点上分布的模型图。它能够帮助系统相关人员了解系统中各个构件部署在什么硬件上以及硬件之间的交互关系。
UML中的各种图之间的区别:
1、各有其侧重点:比如说用例图侧重于描述用户的需求,而类图则侧重于描述系统的具体实现。
2、所描述的方面各不相同:比如类图是用来描述系统结构的,序列图则是用来描述系统行为的。
3、抽象的层次也不尽相同:比如头见图是用来描述系统的模块结构,抽象层次比较高,而对象图则用来描述具体的模块实现,抽象层次就比较低。