A1 : Definir la Arquitectura del Análisis

 

Entradas :

·         Documento de Requerimientos

·         Modelo de Casos de Uso

·         Lista de Requerimientos NO funcionales

·         Descripción de la Arquitectura (vista de los Modelos de Casos de Uso y Análisis)

 

Descripción :

 

El propósito de la Arquitectura del Análisis es delimitar el Modelo de Análisis y la arquitectura del mismo identificando paquetes de Análisis, clases de Entidad obvias y Requerimientos Especiales comunes.

Para ello es necesario identificar estos objetos, para lo cual se brinda la siguiente guía:

 

1.       Identificar paquetes de Análisis: Se realiza una identificación inicial basada en los Requerimientos funcionales expresados como Casos de Uso y el problema del dominio descripto en el Documento de Requerimientos. Una forma directa de identificar paquetes de Análisis es asignar las partes principales de varios Casos de Uso a un paquete específico y luego analizar la funcionalidad que le corresponde. La asignación apropiada de Casos de Uso a paquetes específicos incluye los que se requieran para soportar un proceso específico del negocio, un actor específico del sistema o los que están relacionados por intermedio de generalizaciones y extensiones. Estos paquetes de Análisis localizarán los cambios que puedan existir en determinado proceso, comportamiento de actores y conjunto de casos de uso relacionados, respectivamente. En general, los casos de uso intervienen en más de un paquete de Análisis por lo que al avanzar en la tarea de Análisis, cuando se encuentran Casos de Uso que se integran como colaboración entre distintas clases posiblemente en distintos paquetes de Análisis, estos evolucionan hacia una estructura de paquetes cada vez más refinada. Cada Paquete de Análisis encapsula un requerimiento funcional, estableciéndose que Clases intervienen en cada paquete y sus relaciones internas y con otros paquetes.

 

1.1. Objetos comunes entre paquetes de Análisis:

Cuando dos o más paquetes de Análisis necesitan compartir por ejemplo la misma clase de Análisis, es conveniente extraer la clase compartida y ponerla en su propio paquete o simplemente fuera de los demás, de forma de poner los paquetes que la comparten como dependientes de este paquete o clase más general.

 

1.2. Paquetes de Servicio:

Representan un conjunto coherente de acciones funcionales relacionadas, que son utilizadas en varios Casos de Uso. En general la identificación de Paquetes de Servicio se realiza ya avanzado el Análisis, cuando los Requerimientos funcionales se encuentran bien entendidos y la mayoría de las Clases de Análisis existen. Las clases de Análisis en un mismo Paquete de Servicio contribuyen todas al mismo servicio.

 

1.3. Dependencias entre paquetes de Análisis:

Cuando los contenidos de distintos paquetes de Análisis tengan relaciones entre ellos, se deberán definir las dependencias entre estos paquetes. La dirección de la dependencia será la misma que la de la relación que la define. La meta es encontrar paquetes que tengan alta cohesión interna y sean relativamente independientes, evitando las relaciones entre clases de distintos paquetes.

 

2. Identificar Clases de Entidad obvias: Se obtienen a partir del Documento de Requerimientos y debe tenerse especial cuidado en no identificar demasiadas ya que más avanzado el Análisis, al establecer las distintas Realizaciones de Casos de Uso de Análisis se encontrarán la mayor parte de las clases lo cual podrá traer aparejado un re-trabajo en este sentido.

 

3. Identificar Requerimientos Especiales comunes: Son los requerimientos no funcionales que serán manejados en las etapas de diseño e implementación, en general son restricciones del tipo: distribución y concurrencia, de seguridad, tolerancia a fallas, gestión de las transacciones, etc.

 

Fase Inicial:

 

La tarea en esta Fase es encontrar los casos de uso o escenarios que se deben mirar con más cuidado para los propósitos de esta Fase - proveer una idea del alcance del Sistema, establecer una arquitectura candidata y mitigar los riesgos críticos – principalmente entendiéndolos y refinándolos. Con esta identificación inicial de casos de uso y escenarios, el Arquitecto asistido por los Analistas construye una primera versión simple del Modelo de Análisis para esas partes del Sistema. Este bosquejo del Modelo de Análisis es solo el primer paso y no debe esperarse poder construir simplemente sobre él en etapas posteriores, por el contrario podría ser descartado si así se considera, excepto por su valor de guía.

 

Fase de Elaboración:

 

En esta Fase se debe extender la Arquitectura del Análisis al punto en que pueda soportar una arquitectura completamente desarrollada, esto es el ejecutable de la línea base de la arquitectura. Para esto se debe realizar una partición inicial - en alto nivel – del Sistema en paquetes de Análisis, trabajando desde la vista de la arquitectura del Modelo de Casos de Uso, los requerimientos relacionados, el glosario de términos y el conocimiento del dominio disponible en el Documento de Requerimientos. Se emplea una arquitectura de capas identificando paquetes de aplicación específicos y generales. Además se deben identificar también paquetes de Servicios y clases de Análisis, obvios y significantes para la arquitectura, y se deben buscar los mecanismos necesarios para soportar la implementación de los Casos  de Uso, identificando los mecanismos genéricos de análisis que sean necesarios como colaboraciones genéricas y paquetes genéricos. Las colaboraciones genéricas incluyen características como recuperación de errores y procesamiento de transacciones, los paquetes genéricos se refieren a características como persistencia, interfaces de usuario gráficas y distribución de objetos.

Para el final de esta Fase, la vista de la arquitectura del Modelo de Análisis se encuentra completa.

 

Fase de Construcción:

 

En esta Fase solamente se realizan las actualizaciones que sean necesarias a partir de cambios ocurridos que afecten la arquitectura, por lo tanto, la única tarea a realizar es mantener la vista de la arquitectura del Modelo de Análisis completada en la Fase de Elaboración.

 

Salidas :

·         Paquetes de Análisis (bosquejo)

·         Clases de Análisis (bosquejo)

·         Descripción de la Arquitectura (Vista del Modelo de Análisis) (refinado)

 

Personas involucradas:

®           Arquitecto

®           Analistas

 

Responsable:

®           Arquitecto