Monografias.com > Sin categoría
Descargar Imprimir Comentar Ver trabajos relacionados

Diagramas de Interacción – UML (página 2)




Enviado por Pablo Turmero



Partes: 1, 2, 3

Monografias.com

Clases: Notación Gráfica
Otros ejemplos:

lista
primero
ultimo
añadir
quitar
cardinalidad
pila
apilar
desapilar
cardinalidad

Monografias.com

Clases: Encapsulación
La encapsulación presenta dos ventajas básicas:
Se protegen los datos de accesos indebidos
El acoplamiento entre las clases se disminuye
Favorece la modularidad y el mantenimiento

Los atributos de una clase no deberían ser manipulables directamente por el resto de objetos

Monografias.com

Clases: Encapsulación
Los niveles de encapsulación están heredados de los niveles de C++:

(-) Privado : es el más fuerte. Esta parte es totalmente invisible (excepto para clases friends en terminología C++)

(#) Los atributos/operaciones protegidos están visibles para las clases friends y para las clases derivadas de la original

(+) Los atributos/operaciones públicos son visibles a otras clases (cuando se trata de atributos se está transgrediendo el principio de encapsulación)

Monografias.com

Clases: Encapsulación
Ejemplo:

Monografias.com

Relaciones entre Clases
Los enlaces entre de objetos pueden representarse entre las respectivas clases

Formas de relación entre clases:

Asociación y Agregación (vista como un caso particular de asociación)
Generalización/Especialización

Las relaciones de Agregación y Generalización forman jerarquías de clases

Monografias.com

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

Monografias.com

Ejemplo:

Asociación
(Gp:) Persona
(Gp:) Compañía
(Gp:) trabaja-para
(Gp:) nombre
s. s.
(Gp:) nombre
dirección
(Gp:) jefe
(Gp:) Administra
(Gp:) empleado
(Gp:) *
(Gp:) *
(Gp:) emplea-a
(Gp:) 0.. 1
(Gp:) 0.. 1
(Gp:) 0.. 1
(Gp:) *
(Gp:) marido
(Gp:) casado-con
(Gp:) mujer

Monografias.com

Especificación de multiplicidad (mínima…máxima)

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

Asociación

Monografias.com

Asociación Cualificada
Aerolínea
Viajero
nro_billete
*
0..1
Tablero
Ajedrez
fila
columna
1
1
Cuadro
Reduce la multiplicidad del rol opuesto al considerar el valor
del cualificador

Monografias.com

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

Agregación

Monografias.com

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)

Monografias.com

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

Monografias.com

Ejemplos

Monografias.com

Ejemplos

Monografias.com

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

Monografias.com

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

Monografias.com

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

Monografias.com

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

Monografias.com

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

Monografias.com

Generalización

Monografias.com

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

Monografias.com

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

Monografias.com

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

Monografias.com

Un ejemplo de Clasificación Estática:

Generalización
{ estática }

Monografias.com

Un ejemplo de Clasificación Dinámica:

Generalización
{ dinámica }

Monografias.com

Extensión: Posibles instancias de una clase

Intensión: Propiedades definidas en una clase

int(A) ? int(B)

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

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

Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

Categorias
Newsletter