You are on page 1of 32

Evaluacin de

Arquitecturas de Software
Cesar Julio Bustacara Medina
Pontificia Universidad Javeriana
2008

Agenda

Introduccin

SAAM

ATAM

Conclusiones

Introduccin

Cmo puedo estar seguro que la


arquitectura elegida es la
correcta para mi software?

Introduccin
Si las decisiones arquitectnicas
determinan los atributos de calidad
del sistema, entonces es posible
evaluar las decisiones
arquitectnicas con respecto a su
impacto sobre dichos atributos.

Introduccin
Por qu evaluar una Arquitectura?
Cuanto ms temprano se
encuentre un problema en un
proyecto de software, mejor
Realizar una evaluacin de la
arquitectura es la manera ms
econmica de evitar desastres

Introduccin
Cundo una Arquitectura puede ser
evaluada?

Evaluacin temprana
Evaluacin tarda

Introduccin
Quines estn involucrados?

Equipo de evaluacin
Stakeholders

Introduccin
Qu resultado produce la evaluacin de
una Arquitectura?

La evaluacin de una arquitectura no


produce resultados cuantitativos
La evaluacin ayuda a encontrar
debilidades

Introduccin
Por qu cualidades puede ser evaluada una
Arquitectura?

Performance

Availability

Security

Modifiability

Introduccin
Por qu los atributos de calidad son demasiados
imprecisos para el anlisis?

El sistema debe ser robusto

El sistema debe ser modificable

El sistema debe ser seguro

El sistema debe tener un desempeo aceptable

Introduccin
Cules son las salidas de una
evaluacin arquitectnica?

Lista priorizada de los atributos de


calidad requeridos para la
arquitectura que est siendo
evaluada.
Riesgos y no riesgos

Introduccin
Cules son los costos y beneficios de
realizar una evaluacin arquitectnica?

Rene a los stakeholders


Obliga una articulacin en las metas
especficas de calidad
Obliga una explicacin clara de la
arquitectura

SAAM Software Architecture Analysis


Method

Propsito
Contexto y escenarios
Roles
Mtodo de anlisis
Fortalezas
Debilidades

SAAM -

Propsito

Basado en escenarios

Foco modificabilidad

Evaluar una arquitectura o


evaluar y comparar varias

SAAM - Contexto y escenarios

Atributos de calidad complejos y amorfos para


evaluarse simplemente

Dependientes del contexto

Escenario. Interaccin entre un interesado y el sistema

Un escenario directo es el que puede satisfacerse sin la


necesidad de modificaciones en la arquitectura.

Un escenario indirecto es aquel que requiere


modificaciones en la arquitectura para poder
satisfacerse.
Interaccin de escenarios.
escenarios Dos o ms escenarios
indirectos requieren cambios sobre el mismo
componente

SAAM - Roles

Interesados externos (Organizacin


cliente, usuarios finales,
administradores del sistema, etc.)
Interesados internos (Arquitectos de
Software, analistas de
requerimientos)
Equipo SAAM (Lder, expertos en el
dominio de la aplicacin, expertos
externos en arquitectura y
secretario)

SAAM - Metodologa
Paso 1. Desarrollo de escenarios
Paso 2. Descripcin de la Arquitectura
Paso 3. Clasificacin de escenarios
Paso 4. Evaluacin de escenarios
Paso 5. Interaccin de escenarios
Paso 6. Evaluacin general

SAAM - Metodologa
1. Desarrollo Un escenario es una breve
de escenarios descripcin de usos anticipados o
deseados del sistema. De igual
forma, estos pueden incluir
cambios a los que puede estar
expuesto el sistema en el futuro.

SAAM - Metodologa
2. Descripcin La arquitectura (o las candidatas) debe ser
descrita haciendo uso de alguna notacin
de la
arquitectnica que sea comn a todas las
arquitectura
partes involucradas en el anlisis. Deben
incluirse los componentes de datos y
conexiones relevantes, as como la
descripcin del comportamiento general
del sistema.
El desarrollo de escenarios y la descripcin
de la arquitectura son usualmente llevados
a cabo de forma intercalada, o a travs de
varias iteraciones.

SAAM - Metodologa
3. Clasificacin y La clasificacin de los escenarios
puede hacerse en dos clases: directos
asignacin de
e indirectos.
prioridad de los
escenarios
Los escenarios indirectos son de
especial inters para SAAM, pues son
los que permiten medir el grado en el
que una arquitectura puede ajustarse
a los cambios de evolucin que son
importantes para los involucrados en
el desarrollo.

SAAM - Metodologa
4. Evaluacin
individual de los
escenarios
indirectos

Para cada escenario indirecto, se


listan los cambios necesarios
sobre la arquitectura, y se
calcula su costo.
Una modificacin sobre la
arquitectura significa que debe
introducirse un nuevo
componente o conector, o que
alguno de los existentes requiere
cambios en su especificacin.

SAAM - Metodologa
5. Evaluacin
de la
interaccin
entre
escenarios

Cuando dos o ms escenarios indirectos


proponen cambios sobre un mismo
componente, se dice que interactan sobre ese
componente.
Es necesario evaluar este hecho, puesto que la
interaccin de componentes semnticamente no
relacionados revela que los componentes de la
arquitectura efectan funciones
semnticamente distintas.
De forma similar, puede verificarse si la
arquitectura se encuentra documentada a un
nivel correcto de descomposicin estructural.

SAAM - Metodologa
6.
Creacin
de la
evaluacin
global

Debe asignrsele un peso a cada


escenario, en trminos de su
importancia relativa al xito del sistema.
Esta asignacin de peso suele hacerse
con base en las metas del negocio que
cada escenario soporta. En el caso de la
evaluacin de mltiples arquitecturas, la
asignacin de pesos puede ser utilizada
para la determinacin de una escala
general.

SAAM - Fortalezas

Los interesados comprenden con


facilidad las arquitecturas evaluadas.

La documentacin es mejorada.

El esfuerzo y el costo de los cambios


pueden ser estimados con
anticipacin.
Analoga con el concepto de bajo
acoplamiento y alta cohesin.

SAAM - Debilidades

La generacin de escenarios est


basada en la visin de los
interesados.
No provee una mtrica clara sobre la
calidad de la arquitectura Evaluada.
El equipo de evaluacin confa en la
experiencia de los arquitectos para
proponer arquitecturas candidatas.

ATAM -

Architecture Tradeoff Analysis


Method
Este mtodo de evaluacin indica
cuan bien una arquitectura
particular satisface las metas de
calidad, y provee ideas de cmo
esas metas de calidad interactan
entre ellas, como realizan
concesiones mutuas (tradeoff)
entre ellas.

ATAM
El mtodo consta de nueve pasos,
divididos en cuatro grupos:
Presentacin
Investigacin y Anlisis
Pruebas
Informes

ATAM - Fases
Fase 1: Presentacin
1. Presentacin
del ATAM

El lder de evaluacin describe el mtodo a


los participantes, trata de establecer las
expectativas y responde las preguntas
propuestas.

2. Presentacin
de las metas del
negocio

Se realiza la descripcin de las metas del


negocio que motivan el esfuerzo, y aclara
que se persiguen objetivos de tipo
arquitectnico.

3. Presentacin
El arquitecto describe la arquitectura,
de la arquitectura enfocndose en cmo sta cumple con los
objetivos del negocio.

ATAM - Fases
Fase 2: Investigacin y anlisis
4. Identificacin de los
enfoques
arquitectnicos

Estos elementos son detectados, pero no analizados.

5. Generacin del

Se priorizan los atributos de calidad que engloban la


utilidad del sistema (desempeo, disponibilidad,
seguridad, modificabilidad, usabilidad, etc.),
especificados en forma de escenarios.
Se anotan los estmulos y respuestas, as como se
establece la prioridad entre ellos.

6. Anlisis de los
enfoques
arquitectnicos

Con base en los resultados del establecimiento de


prioridades del paso anterior, se analizan los elementos
del paso 4.
En este paso se identifican riesgos arquitectnicos,
puntos de sensibilidad y puntos de balance.

Utility Tree

ATAM - Fases
Fase 3: Pruebas
7. Lluvia de ideas y
establecimiento de
prioridad de
escenarios.
8. Anlisis de los
enfoques
arquitectnicos

Con la colaboracin de todos los


involucrados, se complementa el
conjunto de escenarios.
Este paso repite las actividades del
paso 6, haciendo uso de los
resultados del paso 7. Los escenarios
son considerados como casos de
prueba para confirmar el anlisis
realizado hasta el momento.

ATAM - Fases
Fase 4: Reporte
9. Presentacin Basado en la informacin
de los
recolectada a lo largo de la
resultados
evaluacin del ATAM, se
presentan los hallazgos a los
participantes.

Conclusiones

El mtodo SAAM se sugiere cundo el


atributo de calidad Modificabilidad es el
de mayor inters.
El mtodo ATAM es ms profundo para
evaluar aspectos ms relacionados con la
arquitectura, como el performance o la
confiabilidad.

You might also like