Vous êtes sur la page 1sur 71

Evaluando Arquitecturas de Software

Confidencial
Agenda

Confidencial
Agenda

» Agenda
» Objetivos
» ¿Cómo puedo estar seguro que la arquitectura elegida es la correcta
para mi software?
» ¿Por qué evaluar una Arquitectura?
» ¿Cuándo podemos evaluar una Arquitectura?
» ¿Quiénes están involucrados?
» ¿Qué resultados produce la evaluación de una Arquitectura?
» ¿ Para que cualidades se puede evaluar una Arquitectura?
» ¿Por qué se deben precisar los atributos de calidad?
» ¿Cuáles son las salidas de una evaluación?

Confidencial
Agenda (Cont.)

» ¿Cuáles son los costos y beneficios de realizar una evaluación


arquitectónica?
» Métodos de análisis, diseño y evaluación de arquitectura de
software.
» Método SAAM.
» Método ATAM.
» Peer Review

Confidencial
¿Cómo puedo estar seguro que la
arquitectura elegida es la correcta para
mi software?

Confidencial
¿Cómo puedo estar seguro que la arquitectura elegida
es la correcta para mi software?

» Si las decisiones arquitectónicas determinan los atributos de calidad


del sistema, entonces es posible evaluar las decisiones
arquitectónicas con respecto a su impacto sobre dichos atributos.

» Hasta hace poco, no existían métodos de utilidad para validar


arquitecturas, que respondieran con confianza a la pregunta planteada.

Confidencial
¿Qué es una Evaluación?

» Es un estudio de factibilidad que pretende detectar posibles riesgos,


así como buscar recomendaciones para contenerlos.

» La diferencia entre evaluar y verificar es que la evaluación se realiza


antes de la implementación de la solución. La verificación es con el
producto ya construido.

Confidencial
Objetivos de Evaluar una Arquitecturas

» El objetivo de evaluar una arquitectura es saber si puede habilitar


los requerimientos, atributos de calidad y restricciones para
asegurar que el sistema a ser construido cumple con las
necesidades de los stakeholders.

Confidencial
¿Por qué evaluar una Arquitectura?

Confidencial
¿Por qué evaluar una Arquitectura?

» Cuanto más temprano se encuentre un problema en un proyecto de


software, mejor.
» El costo de arreglar un error durante las fases de requerimientos o
diseño, es mucho menor al costo de arreglar ese mismo error en la fase
de verificación.

» Realizar una evaluación de la arquitectura es la manera más


económica de asegurar que la arquitectura es la correcta.

Confidencial
¿Por qué evaluar una Arquitectura? (Cont.)

» Por todo lo que depende de ella


» La arquitectura determina la estructura del proyecto
» Una arquitectura inapropiada puede generar:
» Costos de retrabajo
» Evitar problemas con el cliente asegurando que se cumplan sus
requerimientos incluyendo los atributos de calidad

» Asegurarse de que una arquitectura es la correcta simplemente tiene


sentido.

» La evaluación de la Arquitectura debería ser parte


estándar de cualquier metodología de desarrollo
basada en la arquitectura

Confidencial
¿Cuándo podemos evaluar una
Arquitectura?

Confidencial
¿Cuándo podemos evaluar una Arquitectura?

» Generalmente, la evaluación de la arquitectura ocurre después que


esta ha sido especificada, pero antes que empiece la
implementación.
» En un proceso iterativo y/o incremental, la evaluación se puede
realizar al final de cada ciclo. Sin embargo, uno de los atractivos de
la evaluación de arquitecturas es que se puede efectuar en
cualquier etapa de la vida de una arquitectura.

» En particular, existen dos variaciones útiles: temprana y tardía.

Confidencial
¿Cuándo podemos evaluar una Arquitectura? (Cont.)

» Evaluación temprana.
» La evaluación no tiene por qué esperar a que la arquitectura este
totalmente especificada. Esta puede ser utilizada en cualquier etapa del
proceso de creación de la arquitectura, para examinar las decisiones
arquitectónicas ya tomadas y decidir entre las opciones que están
pendientes.
» Evaluación tardía.
» Esta variación toma lugar no solo cuando la arquitectura esta terminada,
también cuando la implementación está completa. Este caso ocurre
cuando la organización hereda un sistema legado. La técnica para
evaluar un sistema legado es la misma que para evaluar un sistema
recién nacido. Una evaluación es útil para entender el sistema legado, y
saber si este cumple con los requerimientos de calidad y
comportamiento.

Confidencial
¿Quiénes están involucrados?

Confidencial
¿Quiénes están involucrados?

» Equipo de evaluación.
» Estas son las personas que conducirán la evaluación y realizaran el
análisis.
» Arquitecto
» Consultores
» Grupo de Arquitectos

» Stakeholders.
» Estos son los interesados en la arquitectura, y en el sistema que se
construirá a partir de ella. Algunos de los stakeholders, pueden ser
miembros del equipo de desarrollo, como ser implementadores,
verificadores, entre otros.
» Cliente
» Grupo de Arquitectos
» Comité Praxis

Confidencial
¿Qué resultados produce la
evaluación de una Arquitectura?

Confidencial
¿Qué resultados produce la evaluación de una
Arquitectura?

» En términos concretos, la evaluación de la arquitectura produce un


informe, la forma y contenido del mismo varía según el método
utilizado.

» Un acercamiento más asertivo a la arquitectura.

» En particular, produce repuestas a dos tipos de preguntas:


» ¿Es esta arquitectura adecuada para el sistema para la cual fue
diseñada?
» ¿Cuál de dos o más arquitecturas propuestas es la más adecuada para
el sistema?

Confidencial
¿Qué resultados produce la evaluación de una
Arquitectura? (Cont.)

» La evaluación de una arquitectura no produce resultados


cuantitativos.

» Lo que interesa, en un espíritu de mitigación de riesgos, es aprender


como un atributo de calidad es afectado por una decisión de diseño
arquitectónico, para que de esta manera se pueda estudiar con
cuidado dicha decisión.

» La evaluación ayuda a encontrar debilidades.

Confidencial
¿Para que cualidades se puede
evaluar una Arquitectura?

Confidencial
¿Para que cualidades se puede evaluar una
Arquitectura?

» Desempeño: Es el tiempo requerido para responder a un estímulo


(evento), o número de eventos por unidad de tiempo. Por ejemplo, una
posible medida podría ser cantidad de transacciones por segundo.

» Fiabilidad: Es la habilidad del sistema de continuar operando sobre el


tiempo. Es usualmente medida en tiempo promedio entre fallas.

» Disponibilidad: Es la porción de tiempo en que el sistema esta levantado


y corriendo. Se mide como el tiempo transcurrido entre fallas, así como,
cuán rápido el sistema está apto para reanudar y quedar operativo ante una
falla.

» Seguridad: Es la habilidad del sistema de resistirse al uso no autorizado y


negar los servicios, mientras los es utilizado por usuarios legítimos.

Confidencial
¿Para que cualidades se puede evaluar una
Arquitectura? (Cont.)

» Modificabilidad: Es la habilidad de realizar cambios al sistema en forma


rápida y a bajo costo.

» Portabilidad: Es la habilidad del sistema de correr sobre diferentes


ambientes.

» Funcionalidad: Es la habilidad del sistema de hacer el trabajo para el cual


fue construido.

» Variabilidad: Es la capacidad de la arquitectura de ser expandida o


modificada para producir nuevas arquitecturas.

Confidencial
¿Por qué se deben precisar los atributos
de calidad?

Confidencial
¿Por qué se deben precisar los atributos de calidad?

» Los atributos de calidad son la base para a la evaluación de una


arquitectura, pero por si solos no son suficiente para juzgar la
adecuabilidad de la arquitectura.

» El punto es que los atributos de calidad no son cantidades


absolutas, se debe tener claro el contexto y definir metas
específicas.
» Un sistema es modificable (o no) con respecto a un tipo de cambio
específico.
» Un sistema es seguro (o no) con respecto a un tipo de amenaza específica.
» Un sistema es confiable (o no) con respecto a la ocurrencia de un tipo de
falta específica.
» Un sistema es performante (o no) con respecto a un criterio específico de
performance.
» Una arquitectura es construible (o no) con respecto a restricciones de tiempo
y presupuesto específicas.

Confidencial
¿Por qué se deben precisar los atributos de calidad?
(Cont.)

» Es importante que el arquitecto entienda perfectamente bajo qué


circunstancias un sistema debe ser confiable para ser considerado
aceptable. Por lo tanto, el primer trabajo que debe realizar una
evaluación de arquitectura es obtener las metas específicas de
calidad ante las cuales la arquitectura será juzgada.

Confidencial
¿Cuáles son las salidas de una
evaluación?

Confidencial
¿Cuáles son las salidas de una evaluación?

» Las salidas de una evaluación arquitectónica son información e


ideas sobre la arquitectura.
» Lista priorizada de los atributos de calidad requeridos
» Una evaluación arquitectónica solo puede proceder si se conoce el criterio de
adecuabilidad. Es más, la obtención de los atributos de calidad requeridos
contra los cuales la arquitectura será juzgada, constituye la mayor parte del
trabajo. Pero ninguna arquitectura puede tener una lista interminable de
atributos de calidad, y por lo tanto, se utilizan métodos de priorización
consensuados.

» Mapeo a los atributos de Calidad


» Riesgos y no riesgos.
» Los riegos son decisiones arquitectónicas potencialmente problemáticas. Los
no riesgos son buenas decisiones, que confían en suposiciones que con
frecuencia son implícitas en la arquitectura.

Confidencial
¿Cuáles son los costos y beneficios de
realizar una evaluación arquitectónica?

Confidencial
¿Cuáles son los costos y beneficios de realizar una
evaluación arquitectónica?

» El mayor beneficio que brinda la evaluación de una arquitectura, es


que descubre los problemas que si se encuentran más tarde, sería
mucho más costoso corregirlos.

» Reúne a los stakeholders: En una evaluación arquitectónica es,


comúnmente, la primera vez en que la mayoría de los stakeholders se
encuentran.

Confidencial
¿Cuáles son los costos y beneficios de realizar una
evaluación arquitectónica? (Cont.)

» Obliga a una articulación en las metas específicas de calidad: El rol del


stakeholder es articular las metas de calidad que la arquitectura debería
alcanzar para ser considerada exitosa. Estas metas no siempre son
capturadas en algún documento de requerimientos.

» Obliga a una explicación clara de la arquitectura: El arquitecto convoca a


un grupo de personas, para explicarles la creación de la arquitectura, en
detalle y sin ambigüedades. El proyecto se ve beneficiado cuanto antes se
realice esta explicación.

» Mejora la calidad de la documentación de la arquitectura:


Generalmente, la evaluación pide documentación que aún no está
terminada, entonces se designa alguien del plantel a terminarla. Una vez
más, el proyecto se ve beneficiado porque se ingresa al desarrollo mejor
preparado al tener los documentos terminados.

Confidencial
¿Cuáles son los costos y beneficios de realizar una
evaluación arquitectónica? (Cont.)

» Descubre oportunidades de reuso: Los stakeholders y el equipo de


evaluación provienen de afuera del proyecto de desarrollo, pero trabajan o
están familiarizados con otros proyectos. Por lo tanto, ambos están en una
buena posición para detectar componentes que pueden ser reusados en
otros proyectos, o conocer componentes que ya existen que pueden ser
utilizados en el proyecto actual.

» Resultan mejoras en las arquitecturas: Las organizaciones que


practican la evaluación arquitectónica como un estándar de su proceso de
desarrollo, reportan una mejora en la calidad de las arquitecturas que son
evaluadas.

Confidencial
¿Cuáles son los costos y beneficios de realizar una
evaluación arquitectónica? (Cont.)

» Costos de la unidad de evaluación institucional


» Gastos de Administración
» Gastos de comunicación
» Personal de la unidad
» Reubicación de personal
» Entrenamiento

» Diseñadores realizando evaluaciones


» El tiempo dedicado en entrenamiento

Confidencial
¿Cuáles son los costos y beneficios de realizar una
evaluación arquitectónica? (Cont.)

» Costos de retrabajo

Tipo Cantidad de Distribución Esfuerzo en Minutos Cantidad en horas Costo por Defecto Dinero $
Defectos (Esfuerzo en
Minutos / Cantidad)
1 70 40% 5617 93.62 $374.47 $26,212.67
2 44 25% 5181 86.35 $549.50 $24,178.00
3 48 27% 5831 97.18 $566.90 $27,211.33
4 15 8% 710 11.83 $220.89 $3,313.33
Totales 177 100% 17339 288.98 $80,915.33

Confidencial
Métodos de análisis, diseño y evaluación
de arquitectura de software.

Confidencial
Introducción.

» Hay una variedad de técnicas para la realización de evaluaciones,


cada uno con un costo diferente y proporcionando diferente
información.

» Técnicas de interrogatorio, evalúan para un motivo específico

» Técnicas de medición, para responder preguntas sobre atributos de


calidad específicos

Confidencial
Introducción (Cont.)

» Técnicas de interrogatorio
» Técnicas basadas en escenarios
» Los escenarios describen una interacción específica entre los stakeholders y
el sistema.
» El arquitecto explica cómo la arquitectura soporta cada escenario planteado
por los evaluadores.
» ATAM es el método más conocido de escenario basado en el método de
evaluación.

» Técnicas basadas en cuestionarios


» La evaluación consiste en el arquitecto respondiendo a una lista preparada
de preguntas.
» Algunas preguntas se aplican a todas las arquitecturas
» Algunas preguntas son acerca de los detalles de una arquitectura.
» Algunos preguntan sobre el proceso o desarrollo: ("¿Hay un solo
arquitecto?“, "¿Cómo se asegura la conformidad?“)

Confidencial
Introducción (Cont.)

» Técnicas basadas en Métricas


» Simulaciones, prototipos, experimentos

» Implica construir modelos de un dominio o sistema específico de una


arquitectura
• Por ejemplo, un modelo de rendimiento o de una cola
• Los modelos de alta fidelidad son bastante caros de crear.

» Se pueden resolver los problemas planteados por una técnica de


interrogatorio;
• - Por ejemplo, "¿Qué evidencia tiene usted de que el rendimiento es suficiente?"

Confidencial
Introducción (Cont.)

» Técnicas de interrogatorio
» Técnicas basadas en Checklists
» Contienen juegos de preguntas de sí / no
» Resultan de la evaluación de muchas arquitecturas en un dominio y
"Madurez" de los escenarios o preguntas.
» A menudo se enfocan en los atributos especiales de calidad.
» Ejemplos
• ¿Has comprobado que el pico de carga está dentro de límites aceptables?
• ¿Ha realizado un análisis de árbol de fallos de seguridad de software?

Confidencial
Método SAAM

Confidencial
Introducción

» SAAM (Software Architecture Analysis Method) fue el primer método


de evaluación basado en escenarios que surgió.

» Los creadores de SAAM idearon un método para evaluar, por medio de


escenarios, los diferentes atributos de calidad que las arquitecturas de
software demandaban. En la práctica SAAM ha demostrado ser útil para
evaluar muchos atributos de calidad rápidamente, como portabilidad,
modificabilidad, extensibilidad, integrabilidad, así como la cobertura
funcional que tiene la arquitectura sobre los requerimientos del sistema.

Confidencial
Contexto y escenarios de SAAM (Cont.)

» Esta noción de evaluación basada en el contexto, nos ha llevado a


adoptar a los escenarios como los medios descriptivos para
especificar y evaluar atributos de calidad.

» Escenario:
» Podemos definir un escenario como una breve descripción de la
interacción entre un interesado y el sistema. El interesado puede ser un
cliente, usuario final, desarrollador, empresa desarrolladora,
administrador, inversor, etc.

Confidencial
Contexto y escenarios de SAAM (Cont.)

» Los escenarios son clasificados en escenarios directos e


indirectos.

» Un escenario directo no requiere que el sistema sea modificado para


soportarlo. Son similares a Casos de Uso.

» Un escenario indirecto requiere que se modifique la arquitectura para


ser soportado. También son conocidos como casos de cambio.

Confidencial
Pasos del método de análisis de
SAAM

Confidencial
Pasos del método de análisis de SAAM

» Paso 1. Desarrollo de escenarios.


» Los escenarios deben ilustrar el tipo de actividades que el sistema debe
soportar.
» También se deben ilustrar los tipos de cambios que el cliente anticipa
serán hechos al sistema.
» Se recomienda realizar en un proceso iterativo e incremental.
» Los escenarios que se desarrollen deben ser tales que:
» Reflejen el punto de vista de cada interesado.
» Reflejen los atributos más importantes requeridos.
# Escenario

1 Modificar el sistema para que se capaz de agregar dinámicamente una computadora a la


suite sin afectar la operación del usuario
2 Duplicar el número de usuarios concurrentes
3 Usar encripción de datos en todas las comunicaciones
4 Agregar un nuevo dato al catálogo de productos

Confidencial
Pasos del método de análisis de SAAM (Cont.)

» Paso 2. Descripción de la Arquitectura.


» En este paso se presenta la arquitectura o arquitecturas candidatas.
» Es fundamental que la notación empleada sea bien entendida por todos
los involucrados y la granularidad sea común para todas las
arquitecturas candidatas presentadas. Se deben indicar los principales
elementos de la arquitectura.

» Sistemas, componentes de datos, así como, las todas las conexiones


relevantes.

» Acompañando el punto anterior debe existir una descripción de cómo el


sistema se comporta con el paso del tiempo: una descripción dinámica.
Puede realizarse mediante lenguaje natural o algún otro método más formal.

Confidencial
Pasos del método de análisis de SAAM (Cont.)

» Paso 3. Clasificación y priorización de escenarios


» En este paso debemos clasificar los escenarios como directos o
indirectos.
» La priorización permite enfocarse en los escenarios más importantes en
el tiempo disponible para la evaluación.
» Para la priorización se puede dar un número de votos a cada
stakeholder típicamente el 30% de escenarios. Estos se pueden asignar
en uno o en múltiples escenarios.

# Escenario Votos

1 Modificar el sistema para que se capaz de agregar dinámicamente una 4


computadora a la suite sin afectar la operación del usuario
2 Duplicar el número de usuarios concurrentes 3
3 Usar encripción de datos en todas las comunicaciones 2
4 Agregar un nuevo dato al catálogo de productos 2

Confidencial
Pasos del método de análisis de SAAM (Cont.)

» Paso 4. Evaluación de escenarios.


» Para los escenarios directos el arquitecto demuestra como el escenario
es cubierto por la arquitectura
» Para cada escenario indirecto, se deben listar los cambios necesarios en
la arquitectura para soportarlo, y el costo de llevarlos a cabo debe ser
estimado.
» El hecho de clasificar los escenarios implica un análisis de la
arquitectura. Si la información necesaria no está disponible, puede
indicar que ciertos componentes de la arquitectura requieran un mayor
análisis y estudio.
» Usualmente el resultado de este paso se documenta en forma tabular.

Confidencial
Pasos del método de análisis de SAAM (Cont.)

» Paso 5. Interacción de escenarios


» Si un escenario requiere cambiar un componente, se dice que interactúa
con él.
» Debemos determinar las interacciones de escenarios sobre cada
componente.

Componente Escenarios

Vista 4

Controlador 4
Modelo 4

Confidencial
Pasos del método de análisis de SAAM (Cont.)

» Paso 6. Evaluación general


» Se asigna un peso a cada escenario en términos de su influencia para
que el sistema sea exitoso. El peso puede ser elegido de acuerdo a los
objetivos del negocio, costos, riesgos, etc.
» En este proceso deben participar todos los interesados.
» Por ejemplo, si se están comparando varias propuestas arquitectónicas,
el peso asignado es útil para resolver casos en los que un propuesta es
mejor que la otra.

Escenario MVC PAC

1 0 0

2 0 0
3 0 0
4 - +

Confidencial
Esfuerzo estimado en la aplicación de SAAM

» La sesión de evaluación de SAAM está planificada para ser llevada


a cabo en un día. Esto incluye la realización de los seis pasos del
método y excluye el tiempo de preparación de la evaluación, así
como también el esfuerzo de investigación de las arquitecturas
candidatas con la identificación y análisis de los escenarios y
estudios posteriores.
» Dependiendo del tamaño del proyecto, el número de interesados
involucrados durante la sesión de evaluación varía.

Confidencial
Método ATAM
(Architecture Tradeoff Analysis Method)

Confidencial
Introducción

» Este método de evaluación obtiene su nombre no solo porque nos


dice cuan bien una arquitectura particular satisface las metas de
calidad, sino que también provee ideas de cómo esas metas de
calidad interactúan entre ellas, como realizan concesiones mutuas
(tradeoff) entre ellas.

» El ATAM también puede ser utilizado para analizar sistemas


legados. Esta necesidad nace cuando el sistema legado necesita
ser modificado, integrado con otro sistema, entre otras necesidades.
Aplicar el ATAM incrementa el entendimiento de los atributos de
calidad del sistema legado.

Confidencial
Pasos del método ATAM

» El método ATAM se consta de 4 fases:


Fase: 0 Fase: 1 Fase: 2 Fase: 3
Preparación Evaluación Evaluación Seguimiento
Inicial completa

» 0: Fase previa a la evaluación, se discute el entendimiento del método y


el sistema. Se acuerda la evaluación y se define el equipo de evaluación

» 1: Esta fase se centrado en la arquitectura, realiza un análisis top- down.

» 2: Se centra en los stakeholders, obtiene sus puntos de vista y verifica


los resultados de la fase 1; realiza un análisis bottom-up.

» 3: Incluye los reportes finales al cliente y validan la calidad de la


evaluación y los materiales utilizados.
Confidencial
Pasos del método ATAM (Cont.)

» Las fase 1 y 2 se dividen en 9 pasos

Fase 1 1 Presentar el ATAM


2 Presentar las pautas del negocio
3 Presentar la arquitectura
4 Identificar las propuestas arquitectónicas
5 Generar el árbol de utilidad de los atributos de calidad
6 Analizar las propuestas arquitectónicas

Fase 2 Recapitulación fase anterior


7 Lluvia de ideas y priorización de escenarios
8 Analizar las propuestas arquitectónicas
9 Presentar los resultados

Confidencial
Pasos del método ATAM (Cont.)

» Paso 1 Presentar el ATAM:


» El líder del equipo de evaluación describe el método a los participantes,
fija las expectativas y responde las preguntas que puedan surgir.
» Los pasos del ATAM en resumen.
» Las técnicas que serán utilizadas para la obtención y análisis.
» Las salidas de la evaluación.

» Paso 2 Presentar las pautas del negocio:


» Un representante del proyecto (por ejemplo, el director de proyecto o el
cliente del sistema) describe las metas del negocio que motivan el
esfuerzo de desarrollo y que se convertirán en las pautas primordiales
de la arquitectura (por ejemplo, alta disponibilidad o alta seguridad).

Confidencial
Pasos del método ATAM (Cont.)

» La presentación debería describir:


• Las funciones más importantes del sistema.
• Toda restricción técnica, administrativa, económica o política relevante.
• Las metas del negocio y el contexto en que se relacionan con el proyecto.
• Los principales stakeholders.
• Las guías de la arquitectura (principales metas de los atributos de calidad que
dan forma a la arquitectura).

Esquema de presentación propuesto (12 láminas; 45 minutes)


» Descripción del ambiente de negocio, historia, diferenciadores del mercado, requerimientos clave,
stakeholders, necesidades recurrentes, y como el sistema propuesto cumplirá esas necesidades /
requerimientos (3 -4 láminas)
» Descripción e restricciones de negocio (tiempo de salida al mercado, demandas del mercado,
estándares, costo, etc.) (1 -3 láminas)
» Descripción de restricciones técnicas (productos comerciales, interoperabilidad con otros sistemas,
requerimientos de plataforma de hardware y software, reuso de código legado, etc. ) (1-3 láminas)
» Requerimientos de atributos de calidad y las necesidades de negocio que las generan (2-3 láminas)
» Glosario (1 lámina)

Confidencial
Pasos del método ATAM (Cont.)

» Paso 3 Presentar la arquitectura:


» El arquitecto describe la arquitectura, enfocándose en como está sigue
las pautas del negocio.
» La presentación de la arquitectura debería cubrir:
» Las restricciones técnicas, como el sistema operativo, el hardware, o
middleware predefinido.
» Otros sistemas con los cuales el sistema debe interactuar.
» Las propuestas arquitectónicas utilizadas para alcanzar los requerimientos
de los atributos de calidad.

» Las vistas contenidas en el documento de la arquitectura, son el principal


vehículo que el arquitecto debería utilizar para presentar la arquitectura.

» En este momento el equipo de evaluación comienza su prueba inicial


capturando las propuestas arquitectónicas como preludio del paso 4.

Confidencial
Pasos del método ATAM (Cont.)

Esquema de presentación propuesto (20 láminas; 60 minutes)


» Requerimientos de arquitectura, las medidas asociadas con estos y cualquier standard/modelo
utilizados o acercamiento para cumplirlos (2 -3 láminas)
» Vistas de alto nivel ( 4-8 láminas)
• Funcional: funciones, abstracciones clave del sistema elementos del dominio y sus
dependencias, flujo de datos
• Código: los subsistemas, capas, módulos que describan la descomposición funcional del
sistema, junto con los objetos, procedimientos y funciones
• Concurrencia: procesos, hilos y su sincronización, flujo de datos y eventos que los conectan.
• Despliegue: CPU´s, almacenamiento, dispositivos /sensores externos incluyendo las redes y
dispositivos de comunicación que los conectan.
» Acercamientos arquitectónicos, patrones o mecanismos empleados incluyendo que atributos de
calidad cubren. (3 -6 láminas)
» Uso de productos comerciales y como se seleccionan/integran (1-2 láminas)
» Traza de 1 a 3 de los escenarios de caso de uso más importantes, incluyendo si es posible, los
recursos que se consumen para cada escenario (1 - 3 láminas)
» Traza de 1 a 3 de los escenarios de crecimiento más importantes, incluyendo si es posible, el impacto
(tamaño estimado/dificultad en el cambio) en términos de componente modificados, conectores o
interfaces (1 - 3 láminas)
» Riesgos o detalles de arquitectura con respecto al cumplimiento de los requerimientos (2 - 3 láminas)
» Glosario (1 lámina)

Confidencial
Pasos del método ATAM (Cont.)

» Paso 4 Identificar las propuestas arquitectónicas:


» Las propuestas arquitectónicas son identificadas por el arquitecto, pero no
son analizadas.
» Se concentra en identificar propuestas arquitectónicas y estilos
arquitectónicos porque estos representan la manera en que la arquitectura
cumple con los atributos de calidad de mayor prioridad, esto significa que se
asegura que los requerimientos críticos serán alcanzados de manera
predecible.

Confidencial
Pasos del método ATAM (Cont.)

» Paso 5 Generar el árbol de utilidad de los atributos de calidad:


» Los atributos de calidad que comprometen la utilidad del sistema
(performance, disponibilidad, entre otros) son obtenidos, especificados
en escenarios (con estímulos y respuestas) y priorizados.

» Los participantes priorizan al árbol de utilidad en dos dimensiones:


» Por la importancia que cada escenario tiene para el éxito del sistema.
» Por el grado de dificultad que posee el escenario para ser realizado, según la
estimación del arquitecto.

» Habitualmente la escala utilizada para ambas dimensiones es High,


Medium, Low.

Confidencial
Pasos del método ATAM (Cont.)

» Ejemplo de árbol de utilidad

Confidencial
Pasos del método ATAM (Cont.)

» Paso 6 Analizar las propuestas arquitectónicas


» Basados en los escenarios de mayor prioridad identificados en el paso 5,
las propuestas arquitectónicas que cumplen con estos escenarios, se
obtienen y analizan (por ejemplo, una propuesta arquitectónica que logra
una meta de performance, será objeto de un análisis de performance).
Durante este paso los riesgos arquitectónicos, los no riesgos, los puntos
sensibles y puntos de desventaja son identificados.
» Las salidas de este paso incluyen:
» Las propuestas arquitectónicas o decisiones relevantes para cada escenario
de alta prioridad del árbol de utilidad.
» Las preguntas de análisis asociadas con cada propuesta, quedando los
atributos de calidad equipados con los escenarios asociados.
» Las respuestas del arquitecto a las preguntas.
» Los riesgos, no riesgos, puntos sensibles y puntos de compensación
identificados. Cada uno de estos esta asociado con el logro de uno o más
refinamientos de los atributos de calidad en el árbol de utilidad.

Confidencial
Pasos del método ATAM (Cont.)

» Plantilla de Análisis de propuestas


Análisis de arquitectura

Escenario#: Número Escenario Descripción del escenario del árbol


de utilidad
Atributo(s) Atributo(s) de calidad que cubre el escenario
Ambiente Supuestos relevantes sobre e ambiente en el cual el sistema reside y que son
condiciones relevantes cuando el escenario se desarrolla
Estímulo Una condición que afecta al sistema
Respuesta Actividad resultante por el estímulo
Decisiones Puntos Sensibles Tradeoffs Riesgos No riesgos

Decisiones de arquitectura Número Número Número Número


relevantes para el escenario que
afecta la respuesta
... … … … …
Razonamiento Razones cualitativa y/o cualitativas por las cuales las decisiones
arquitectónicas contribuyen a cubrir los requerimientos de calidad expresados
en el escenario
Diagrama de Arquitectura Diagrama(s) de las vistas que soportan el razonamiento

Confidencial
Pasos del método ATAM (Cont.)

» Escenarios
» Tipos
• Escenario de caso de uso
› Un usuario remoto solicita un reporte de base de datos vía web durante horas pico y lo
recibe en 5 segundos.
• Escenario de crecimiento
› Durante un mantenimiento, se agrega un nuevo servidor adicional en 1 semana.
• Escenario de exploración
› La mitad de los servidores se cae durante la operación normal sin afectar la
disponibilidad del sistema
» Elementos de un escenario
Fuente Entidad que genera un estímulo.
Estímulo Una condición que afecta al sistema (*)
Artefacto(s) Parte del sistema afectada por el estímulo
Ambiente La condición sobre la que el estímulo ocurre (*)
Respuesta Actividad resultante por el estímulo (*)
Medida de la Respuesta Medida por la cual el sistema es evaluado.

Confidencial
Pasos del método ATAM (Cont.)

» Paso 7 Lluvia de ideas y priorización de escenarios:


» Se obtiene un gran conjunto de escenarios con todos los stakeholders.
Este conjunto se prioriza a través votación.

# Escenario Votes

4 Replanear dinámicamente una misión en 10 minutos 28

27 Distribuir la administración de un juego de vehículos entre múltiples sites 26

10 Cambiar las herramientas de análisis una vez que la misión a comenzado sin 23
reiniciar el sistema.
12 Reorientar una colección de diversos vehículos para manejar una situación de 13
emergencia en menos de 10 segundos después de dar los comandos
14 Cambiar el mecanismo de distribución de datos a un nuevo estándar con un 12
máximo de esfuerzo de 6 meses hombre

Ejemplo de escenarios con ranking.

Confidencial
Pasos del método ATAM (Cont.)

» Paso 8 Analizar las propuestas arquitectónicas:


» En este paso se reitera las actividades del paso 6 utilizando el ranking
de escenarios del paso 7. Estos escenarios se consideran casos de
prueba para confirmar el análisis realizado hasta ahora. Este análisis
puede descubrir nuevas propuestas arquitectónicas, riesgos, no riesgos,
puntos sensibles y desventajas, que son documentados.

Confidencial
Pasos del método ATAM (Cont.)

» Paso 9 Presentar los resultados:


» Basados en la información recogida durante el ATAM (propuestas,
escenarios, árbol de utilidad, riesgos, no riesgos, puntos de sensibilidad
y puntos de desventaja ), el equipo de ATAM presenta los resultados a
los stakeholders.
» A veces, se deben hacer modificaciones dinámicas al calendario para
poder acomodarse a la disponibilidad del personal o de la información
arquitectónica. A pesar que los pasos están numerados, sugiriendo
linealidad, este no es un proceso en cascada estricto. De vez en
cuando, un evaluador podrá volver a pasos anteriores, saltar a un paso
posterior, o iterar entre pasos, según la necesidad. La importancia de los
pasos esta claramente delineada en las actividades involucradas en el
ATAM, junto con las salidas de estas actividades.

Confidencial
Peer Reviews

Confidencial
Peer Reviews

» Revisión en pares del documento de Arquitectura de software

» Proceso
» PEAC-PCMMPR-001.doc

» Formatos
» PEAC-PCMMPR-001.doc
» PEAC-PCMMPR-002.doc
» PEAC-PCMMPR-003.doc

» Checklist
» FOAC-PCMMPR-A&D-SAD.xls

Confidencial
¿Preguntas?

Confidencial
Gracias!

Confidencial

Vous aimerez peut-être aussi