3.5.3.1 Seleccionar analista de arquitectura

El propósito de análisis de la arquitectura es esbozar el modelo de análisis y la arquitectura mediante la identificación de paquetes del análisis, clases del análisis evidentes, y requisitos especiales comunes.

Identificación de paquetes de análisis

Los paquetes proporcionan un medio para organizar el modelo de análisis en piezas más pequeñas y manejables.

Pueden identificarse inicialmente como forma de dividir el análisis o encontrarse a medida que se avanza en el análisis.

Una identificación inicial se hace de manera natural basándonos en los requisitos funcionales y en el dominio de problema, agrupando un cierto número de casos de uso en un paquete concreto, y realizando la funcionalidad correspondiente dentro de dicho paquete. Algunos criterios para agrupar casos de uso son:

  • Casos de uso para dar soporte a un determinado proceso de negocio.
  • Casos de uso para dar soporte a un determinado actor del sistema.
  • Casos de uso relacionados mediante relaciones de generalización y de extensión.

Cuando dos paquetes necesitan compartir una misma clase, es conveniente hubicar dicha clase en su propio paquete.

Identificación de paquetes de servicio

La identificación de paquetes de servicio se suele hacer cuando el trabajo de análisis está avanzado, cuando se comprenden bien los requisitos funcionales, y existen la mayoría de las clases del análisis.

Para identificar paquetes de servicio debemos:

  • Identificar un paquete de servicio por cada servicio opcional. El paquete de servicio será una unidad de compra (por ejemplo, enviar avisos a clientes).
  • Identificar un paquete de servicio por cada servicio que podría hacerse opcional, incluso aunque todos los clientes siempre lo quieran.

Definición de dependencias entre paquetes del análisis

Deben definirse dependencias entre los paquetes del análisis, si sus contenidos están relacionados. La dirección de la dependencia debería ser la misma (navegabilidad) dirección de la relación.

Buscamos definir paquete que sean débilmente acoplados y altamente cohesivos con respecto a las clases que contienen.

Para hacer más claras las dependencias puede ser útil estratificar el modelo de análisis haciendo que los paquetes específicos de la aplicación queden en una capa de nivel superior y los paquetes generales queden en una capa inferior.

Identificación de clases de entidad obvias

Pueden identificarse una lista de clases entidad candidatas basado en las clases del dominio o las entidades del negocio.

Sin embargo, la mayoría de las clases se identificarán al crear las realizaciones de casos de uso. Por lo cual, en esta etapa es conveniente con un esbozo inicial de las clases significativas para la arquitectura.

Identificación de requisitos especiales

Un requisito especial es un requisito que aparece durante el análisis y que es importante anotar de forma que pueda ser tratado adecuadamente en las subsiguientes actividades de diseño e implementación.

Como ejemplos podemos citar restricciones sobre:

  • Persistencia
  • Distribución y concurrencia
  • Características de seguridad
  • Tolerancia a fallos
  • Gestión de transacciones