我爱编程

UML——统一建模语言

2018-08-14  本文已影响5人  快乐的工程师

统一建模语言

    统一建模语言(英语:Unified Modeling Language,缩写 UML)是非专利的第三代建模和规约语言。UML是一种开发的方法,用于说明、可视化、构建和编写一个正在开发的、面向对象的、软件密集系统的制品的开放方法。UML展现了一系列最佳工程实践,这些最佳实践在对大规模,复杂系统进行建模方面,特别是在软件架构层次已经被验证有效。
    现在来解释上面那段话是什么意思。在我们一开始开发软件的时候,因为软件结构还是比较简单,所以我们比不需要去分析软件的结构是什么样子。需要先写哪些类,哪些类里面具体实现哪些方法,这些都是直接存大脑里的。但是随着软件变得足够的复杂,过去这种原始的开发方式就显得力不从心。
    系统变得越来越大,代码越写越多,这时候先前因为没有做规划的弊端就暴露无遗。UML主要就是为了解决软件开发人员做规划时,通过画图的方式直观地架构这个系统的结构——类与类之间的关系。这也就是UML的作用。

模型

使用

    往往很多教材一下就会给我们介绍还有多少种UML模型,具体每一个模型又代表了什么意思。但是我的教程里UMLGithub一样是我认为你最先应该了解到的两个基础的编程工具,UML可以帮你理清程序的结构,Github可以让你去了解大牛们的代码从中学习经验
    接下来,让我们通过具体的Java代码来了解UML图中的对象模型。

类图的结构

    如下图所示,我们建造了一个Person类的结构图。图中包括这几点信息:

可见性 名称:类型[=缺省值]
person
public class Person {
  private String name;
  private int age;
  
  public void run(){
    ……
  }
}

类图关系

。单向关联:我中有你,你中没我

单项关联

。多重关联:一个餐厅里有许多服务员

多重关联
public class Car {
  private Engine engine;

  public Car(Engine engine) {
    this.engine = engine;
  }

  public void setEngine(Engine engine){
     this.engine = engine;
  }
}
public class Head {
  private Mouth mouth;

  public Head() {
    mouth = new Mouth();
  }
}

public class Driver{
  private void driverCar( ){
      Car car = new Car();
      car.move();
  }
}
public class Teacher extends Person {
  ……
}
public class Children extends Person {
  ……
}
public class Ship implements Vehicle{
  ……
}
public class Car implements Vehicle{
  ……
}
上一篇 下一篇

猜你喜欢

热点阅读