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.
UT5. Diagramas de clases
By eugenia_perez
UT5. Diagramas de clases
- 1,349