Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Evaluacin de Arquitecturas de
Software
Contenido
Introduccin
Tipos de evaluacin
Cualitativa
Cuantitativa
Expedientes de escenarios
Mtodos de evaluacin
Basada en escenarios
Simulacin
Modelo matemtico
Basado en experiencia
2
Introduccin
La idea principal de la metodologa en estudio es
que los atributos de calidad de un sistema puedan
ser evaluados explcitamente durante el diseo
arquitectnico.
Tradicionalmente se implementa el sistema y
despus se evala. El problema es que no existe un
sistema implementado para ser evaluado.
Se propone evaluar el diseo y cuando cumpla
con los requisitos establecidos implementarlo.
3
Introduccin
Como puede medirse una especificacin
abstracta??
La meta de este capitulo es:
Evaluar el potencial de la arquitectura
diseada para alcanzar los niveles
requeridos en los atributos de calidad.
Ejemplo
Rendimiento NO usar Blackboard
Flexibilidad Usar Blackboard
4
Introduccin
La evaluacin de una arquitectura tiene
como meta:
Satisfacer los atributos de calidad
Satisfacer a los clientes
Proveer soporte para una lnea de
productos
La evaluacin puede ser absoluta o relativa
5
Evaluacin de
Arquitectura
Orientado a la
Arquitectura
Clientes
Expertos
Enfoque en
atributos de calidad
Cualitativo
(comparacin)
Cuantitativo
(prediccin)
6
Tipos de Evaluacin
Evaluacin cualitativa
Evaluacin cuantitativa
Evaluacin de valores
mximos-mnimos
7
Evaluacin Cualitativa
Las tcnicas de evaluacin cualitativas descansan
sobre el conocimiento que los arquitectos han
acumulado con la experiencia en la solucin de
ciertos tipos de problemas.
Evaluacin por pares
Patrones
Conocimiento estadstico, etc.
Ingeniera de conocimiento.
Capturar en documentos el conocimiento de los
ingenieros
Inteligencia artificial.
El conocimiento cualitativo se captura para construir
herramientas inteligentes que asistan al personal menos
experimentado
9
Evaluacin Cualitativa
Ejemplo: Comparar dos arquitecturas
relativamente a un atributo de calidad
establecido.
Desventaja: La respuesta de la evaluacin es
boolena: A1 es mejor que A2 o viceversa.
La comparacin podra ser relativa a mas de un
atributo de calidad. Pero que pasa si las
respuestas son contradictorias?
10
Evaluacin Cuantitativa
Las tcnicas de evaluacin cuantitativa miden las
propiedades de un sistema; es difcil usarlas
durante el proceso de desarrollo debido a que la
informacin del proyecto es incompleta
Ejemplo: Se requiere evaluar el rendimiento
(transacciones/segundo) de un sistema o el tiempo
promedio de respuesta (segundos/transacciones) o
estimar el costo de mantenimiento por ao.
Si podemos generar estimaciones verdicas entonces
podemos tomar mejores decisiones seleccionando la
mejor arquitectura.
11
Evaluacin Cuantitativa
Las estimaciones mejoraran al mismo
tiempo que el sistema se disea
Estas mejoraran considerablemente cuando
el sistema se implemente
NOTA IMPORTANTE: una estimacin
debe consistir de un valor estimado
acompaado por un estimado de su
beneficio
12
Tipos de Evaluacin
La evaluacin cuantitativa es mas costosa
que la cualitativa.
La evaluacin cuantitativa no es exacta.
(predice)
La evaluacin cualitativa tiende a ser mas
usada. (costo-beneficio)
14
Expedientes de Escenarios
Problema: Generalmente los requisitos de calidad
se omiten o se especifican pobremente en los
requerimientos de los clientes.
Las interfaces deben ser fciles de usar.
El sistema debe ser capaz de soportar una carga alta de
trabajo.
Expedientes
Posiblemente los usuarios/clientes no saben/pueden
especificar los atributos de calidad explcitamente
(e.g. Confiabilidad = 0.9999) pero usando su
imaginacin, describen de manera general el
funcionamiento del sistema.
Esto nos da un conjunto de escenarios para un
atributo de calidad en particular, los cuales
constituyen un expediente.
A cada escenario de un expediente se le asigna una
importancia relativa.
16
Tipos de Expedientes
Expedientes de Cambios (Mantenimiento)
Expedientes de Uso
(Eficiencia/Rendimiento, Confiabilidad)
Expedientes de Peligro (Seguridad)
17
Expedientes
Este mtodo expande la idea de desarrollar
casos de uso para especificar el
comportamiento esperado del sistema.
Los casos de uso sern usados para
caracterizar el rendimiento del sistema, e.g.
Cual es el tiempo de respuesta esperado
para un escenario especfico?
18
Expedientes
El problema es que muchos escenarios caen
fuera de los casos de uso normales.
Ejemplo: Situaciones de peligro para
especificar requerimientos de seguridad o
escenarios de cambios a futuro para
especificar requerimientos de
mantenibilidad.
19
Expedientes de Escenarios
Expediente completo
vs
Seleccin de escenarios
GUI
...
App
GUI
App
...
HW
...
OS
HW OS
20
Expedientes Completos o
Seleccin
Un expediente completo es aquel que contiene
todos los escenarios concernientes a un atributo
de calidad.
A menos que el sistema sea demasiado pequeo,
el nmero de escenarios ser demasiado grande
como para ser desarrollado completamente.
Ejemplo: En un expediente de mantenimiento,
como se podran anticipar todos los escenarios
de cambios futuros?
21
Expedientes Completos o
Seleccin
Si se decide usar un conjunto de escenarios
seleccionados, entonces habr otros problemas:
Para que el conjunto sea representativo, los escenarios
deben seleccionarse aleatoriamente del conjunto
completo. (experimentos en investigacin)
Debemos confiar en que el arquitecto tiene la
experiencia para seleccionar los escenarios que
formaran parte del expediente y que reflejen al
expediente completo. (Esto puede realizarse usando
algunas tcnicas grupales e.g. FMEA).
22
Definiendo Expedientes
La definicin de expedientes se puede
realizar de dos formas
Bottom-up
Top-down
23
24
26
Definiendo Expedientes
Formas de asignar pesos:
Individual (arquitecto)
Grupal (el equipo de diseo en sesin
interactiva)
Grupal previa. Cada miembro prepara
individualmente y en reunin grupal se define
el peso de cada escenario
28
Expedientes de Atributo de
Calidad
Los atributos de calidad pueden ser
definidos en:
Rendimiento/ Eficiencia
Mantenimiento
Confiabilidad
Seguridad externa
Seguridad en los datos
29
Expedientes de
Atributo de Calidad
Rendimiento/ Eficiencia.- Medir la
eficiencia del sistema en ejecucin:
30
Rendimiento/ Eficiencia
Categoras.- Se encuentran descomponiendo los escenarios
de uso en tipos de usuarios (actores) y/o interfaces del sistema.
31
Expedientes de Atributo de
Calidad
Confiabilidad.- Es una funcin de diferentes
Expedientes de Atributo de
Calidad
Confiabilidad
- Expediente.- Los escenarios de uso se evalan
respecto a la confiabilidad del componente.
- Peso.- Los pesos asociados a cada escenario y la
confiabilidad de los componentes permiten
calcular la confiabilidad del sistema.
- Informacin de la descripcin de la arquitectura
- Se requiere informacin de la confiabilidad de los
componentes (datos histricos o estimaciones por
experiencia).
33
Expedientes de Atributo de
Calidad
Seguridad Externa
Evala los efectos negativos o destructivos del
sistema. No se relaciona con la funcionalidad del
sistema sino con los efectos en el mundo real.
- Efectos fsicos
- La maquina no detecta burbujas de aire en la sangre.
- El sistema bancario realiza transacciones incorrectas.
Expedientes de Atributo de
Calidad
Seguridad en los datos
- Intento de alterar partes del sistema
- Informacin secreta o confidencial no disponible a
usuarios no autorizados.
Externo
(intento de acceso
No autorizado)
Intencional
37
Expedientes de Atributo de
Calidad
Mantenimiento. La meta es absorber los
38
Mantenimiento
Informacin para la Descripcin de la Arquitectura.
Los escenarios de cambios se evalan respecto al impacto
que provocan en la arquitectura.
El impacto se calcula en trminos de LOC que deben
cambiarse.
Debe estimarse el nmero de LOC de cada componente
del sistema para realizar la evaluacin del atributo de
mantenimiento.
LOC: Lines of code.
39
Ejemplo
Category
Market Driven
Hardware
Hardware
Hardware
Safety
Medical Adv.
Medical Adv.
Medical Adv.
Com.and I/O
Algorithms
Ejemplo
Pg.. 90
Categoras:
Enfocadas al Mercado
Hardware
Regulaciones de seguridad
Avances mdicos en la ciencia
Comunicacin y E/S
Implementacin de algoritmos
41
Resumen de Expedientes
Crear un expediente para cada atributo de calidad
Definir dos conjuntos de escenarios
Para diseo (completos)
Para evaluacin (parciales)
Basada en escenarios
Basada en simulacin
Basada en un modelo matemtico
Basada en la experiencia
43
Basada en Escenarios
Este mtodo depende directamente de el expediente
definido para el atributo de calidad que ser
evaluado.
La efectividad de la evaluacin depende de que la
seleccin de escenarios sea representativa. Si los
escenarios no son representativos del mundo real, el
mtodo puede resultar sospechoso.
44
Basada en Escenarios
Expediente de
escenarios
Arquitectura de
Software
Anlisis
Anlisisde
de
Impacto
Impacto
Resultados de
la Evaluacin
Puntos Problema
De la
Arquitectura
Prediccin
Prediccinde
de
Atributos
de
Atributos de
Calidad
Calidad
Valores de QA
45
Basada en Escenarios
Anlisis de Impacto:
Evala el impacto de cada escenario en la arquitectura.
Para escenarios de cambios:
Cuantos componentes requieren modificacin?
Cuantos componentes nuevos se requieren?
Cuantas lneas de cdigo (nuevas/modificadas)?
Basada en Escenarios
Prediccin de Atributos de Calidad usando los
resultados del anlisis de impacto.
Para mantenimiento:
Predecir el esfuerzo requerido en promedio para
mantenimiento usando como medida el nmero de lneas de
cdigo o las horas de trabajo.
Calcular el costo de mantenimiento (numero de horas de
trabajo para cada LOC * Total LOC)
Enfocadas al Mercado
Hardware
Regulaciones de seguridad
Avances mdicos en la ciencia
Comunicacin y E/S
Implementacin de algoritmos
Basada
en
Escenarios
Tabla de Expediente de cambios para mantenimiento
Categora
Peso
P Norm.
0.043
Hardware
0.043
Hardware
0.087
Hardware
0.174
Seguridad
0.087
Avances mdicos
0.217
Avances mdicos
0.087
Avances mdicos
0.087
Com. e I/O
0.043
Algoritmos
0.132
23
1.0
Enfocadas al
Mercado
Suma
Sistema de Control
Sistema de Proteccin
Hardware API
Nota: Los componentes no vienen en el libro.
IHM.- Responsable
de presentar
interfaces y alarmas
al usuario.
SC.- configuracin
del sistema para
operacin y
monitoreo.
SP.- Detecta
situaciones que
ponen en riesgo al
paciente e inicia
procesos para
regresar a un estado
50
seguro.
Tamao de componentes
Componente
LOC
HDFTreatment
200
ConcentrationDevice
100
ConcCtrl
175
100
HaemoDialysisMachines
500
Fluidheater
100
AlarmDetectorDevice
100
Basada en Escenarios
Tabla de Anlisis de Impacto de cada escenario en la arquitectura
Escenario
Componenetes Afectados
C1
C2
C3
C4
C5
C6
C7
See C3
C8
C9
C10
Volumen
0.2 * 200 + 20 = 60
0.2 * 100 + 0.5 *175 + 0.1 * 100 +
0.1 * 100 = 127.5
0.1 * 500 + 200 + 100 = 350
0.1 * 100 = 10
0.5 * 200 = 100
0.5 * 100 + 0.2 * 200 + 0.2 * 500 =190
= 350
100 + 20 = 120
0.2 * 200 + 0.5 * 500 = 290
52
= 100
53
Requerimientos
LOC x
Req
LOC x
hora
Prediccin
20
145
2900
20
145
1450
20
145
580
20
145
10
290
20
145
20
145
Basada en Simulacin
Implementacin de la arquitectura en un
prototipo
Contexto de simulacin abstracto
Evaluacin con la ejecucin de escenarios
Ejemplo
rendimiento
confiabilidad
57
Ejemplo
instantiate
measurement
item
trigger
getvalue(5x)
actuate
trigger
update(10x)
actuate
trigger
trigger
59
60
Basada en un Modelo
Matemtico
Modela la arquitectura usando
aproximaciones
Anlisis esttico por clculos
Relacin con otras tcnicas de evaluacin
ejemplo
Modelado de rendimiento
Modelado de tareas en tiempo real
61
Basado en Experiencia
Especialmente para ingenieros de software
experimentados
Argumentos lgicos guan el razonamiento
Base para otras tcnicas
Equipos de ingenieros para evaluacin de
arquitecturas
64
Satisfaccin de Clientes
Reunin despus del diseo arquitectnico (usuarios
finales, clientes, operadores, implementadores, etc.)
Cada grupo define sus escenarios principales
Mezcla de los escenarios y creacin de un
subconjunto
Discusin de escenarios (max. 20) para solucionar
conflictos
Si los conflictos permanecen, el diseo de la
arquitectura se rechaza , sino se continua con el
desarrollo
65
Conclusin
Especificacin de
Requerimientos
Arquitectura de
Software
Diagrama de
Contexto
Requerimientos
Funcionales
Arquetipos
Prioridad
Interfase
Relacin
Estructura
Componentes
Requerimientos de
Calidad
Relacin
Expediente
de escenarios
Decisin de
Diseo
Resultados de
Evaluacin
67