image.png

UML基本介绍1) UML——Unified modeling language UML

  1. (统一建模语言),是一种用于软件系统
    分析和设计的语言工具,它用于帮助软
    件开发人员进行思考和记录思路的结果
    UML本身是一套符号的规定,就像数学
    符号和化学符号一样,这些符号用于描
    述软件模型中的各个元素和他们之间的
    关系,比如类、接口、实现、泛化、依
    赖、组合、聚合等,如右图:
    使用UML来建模,常用的工具有 Rational
    Rose , 也可以使用一些插件来建模

    UML类图

    1) 用于描述系统中的类(对象)本身的组成和类(对象)之间的各种静态关系。
    2) 类之间的关系: 依赖、泛化(继承)、实现、关联、聚合与组合

依赖

只要是类中用到了对方,那么他们之间就存在依赖关系(dependence)

image.png
其中PersionDao 也可以使用聚合来标

小结

  • 类中使用到了对方
  • 如果是类的成员属性
  • 如果是方法的返回类型
  • 是方法接受的参数类型
  • 方法中使用到

A依赖B A指向B

泛化(generalization) 依赖的特例,实际上就是继承关系

image.png

image.png

PersionServiceBean 继承 DaoSupport , PersionServiceBean 指向 DaoSupport

实现关系 (implementation/ realization) 依赖关系的特例

image.png
PersionServiceBean 实现 PersionService, PersionServiceBean 指向 PersionService

关联关系(assocation)

实际上就是类与类之间的联系,它是依赖关系的特例
关联关系具有导航性:即双向关系 或者是单向关系
关系具有多重性:如
“1”表示有且仅有一个
“0”表示0~多个
“0,1”表示0个或者一个
“n,m”表示n~m个之间
“m…*” 表示m个以上

image.png

聚合关系

表示的是整体和部分的关系,整体与部分可以分开。

聚合关系是关联关系的特例
成员变量

如:一台电脑由键盘(keyboard)、显示器(monitor),鼠标等组成,组成电脑的各个配件是可以从电脑上分离出来的,使用带有空心菱形的实现来表示

  1. public class Computer {
  2. private Mouse mouse; //鼠标可以和computer分离
  3. private Moniter moniter;//显示器可以和Computer分离
  4. public void setMouse(Mouse mouse) {
  5. this.mouse = mouse;
  6. }
  7. public void setMoniter(Moniter moniter) {
  8. this.moniter = moniter;
  9. }
  10. }

image.png

组合关系(composition)

不可分离 共生

  1. public class Computer {
  2. private Mouse mouse = new Mouse(); //鼠标可以和computer不能分离
  3. private Moniter moniter = new Moniter();//显示器可以和Computer不能分离
  4. public void setMouse(Mouse mouse) {
  5. this.mouse = mouse;
  6. }
  7. public void setMoniter(Moniter moniter) {
  8. this.moniter = moniter;
  9. }
  10. }
  1. public class Person {
  2. private IDCard card; //聚合关系
  3. private Head head = new Head(); //组合关系
  4. }

image.png

六大类图总结