Ingeniería de Software II

Documentos relacionados
Evaluación de Arquitecturas

Arquitectura de Software

Diseño y Evaluación de Arquitecturas de Software. Software con calidad

Curso Aseguramiento de la Calidad De los Procesos y Productos de Software

Architectural Driven Design - ADD

Ingeniería de Software II

Análisis y Diseño Estructurado

CALIDAD DE SOFTWARE (CSO) Práctica 2: Calidad de Arquitecturas Software. Introducción a ATAM

Diseño: Arquitectura de Software. IF 7100 Ingeniería del Software

Maestría en Ingeniería

octubre de 2007 Arquitectura de Software

2.5 DISEÑO ARQUITECTONICO

CALIDAD DE SISTEMAS DE INFORMACIÓN WEB. Introducción a los métodos de evaluación de arquitecturas

Figure 14-1: Phase F: Migration Planning

5.2 RECOPILAR REQUISITOS

Figure 13-1: Phase E: Opportunities & Solutions

Introducción al Unified Process. Curso IIC 2143 Ingeniería de Software Rodrigo Sandoval 2010

Principios de Análisis Informático. Tema 3: Fase de inicio

ITILv3-Transición del Servicio de Información. Figuras basadas en material ITIL

ISO mejorar la capacidad y madurez (evaluación) de los procesos

Diagramas De Casos De Uso

Rol del Arquitecto de Software

Figura 39. Resultados de la encuesta de satisfacción aplicada a los instructores de los CECATI en el Estado de Colima Figura 40.

RUP. Rational Unified Process

Diseño y Evaluación de Arquitecturas de Software. Meta-modelos de diseño

PLANIFICACIÓN Y GESTIÓN DE PROYECTOS INFORMÁTICOS. TEMA 3. Gestión del alcance

SILABO DEL CURSO DISEÑO DE SOFTWARE 1. DATOS GENERALES

Proceso Unificado (Iterativo e incremental)

Software Tester QA. Programa de Estudio.

Charlas para la gestión del Mantenimiento Fernando Espinosa Fuentes

Métrica v2.1 - Fase 0: Plan de Sistemas de Información. Enginyeria del Software. Curs 99/2000. Francisca Campins Verger

El ciclo de vida de un sistema de información

23/04/2015. El Rol del Arquitecto de Softaware. Actividades del Arquitecto de Software. Architectus Reloadus. Architectus Oryzus

A continuación se describe con mayor detalle cada una de tales unidades:

Diplomado en Aseguramiento de la Calidad De los Procesos y Productos de Software

DISEÑO ARQUITECTURA DEL SOFTWARE

Programa formativo Habilidades y competencias tecnológicas en Java & SQL

Proceso de Testing Funcional Independiente

Introducción a los patrones de Software

Guía práctica de estudio 09: UML

Modelado y Diseño de Arquitectura de Software

8.1 PLANIFICAR LA CALIDAD

Introducción a Rational Unified Process (RUP)

3.1 Administración de la medición de la información estratégica

11.2 IDENTIFICAR LOS RIESGOS

Software Architecture Assesment. Rosa Virginia Icedo Ojeda Jorge Moisés Trejo Vargas Mayo 2003

Catálogo de Capacitaciones

Indicadores de procesos de laboratorio clínico: Los puntos de vista de tres expertos. Dr. Gabriel A. Migliarino

TESIS DE INGENIERÍA EN SISTEMAS Y COMPUTACIÓN. 2010

Procesos del software

Evaluación de Arquitecturas de Software con ATAM (Architecture Tradeoff Analysis Method): un caso de estudio

De Desempeño De Conocimiento SABERES ESENCIALES CONTENIDOS RUTA FORMATIVA Saber Conocer Nociones, Proposiciones, Conceptos Categorías

Recolección de Requerimientos

METRICA VERSION MÉTRICA versión 3. Metodología de Planificación, Desarrollo y Mantenimiento de Sistemas de Información

IMPACTO DE LA APLICACIÓN DE INTERNACIONALES EN LAS FUNCIONES, PROCESOS Y SISTEMAS DE INFORMACIÓN EN LA ORGANIZACIÓN

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 6. El Diseño de las Bases de Datos

Crear diagramas basados en UML para la representación de la solución a un problema mediante el Paradigma Orientado a Objetos.

Arquitectura de Proyectos de IT. Atributos de Calidad. Ing. Gustavo Andrés Brey

Identificar Stakeholders... Por qué molestarse en esto?

Calidad y Reutilización de Software. Dr. Cuauhtémoc Lemus Olalde. Centro de Investigación en Matemáticas (CIMAT) Febrero, 2003

GEXRENOF: Herramienta para la gestión de pruebas no funcionales basada en el estándar ISO/IEC

INGENIERÍA EN TECNOLOGÍAS DE LA INFORMACIÓN

Diplomado Desarrolladores Inmobiliarios

Arquitectura de Negocio

Documento de Arquitectura de Software IEEE

4.1 CONGRUENCIA ENTRE LOS OBJETIVOS DEL PLAN DE ESTUDIOS Y EL PERFIL DE EGRESO CON LAS LGAC:

«Diseño BIM con Archicad de Graphisoft»

CMMI Capability Maturity Model Integration Modelo integrado de madurez de la capacidad

El proceso del diseño basado en prestaciones. Mr. Jimmy Jönsson Bsc Fire MSc Risk MSFPE MIFE

PROFUNDIZACIÓN EN ARQUITECTURA EMPRESARIAL

Desarrollo de Líneas de Productos de Software

1. Metodologías Ágiles

Capítulo III: MARCO METODOLÓGICO

Transcripción:

Ingeniería de Software II Segundo Cuatrimestre de 2008 Clase 19 Evaluación de Arquitecturas y ATAM Buenos Aires, 6 de Noviembre de 2008

Por qué evaluar una arquitectura? Para tomar mejores decisiones! Y Además Por razones económicas Fuerza la preparación de material para la revisión Captura las motivaciones detrás de la arquitectura Detección temprana de problemas Validación de requerimientos Arquitecturas mejoradas

Architecture Tradeoff Analysis Method (ATAM) El propósito de ATAM es evaluar las consecuencias de decisiones arquitectónicas a partir de requerimientos de atributos de calidad Es un método de identificación de riesgos ATAM es un método que ayuda a los stakeholders a generar las preguntas correctas para descubrir decisiones de arquitectura potencialmente problemáticas. El propósito de ATAM no es proveer un análisis preciso. El propósito es descubrir los riesgos creados por decisiones arquitectónicas. Queremos encontrar tendencias: correlación entre decisiones de arquitectura y predicciones de propiedades del sistema Puede ser realizado temprano en el proceso de desarrollo Fuente: ATAM: Method for Architecture Evaluation. Rick Kazman, Mark Klein, Paul Clements. August 2000. TECHNICAL REPORT CMU/SEI-2000-TR-004. ESC-TR-2000-004 3

El Método ATAM Interacción breve y facilitada entre stakeholders que llevan a la identificación de riesgos, puntos sensibles y tradeoffs: Riesgo: decisión arquitectónica potencialmente problemática Punto sensible: propiedad de uno o más componentes (y/o relaciones entre componentes) que es crítica para poder alcanzar un atributo de calidad determinado Punto de tradeoff : propiedad que afecta más que un atributo y es un punto sensible para más de un atributo Non risks son buenas decisiones de arquitectura que normalmente están implícitas en la arquitectura Riesgos: foco de actividades de mitigación, por ejemplo profundizar el diseño o el análisis, realizar un prototipo Puntos sensibles y tradeoffs: pueden ser documentados explícitamente Fuente: ATAM: Method for Architecture Evaluation. Rick Kazman, Mark Klein, Paul Clements. August 2000. TECHNICAL REPORT CMU/SEI-2000-TR-004. ESC-TR-2000-004 4

Flujo conceptual de ATAM Fuente: ATAM: Method for Architecture Evaluation. Rick Kazman, Mark Klein, Paul Clements. August 2000. TECHNICAL REPORT CMU/SEI-2000-TR-004. ESC-TR-2000-004 5

Fases en ATAM Partnership & Prep (0) Evaluación (1) Evaluación (2) Seguimiento (3) Contratos y NDAs Información Inicial requerida Equipo de Evaluación y Decision Makers Stakeholders se unen a la evaluación. Preparación de resultados. Análisis Post Mortem

ATAM - Participantes Equipo de Evaluación 3 a 5 personas Externo al grupo de proyecto Puede ser parte de QA u organizado para cada necesidad Project Decision-Makers Autoridad para aprobar cambios El arquitecto está incluido en este grupo Stakeholders de la arquitectura Interesados en Atributos de Calidad Expertos del proyecto para implementar QAs

Pasos del ATAM - Evaluación Presentación Investigación y Análisis Testing Reporting Presentar ATAM Presentar business drivers Presentar la arquitectura Identificar architectural approaches Generar utility tree de atributos de calidad Hacer brainstorm y dar prioridades a los escenarios Analizar architectural approaches Presentar los resultados Analizar architectural approaches 8

Pasos de ATAM (Evaluación) Fase 1 1. Presentar ATAM Árboles de utilidad Escenarios ya Relevados y Análisis de Arquitectura 2. Presentar los drivers del negocio Requerimientos funcionales de alto nivel Requerimientos de atributos de calidad 3. Presentar la arquitectura Restricciones técnicas Otros sistemas con los cuales interactuar

Pasos de ATAM (Evaluación) Fase 1 4. Identificar enfoques de arquitectura Identificar aspectos clave para los QA Identificar enfoques predominantes de arquitectura 5. Generar el árbol de utilidad Nodos alto nivel => Objetivos Calidad Hojas => Escenarios

Ejemplos de Escenarios a Evaluar New tax amount defined System New amount changed Less than 2 labor days Accounting Manager N/A 11

Ejemplos de Escenarios a Evaluar (cont.) New tax Type defined System New tax type added Less than 4 weeks Accounting Manager N/A 12

Ejemplos de Escenarios a Evaluar (cont.) New legacy system to be integrated System System integrated Less than 2 weeks System Integrator Supported adapter 13

Ejemplos de Escenarios a Evaluar (cont.) New legacy system to be integrated System System integrated Less than 6 months System Integrator unsupported adapter 14

Ejemplos de Utility Tree Cost of adding legacy system to accounting system when adaptor is present Modificability Cost of adding legacy system to accounting system when adaptor is NOT present Cost of change of behavior in accounting indicator # parametrizable elements that change behavior

Ejemplos de Utility Tree (cont.) Cost of adding legacy system to accounting system when adaptor is present Interoperability Cost of adding legacy system to accounting system when adaptor is NOT present Utility Maintainability Cost of changing behavior of accounting indicator Configurability # parametrizable elements that change behavior

Ejemplos de Utility Tree (cont.) Importancia Riesgo

Pasos de ATAM (Evaluación) Fase 1 6. Analizar enfoques de arquitectura Identificar los enfoques para QA mas prioritarios. Generar preguntas para los QA de mayor prioridad Identificar riesgos, puntos sensibles, puntos de tradeoff y non-risks

Ejemplo de Análisis de Escenario

Pasos de ATAM (Fase 2) 7. Brainstorm y priorizar escenarios Los escenarios del árbol de utilidad pueden servir como ejemplos Se agregan los nuevos escenarios al árbol de utilidad 8. Analizar enfoques de arquitectura Identificar los enfoques de arquitectura impactados por los escenarios generados en el paso anterior Este paso continua el análisis iniciado en el paso 6, usando los escenarios nuevos 9. Presentar resultados

Salidas del Proceso Presentación concisa de la arquitectura Articulación de los objetivos de negocio Requerimientos de calidad expresados en escenarios Mapping entre requerimientos de calidad y decisiones de arquitectura Conjunto de puntos sensibles y de tradeoff identificados. Conjunto de riesgos y no-riesgos Conjunto de risk themes

Cuándo usar ATAM ATAM puede ser usado a lo largo del ciclo de vida cuando hay una arquitectura de software para evaluar ATAM puede ser usado después de que una arquitectura se especificó pero hay poco o nada de código listo: Para evaluar alternativas arquitectónicas Para evaluar la arquitectura de un sistema existente 23

Beneficios de ATAM Los beneficios de una evaluación ATAM incluyen: Requerimientos de atributos de calidad clarificados Documentación de arquitectura mejorada Base documentada para decisiones de arquitectura Identificación de riesgos de manera temprana en el ciclo de vida Mejor comunicación entre los stakeholders El resultado son arquitecturas mejoradas 24

ATAM Limitaciones No tengo Valuaciones de costo. No considero Variaciones de escenarios e impacto en la respuesta. No es un Método cuantitativo.

Un ATAM Simpificado Efficiency Reliability Usability Subject Approach E1 F2 E3 E4 E5 E6 Infrastructure Linux OS MySQL Databse Apache Tomcat High Level App Arch 4 Tier Use of ORM No SP Main Frameworks Used Java Server Faces Spring.. Design Patterns Factory Reliability Strategy Redundancy for 26