Академический Документы
Профессиональный Документы
Культура Документы
6: Elaboracin de
diagramas de clases con
UML.
UML: Diagrama de clases
Diagrama de clases
Clases, atributos, mtodos
Relaciones
Asociacin
Herencia
Composicin
Agregacin
Realizacin
Dependencia
Generacin de cdigo a partir de diagramas de
clases
Diagrama de clases: clases
En UML una clase se representa por un rectngulo con
tres divisiones
Nombre de Clase
la clase
Atributos
(se puede omitir)
Mtodos
(se puede omitir)
Diagrama de clases: atributos
En UML los atributos pueden representarse con su
nombre, o indicando tambin el tipo y valor por defecto.
Los tipos bsicos UML son:
Integer, String y Boolean
Es necesario indicar la visibilidad del atributo:
Pblico (public) +
Protegido (protected) #
Privado (private) -
Paquete (package) ~
Diagrama de clases: mtodos
Es la implementacin de un servicio de la clase
En UML los mtodos se representan por su nombre, tipos
de parmetros y tipo de dato devuelto.
Igual que los atributos, la visibilidad del mtodo:
Pblico (public) +
Protegido (protected) #
Privado (private) -
Paquete (package) ~
Diagrama de clases
Notacin Cardinalidad/Multiplicidad
0..1 Cero o una vez
1 Una y slo una vez
* De cero a varias veces
1..* De una a varias veces
M..N Entre M y N veces
N N veces
Diagrama de clases: Relaciones
Tipos de relaciones
Asociacin, dependiendo de si una clase conoce la existencia
de la otra o no (navegabilidad) puede ser:
Unidireccional
En java cada una de las clases contendr un objeto o set de objetos
de la otra clase.
Bidireccional
En java slo la clase origen contendr un objeto o set de objetos
de la clase destino.
Unidireccional
Bidireccional
Diagrama de clases: Asociacin
Asociacin
Diagrama de clases: Asociacin
public class Cliente { // 1 cliente tiene muchas facturas
public HashSet<Facturas> facturas = new HashSet<Facturas>();
public Cliente(){}
public HashSet<Facturas> getFacturas(){
return this.facturas;
}
public Almacen(){}
public HashSet<Zonas> getZonas(){
return this.zonas;
}
Superclase
Subclases
Diagrama de clases: Relaciones
Tipos de relaciones
Herencia
public class Persona {
private int dni;
private char nombre;
private boolean sexo;
private char fechaNacimiento;
public Persona(){}
}
public class Alumno extends Persona{ public class Empleado extends Persona{
private int numMatricula; private char numSegSocial;
private int curso; private char puestoTrabajo;
private int salario;
public Alumno(){}
} public Empleado(){}
}
Diagrama de clases: Relaciones
Tipos de relaciones
Composicin
Asocia un objeto complejo con los objetos que lo componen.
Existen dos formas de composicin:
Composicin fuerte : Los objetos forman parte slo del objeto
compuesto y no pueden participar en asociaciones con otros
objetos compuestos.
Agregacin
Diagrama de clases: Relaciones
Tipos de relaciones
Composicin
Elementos contenidos en
otro nivel superior
Asociacin
Crear Agregacin Herencia Propiedades
paquete Composicin Operaciones
Clase
Crear interfaz
clase
Diagrama de clases con ArgoUML
Clase
Nombre de la
clase Aadir /eliminar
Atributos atributo
Aadir/eliminar
mtodo
Asociacin
Reflexiva
Mtodos
Diagrama de clases con ArgoUML
Propiedades de los atributos
Diagrama de clases con ArgoUML
Parmetros en los mtodos
Aadir un parmetro
Diagrama de clases con ArgoUML
Asociaciones
Nombre asociacin
Multiplicidad
Roles
Diagrama de clases con ArgoUML
Propiedades de la asociacin
Direccin de la
Multiplicidad Roles asociacin
Diagrama de clases con ArgoUML
Crticas y
sugerencias
Generacin de cdigo fuente
ArgoUML
Mostrar
el cdigo
Generacin de cdigo fuente
ArgoUML
Generar
fichero fuente