SlideShare una empresa de Scribd logo
1 de 34
Descargar para leer sin conexión
U.T.6: Elaboración de
diagramas de clases con
UML.
UML: Diagrama de clases
 Diagrama de clases
 Clases, atributos, métodos
 Relaciones
 Asociación
 Herencia
 Composición
 Agregación
 Realización
 Dependencia
 Generación de código a partir de diagramas de
clases
Diagrama de clases: clases
 En UML una clase se representa por un rectángulo con
tres divisiones
Clase
Atributos
(se puede omitir)
Nombre de
la clase
Métodos
(se puede omitir)
Diagrama de clases: atributos
 En UML los atributos pueden representarse con su
nombre, o indicando también el tipo y valor por defecto.
 Los tipos básicos UML son:
 Integer, String y Boolean
 Es necesario indicar la visibilidad del atributo:
Público (public) +
Protegido (protected) #
Privado (private) -
Paquete (package) ~
Diagrama de clases: métodos
 Es la implementación de un servicio de la clase
 En UML los métodos se representan por su nombre, tipos
de parámetros y tipo de dato devuelto.
 Igual que los atributos, la visibilidad del método:
Público (public) +
Protegido (protected) #
Privado (private) -
Paquete (package) ~
Diagrama de clases
Netbeans UML ArgoUML
Diagrama de clases: Relaciones
 En UML, los vínculos entre objetos se representan
mediante asociaciones.
 Las asociaciones tienen un nombre y una cardinalidad
Diagrama de clases: Relaciones
 Las multiplicidades destino mayores que 1 se
implementan como un atributo de tipo array o colección.
Notación Cardinalidad/Multiplicidad
0..1 Cero o una vez
1 Una y sólo 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
 Asociación, 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 sólo la clase origen contendrá un objeto o set de objetos
de la clase destino.
Unidireccional
Bidireccional
Diagrama de clases: Asociación
Asociación
Diagrama de clases: Asociación
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 void setFacturas(HashSet<Facturas> nuevaFactura){
this.facturas = nuevaFactura;
}
}
public class Facturas { // 1 factura pertenece a un sólo cliente
public Cliente cliente = null;
public Facturas(){}
public Cliente getCliente(){
return this.cliente;
}
public void setCliente(Cliente nuevoCliente){
this.cliente = nuevoCliente;
}
}
Diagrama de clases: Asociación
public class Zonas { // No sabe de la existencia del almacén
public Zona(){}
}
public class Almacen { // 1 almacén distribuye en muchas zonas
public HashSet<Zonas> zonas = new HashSet<Zonas>();
public Almacen(){}
public HashSet<Zonas> getZonas(){
return this.zonas;
}
public void setZonas(HashSet<Zonas> nuevaZona){
this.zonas = nuevaZona;
}
}
Diagrama de clases: Asociación
Asociación reflexiva
 Una clase se asocia consigo misma
Diagrama de clases: Asociación
Clase ASOCIACIÓN
 Cuando una asociación entre dos clases posee sus propios atributos,
se crea una nueva clase en el diagrama para dicha asociación.
 Pueden estar dotadas de atributos y métodos y asociarse, a su vez,
con otras clases.
Diagrama de clases: Relaciones
 Tipos de relaciones
Herencia
 Abstracción para compartir similitudes entre clases (atributos y
operaciones)
 Se representa mediante una jerarquía donde:
 La clase principal guarda las características comunes
 Las subclases heredan y especializan las características de la
clase principal.
 Se representa en UML mediante una flecha que apunta a la
clase principal.
Diagrama de clases: Relaciones
 Tipos de relaciones
Herencia
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{
private int numMatricula;
private int curso;
public Alumno(){}
}
public class Empleado extends Persona{
private char numSegSocial;
private char puestoTrabajo;
private int salario;
public Empleado(){}
}
Diagrama de clases: Relaciones
 Tipos de relaciones
Composición
 Asocia un objeto complejo con los objetos que lo componen.
 Existen dos formas de composición:
 Composición fuerte : Los objetos forman parte sólo del objeto
compuesto y no pueden participar en asociaciones con otros
objetos compuestos.
 Composición débil o agregación: Los componentes pueden ser
compartidos por varios objetos compuestos
Diagrama de clases: Relaciones
 Tipos de relaciones
Composición
 Agregación
Diagrama de clases: Relaciones
 Tipos de relaciones
Composición
public class Ordenador {
public HashSet<Memoria> memorias = new HashSet<memoria>();
public HashSet<Disco> discos = new HashSet<disco>();
public Teclado teclado = null;
public Placabase placa = null;
public Ordenador() {}
}
Diagrama de clases: Relaciones
 Tipos de relaciones
 Agregaciones típicas:
 Partes que componen
un objeto de nivel superior
 Elementos contenidos en
otro nivel superior
 Miembros de una colección
o conjunto
Diagrama de clases: Relaciones
 Tipos de relaciones
Realización
 Es la relación de herencia entre una clase interfaz y la subclase
que implementa dicha interfaz.
 Son también las relaciones entre casos de uso y las colaboraciones
que los realizan.
 Se representan gráficamente con línea discontinua y flecha.
Diagrama de clases: Relaciones
 Tipos de relaciones
Realización
public interface Animal {
public void comer();
public void comunicarse();
public void reproducirse();
}
public class Calamar implements Animal{
public Calamar(){}
public void comer(){}
public void comunicarse(){}
public void reproducirse(){}
}
public class Perro implements Animal {
public Perro(){}
public void comer(){}
public void comunicarse(){}
public void reproducirse(){}
}
public class Gallina implements Animal {
public Gallina(){}
public void comer(){}
public void comunicarse(){}
public void reproducirse(){}
}
Diagrama de clases: Relaciones
 Tipos de relaciones
Dependencia
 Es la relación que se establece cuando una clase usa a la otra, es
decir, la necesita para su cometido.
 Se representan gráficamente con línea discontinua y flecha sin
relleno.
Diagrama de clases con ArgoUML
 Ventana inicial
Diseño del diagrama
Detalles y propiedades
Explorador
Críticas
Diagrama de clases con ArgoUML
 Barra de herramientas
Realización
Dependencia
Diagramas
Casos
de Uso Clases Secuencia Despliegue
Clase
Asociación
Crear
paquete
Crear
clase
Asociación
Agregación
Composición
Herencia
Clase
interfaz
Propiedades
Operaciones
Diagrama de clases con ArgoUML
 Clase
Nombre de la
clase
Atributos
Asociación
Reflexiva
Añadir /eliminar
atributo
Añadir/eliminar
método
Métodos
Diagrama de clases con ArgoUML
 Propiedades de los atributos
Diagrama de clases con ArgoUML
 Parámetros en los métodos
Añadir el tipo devuelto
Añadir un parámetro
Diagrama de clases con ArgoUML
 Asociaciones
Nombre asociación
Roles
Multiplicidad
Diagrama de clases con ArgoUML
 Propiedades de la asociación
Multiplicidad
Dirección de la
asociaciónRoles
Diagrama de clases con ArgoUML
 Críticas y
sugerencias
Generación de código fuente
 ArgoUML
 Mostrar
el código
Generación de código fuente
 ArgoUML
 Generar
fichero fuente

Más contenido relacionado

La actualidad más candente

3 modelo er
3 modelo er3 modelo er
3 modelo erramume69
 
Curso Java Inicial 5 Relaciones Entre Objetos
Curso Java Inicial   5 Relaciones Entre ObjetosCurso Java Inicial   5 Relaciones Entre Objetos
Curso Java Inicial 5 Relaciones Entre ObjetosEmilio Aviles Avila
 
11 Curso de POO en java - métodos constructores y toString()
11 Curso de POO en java - métodos constructores y toString()11 Curso de POO en java - métodos constructores y toString()
11 Curso de POO en java - métodos constructores y toString()Clara Patricia Avella Ibañez
 
Clase 3 Modelo Entidad Relacion
Clase 3   Modelo Entidad   RelacionClase 3   Modelo Entidad   Relacion
Clase 3 Modelo Entidad Relacionoswchavez
 
Modelo Entidad - Relacion
Modelo Entidad - RelacionModelo Entidad - Relacion
Modelo Entidad - Relaciondrakul09
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clasesNedoww Haw
 
Modelo conceptual
Modelo conceptual Modelo conceptual
Modelo conceptual Claü Vides
 
Programación 3: Clases y objetos en Java
Programación 3: Clases y objetos en JavaProgramación 3: Clases y objetos en Java
Programación 3: Clases y objetos en JavaAngel Vázquez Patiño
 
Los 13 diagramas UML y sus componentes
Los 13 diagramas UML y sus componentesLos 13 diagramas UML y sus componentes
Los 13 diagramas UML y sus componentesVictor Escamilla
 
1 2 2 Relaciones Entre Clases
1 2 2 Relaciones Entre Clases1 2 2 Relaciones Entre Clases
1 2 2 Relaciones Entre ClasesUVM
 
Herencia - Programación Orientada a Objetos
Herencia - Programación Orientada a ObjetosHerencia - Programación Orientada a Objetos
Herencia - Programación Orientada a ObjetosMario Villaseñor
 
Elementos básicos de modelo entidad relación
Elementos básicos de modelo entidad relaciónElementos básicos de modelo entidad relación
Elementos básicos de modelo entidad relaciónCam Bandini
 

La actualidad más candente (20)

Grafo bipartito
Grafo bipartitoGrafo bipartito
Grafo bipartito
 
3 modelo er
3 modelo er3 modelo er
3 modelo er
 
Curso Java Inicial 5 Relaciones Entre Objetos
Curso Java Inicial   5 Relaciones Entre ObjetosCurso Java Inicial   5 Relaciones Entre Objetos
Curso Java Inicial 5 Relaciones Entre Objetos
 
11 Curso de POO en java - métodos constructores y toString()
11 Curso de POO en java - métodos constructores y toString()11 Curso de POO en java - métodos constructores y toString()
11 Curso de POO en java - métodos constructores y toString()
 
Desarrollo de software orientado a objetos
Desarrollo de software orientado a objetosDesarrollo de software orientado a objetos
Desarrollo de software orientado a objetos
 
Grafos[1]
Grafos[1]Grafos[1]
Grafos[1]
 
Clase 3 Modelo Entidad Relacion
Clase 3   Modelo Entidad   RelacionClase 3   Modelo Entidad   Relacion
Clase 3 Modelo Entidad Relacion
 
DIAGRAMAS DE CLASE
DIAGRAMAS DE CLASEDIAGRAMAS DE CLASE
DIAGRAMAS DE CLASE
 
Diagramas de secuencia
Diagramas de secuenciaDiagramas de secuencia
Diagramas de secuencia
 
Modelo Entidad - Relacion
Modelo Entidad - RelacionModelo Entidad - Relacion
Modelo Entidad - Relacion
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
 
Algebra Relacional
Algebra RelacionalAlgebra Relacional
Algebra Relacional
 
6 Curso de POO en Java - clases y objetos
6  Curso de POO en Java - clases y objetos6  Curso de POO en Java - clases y objetos
6 Curso de POO en Java - clases y objetos
 
Modelo conceptual
Modelo conceptual Modelo conceptual
Modelo conceptual
 
Programación 3: Clases y objetos en Java
Programación 3: Clases y objetos en JavaProgramación 3: Clases y objetos en Java
Programación 3: Clases y objetos en Java
 
Los 13 diagramas UML y sus componentes
Los 13 diagramas UML y sus componentesLos 13 diagramas UML y sus componentes
Los 13 diagramas UML y sus componentes
 
1 2 2 Relaciones Entre Clases
1 2 2 Relaciones Entre Clases1 2 2 Relaciones Entre Clases
1 2 2 Relaciones Entre Clases
 
Herencia - Programación Orientada a Objetos
Herencia - Programación Orientada a ObjetosHerencia - Programación Orientada a Objetos
Herencia - Programación Orientada a Objetos
 
Elementos básicos de modelo entidad relación
Elementos básicos de modelo entidad relaciónElementos básicos de modelo entidad relación
Elementos básicos de modelo entidad relación
 
Clase 12a uml_clases
Clase 12a uml_clasesClase 12a uml_clases
Clase 12a uml_clases
 

Similar a Unidad 1 (20)

Clases 2
Clases 2Clases 2
Clases 2
 
Introducción a la progrogramación orientada a objetos - UML
Introducción a la progrogramación orientada a objetos - UMLIntroducción a la progrogramación orientada a objetos - UML
Introducción a la progrogramación orientada a objetos - UML
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
 
Diseño oo
Diseño ooDiseño oo
Diseño oo
 
UML - Casos de Uso y Diagramas de Clase
UML - Casos de Uso y Diagramas de ClaseUML - Casos de Uso y Diagramas de Clase
UML - Casos de Uso y Diagramas de Clase
 
encuesta
encuestaencuesta
encuesta
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
 
Introduccion a UML
Introduccion a UMLIntroduccion a UML
Introduccion a UML
 
Concepto diagramas de clases
Concepto diagramas de clasesConcepto diagramas de clases
Concepto diagramas de clases
 
UML.pptx
UML.pptxUML.pptx
UML.pptx
 
Trabajo2
Trabajo2Trabajo2
Trabajo2
 
U1 s3 introducción a uml parte 1
U1 s3 introducción a uml parte 1U1 s3 introducción a uml parte 1
U1 s3 introducción a uml parte 1
 
Diagramas Analisis
Diagramas AnalisisDiagramas Analisis
Diagramas Analisis
 
Diagramas de uml
Diagramas de umlDiagramas de uml
Diagramas de uml
 
Diagramas del uml
Diagramas del umlDiagramas del uml
Diagramas del uml
 
Diagramas del uml
Diagramas del umlDiagramas del uml
Diagramas del uml
 
Diagramas del uml
Diagramas del umlDiagramas del uml
Diagramas del uml
 
Diagramas del uml
Diagramas del umlDiagramas del uml
Diagramas del uml
 
Diagramas de clase.pptx
Diagramas de clase.pptxDiagramas de clase.pptx
Diagramas de clase.pptx
 
diagramas_del_uml.pdf
diagramas_del_uml.pdfdiagramas_del_uml.pdf
diagramas_del_uml.pdf
 

Unidad 1

  • 1. U.T.6: Elaboración de diagramas de clases con UML.
  • 2. UML: Diagrama de clases  Diagrama de clases  Clases, atributos, métodos  Relaciones  Asociación  Herencia  Composición  Agregación  Realización  Dependencia  Generación de código a partir de diagramas de clases
  • 3. Diagrama de clases: clases  En UML una clase se representa por un rectángulo con tres divisiones Clase Atributos (se puede omitir) Nombre de la clase Métodos (se puede omitir)
  • 4. Diagrama de clases: atributos  En UML los atributos pueden representarse con su nombre, o indicando también el tipo y valor por defecto.  Los tipos básicos UML son:  Integer, String y Boolean  Es necesario indicar la visibilidad del atributo: Público (public) + Protegido (protected) # Privado (private) - Paquete (package) ~
  • 5. Diagrama de clases: métodos  Es la implementación de un servicio de la clase  En UML los métodos se representan por su nombre, tipos de parámetros y tipo de dato devuelto.  Igual que los atributos, la visibilidad del método: Público (public) + Protegido (protected) # Privado (private) - Paquete (package) ~
  • 7. Diagrama de clases: Relaciones  En UML, los vínculos entre objetos se representan mediante asociaciones.  Las asociaciones tienen un nombre y una cardinalidad
  • 8. Diagrama de clases: Relaciones  Las multiplicidades destino mayores que 1 se implementan como un atributo de tipo array o colección. Notación Cardinalidad/Multiplicidad 0..1 Cero o una vez 1 Una y sólo una vez * De cero a varias veces 1..* De una a varias veces M..N Entre M y N veces N N veces
  • 9. Diagrama de clases: Relaciones  Tipos de relaciones  Asociación, 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 sólo la clase origen contendrá un objeto o set de objetos de la clase destino. Unidireccional Bidireccional
  • 10. Diagrama de clases: Asociación Asociación
  • 11. Diagrama de clases: Asociación 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 void setFacturas(HashSet<Facturas> nuevaFactura){ this.facturas = nuevaFactura; } } public class Facturas { // 1 factura pertenece a un sólo cliente public Cliente cliente = null; public Facturas(){} public Cliente getCliente(){ return this.cliente; } public void setCliente(Cliente nuevoCliente){ this.cliente = nuevoCliente; } }
  • 12. Diagrama de clases: Asociación public class Zonas { // No sabe de la existencia del almacén public Zona(){} } public class Almacen { // 1 almacén distribuye en muchas zonas public HashSet<Zonas> zonas = new HashSet<Zonas>(); public Almacen(){} public HashSet<Zonas> getZonas(){ return this.zonas; } public void setZonas(HashSet<Zonas> nuevaZona){ this.zonas = nuevaZona; } }
  • 13. Diagrama de clases: Asociación Asociación reflexiva  Una clase se asocia consigo misma
  • 14. Diagrama de clases: Asociación Clase ASOCIACIÓN  Cuando una asociación entre dos clases posee sus propios atributos, se crea una nueva clase en el diagrama para dicha asociación.  Pueden estar dotadas de atributos y métodos y asociarse, a su vez, con otras clases.
  • 15. Diagrama de clases: Relaciones  Tipos de relaciones Herencia  Abstracción para compartir similitudes entre clases (atributos y operaciones)  Se representa mediante una jerarquía donde:  La clase principal guarda las características comunes  Las subclases heredan y especializan las características de la clase principal.  Se representa en UML mediante una flecha que apunta a la clase principal.
  • 16. Diagrama de clases: Relaciones  Tipos de relaciones Herencia Superclase Subclases
  • 17. 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{ private int numMatricula; private int curso; public Alumno(){} } public class Empleado extends Persona{ private char numSegSocial; private char puestoTrabajo; private int salario; public Empleado(){} }
  • 18. Diagrama de clases: Relaciones  Tipos de relaciones Composición  Asocia un objeto complejo con los objetos que lo componen.  Existen dos formas de composición:  Composición fuerte : Los objetos forman parte sólo del objeto compuesto y no pueden participar en asociaciones con otros objetos compuestos.  Composición débil o agregación: Los componentes pueden ser compartidos por varios objetos compuestos
  • 19. Diagrama de clases: Relaciones  Tipos de relaciones Composición  Agregación
  • 20. Diagrama de clases: Relaciones  Tipos de relaciones Composición public class Ordenador { public HashSet<Memoria> memorias = new HashSet<memoria>(); public HashSet<Disco> discos = new HashSet<disco>(); public Teclado teclado = null; public Placabase placa = null; public Ordenador() {} }
  • 21. Diagrama de clases: Relaciones  Tipos de relaciones  Agregaciones típicas:  Partes que componen un objeto de nivel superior  Elementos contenidos en otro nivel superior  Miembros de una colección o conjunto
  • 22. Diagrama de clases: Relaciones  Tipos de relaciones Realización  Es la relación de herencia entre una clase interfaz y la subclase que implementa dicha interfaz.  Son también las relaciones entre casos de uso y las colaboraciones que los realizan.  Se representan gráficamente con línea discontinua y flecha.
  • 23. Diagrama de clases: Relaciones  Tipos de relaciones Realización public interface Animal { public void comer(); public void comunicarse(); public void reproducirse(); } public class Calamar implements Animal{ public Calamar(){} public void comer(){} public void comunicarse(){} public void reproducirse(){} } public class Perro implements Animal { public Perro(){} public void comer(){} public void comunicarse(){} public void reproducirse(){} } public class Gallina implements Animal { public Gallina(){} public void comer(){} public void comunicarse(){} public void reproducirse(){} }
  • 24. Diagrama de clases: Relaciones  Tipos de relaciones Dependencia  Es la relación que se establece cuando una clase usa a la otra, es decir, la necesita para su cometido.  Se representan gráficamente con línea discontinua y flecha sin relleno.
  • 25. Diagrama de clases con ArgoUML  Ventana inicial Diseño del diagrama Detalles y propiedades Explorador Críticas
  • 26. Diagrama de clases con ArgoUML  Barra de herramientas Realización Dependencia Diagramas Casos de Uso Clases Secuencia Despliegue Clase Asociación Crear paquete Crear clase Asociación Agregación Composición Herencia Clase interfaz Propiedades Operaciones
  • 27. Diagrama de clases con ArgoUML  Clase Nombre de la clase Atributos Asociación Reflexiva Añadir /eliminar atributo Añadir/eliminar método Métodos
  • 28. Diagrama de clases con ArgoUML  Propiedades de los atributos
  • 29. Diagrama de clases con ArgoUML  Parámetros en los métodos Añadir el tipo devuelto Añadir un parámetro
  • 30. Diagrama de clases con ArgoUML  Asociaciones Nombre asociación Roles Multiplicidad
  • 31. Diagrama de clases con ArgoUML  Propiedades de la asociación Multiplicidad Dirección de la asociaciónRoles
  • 32. Diagrama de clases con ArgoUML  Críticas y sugerencias
  • 33. Generación de código fuente  ArgoUML  Mostrar el código
  • 34. Generación de código fuente  ArgoUML  Generar fichero fuente