UML即Unified Model Language,是一种建模语言,也是标准建模语言。在软件开发中,当系统规模比较复杂时,需要用图形抽象地来表达复杂的概念,让整个软件设计更具有可读性,可理解性,以便尽早发现软件设计时存在的潜在问题,从而降低开发风险。同时,也极大地方便了业务人员与开发人员之间的交流。
UML标准建模语言中5种主要的类型图:
1、用例图:指的是从用户角度来描述系统功能,并且指明各功能操作者。
2、静态图:包含的是类图和对象图。类图是一种静态模型类型,是用来表示类之间的联系、类的属性以及操作,在系统的整个生命周期都是有效的。对象图则是类图的一个实例,使用的标识几乎与类图一致,但是其生命周期有限,只能在系统中某一时间段内存在。
3、交互图:包含的是时序图和协作图,是用来描述对象之间的交互关系。时序图强调的是对象之间的消息发送顺序,是对象之间动态合作关系。协作图则是用来描述对象之间的协作关系,既显示对象间的动态合作关系,又显示对象以及它们之间的关系。时序图用来强调时间和顺序,协作图则用来强强调上下级的关系。
4、行为图:包含的是活动图和状态图,是用来描述系统的动态模型于组成对象之间的交互关系。活动图描述的是为了满足用例要求所进行的活动以及活动间的约束关系,方便识别并进行活动。状态图是类的补充,是用来描述类的对象所有可能的状态以及事件发生时状态的转移条件。
5、实现图:包含的是部署图和组件图。部署图是用来表示建模系统的物理部署。组件图则用来表示建模软件的组织以及其相互之间的关系。
想看更多干货,可以了解14种uml图类型及示例
UML建模时常见的9种图:
1、用例图:
用例图是需求分析的产物,主要是用来描述用户是如何使用一个系统的,是用户所能观察和使用到的系统功能的模型图。
PS:UML用例图符号:想看懂UML用例图,这些符号你真的都会了吗?
2、类图:
UML类图,是用来描述系统中的类以及各个类之间的关系。系统中可以有多个类图,单个类图则只是表达了系统的一个方面。类图可以帮助我们在正确编写代码之前对系统有个很全面的认识,是建模中最常见的一种类型图。
PS:UML类图符号:软件设计利器:UML类图常用符号及关系详解!
3、对象图:
对象图描述的是一组对象之间的关系,而不是类之间的关系。它是类图的变体,但是又与之不同,对象显示的类的多个对象而不是实际的类。
4、活动图:
UML活动图,顾名思义就是UML的动态模型的一种图形,对于系统的功能建模特别重要。它用来描述满足用例要求所要进行的活动以及活动间的约束关系,有利于识别并行活动。简单来讲,就是表示在处理某个活动时,两个或者更多类对象之间的过程控制流。
PS:UML活动图符号:一篇文章快速读懂UML活动图符号
5、状态图:
UML状态图,用于显示状态机,即描述一个对象所处的可能状态以及状态之间的转移。用状态图建模可以帮助开发人员分析复杂对象的各种状态的转换,以及对象何时执行怎样的动作。
PS:UML状态图符号:超详细的UML状态图符号,初学者也能轻松看懂状态图
6、时序图:
UML时序图,又叫序列图或者顺序图,是一种用来描述对象之间传送消息的时间顺序,是用来表示用例中的行为顺序。
PS:UML时序图符号:还看不懂UML时序图?看完这些符号介绍就明白了!
7、协作图:
UML协作图(又叫通信图)是一种作用于显示对象之间如何进行交互以执行特点用例或用例中特点部分行为的交互图,它强调的是发送和接收消息的对象之间的组织结构。
PS:UML协作图符号:浅显易懂的UML协作图符号
8、组件图:
UML组件图(又叫构件图),是用来描述在软件系统中遵从并实现一组接口的物力的、可替换的软件模块。它所表现的是一种系统静态实现的结构,能够帮助开发人员对系统组成达成一致的认识。
PS:UML组件图符号:盘点那些年我们常用的UML组件图符号及含义!
9、部署图:
UML 部署图是一个用来描述系统的硬件配置和部署以及软件的构件和模块在不同节点上分布的模型图。它能够帮助系统相关人员了解系统中各个构件部署在什么硬件上以及硬件之间的交互关系。
PS:UML部署图符号:UML部署图符号,帮你快速了解UML部署图
UML中的各种图之间的区别:
1、各有其侧重点:比如说用例图侧重于描述用户的需求,而类图则侧重于描述系统的具体实现。
2、所描述的方面各不相同:比如类图是用来描述系统结构的,序列图则是用来描述系统行为的。
3、抽象的层次也不尽相同:比如头见图是用来描述系统的模块结构,抽象层次比较高,而对象图则用来描述具体的模块实现,抽象层次就比较低。