Proporcionar la mejor estructura e interacción entre los diferentes elementos del producto que permita al equipo de desarrollo seguir un mismo lineamiento y facilitar la construcción del mismo, teniendo en cuenta restricciones, criterios de calidad y los requisitos del producto.
Responsables:
Los requisitos aprobados por el cliente son presentados y entregados de manera formal al arquitecto para su entendimiento y análisis.
El analista explica el documento de requerimientos al arquitecto y lider de desarrollo, el cual contiene:
Se organiza un canal de comunicación directa entre el arquitecto y el analista para validar el proceso de entrega y si se debe, volver a organizar mas reuniones de validación y entrega de requerimientos. Los canales de comunicación son:
El análisis de los requisitos implica la identificación de las restricciones del producto, el entendimiento de los requisitos no funcionales (atributos de calidad) que le permitirán al arquitecto, realizar el dimensionamiento del producto y el entendimiento de todos los demás elementos generados en la etapa de análisis que permitan tener la mayor claridad de las necesidades a solucionar.
El arquitecto recibe los requerimientos y realiza el analisis de la documentación entregada.
Opcional: Como actividad opcional, el arquitecto debe presentar su analisis de requerimientos al Lider de Desarrollo, con el objetivo de validar el entendimiento del mismo. En caso de que el lider de desarrollo no apruebe el analisis del arquitecto, este último se verá en la tarea de reunirse nuevamente con él analista. Este proceso puede ser iterativo las veces que sea necesario.
El Lider de Desarrollo puede exigir este proceso según su criterio.
Teniendo en cuenta los atributos de calidad, y las restricciones del producto, el arquitecto debe evaluar y definir los recursos necesario para dar respuesta a las necesidades funcionales, de crecimiento y operación.
Se inicia el proceso de documentación de arquitectura
Con el arquitecto se define una fecha de entrega en la cual se presentan las dimensiones del producto al Lider de desarrollo y al analista de requerimientos.
El proceso cierra cuando se acepte el entregable por parte de los involucrados.
Es importante que se identifiquen las diferentes tecnologías que usa la organización en la actualidad o la nuevas tecnologías que pueden dar respuesta a los requisitos establecidos y que puedan ser usadas en el desarrollo del producto.
Se realiza el analisis de las dimensiones del producto y se documentan 2 o mas propuestas de solución que sirvan como alternativas tecnologicas a las necesidades del producto.
Se establece una fecha limite para la socialización de las alternativas al Lider de Desarrollo y al analista de requerimientos con los debidos criterios.
Este proceso se cierra si las alternativas son aceptadas y no se considera ninguna otra dentro del alcance del producto
Otro elemento importante a evaluar son los componentes existentes en el mercado que pueden ser adquiridos por el proyecto y hacer parte del producto. Estos componentes pueden minimizar tiempos de desarrollo pero es necesario evaluar la viabilidad de su integración con las diferentes tecnologías evaluadas.
Se define con el Lider de Desarrollo el proceso por el cual se investigan los COTS, los cuales pueden ser: Realizar una investigación de estado de arte de productos ya existentes para buscar componentes a integrar en el proyecto. La otra alternativa es reunir a los expertos del area del proyecto para minimizar tiempos de investigación.
Se establece una fecha limite para la recopilación de componentes y se socializa con el Lider de Desarrollo y el Analista de Requerimientos.
En los desarrollos previos realizados por la organización, se crean componentes genéricos que pueden ser utilizados en futuros desarrollos. Es fundamental que el arquitecto determine las posibilidades de utilizar dichos componentes para optimizar tiempos de desarrollo y costos en el proyecto.
Se realiza una evaluzación de productos desarrollados y se documentan los componentes que se van a reutilizar para el proyecto.
Se establece una fecha limite para socializar los componentes a reutilizar con el Lider de Desarrollo y el Analista de Requerimientos.
En caso de no haber componentes a reutilizar, este paso se salta.
Una vez se hayan realizado los análisis anteriores, se identifican las posibles alternativas arquitectónicas que den solución a los requisitos del producto, teniendo en cuenta sus ventajas y desventajas.
Se define una fecha para la socialización de las diferentes alternativas de solución que cumplan el alcance definido en el proyecto.
Las alternativas se presentan al Lider de Desarrollo y Analista de requerimientos.
Teniendo las posibles alternativas de solución identificadas se procede a seleccionar la mejor, identificando criterios de selección, ventajas y desventajas para sustentar dicha selección.
Según el proceso anterior, se define la mejor alternativa que cumpla las condiciones del equipo de desarrollo y se realiza una justificación formal de la alternativa seleccionada.
Teniendo en cuenta las decisiones anteriores, el arquitecto define los diagramas conceptual, de componentes y de despliegue para explicar la arquitectura planteada.
Para el desarrollo de la arquitectura, se realiza un analisis sobre la información recopilada hasta la fecha y se empieza el desarrollo de diagramas que justifiquen la arquitectura que de solución al alcance del producto. Los diagramas que se pueden levantar en la arquitectura son:
Un modelo conceptual es una representación de un sistema, hecho de la composición de conceptos que se utilizan para ayudar a las personas a conocer, comprender o simular un tema que representa el modelo, incluye las entidades importantes y las relaciones entre ellos
Los diagramas de componentes se utilizan para visualizar la organización de los componentes del sistema y las relaciones de dependencia entre ellos. Proporcionan una visión de alto nivel de los componentes de un sistema.
Los componentes pueden ser un componente de software, como una base de datos o una interfaz de usuario; o un componente de hardware, como un circuito, un microchip o un dispositivo; o una unidad de negocio, como un proveedor, una nómina o un envío.
Un diagrama de despliegue es un tipo de diagrama UML que muestra la arquitectura de ejecución de un sistema, incluyendo nodos como entornos de ejecución de hardware o software, y el middleware que los conecta.
Una vez se cuenta con la arquitectura definida, se procede a generar la trazabilidad de los requisitos con los elementos arquitectónicos para garantizar la completitud de la solución.