Tarea: Analizar los Requerimientos de la Arquitectura
Analizar los requisitos de gran importancia arquitectónica y definir una arquitectura candidata para el sistema. Definir los patrones arquitectónicos, los mecanismos clave, y en su caso, las convenciones de modelado para el sistema.
Disciplinas: Analysis & Design
Objetivo

Proveer suficiente orientación y dirección al equipo para poder realizar el análisis y el diseño de una manera consistente y coherente.

Relaciones
Roles Realizador principal: Otras actividades adicionales que realiza:
Entradas Obligatoria: Opcional:
Salidas
Descripción principal

Esta tarea se centra en la definición de una arquitectura candidata que guiará el desarrollo, prueba y operación del sistema. Se basa en recopilar la experiencia adquirida en sistemas similares o dominios de problemas y enfocarse en la arquitectura para que el esfuerzo no se desperdicie en la reinvención de la arquitectura.

 

Capturar las decisiones arquitectónicas en el Architecture Notebook. Asegúrese de que este se comunica a todo el equipo.

 

Pasos
Identificar las metas de la arquitectura

Describir los objetivos de la arquitectura examinando la Vision del producto y los requerimientos, inlcuyendo los requerimientos de gran importancia arquitectónica. Además, hablar con los Stakeholder y analistas. Estos objetivos guiarán su acercamiento a importantes decisiones de arquitectura y diseño.

Identify architectural constraints

Entender las restricciones (u oportunidades) en la solución que le son inherentes al entorno existente o de la organización. Si es posible, examinar los Supporting Requirements  para todas las limitaciones que ya han sido identificados. Discutir cualquier limitación crítica de tiempo y recursos con el Project Manager, ya que estas también deben ser tenidas en cuenta a la hora de tomar sus decisiones. Discutir las posibles limitaciones con el Tester, como ganchos para pruebas, e identificar las áreas de arquitectura que puede ser difícil de probar.

Examinar, evaluar y seleccionar los activos disponibles

Establecer la disponibilidad de los activos de software existentes como candidatos aptos para su reutilización. Asegúrese de consultar con otras personas que tienen conocimiento de los activos existentes, en particular el Desarrollador(es) y otras personas fuera del equipo del proyecto (tales como equipos de apoyo a la producción) con el fin de formar una visión equilibrada sobre los activos existentes para su reutilización . La identificación de activos reutilizables se puede hacer como una un brainstorm de equipo.

Definir el enfoque para la estructuración del sistema

Decidir cómo estructurar el software, tanto en términos lógicos y físicos. Como mínimo decida sobre:

  • Cómo dividir el software durante la gestión del proyecto.
  • Como se compone el software en tiempo de ejecución.

Para cada división describa brevemente:

  • Su nombre y propósito.
  • Sus relaciones con otras divisiones.

Estas desiciones formarán las bases para el Design y el Build.

Definir el enfoque para la implementación del sistema

Describa cómo se desplegará el software en los nodos de la red. Trabaje con los interesados tales como el equipo de soporte  de  red y de implementación para asegurar que el enfoque propuesto es una buena opción para el entorno técnico general.

Identificar las abstraciones clave

Identificar las abstracciones clave que el sistema tiene que manejar. Generalmente, usted puede encontrar estas buscando los nombres de los requisitos más enfatizados o repetidos, porque ellos le ayudarán a identificar lo que es más importante para el negocio. El Glossary es especialmente útil para esto. Trabaje con el analista y los interesados en esto, ya que ellos tienen el conocimiento y los materiales que son relevantes para este paso. Trabajar con los desarrolladores para identificar las abstracciones claves internas en el sistema.

Identificar los mecanismos de arquitectura

Catalogue los mecanismos arquitectónicos que son necesarios para cumplir con los requerimientos. En esta etapa, sólo es necesario para capturar una cantidad relativamente pequeña de los detalles de cada mecanismo. Discutir los requerimientos (sobre todo Supporting Requirements) que están siendo abordados por cada uno de los mecanismos con los analistas y las partes interesadas para asegurarse de que los requerimientos son claros y bien entendido.

Capturar las decisiones de arquitectura

Capture las decisiones importantes sobre  arquitectura para referencia en el futuro. Considere el uso de las plantillas provistas en Architecture Notebook.

Factores clave

Esta tarea es más beneficiosa en el desarrollo de nuevos sistemas y sin precedentes. En los sistemas donde ya existe una estructura bien definida, esta tarea puede ser omitida, o llevada a cabo rápidamente como una revisión de la arquitectura existente.

Es muy importante que esta tarea se realice colaborativamente con participación activa de los miembros del equipo y los participantes del proyecto con el fin de alcanzar el consenso y el entendimiento. Es de vital importancia para el arquitecto de involucrar a los desarrolladores a lo largo de esta tarea. El esfuerzo de arquitectura trata de proporcionar liderazgo y coordinación del trabajo técnico en lugar de ser una actuación en solitario.

Más información