UT5. UML

FASE DE diseño: DIAGRAMAS DE clases

Pág. 25

eugeniaperez.es

UT 5.2: DIAGRAMAS DE clases

1. Fase de diseño

Text

eugeniaperez.es

fase de diseño

UT 5.2: DIAGRAMAS DE clases

1. Fase de diseño

Text

eugeniaperez.es

DIAGRAMAS DE CLASES

  • Muestran el diseño final de la solución
  • Entidades, atributos, métodos y relaciones
  • Son parte del diseño

UT 5.2: DIAGRAMAS DE clases

1. Fase de diseño

Text

eugeniaperez.es

UNA CLASE EN UML 

public class Car {

}

UT 5.2: DIAGRAMAS DE clases

1. Fase de diseño

Text

eugeniaperez.es

atributos y métodos de la clase

UT 5.2: DIAGRAMAS DE clases

1. Fase de diseño

Text

eugeniaperez.es

atributos y métodos más detallado...

 

  • VISIBILIDAD

  • + : atributos o métodos públicos
  • - : atributos o métodos privados
  • # : atributos o métodos protegidos

UT 5.2: DIAGRAMAS DE clases

1. Fase de diseño

Text

eugeniaperez.es

atributos y métodos más detallado...

 

  • tipo

  • En atributos tras el nombre separado :
  • +model: String
  • En métodos:
  • + add (a: int, b: int): int

UT 5.2: DIAGRAMAS DE clases

1. Fase de diseño

Text

eugeniaperez.es

atributos y métodos más detallado...

public class Car {
	public String model;
	protected int power;
	private String plate;
	private float petrol;
	
	public void start () {
	}

	public void stop () {
	}

	public void drive (Float distance) {
	}

        public boolean needsFill () {
	}
}

UT 5.2: DIAGRAMAS DE clases

1. Fase de diseño

Text

eugeniaperez.es

relaciones

Simplemente  desde un método de Order llamamos a un método de Email (lo utilizamos pero no tiene porqué estar contenido)

UT 5.2: DIAGRAMAS DE clases

1. Fase de diseño

Text

eugeniaperez.es

AGREGACIÓN

public class Circuit{
    ...
}


public class Race{
    private Circuit circuit;
    ...
}

En umlet para indicar cardinalidades

lo hacemos con m1=1 y m2=1

Una carrera contiene un circuito. El rombo del lado del contenedor...

UT 5.2: DIAGRAMAS DE clases

1. Fase de diseño

Text

eugeniaperez.es

AGREGACIÓN

public class Player {
	private Vector<Weapon> weapons;
}

UT 5.2: DIAGRAMAS DE clases

1. Fase de diseño

Text

eugeniaperez.es

composición

public class Group {
	private Vector<Student> students;
}

Una clase pertenece a otra, y además no tiene sentido sino es dentro de ella...

UT 5.2: DIAGRAMAS DE clases

1. Fase de diseño

Text

eugeniaperez.es

relaciones

public class Car {
	private Vector<Wheel> wheels;
	private Vector<Passenger> passengers;
}

UT 5.2: DIAGRAMAS DE clases

1. Fase de diseño

Text

eugeniaperez.es

relaciones

public class Hotel {
	private Vector<Room> rooms;
	private Vector<Guest> guests;
}

UT 5.2: DIAGRAMAS DE clases

1. Fase de diseño

Text

eugeniaperez.es

herencia

public abstract class Fuel {
}

public class Plutonium extends Fuel {
}

public class Petrol extends Fuel {
}

public class Deuterium extends Fuel {
}

UT 5.2: DIAGRAMAS DE clases

1. Fase de diseño

Text

eugeniaperez.es

herencia

public abstract class Vehicle {
	protected String model;
	protected int range;
	
	protected void start () {
		
	}
	
	protected void fillTank () {
		
	}
}

UT 5.2: DIAGRAMAS DE clases

1. Fase de diseño

Text

eugeniaperez.es

herencia

public class Car extends Vehicle {
	private String plate;
	
	public void accelerate () {
	}
	
	public void brake () {
	}
	
	public void turn () {
	}
}

UT 5.2: DIAGRAMAS DE clases

1. Fase de diseño

Text

eugeniaperez.es

interfaces e implementación

public interface Logger {
	public static String header = "MyLogger";
	
	public void log(String message);
	
}


UT 5.2: DIAGRAMAS DE clases

1. Fase de diseño

Text

eugeniaperez.es

interfaces e implementación

public class LoggerConsole implements Logger {
	private String color;
	
	@Override
	public void log(String message) {
	}
}

public class LoggerFile implements Logger {
	private String fileName;
	
	@Override
	public void log(String message) {
	}
}



UT 5.2: DIAGRAMAS DE clases

1. Fase de diseño

Text

eugeniaperez.es

¿DEBEMOS INCLUIR CONSTRUCTOR, GETTER/sETTER, TOSTRING...?

Este tipo de métodos se puede omitir en los diagramas, se dan por supuesto.

 

En cambio, si existe más de un constructor o algún constructor distinto al vacío sí que puede resultar interesante indicarlo en el diagrama.

UT 5.2: DIAGRAMAS DE clases

1. Fase de diseño

Text

eugeniaperez.es

podemos representar objetos concretos...

Text

Player onePlayer = new Player("Legolas",666);

UT 5.2: DIAGRAMAS DE clases

1. Fase de diseño

Text

eugeniaperez.es

vAMOS A CREAR UN DIAGRAMA DE CLASES CON UMLET

Text

UT 5.2: DIAGRAMAS DE clases

1. Fase de diseño

Text

eugeniaperez.es

UT5. UML: realiza los ejercicios 3 y 4 pág. 37

UT4. JAVA: HAZ LOS DIAGRAMAS DE CLASES DE LOS EJERCICIOS

1,2,3,6,7-8,9  UT 14. COLECCIONES PÁG. 147

PRUEBA A HACER TAMBIÉN EL UML DEL MARIO KART.

 

Made with Slides.com