UML

  • UML图分类:
  • 用例图 use case
  • 动态行为图
  • 静态结构图
  • 类图
  • 类之间的关系
  • 1.依赖关系(Dependece)
  • 2.泛化关系(generalization)
  • 3.实现关系(Implementation)
  • 4.关联关系(Association)
  • 5.聚合关系(Aggregation)
  • 6.组合关系(Composition)


  • UML–Unified modeling language 统一建模语言。用于软件系统分析和设计的语言工具。用于秒速软件模型中各个元素和他们之间的关系,比如:类,接口,实现,泛化,依赖,组合,聚合等。

UML图分类:

用例图 use case

动态行为图

  • 交互图(时序与协作图)、状态图、活动图

静态结构图

  • 类图 对象图 包图 组件图 部署图

类图

  • 类图是描述类与类之间的关系,是UML图最核心的
  • 类之间的关系:依赖、泛化(继承)、实现、关联、聚合与组合

类之间的关系

1.依赖关系(Dependece)

特点:

  1. 类中用到了对方
  2. 是类的成员属性
  3. 方法的返回类型
  4. 方法接受的参数类型
  5. 方法中有用到
public class PersonService {
	private PersonDao personDao;//成员属性
	public void save(Person person) {//方法参数
		
	}
	public IDCard getIdCard(Integer personId) {//方法的返回值类型
		return null;
	}
	public void modify() {
		Department department=new Department();//在方法中使用到
	}

}
  • UML图:
  • java 关联表 类图 java类调用关系图_UML


2.泛化关系(generalization)

  • 泛化关系实际就是集成关系,是依赖关系的特例。
  • 依赖关系就是继承
  • 如果B继承A,那么A,B存在泛化关系
public abstract class DaoSupport {

	public void save(Object entity) {
		
	}
	public void delete(Object id) {
		
	}

}
public class PersonServiceBean extends DaoSupport{

}

java 关联表 类图 java类调用关系图_UML_02

3.实现关系(Implementation)

  • B实现了A,
  • java 关联表 类图 java类调用关系图_依赖关系_03


  • java 关联表 类图 java类调用关系图_泛化关系_04


4.关联关系(Association)

  • 是类与类之间的联系,也是依赖关系的特例
  • 关联具有向导性:双向关系与单向关系
  • 关系的多重性(“1”表示有且仅有一个,“0”表示0或者多个)。“0,1”表示0个或1个,“n…m”表示n到 m个都可以,“m…”表示至少m个
  • java 关联表 类图 java类调用关系图_泛化关系_05


5.聚合关系(Aggregation)

  • 聚合关系 (Aggregation)表示整体和部分的关系,整体与部分可以分开,聚合关系是关联关系的特例
  • 导航性
  • java 关联表 类图 java类调用关系图_java 关联表 类图_06

  • (如果mouse鼠标,monitor显示器与computer可以分离)
  • java 关联表 类图 java类调用关系图_UML_07


  • java 关联表 类图 java类调用关系图_依赖关系_08


6.组合关系(Composition)

  • 也是整体与部分的关系 但是整体与部分不可以分开
  • 如果mouse鼠标,monitor显示器与computer可以不可分离 则升级为组合关系
  • mouse鼠标,monitor显示器与computer(在computer创建的时候 就会创建,,销毁的时候就会销毁,他们是并不可以分割的)
  • java 关联表 类图 java类调用关系图_UML_09


  • java 关联表 类图 java类调用关系图_java 关联表 类图_10


  • java 关联表 类图 java类调用关系图_泛化关系_11


  • java 关联表 类图 java类调用关系图_依赖关系_12