Evaluación de Arquitectura de Software ver 1

18
Arquitectura y diseño de software Tema: Evaluación de Arquitecturas de Software GRUPO NRO. 4

description

Presentación realizada para el curso de arquitectura

Transcript of Evaluación de Arquitectura de Software ver 1

Page 1: Evaluación de Arquitectura de Software ver 1

Arquitectura y diseño de software

Tema: Evaluación de Arquitecturas de Software

GRUPO NRO. 4

Page 2: Evaluación de Arquitectura de Software ver 1

1. Definición2. Evaluación de Arquitecturas de

Software3. Método SAMM4. Método ATAM5. Método ARID6. Referencias de otros métodos7. Conclusiones

AGENDA

Page 3: Evaluación de Arquitectura de Software ver 1

La Arquitectura de Software es una representación abstracta del sistema.

Es una expresión de las decisiones tempranas del diseño.

Es una abstracción del sistema reusable y transferible.

La Arquitectura de Software de un programa es la estructura del sistema que contienen componentes de software, las propiedades externamente visibles de dichos componentes y las relaciones entre ellos.

La arquitectura es quien define los atributos de calidad de un sistema, los servicios que provee, características de performance, manejo de fallas, entre otras.

DEFINICIÓN

Page 4: Evaluación de Arquitectura de Software ver 1

EVALUACIÓN DE ARQUITECTURA

¿Porqué

?

• Evaluación temprana (Costos menores)

• Evaluación Tardía (Costos mayores)• Manera de evitar desastres

¿quiéne

s participan?

• Stakeholders• Equipo de evaluación

¿qué

resultados?

• Encuentra debilidades• Resultados cualitativos

Page 5: Evaluación de Arquitectura de Software ver 1

EVALUACIÓN DE ARQUITECTURA

¿Qué evaluaremos?• Rendimiento• Disponibilidad• Seguridad• Funcionalidad• Ser Modificable• Integridad• Confiabilidad• Portabilidad• Variabilidad

¿ Cuáles son las salidas?• Lista priorizada de

los atributos de calidad requeridos para la arquitectura que está siendo evaluada.

• Lista de Riesgos y no riesgos

¿ Cuáles son los costos y beneficios?• Reúne a los

stakeholders.• Fuerza una

articulación en las metas específicas de calidad.

• Fuerza una explicación clara de la arquitectura

Page 6: Evaluación de Arquitectura de Software ver 1

SAAM = Software Architecture Analysis Method. Fue originalmente creado para el análisis de la

modificabilidad de una arquitectura. Se enfoca en la enumeración de un conjunto de

escenarios que representan los cambios probables a los que estará sometido el sistema en el futuro.

Con este método, si el objetivo de la evaluación es una sola arquitectura, se obtienen los lugares en los que la misma puede fallar. Para el caso en el que se cuenta con varias arquitecturas candidatas, el método produce una escala relativa que permite observar qué opción satisface mejor los requerimientos de calidad con la menor cantidad de modificaciones.

Consta de 6 pasos.

MÉTODO SAAM

Page 7: Evaluación de Arquitectura de Software ver 1

MÉTODO SAAM

Page 8: Evaluación de Arquitectura de Software ver 1

MÉTODO SAAM

Page 9: Evaluación de Arquitectura de Software ver 1

ATAM = Architecture Trade-off Analysis Method. Está inspirado en tres áreas distintas: los estilos

arquitectónicos, el análisis de atributos de calidad y el método de evaluación SAAM.

Revela la forma en que una arquitectura específica satisface ciertos atributos de calidad, y provee una visión de cómo los atributos de calidad interactúan con otros.

Consta de 9 pasos, agrupados en cuatro fases (Presentación, Investigación y Análisis, Pruebas y Reporte).

MÉTODO ATAM

Page 10: Evaluación de Arquitectura de Software ver 1

MÉTODO ATAM

Page 11: Evaluación de Arquitectura de Software ver 1

MÉTODO ATAM

Page 12: Evaluación de Arquitectura de Software ver 1

ARID = Active Reviews for Intermediate Designs.

Según Kazman el método ARID es conveniente para realizar la evaluación de diseños parciales en las etapas tempranas del desarrollo.

ARID es un híbrido entre los métodos Active Design Review (ADR) y Architecture Trade-Off Method (ATAM). De ADR resulta conveniente la fidelidad de las respuestas que se obtiene de los involucrados en el desarrollo. Así mismo, la idea del uso de escenarios generados por los involucrados con el sistema es tomada del ATAM.

Consta de 9 pasos separados en 2 fases.

MÉTODO ARID

Page 13: Evaluación de Arquitectura de Software ver 1

MÉTODO ARID

Page 14: Evaluación de Arquitectura de Software ver 1

MÉTODO ARID

Page 15: Evaluación de Arquitectura de Software ver 1

Especificaciones de otros MÉTODOS

Losavio (2003): Es un método para evaluar y comparar arquitecturas de software candidatas, que hace uso del modelo de especificación de atributos de calidad adaptado del modelo ISO/IEC 9126.

ALMA (Architecture Level Modifiability Analysis) (Brengtsson y Lassing): El atributo de calidad que analiza este método es la facilidad de modificación. Esto se refiere a la capacidad de un sistema para ser ajustado debido a cambios.

Page 16: Evaluación de Arquitectura de Software ver 1

Especificaciones de otros MÉTODOS

PASA (Performance Assessment of Software Architecture) (Williams y Smith): El atributo de calidad que analiza este método es el desempeño. Que se interesa en saber qué tanto tiempo le toma al sistema software responder cuando una o varios eventos ocurren.

SALUTA (Scenario based Architecture Level Usability Analysis) (Folmer y Gurp): Este método hace uso de marcos de referencia que expresan las relaciones que existen entre facilidad de uso y Arquitectura de Software.

Page 17: Evaluación de Arquitectura de Software ver 1

Especificaciones de otros MÉTODOS

SNA (Survivable Network Analysis) Es un método desarrollado por el CERT (Computer Emergency Response Team) que forma parte del SEI (Software Engineering Institute). Este método ayuda a identificar la capacidad de supervivencia en un sistema, analizando su arquitectura. La supervivencia es la capacidad que tiene un sistema para completar su misión a tiempo, ante la presencia de ataques, fallas o accidentes. Para evaluar esta supervivencia SNA utiliza tres propiedades claves: Resistencia, Reconocimiento y Recuperación.

Page 18: Evaluación de Arquitectura de Software ver 1

El método SAAM es recomendable cuándo el atributo de calidad “Modificabilidad” es el de mayor interés.

El método ATAM es más profundo para evaluar aspectos más relacionados con la arquitectura, como la performance ó la confiabilidad.

El método ARID evalúa mejor la factibilidad de la arquitectura.

Todos los métodos tienen algo en común y es que utilizan la técnica de escenarios como vía de constatar en qué medida la arquitectura responde a los atributos de calidad requeridos por el sistema.

CONCLUSIONES