Identificar los objetivos de la arquitectura
Tomando como base la visión de la
solución y el modelo
conceptual generados en la fase de conceptualización, el equipo de desarrollo debe trabajar con los interesados del proyecto y el analista para para
describir los objetivos de la arquitectura de la solución tecnológica e identificar cuáles son apropiados para abordar
en la iteración.
Se deben examinar tanto la visión de la solución como la especificación de requerimientos. Los objetivos definidos para la
arquitectura guiarán el enfoque de decisiones técnicas importantes sobre el diseño de la solución. Será importante
revisar periódicamente el estado de estos objetivos a lo largo del proyecto para asegurarse de que sigan siendo válidos
y que el desarrollo de la soución se encamine a cumplirlos.
|
Identificar los requerimientos relevantes a la arquitectura
Identificar cuáles de los requerimientos actuales son relevantes/significativos para la arquitectura. Se deben
explorar y refinar aquellos que deben implementarse para alcanzar los objetivos arquitectónicos para la iteración
actual. Como soporte a esta actividad es puede consultar la guía para determinar los requerimientos
relevantes a la arquitectura.
Debe haber una referencia a los requerimientos arquitectónicamente relevantes en la descripción de la arquitectura después de identificarlos. Es importante revisar
esta lista de forma periódica de acuerdo a los cambios en los requerimientos que vayan surgiendo para
asegurarse de que sigan siendo válidos.
|
Identificar las restricciones de la arquitectura
Realizar una lista de las restricciones en la arquitectura y cualquier trade-off entre los requerimientos y recursos.
Decidir cómo la arquitectura resolverá estos problemas. Justificar cada una de las decisiones tomadas y documentar esta
información.
Es necesario revisar de forma periódica la lista de restricciones para asegurarse de que sigan siendo válidas y
que no hayan aparecido nuevas.
|
Investigar, evaluar y seleccionar los activos disponibles
Identificar activos de otras áreas que puedan reutilizarse en la arquitectura actual. Estos podrían incluir:
-
Marcos arquitectónicos (frameworks)
-
Mecanismos arquitectónicos
-
Decisiones arquitectónicas
-
Restricciones
-
Aplicaciones
-
Componentes
-
Software COTS (componentes comerciales disponibles)
|
Definir un enfoque en el cual se estructurará el sistema
Decidir cómo se va a estructurar el software, tanto en términos lógicos como físicos.
Como mínimo, debe decidirse sobre:
-
Cómo particionar el software al administrar el desarrollo (el uso de capas como una estrategia de partición, por
ejemplo).
-
Cuáles serán los componentes del software en tiempo de ejecución.
Para cada componente de software, describa brevemente:
-
Su nombre y propósito.
-
Sus relaciones con otros componentes.
Estas decisiones formarán la base para estructurar el diseño detallado y el desarrollo posterior.
|
Definir el enfoque para desplegar el sistema
Describir cómo se implementará el software en los diferentes nodos de la red. Trabajar con los interesados del proyecto, como los equipos de operaciones y redes, para garantizar
que el enfoque propuesto se ajuste bien al entorno de producción de la organización. |
Identificar los mecanismos arquitectónicos
Realizar una lista de los servicios técnicos que el sistema debe proporcionar y capturar la información
básica sobre cada elemento de la lista. En general, es una buena idea hacer una lista inicial de todos los mecanismos
necesarios para el proyecto y luego priorizar la construcción de aquellos que deben entregarse para lograr los
objetivos de la iteración actual.
|
Identificar las abstracciones clave
Identificar las abstracciones clave que el sistema necesita manejar. Por lo general, se pueden encontrar buscando
sustantivos que los requerimientos enfaticen o repitan, porque ayudan a identificar lo que es importante para el negocio.
El Glosario también es una fuente útil para abstracciones clave, ya que es una lista de sustantivos comerciales. Sin
embargo, no todos los sustantivos serán abstracciones clave en el sistema. Es necesario trabajar con el analista y los interesados del
proyecto, ya que tendrán el conocimiento tácito y materiales relevantes para este paso. |
Verificar la consistencia de la arquitectura
Documentar las decisiones arquitectónicas
Se deben capturar y documentar decisiones importantes sobre la arquitectura para referencia futura. Puede utilizar
templates para facilitar este trabajo. Los desarrolladores en particular
deben comprender claramente el estado actual de la arquitectura en cada iteración antes de desarrollar la arquitectura. |
|