类图在UML中有何重要作用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了类图在UML中有何重要作用相关的知识,希望对你有一定的参考价值。

参考技术A

在软件工程中,类图为一种静态的结构图,描述了系统的类的集合,类的属性和类之间的关系,可以简化了人们对系统的理解;类图为系统分析和设计阶段的重要产物,是系统编码和测试的重要模型。

类图(Class diagram)为最常用的UML图,显示出类、接口以及它们之间的静态结构和关系;它用于描述系统的结构化设计。类图(Class diagram)最基本的元素是类或者接口。

类图主要用在面向对象软件开发的分析和设计阶段,描述系统的静态结构。类图图示了所构建系统的所有实体、实体的内部结构以及实体之间的关系。即类图中包含从用户的客观世界模型中抽象出来的类、类的内部结构和类与类之间的关系。

它是构建其他设计模型的基础,没有类图,就没有对象图、状态图、协作图等其他UMI动态模型图,也就无法表示系统的动态行为。类图也是面向对象编程的起点和依据。



扩展资料

在UML的静态机制中类图是一个重点,它不但是设计人员关心的核心,更是实现人员关注的核心。建模工具也主要根据类图来产生代码。类图在UML的9个图中占据了一个相当重要的地位。James Rumbaugh对类的定义是:类为具有相似结构、行为和关系的一组对象的描述符。

类为面向对象系统中最重要的构造块。类图显示了一组类、接口、协作以及他们之间的关系。在UML中问题域最终要被逐步转化,通过类来建模,通过编程语言构建这些类从而实现系统。

类加上他们之间的关系就构成了类图,类图中还可以包含接口、包等元素,也可以包括对象、链等实例。接口在类图中通过版型来表示<<interface>>,下面的介绍将主要介绍类,接口和类类似。

参考资料来源:百度百科-UML类图

参考资料来源:百度百科-类图

UML类图和时序图

在做功能比较复杂的项目模块的时候,为了理请代码的逻辑,方便以后对接的同事方便查看,一般会整理一下流程图、类图和时序图。  
发现自己在画图的时候,有时候不太记得类图的个别图示,就整理一下输出了这篇文章。

类图

在开发中,经常会用到类图,尤其是功能模块涉及很多类的时候,使用类图,可以明了地显示各个类之间的关系。类图的学习还是比较简单,只要知道基本的图示作用,以及弄懂类之间的关系。

类图图示元素含义

先对各个图示进行介绍,主要是接口、类以及各种关系连接线

接口

image-20180728162538350
  • 第一行:接口名称,接口需要添加《Interface》

  • 第二行:特性(字段或者属性)
    格式为:可见性 特性名称:特性类型

  • 第三行:操作(方法或者行为)
    格式为:可见性 操作名称(参数类型):返回值类型  
    可见性:+表示public,-表示private,#表示protected

UML类图和时序图
image-20180728163641732
  • 第一行:类名称,如果是抽象类,用斜体表示

  • 第二行:特性(字段或者属性)
    格式为:属性范围 特性名称:特性类型

  • 第三行:操作(方法或者行为)
    格式为:操作范围 操作名称(参数类型):返回值类型

关系连接线

类之间的关系有6种,分别为实现关系、泛型关系、关联关系、依赖关系、聚会关系、组合关系。  

UML类图和时序图
image-20180728165213977

类的关系

上面的图示也列出类关系的6种连接线,接下来对各个关系进行详细介绍

实现关系

  • 是一种类与接口的关系

  • 表现在代码上,就是实现interface接口  

    UML类图和时序图
    image-20180728165555810

泛型关系

  • 是一种类与类的继承关系

  • 表现在代码上,就是通过extend继承  

    UML类图和时序图
    image-20180728165817291

关联关系

  • 是一种拥有的关系, 它使一个类知道另一个类的属性和方法。

  • 关系关系可以是单向的,也可以是双向的,互相关系。

  • 表现在代码上,一般是类中的一个成员属性。  

    UML类图和时序图
    image-20180728173446758

依赖关系

  • 是一种使用的关系,  即一个类的实现需要另一个类的协助。这种关系具有偶然性的、临时性的、非常弱的。

  • 表现在代码上,就是类B被作为类A的某个方法参数传递进来使用。

    UML类图和时序图

组合关系和聚合关系

  • 两者都是整体与部分的关系

  • 组合关系中的部分,不能离开整体而单独存在的,比如公司和部门是整体与部分的关系,部门不能单独存在,没有公司就没有部门了。

  • 聚合关系中的部分,能离开整体单独存在,比如汽车和轮胎是整体与部分的关系,轮胎可以单独存在。

  • 两者表现在代码上,和关联关系一样,是类中的一个成员属性。具体不同只能通过语义区分。  

    image-20180728174548975

总结

最后,借用《大话设计模式》中的一张UML类图来展示各个类图的关系  

image-20180728180119156

时序图

上面讲到的是类图,平时另外开发中,尤其是看源码的时候,用得比较多的,就是时序图了。类图用来表示各个类之间的关系,时序图,用来描述对象之间动态协作的顺序。
时序图使用起来也特别方便,要整理的时候,发现网上有文章整理很不错了,如UML建模之时序图(Sequence Diagram)https://www.cnblogs.com/ywqu/archive/2009/12/22/1629426.html,就不再自行整理了。
写博客的目的,是为了理解归纳知识点,然后通过自己的思维习惯输出,下次忘记的时候,看自己的文章立马回顾起来。看别人的一篇也能回顾,也就不为了写文章而写文章了。

参考资料

  • 《大话设计模式》—UML类图

  • 看懂UML类图和时序图
    http://design-patterns.readthedocs.io/zh_CN/latest/read_uml.html#generalization

  • UML类图关系(泛化 、继承、实现、依赖、关联、聚合、组合
    https://www.cnblogs.com/olvo/archive/2012/05/03/2481014.html

  • 五分钟读懂UML类图
    https://www.cnblogs.com/shindo/p/5579191.html

  • UML建模之时序图(Sequence Diagram)
    https://www.cnblogs.com/ywqu/archive/2009/12/22/1629426.html

以上是关于类图在UML中有何重要作用的主要内容,如果未能解决你的问题,请参考以下文章

软件设计利器:UML类图常用符号及关系

UML类图和时序图

UML类图

UML建模类图

UML笔记 - 类图

类图与对象图