Descargar

Diagrama de Casos de Uso, de Interacción y de Clases (página 3)

Enviado por Pablo Turmero


Partes: 1, 2, 3, 4
edu.red

Caracterizaciones relacionadas con la multiplicidad Objeto Agregado Objeto Componente Máxima 1 ? disjunto > 1 ? no disjunto

Multiplicidad Máxima 1 ? univaluado > 1 ? multivaluado

Multiplicidad Mínima 0 ? flexible > 0 ? estricta Multiplicidad

Multiplicidad Mínima 0 ? nulos permitidos > 0 ? nulos no permitidos Agregación: Caracterización (mínc, máxc) (mína, máxa)

edu.red

En UML sólo se distingue entre agregación y composición (aggregate composition), siendo esta última disjunta y estricta

Además se una agregación se podría caracterizar según:

¿Puede el objeto parte comunicarse directamente con objetos externos al objeto agregado? No => inclusiva Si => no inclusiva

¿Puede cambiar La composición del objeto agregado? Si => dinámica No => estática

… Agregación: Caracterización

edu.red

Ejemplos

edu.red

… Ejemplos

edu.red

… Ejemplos Cuenta Persona 1 * or Asociación excluyente Empresa * * Usuario Estación está-autorizado-en prioridad privilegios camb_privil Autorización * * Clase de asociación Polígono Punto contiene 3.. * 1 {ordenado} Agregación

edu.red

Clases y Objetos Diagrama de Clases y Diagramas de Objetos pertenecen a dos vistas complementarias del modelo

Un Diagrama de Clases muestra la abstracción de una parte del dominio

Un Diagrama de Objetos representa una situación concreta del dominio

Las clases abstractas no son instanciadas

edu.red

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

edu.red

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

… Generalización

edu.red

La Generalización y Especialización son equivalentes en cuanto al resultado: la jerarquía y herencia establecidas

Generalización y Especialización no son operaciones reflexivas ni simétricas pero sí transitivas

… Generalización

edu.red

… Generalización

edu.red

La especialización es una técnica muy eficaz para la extensión y reutilización

Restricciones predefinidas en UML: disjunta – no disjunta total (completa) – parcial (incompleta)

… Generalización

edu.red

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 … Generalización

edu.red

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

… Generalización

edu.red

Un ejemplo de Clasificación Estática:

… Generalización { estática }

edu.red

Un ejemplo de Clasificación Dinámica:

… Generalización { dinámica }

edu.red

Extensión: Posibles instancias de una clase

Intensión: Propiedades definidas en una clase

int(A) ? int(B)

ext(B) ? ext(A) … Generalización

edu.red

Clasificación Estática

ext(C0) = ? ext(Ci) ? completa ext(Ci) ? ext(Cj) = ? ? disjunta … Generalización C0 C1 Cn { static }

edu.red

Clasificación Dinámica

ext(C0) = ? ext(Ci) ? completa extt(Ci) ? extt(Cj) = ? ? disjunta en t

extt1(Ci) ? extt2(Cj) ? ? ? posiblemente no disjunta en diferentes instantes … Generalización C0 C1 Cn { dinámica }

edu.red

Ejemplo: varias especializaciones a partir de la misma clase padre, usando discriminadores:

… Generalización Vehículo Aéreo Avión Helicóptero Comercial Militar estructura uso

edu.red

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. Java y Ada 95 simplemente no ofrecen herencia múltiple

Partes: 1, 2, 3, 4
 Página anterior Volver al principio del trabajoPágina siguiente