类图UML设计知识一

如果想掌握类图,必须明白类图中的关系,下面来给大家重点介绍UML 类图中存在的几种关系。

在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency)

  1. 泛化(Generalization)

    【泛化关系】:是一种继承关系,表示一般与特殊的关系,它指定了子类如何特化父类的所有特征和行为。例如:老虎是动物的一种,即有老虎的特性也有动物的共性。

    【箭头指向】:带三角箭头的实线,箭头指向父类

  2. 实现(Realization)

    【实现关系】:是一种类与接口的关系,表示类是接口所有特征和行为的实现.

    【箭头指向】:带三角箭头的虚线,箭头指向接口

    1. 关联(Association)

      【关联关系】:是一种拥有的关系,它使一个类知道另一个类的属性和方法;如:老师与学生,丈夫与妻子关联可以是双向的,也可以是单向的。双向的关联可以有两个箭头或者没有箭头,单向的关联有一个箭头。

      【代码体现】:成员变量

      【箭头及指向】:带普通箭头的实心线,指向被拥有者

      上图中,老师与学生是双向关联,老师有多名学生,学生也可能有多名老师。但学生与某课程间的关系为单向关联,一名学生可能要上多门课程,课程是个抽象的东西他不拥有学生。

      下图为自身关联:

      1. 聚合(Aggregation)

        【聚合关系】:是整体与部分的关系,且部分可以离开整体而单独存在。如车和轮胎是整体和部分的关系,轮胎离开车仍然可以存在。

        聚合关系是关联关系的一种,是强的关联关系;关联和聚合在语法上无法区分,必须考察具体的逻辑关系。

        【代码体现】:成员变量

        【箭头及指向】:带空心菱形的实心线,菱形指向整体

    2. 组合(Composition)

      【组合关系】:是整体与部分的关系,但部分不能离开整体而单独存在。如公司和部门是整体和部分的关系,没有公司就不存在部门。

      组合关系是关联关系的一种,是比聚合关系还要强的关系,它要求普通的聚合关系中代表整体的对象负责代表部分的对象的生命周期。

      【代码体现】:成员变量

      【箭头及指向】:带实心菱形的实线,菱形指向整体

    3. 依赖(Dependency)

      【依赖关系】:是一种使用的关系,即一个类的实现需要另一个类的协助,所以要尽量不使用双向的互相依赖.

      【代码表现】:局部变量、方法的参数或者对静态方法的调用

      【箭头及指向】:带箭头的虚线,指向被使用者

各种关系的强弱顺序:

泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖

下面这张UML图,比较形象地展示了各种类图关系:

总结

再画UML类图时一定要弄明白类图中各个符号表示的含义,这样才能更好的理解各个模块之间的关系,有助我们更好的理解整个设计的架构。

时间: 2024-10-13 01:18:57

类图UML设计知识一的相关文章

UML用例图与类图的基本知识的了解

题记:记录学习的UML用例图与类图的基本知识. 一.UML的用例图: UML的用例图的用途:帮助开发团队一一种可视化的方式理解系统的功能需求. UML用例图包含的元素:(1)参与者:表示与你的应用程序或系统进行交互的用户组织或外部系统(ps:用一个小人表示). (2)用例:用例就是外部可视的系统功能,对系统提供的服务进行描述(ps:用椭圆表示). (3)子系统:用来展示系统的一部分功能.这部分功能联系紧密. UML用例图中的关系主要包含5种:(1)关联(2)泛化(3)包含(4)扩展 关联:表示参

考勤助手类图的设计

以上为类图1.0版本,其中在“教务老师”与“信箱”的关系处争议较大,但是从调用关系上来分析我认为这样的设计是没有错误的,所以这个问题大家最终达成一致.至于学生和出勤表之间的联系的确是我的考虑不周,所以是应该做修改的.再有就是一张考勤表应该匹配一张出勤表,所以组合的数量关系上是有错误的,以下是修改后的版本: 根据以上仅考虑重要逻辑部分的类的关系,以及时序图的设计,我将uml类图进行了进一步的补充设计:

UMLet的使用与类图的设计

本实验是为后续实验做准备的.在本书中,各个程序实例都要画类图,所以读者必须掌握用某种UML建模工具来画类图,本书选择 UMLet 作为 UML 的建模工具.实验目的本实验的主要目的如下. 理解类的基本概念,掌握如何从需求分析中抽象出类的方法. 理解类之间关系,掌握如何分析具体实例中的类之间的关系. 掌握在 UMLet 中绘制类图的基本操作方法. 实验原理1. UMLet的使用UMLet 是一款免费且开源的 UML 建模工具,它可以将原型导出为 bmp.eps.gif.jpg.pdf.png.sv

【转载】UML类图知识整理

原文:UML类图知识整理 UML类图 UML,进阶必备专业技能,看不懂UML就会看不懂那些优秀的资料. 这里简单整理 类之间的关系 泛化关系(generalization) 泛化(generalize): 一条带空心箭头的线表示 实现(realize) : 一条带空心箭头的虚线表示 泛化在Java中表现为继承(extends) ,is-a的关系 实现在Android中表现为implements 接口,或者extends抽象类 依赖关系(dependency) 用一条带箭头的虚线表示:箭头的指向为

《大话设计模式》笔记-基础知识1:UML类图基础知识

好多计算机技术书籍或者文章中常用到UML类图,本书作者介绍每一种设计模式就是用类图+面向对象语言小程序(用的C#,其基础知识另文介绍)+人物对话解释知识点.本文就是介绍<大话设计模式>中所用到UML类图的基础知识. 上图是一个整体的图,特别要注意各种样式的箭头,下文分别用局部小图说明各知识点. 类 类图分三层: (1)      类名称,如果是抽象类就用斜体标识.本例,类名称是"动物",且其是一个抽象类. (2)      类特性,通常是字段和属性.本例,类特性是"

UML设计:类图说明及一步一步制作UML类图

什么是类图 UML类图是用来描述一个系统的静态结构.它既可以用于一般概念建模也可以用于细节建模.类包含了数据和行为,是面向对象的重要组成部分,它是具有相同属性.操作.关系的对象集合的总称. UML类图也可以用于数据建模.它可以用来描述应用程序内部或和其他用户之间的对象和信息结构.在UML中问题域终要被逐步转化,通过类来建模,通过编程语言构建这些类.类加上他们之间的关系就构成了类图,类图中还可以包含接口.包等元素,也可以包括对象.链等实例. 类图中的符号 class 类通过一个矩形表示,被两条直线

UML类图组成

本文转载至 http://blog.csdn.net/fengsh998/article/details/8105666 UML类图的相关知识,UML类图(Classdiagram)是最常用的UML图,显示出类.接口以及它们之间的静态结构和关系:它用于描述系统的结构化设计. UML类图 UML类图(Classdiagram)是显示了模型的静态结构,特别是模型中存在的类.类的内部结构以及它们与其他类的关系等.类图不显示暂时性信息. 类图(Classdiagram)由许多(静态)说明性的模型元素(例

UML九种图 之 用例图和类图

前言     近期写UML文档,看视频的时候感觉掌握的还能够,当真正写文档的时候才发现不是一件easy的事.写文档自己又翻开自己的笔记看了一遍又一遍. 以下就给大家介绍一下我画的几张图: 用例图     1. 用例图的构成         (用例,角色,关系)         用例:指功能的描写叙述         角色:触发起某种事件         关系:用例图的关系(依赖,泛化,关联)     2. 用例图的作用         (1)用例视图是整个UML设计的关键,影响到整个UML设计的

umlの类图

类图class diagram用来表述系统内部的静态结构.具体来说,开发人员可以通过类图的设计,把代码分类构成系统内部的静态结构. 以前,程序员在开发过程中,需要分模块.定功能.定义变量,这些过程在面向对象的技术中也会得以体现.下面是一个表格用来区分一般面向过程的方法和面向对象方法. 面向过程 面向对象 模块 类 功能 操作 变量 属性 自上而下 自下而上 其中需要说明的是表格中的最后一行,也就是两者划分方法的不同如下图: 在设计类图的时候应该注意的几点如下: 通过找名词可以找到类,进一步的是确