UML之类图(Class diagram)

来源:互联网 发布:java在线培训系统源码 编辑:程序博客网 时间:2024/06/06 08:47

类图用于定义系统中的类,包括描述类的内部结构和类之间的关系。在UML的静态机制中是一个重点,它不但是设计人员关心的核心,更是实现人员关注的核心。建模工具也主要根据类图来产生代码。类图在UML的9个图中占据了一个相当重要的地位。类图是九种图中最核心的,它描述软件系统的静态行为

一、类
1.1什么是类:类是对真实世界中客观存在的事务的抽象描述。
1.2类的表示:
或+表示public
或#表示protected
或—表示private
表示方法
~表示package
二、类图的关系
1关联
1.1普通关联      有一定的结构关系     用直线      
应用于关联的修饰:
关联名(Association name):用以描述该关系的性质
角色(Role):当一个类处于关联的某一端时,该类就在这个关系中扮演了一个特定的角色;角色是关联中靠近它的一端的类对另外端的类呈现的职责。
多重性(Multiplicity):关联角色的多重性是说明一个关联的实例中有多少个相互连接的对象。

(1)单向关联(导航关联)

  (2)双向关联

(3)两个类之间可以有多种关联

(4)一个类可以和多个类关联

(5)自身关联:一个对象可以与另一个同类的对象有连接(link),即类可以与自身有关联。

1.2聚合
整体/部分
空心菱形
相对独立,没有严格的生命制约关系

电视机与遥控器

                        

书架与书



1.3组合
有附属关系
人的身体部分图


书和书页

聚合与组合的比较

火车与发动机(聚合)           链表与结点(组合)

首先使用最准确的关系描述

能用继承来描述的时候一定用泛化关系

当描述是接口和类的实现关系的时候一定用实现来描述

两个类之间如果有结构关系的时候一定用关联来描述

除此之外用依赖描述


能够正确表达出类和类之间的关系,注意不能只用依赖关系,而应该把四种关系用最准确的概念来表达,能够用关联的时候一定用关联,能够用组合就不用聚合,能用聚合就不用一般关联,能用一般关联就不用依赖

组合>聚合>关联>依赖


关联类:两个对象之间的连接(link)本身可以拥有自己的属性和行为,如果把连接看作是一个类的实例,则该类称为关联类。


2.依赖:一种使用关系(use),它说明一个事物规格说明的变化可能影响到使用它的另一个事物。但反之未必。
类与类之间,包与包之间,构建与构建之间


3.泛化:(is a kind of),继承关系


单重继承

多重继承

4.实现:类元之间的语义关系,在该关系中一个类元描述了另一个类元保证实现的契约。
类实现接口,包实现接口,构建实现接口



三、类图的构成
Classes(类)
Interfaces(接口)
Collaborations(协作)
Dependency(依赖)、Generalization(泛化)、Association relationships(关联)、实现
Packages 包or Subsystems子系统(for grouping)
四、学籍管理软件类图





0 0
原创粉丝点击