UML图最全详解(9种常用UML图)

UML图最全详解(9种常用UML图)-mikechen

UML图主要包含9类,下面我重点详解UML图的9种图,看完后你会对UML图有非常清楚的了解@mikechen

UML用例图

UML用例图:主要用来描述角色,以及角色与用例之间的连接关系。

UML用例图是由参与者、用例、边界和关系构成,如下图所示:

UML图最全详解(9种常用UML图)-mikechen

1.参与者

参与者表示系统进行交互的用户、组织或者外部系统,用一个火柴人表示。

UML图最全详解(9种常用UML图)-mikechen

2.用例

用例:用例就是外部可见的系统功能,对系统提供的服务进行描述,通常用椭圆表示。

如下图所示:

UML图最全详解(9种常用UML图)-mikechen

用例一般用“动词 名词”表示,表明了系统能做什么事情,比如:登录app、下订单、支付等等。

3.系统边界

系统边界:将系统内外分开,参与者在外面,用例在里面,系统边界能清晰的表达出系统的范围。

通常用矩形框表示,如下图所示:

UML图最全详解(9种常用UML图)-mikechen

 

UML类图

UML类图是用来描述系统中的类以及各个类之间的关系。

UML类图包含:

  1. 类或者类与接口的继承关系;
  2. 类之间的依赖、聚合等关系;
  3. 还描述每一个类的详细信息,包括变量,和方法;

UML图最全详解(9种常用UML图)-mikechen

 

单个类图则只是表达了系统的一个方面,系统中可以有多个类图。

UML图最全详解(9种常用UML图)-mikechen

UML类图可以帮助我们在正确编写代码之前对系统有个很全面的认识,是建模中最常见的一种类型图。

 

UML对象图

UML对象图,描述的是一组对象之间的关系,而不是类之间的关系。

UML对象图是UML类图的变体,但是又与之不同,对象显示的类的多个对象而不是实际的类。

UML图最全详解(9种常用UML图)-mikechen

 

UML活动图

UML活动图,指的是从一个活动到另一个活动的控制流,描述活动的顺序,活动表示处理事物的动作和状态。

以小张早晨起床上班的活动为例:

活动描述:小张每天醒来后先看表是否到起床时间,如果没到继续睡觉,如果到了,抓紧时间起床,洗漱完毕后吃早餐,饭后出门。

用活动图绘制如下:

UML图最全详解(9种常用UML图)-mikechen

上图绘制的就是小张早晨日常生活的活动图,通过这种图形化模型可以把动作的流程性表达的更加清楚,动作的内容、流程、判断、交互、并发都能很好的表达。

活动图分析:

开始与结束:活动图只能有一个起点,但可以有多个终点的。

分支判断:菱形代表分支判断,这个与流程图的分支判断是一样的。

分叉与汇合:分叉表示一个活动完成后产生后续的多个并行的活动,汇合表示多个活动全部完成后再进行下一个活动

 

UML状态图

UML状态图,即描述一个对象所处的可能状态以及状态之间的转移。

UML图最全详解(9种常用UML图)-mikechen

 

UML状态图作用

1)为系统的动态方面建模,让系统的信息表述的更全面;

2)描述一个物体在其有生之年的不同状态,是处于触发,还是休眠,或者是死亡;

3)建立对象的生命周期模型,有利于程序员设计对象的方法等;

4)帮助程序员了解需求提高编码速度。

 

UML时序图

UML时序图,又叫序列图或者顺序图,是一种用来描述对象之间传送消息的时间顺序,是用来表示用例中的行为顺序。

UML时序图的常用元素分别有:

  • 对象角色;
  • 生命线;
  • 会话;
  • 消息;

如下图所示:

UML图最全详解(9种常用UML图)-mikechen

每次梳理流程,跟开发沟通,我都会借助它来描述。

绘制时序图,将一个个对象和其交互动作列出来,可以直观反映出,每个对象对其他对象、或其自身做的交互动作。

UML时序图如下图所示:

UML图最全详解(9种常用UML图)-mikechen

 

UML协作图

UML协作图,又叫通信图,它强调的是对象之间的交互关系。

UML协作图组成

1. 对象

协作图与顺序图中的对象的概念是一样,如下图所示:

UML图最全详解(9种常用UML图)-mikechen

2. 链
表示对象之间的语义关系,协作图中链的符号和对象图中链所用的符号是一样的,即一条连接两个对象的实线。

如下图所示:

UML图最全详解(9种常用UML图)-mikechen

3. 消息

有同步异步等消息,如下图所示:

UML图最全详解(9种常用UML图)-mikechen

 

UML协作图实例

UML图最全详解(9种常用UML图)-mikechen

 

 

UML组件图

UML组件图,又叫构件图,是用来描述组件与组件之间关系的一种UML图。

UML组件图 = 构件(Component) + 接口(Interface) + 关系(Relationship) + 端口(Port) + 连接器(Connector)。

如下图所示:

UML图最全详解(9种常用UML图)-mikechen

 

UML部署图

UML部署图用来显示系统中硬件和软件的物理架构,从中可以了解到软件和硬件组件之间的物理拓扑、连接关系以及处理节点的分布情况。

UML部署图中的主要元素有节点(Node)、构件(Artifact)和连接(Link)、部署规约(Deployment Specification)等等。

1.节点(Node)

节点代表计算机资源的物理元素,可以是硬件也可以是运行其上的软件系统。

比如:服务器主机、Linux操作系统等,一般用立方体表示,如下图:

UML图最全详解(9种常用UML图)-mikechen

 

2.构件(Artifact)

构件是软件开发过程中的产物,包括过程模型,比如:用例图、设计图、以及源代码、可执行程序、设计文档、需求原型、用户手册等。

构件表示如下:

UML图最全详解(9种常用UML图)-mikechen

构件表示一个软件部件,节点表示一个硬件部件,这是构件与节点的核心区别。

 

3.连接(Association)

连接(Connection)用于表示两个节点之间的硬件连接(物理连接)。

连接用一条实线段表示,可以通过构造型或约束对连接的通信路径或通信方式进行描述。

如下图所示:

UML图最全详解(9种常用UML图)-mikechen

4.部署图关系

1)依赖

依赖是节点的物件之间存在相互调用的弱关系,如下图所示:

UML图最全详解(9种常用UML图)-mikechen

2)关联

节点间的通信方式,跟具体的协议有关,比如TCP/IP, ftp, http, soap, web service等

UML图最全详解(9种常用UML图)-mikechen

陈睿mikechen

10年+大厂架构经验,资深技术专家,就职于阿里巴巴、淘宝、百度等一线互联网大厂。

关注「mikechen」公众号,获取更多技术干货!

后台回复面试即可获取《史上最全阿里Java面试题总结》,后台回复架构,即可获取《阿里架构师进阶专题全部合集

评论交流
    说说你的看法