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