Gonzalorojas 09 U M L, Diagrama De Clases

39,165 views
38,859 views

Published on

Realizadas por Gonzalo Rojas

Published in: Technology, Design
3 Comments
0 Likes
Statistics
Notes
  • Be the first to like this

No Downloads
Views
Total views
39,165
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
1,115
Comments
3
Likes
0
Embeds 0
No embeds

No notes for slide

Gonzalorojas 09 U M L, Diagrama De Clases

  1. 1. UML Diagramas de Clases Gonzalo Rojas D. 1
  2. 2. Clasificación El mundo real puede ser visto desde abstracciones diferentes (subjetividad) Mecanismos de abstracción: • Clasificación / Instanciación • Composición / Descomposición • Agrupación / Individualización • Especialización / Generalización La clasificación es uno de los mecanismos de abstracción más utilizados 2
  3. 3. Clases La clase define el ámbito de definición de un conjunto de objetos Cada objeto pertenece a una clase Los objetos se crean por instanciación de las clases 3
  4. 4. Clases: Notación Gráfica Cada clase se representa en un rectángulo con tres compartimientos: • nombre de la clase • atributos de la clase • operaciones de la clase Motocicleta color cilindrada velocidad máxima arrancar() acelerar() frenar() 4
  5. 5. Clases: Notación Gráfica Otros ejemplos: lista pila primero() apilar() ultimo() desapilar() añadir() cardinalidad() quitar() cardinalidad() 5
  6. 6. Relaciones entre Clases Los enlaces entre objetos pueden representarse entre sus respectivas clases Formas de relación entre clases: • Asociación • Agregación (caso particular de asociación) • Generalización/Especialización Las relaciones de Agregación y Generalización forman jerarquías de clases 6
  7. 7. Asociación La asociación expresa una conexión bidireccional entre objetos Una asociación es una abstracción de la relación existente en los enlaces entre los objetos un enlace Universidad de Concepción : Universidad Juan Pérez : Estudiante UNIVERSIDAD ESTUDIANTE una asociación 7
  8. 8. … Asociación Ejemplo: casado con 0..1 marido 0..1 Persona Empresa mujer emplea a 0..* -RUT -nombre -nombre -dirección 0..* trabaja para jefe 1..1 1..* empleado administra 8
  9. 9. … Asociación Especificación de multiplicidad (mínima...máxima) 1 Uno y sólo uno 1..1 Uno y sólo uno 0..1 Cero o uno M..N Desde M hasta N (enteros naturales) * Cero o muchos 0..* Cero o muchos 1..* Uno o muchos (al menos uno) La multiplicidad mínima >= 1 establece una restricción de existencia 9
  10. 10. Agregación La agregación representa una relación parte_de entre objetos En UML se proporciona una escasa caracterización de la agregación Puede ser caracterizada con precisión determinando las relaciones de comportamiento y estructura que existen entre el objeto agregado y cada uno de sus objetos componentes 10
  11. 11. … Agregación Por Valor o Composición: Relación estática. El tiempo de vida del objeto incluido está condicionado por el tiempo de vida del que lo incluye. Por Referencia o Agregación: Relación Dinámica. El tiempo de vida del objeto incluido es independiente del que lo incluye. 11
  12. 12. … Agregación Supermercado 1 1..* 0..* 1..* Sección Cliente 12
  13. 13. Generalización Permite gestionar la complejidad mediante un ordenamiento taxonómico de clases Se obtiene usando los mecanismos de abstracción de Generalización y/o Especialización La Generalización consiste en factorizar las propiedades comunes de un conjunto de clases en una clase más general 13
  14. 14. ... Generalización Nombres usados: clase padre - clase hija. Otros nombres: superclase - subclase, clase base - clase derivada Las subclases heredan propiedades de sus clases padre, es decir, atributos y operaciones (y asociaciones) de la clase padre están disponibles en sus clases hijas 14
  15. 15. ... Generalización Vehículo Veihículo Terrestre Vehículo Aéreo Coche Camión Avión Helicóptero 15
  16. 16. ... Generalización La especialización es una técnica muy eficaz para la extensión y reutilización Coche Funcionando Est ropeado Restricciones predefinidas en UML: • disjunta - no disjunta • total (completa) - parcial (incompleta) 16
  17. 17. ... Generalización La noción de clase está próxima a la de conjunto Dada una clase, podemos ver el conjunto relativo a las instancias que posee o bien relativo a las propiedades de la clase Generalización y especialización expresan relaciones de inclusión entre conjuntos 17
  18. 18. ... Generalización Particionamiento del espacio de objetos => Clasificación Estática Particionamiento del espacio de estados de los objetos => Clasificación Dinámica En ambos casos se recomienda considerar generalizaciones/especializaciones disjuntas 18
  19. 19. ... Generalización Un ejemplo de Clasificación Estática: Ve hícu lo Aéreo { estática } Avión Helicóptero 19
  20. 20. ... Generalización Un ejemplo de Clasificación Dinámica: Coche { dinámica } Funcionando Est ropeado 20
  21. 21. Clasificación Múltiple (herencia múltiple) Se presenta cuando una subclase tiene más de una superclase La herencia múltiple debe manejarse con precaución. Algunos problemas son el conflicto de nombre y el conflicto de precedencia Se recomienda un uso restringido y disciplinado de la herencia. 21
  22. 22. … Herencia Múltiple Uso disciplinado de la herencia múltiple: clasificaciones disjuntas con clases padre en hojas de jerarquías alternativas Bípedo Cuadrúpedo nro patas nro patas Herbívoro Con Pelos comida cubertura Animal Con Plumas cobertura comida Carnívoro cobertura Con Escamas Conejo 22

×