Tarea: DSI 4.2: Diseño de Asociaciones y Agregaciones
En esta tarea se realiza el diseño de las asociaciones y agregaciones entre clases del modelo de forma óptima.
Disciplinas: Diseño
Objetivo

El objetivo de esta tarea es completar la definición de las asociaciones y agregaciones entre clases, optimizando las rutas de acceso.

Relaciones
RolesRealizador principal: Participantes adicionales:
EntradasObligatoria: Opcional:
  • Ninguno
Salidas
Descripción principal

En esta tarea se completan las asociaciones entre las clases del modelo de clases del diseño, estudiando la secuencia de mensajes entre los objetos correspondientes en el diagrama de interacción de los escenarios definidos en la tarea Descripción de la Interacción entre Objetos (ASI 4.2).

Para definir las asociaciones, partimos de las que fueron identificadas en la tarea Identificación de Asociaciones y Agregaciones (ASI 5.2), teniendo en cuenta que:

  • Las características de la asociación (papeles que desempeña, multiplicidad, etc.) se detallan según el entorno de desarrollo utilizado.
  • Las relaciones bidireccionales se transforman en unidireccionales, para simplificar la implementación del sistema.
  • Se realiza la modelización de las rutas de acceso óptimas entre las asociaciones para evitar problemas de rendimiento.
  • Se analiza la posibilidad de diseñar como clases algunas de las asociaciones.

Opcionalmente, se especifica la forma en la que se va a implementar cada asociación (punteros, colecciones, etc.).

Pasos
Revisar las asociaciones

Se revisan las relaciones de asociación identificadas durante el análisis del sistema.

Especificar las características de las asociaciones

Se detallan las características de la asociación (papeles que desempeña, multiplicidad, etc.) según el entorno de desarrollo utilizado.

Transformar las asociaciones bidireccionales en unidireccionales

Las relaciones bidireccionales se transforman en unidireccionales, para simplificar la implementación del sistema.

Modelizar las rutas de acceso

Se realiza la modelización de las rutas de acceso óptimas entre las asociaciones para evitar problemas de rendimiento.

Diseñar como clases ciertas asociaciones

Se analiza la posibilidad de diseñar como clases algunas de las asociaciones.

Especificar la forma de implementación

Opcionalmente, se especifica la forma en la que se va a implementar cada asociación (punteros, colecciones, etc.).

Más información
Directrices