En ingeniería de software , el método de análisis de compensación de arquitectura (ATAM) es un proceso de mitigación de riesgos que se utiliza al principio del ciclo de vida del desarrollo de software .
ATAM fue desarrollado por el Instituto de Ingeniería de Software de la Universidad Carnegie Mellon . Su propósito es ayudar a elegir una arquitectura adecuada para un sistema de software mediante el descubrimiento de compensaciones y puntos de sensibilidad.
ATAM es más beneficioso cuando se realiza al principio del ciclo de vida del desarrollo de software, cuando el costo de cambiar las arquitecturas es mínimo.
Beneficios ATAM
Los siguientes son algunos de los beneficios del proceso ATAM: [1]
- riesgos identificados al principio del ciclo de vida
- mayor comunicación entre las partes interesadas
- requisitos de atributos de calidad clarificados
- documentación de arquitectura mejorada
- base documentada para decisiones arquitectónicas
Proceso ATAM
El proceso ATAM consiste en reunir a las partes interesadas para analizar los impulsores del negocio (funcionalidad del sistema, objetivos, limitaciones, propiedades no funcionales deseadas ) y de estos impulsores extraer atributos de calidad que se utilizan para crear escenarios. Luego, estos escenarios se utilizan junto con enfoques arquitectónicos y decisiones arquitectónicas para crear un análisis de compensaciones, puntos de sensibilidad y riesgos (o no riesgos). Este análisis se puede convertir en temas de riesgo y sus impactos con lo cual se puede repetir el proceso. Con cada ciclo de análisis, el proceso de análisis avanza de lo más general a lo más específico, examinando las cuestiones que se han descubierto en el ciclo anterior, hasta que se ha afinado la arquitectura y se han abordado los temas de riesgo.
Pasos del proceso ATAM
ATAM consta formalmente de nueve pasos, que se describen a continuación: [2]
- Presentar ATAM - Presentar el concepto de ATAM a las partes interesadas y responder cualquier pregunta sobre el proceso.
- Presentar impulsores comerciales: todos en el proceso presentan y evalúan los impulsores comerciales del sistema en cuestión.
- Presentar la arquitectura: el arquitecto presenta la arquitectura de alto nivel al equipo, con un 'nivel apropiado de detalle'
- Identificar enfoques arquitectónicos: el equipo presenta y discute diferentes enfoques arquitectónicos del sistema.
- Genere un árbol de utilidades de atributos de calidad: defina los requisitos comerciales y técnicos centrales del sistema y asignelos a una propiedad arquitectónica adecuada. Presente un escenario para este requisito dado.
- Analice los enfoques arquitectónicos: analice cada escenario y califíquelos por prioridad. Luego, la arquitectura se evalúa en cada escenario.
- Haga una lluvia de ideas y priorice los escenarios: entre el grupo de partes interesadas más grande, presente los escenarios actuales y amplíe.
- Analice los enfoques arquitectónicos: realice el paso 6 nuevamente con el conocimiento adicional de la comunidad de partes interesadas más grande.
- Presentar resultados: proporcionar toda la documentación a las partes interesadas.
Estos pasos se dividen en dos fases: la Fase 1 consta de los pasos 1-6 y, después de esta fase, se conocen el estado y contexto del proyecto, los requisitos arquitectónicos impulsores y el estado de la documentación arquitectónica. La fase 2 consta de los pasos 7-9 y finaliza la evaluación [3]
Ver también
- ilidades
- Método de diseño centrado en la arquitectura
- Análisis de decisiones multicriterio
- ÁRIDO
- Método de análisis de arquitectura de software , precursor del método de análisis de compensación de arquitectura
- Analítica arquitectónica
Referencias
- ^ "Método de análisis de compensación de arquitectura" . Instituto Carnegie Mellon de Ingeniería de Software . Consultado el 20 de abril de 2018 .
- ^ Bass, Len ; Clements, Paul; Kazman, Rick (9 de abril de 2003). Arquitectura de software en la práctica, segunda edición . Addison Wesley Professional.[ página necesaria ]
- ^ Rick Kazman; Mark Klein; Paul Clements. "ATAM: Método para la evaluación de la arquitectura" (PDF) . Instituto Carnegie Mellon de Ingeniería de Software. pag. 39f . Consultado el 20 de abril de 2018 .