UML九种图

UML九种图之静态图

 

UML是一种建模语言。其中有九种图,包括用例图,对象图,类图,构件图,部署图,状态图,序列图,活动图,协作图。这九种图分为两类,静态图和动态图。这里就先介绍一下静态图。

 UML九种图_第1张图片

一、用例图

      用例图是客户与开发者之间可以沟通理解的标新形势。也可以将用例图看成是开发者和客户之间的可视化契约。在用例图中,一直以用户的角度为主,所以开发人员也需要时刻站在用户的角度去看待整个系统。比如机房收费系统有三个用户级别,操作员,管理员和一般用户。(PS:这里的泛化关系 画反了,各位看官自行矫正吧。时隔一年,感谢李光指出我的失误)

UML九种图_第2张图片

      用例图的作用就是获取需求,指导测试,还可以在整个过程中起到指导作用。

二、类图

      类图是UML中的三大核心图之一,是一种静态图,不能显示暂时性信息。可以显示出类、接口以及它们之间的静态结构和关系。

UML九种图_第3张图片

 

三、对象图

      对象图显示了一组对象和它们之间的关系,和类图一样,对象图是一个静态图,包括两个部分,对象的名称和属性。对象图是类图的实例,所以它的标识基本相同,但是也有区别,对象图显示的是类的多个对象实例,不是实际的类。对象存在生命周期,所以对象图只能在系统某一时间段存在。

UML九种图_第4张图片

四、构件图

      构件图主要是描述各种软件构件之间的依赖关系。比如,可执行文件和源文件之间的依赖关系。并且,构件图应用在实现阶段。

UML九种图_第5张图片

五、部署图

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

UML九种图_第6张图片

总结:

      再絮叨一下对象图和类图的联系。

      相同点:对象图是类图的实例,几乎使用与类图完全相同的标识。

      不同点:对象图显示类的多个对象实例,而不是实例的类。由于对象存在生命周期,因此对象图只能在系统某一个时间段存在。

 
UML九种图之动态图

一、状态图

      状态图主要用于描述一个对象在其生存期间的动态行为。也就是说这个系统本来有那么一个状态,然后发生了动作,转换成了另外一种状态。举个栗子,用户本来是在上机状态,点击了下机键,变成下机状态。当然也可能是余额不足,或者出现了什么故障,系统强制下机了。

UML九种图_第7张图片

二、序列图

      序列图将交互关系表示成了二维图,纵向是时间轴,横向代表各个独立对象。箭头以时间顺序在图中从上到下排列。

UML九种图_第8张图片

三、活动图

      活动图一般用来描述相关用例图。比较正经的说法是描述满足用例要求所要进行的活动以及活动间的约束关系。

UML九种图_第9张图片

四、协作图

      协作图是一种交互图,强调的是发送和接收消息的对象之间的组织结构。下图就是一个上机下机的过程。

UML九种图_第10张图片

总结:这些图之间的区别和联系很重要哟 !

一、时序图&协作图

 相同点:

       (1)都属于交互图,他们表示对象间的交互关系,描述了一个交互,由一组对象和他们之间的关系组成,并且还包括在对象之间传递的消息,

       (2)时序图和协作图是等价的

       (3)两者都来自UML元模型的相同信息,因此他们的语义是等价的,他们可以从一种形式的图转换成另一种形式的图,而不丢失任何信息。

       不同点:

协作图强调的是空间,但时间顺序必须从序列号获得。

时序图强调的是时间但是没有明确的表达对象间的关系。

二、状态图&活动图

相同点:都属于行为图,都是描述对象的动态行为。

不同点:

(1)描述对象不同:

状态图:描述对象状态及状态之间的转移,它主要表现该对象的状态。

活动图:描述从活动到活动的控制流,它主要表现的是系统的动作。

(2)使用场合不同:

状态图:描述对象在其生命期中的行为状态变化。

活动图:描述过程的流程变化。

三、状态图&类图

        状态图是对类图的补充

你可能感兴趣的:(UML)