简要介绍UML中的视图以及它们之间的关系

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了简要介绍UML中的视图以及它们之间的关系相关的知识,希望对你有一定的参考价值。

参考技术A 标准建模语言UML的重要内容可以由下列五类图(共9种图形)来定义:
  第一类是用例图,从用户角度描述系统功能,并指出各功能的操作者。
  第二类是静态图
(Static
diagram),包括类图、对象图和包图。其中类图描述系统中类的静态结构。不仅定义系统中的类,表示类之间的联系如关联、依赖、聚合等,也包括类的内部结构(类的属性和操作)。类图描述的是一种静态关系,在系统的整个生命周期都是有效的。
  对象图是类图的实例,几乎使用与类图完全相同的标识。他们的不同点在于对象图显示类的多个对象实例,而不是实际的类。一个对象图是类图的一个实例。由于对象存在生命周期,因此对象图只能在系统某一时间段存在。
  包由包或类组成,表示包与包之间的关系。包图用于描述系统的分层结构。
  第三类是行为图(Behavior
diagram),描述系统的动态模型和组成对象间的交互关系。其中状态图描述类的对象所有可能的状态以及事件发生时状态的转移条件。通常,状态图是对类图的补充。在实用上并不需要为所有的类画状态图,仅为那些有多个状态其行为受外界环境的影响并且发生改变的类画状态图。
  而活动图描述满足用例要求所要进行的活动以及活动间的约束关系,有利于识别并行活动。
  第四类是交互图(Interactive
diagram),描述对象间的交互关系。其中顺序图显示对象之间的动态合作关系,它强调对象之间消息发送的顺序,同时显示对象之间的交互;合作图描述对象间的协作关系,合作图跟顺序图相似,显示对象间的动态合作关系。除显示信息交换外,合作图还显示对象以及它们之间的关系。如果强调时间和顺序,则使用顺序图;如果强调上下级关系,则选择合作图。这两种图合称为交互图。
  第五类是实现图
(
Implementation
diagram
)。其中构件图描述代码部件的物理结构及各部件之间的依赖关系。一个部件可能是一个资源代码部件、一个二进制部件或一个可执行部件。它包含逻辑类或实现类的有关信息。部件图有助于分析和理解部件之间的相互影响程度。
  配置图定义系统中软硬件的物理体系结构。它可以显示实际的计算机和设备(用节点表示)以及它们之间的连接关系,也可显示连接的类型及部件之间的依赖性。在节点内部,放置可执行部件和对象以显示节点跟可执行软件单元的对应关系。
  从应用的角度看,当采用面向对象技术设计系统时,首先是描述需求;其次根据需求建立系统的静态模型,以构造系统的结构;第三步是描述系统的行为。其中在第一步与第二步中所建立的模型都是静态的,包括用例图、类图(包含包)、对象图、组件图和配置图等五个图形,是标准建模语言UML的静态建模机制。其中第三步中所建立的模型或者可以执行,或者表示执行时的时序状态或交互关系。它包括状态图、活动图、顺序图和合作图等四个图形,是标准建模语言UML的动态建模机制。因此,标准建模语言UML的主要内容也可以归纳为静态建模机制和动态建模机制两大类。

UML建模类图

参考技术A 类图(Class Diagram)展现了一组对象、接口、协作和它们之间的关系。在面向对象系统的建模中所建立的最常见的图就是类图。类图给出系统的静态设计视图。包含主动类的类图给出了系统的静态进程视图。

类图中通常包含以下内容:

1)类。

2)接口。

3)协作。

4)依赖、关联、泛化和实现关系。

UML(Unified Modeling Language,统一建模语言)中有4种关系:依赖、关联、泛化和实现。

下面介绍下类、泛化关系、实现关系、关联关系、依赖关系的描述和表示。

1) 类

类(Class)封装了数据和行为,是面向对象的重要组成部分,它是具有相同的属性、操作、关系的对象集合的总称。

(类对应的UML图是一个矩形,分为三层,最顶层的是类名,中间层的是属性,最底层的是方法。

属性的表示方式为:【可见性】【属性名称】:【类型】={缺省值,可选}

方法的表示方式为:【可见性】【方法名称】(【参数列表】):【类型】

可见性都是一样的,“-”表示private,“+”表示public,“#”表示protected。)

2) 泛化关系

泛化关系(Generalization)也叫继承关系,用于描述父子类之间的关系,父类又称为基类或者超类,子类又称为派生类。

(实线,带空心三角形的在父类那边)

3) 实现关系

实现关系(Implementation),是对接口和实现类之间的关系,<<interface>>表示一个接口,接口没有属性(有属性也要注意都是常量),而且所有的操作都是抽象的,只有操作的声明没有操作的实现。

(虚线,带空心三角形的在接口那边)

4) 关联关系

关联关系(Association)是类与类之间最常见的一种关系,它是一种结构化的关系,表示一类对象与另一类对象之间的关系。关联关系用实线连接,如一个类的对象作为另一个类的成员变量。

关联关系中还有聚合关系和组合关系,都是表示整体和部分之间的关系。不同的是,

在 聚合关系(Aggregation) 中,成员对象是整体的一部分,但是成员对象可以脱离整体对象独立存在。

(实线,带空心菱形的在整体那边)

在 组合关系(Composition) 中,整体对象可以控制成员对象的生命周期,一旦整体对象不存在,成员对象也不存在。

(实线,带实心菱形的在整体那边)

5) 依赖关系

依赖关系(Dependency)是一种使用关系,特定事物的改变有可能会影响到使用该事物的其他事物,在需要表示一个事物使用另一个事物时使用依赖关系,大多数情况下依赖关系体现在某个类A的方法使用了另一个类B的对象作为参数。

(虚线,带箭头,由依赖的一方指向被依赖的一方,如A指向B)

依赖关系通常有三种方式来实现:1、将一个类的对象作为另一个类中方法的参数;2、在一个类的方法中将另一个类的对象作为其对象的局部变量;3、在一个类的方法中调用另一个类的静态方法;

以上是关于简要介绍UML中的视图以及它们之间的关系的主要内容,如果未能解决你的问题,请参考以下文章

UML建模-用例图篇

UML-用例图

UML的类图与关系

设计模式之UML类图以及类间关系

面向对象中包括哪些UML图及每件图的作用

UML用例图