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,230