Upload
trinhnga
View
217
Download
0
Embed Size (px)
Citation preview
06/04/2015
1
Arquitectura y Diseño de Sistemas • 12 Lic. Ariel Trellini • DCIC • UNS
Atributos de Calidad Medibles y No Medibles
Atributos de Calidad
Pueden ser medidos mientras que el sistema ejecuta
¿Devuelve la respuesta correcta? ¿Es fácil de usar? ¿Cuánto tarda en ejecutar un
transacción? ¿Un usuario no autorizado puede
vulnerar la seguridad? ¿Con qué frecuencia se cae o deja
de funcionar?
Medibles
No pueden ser medidos mientas el sistema ejecuta, sino antes o después
¿Cuánto esfuerzo requiere su construcción?
¿Cuánto esfuerzo requiere su testeo?
¿Cuánto esfuerzo requiere su integración?
¿Cuánto costó? ¿Cuán fácil será de modificar?
No Medibles
Arquitectura y Diseño de Sistemas • 13 Lic. Ariel Trellini • DCIC • UNS
Clases de Cualidades
Atributos de Calidad
Cualidades del Sistema
Cualidades Relativas al Negocio
Cualidades de la Arquitectura
Disponibilidad Modificabilidad Performance Seguridad
Testeabilidad Usabilidad Etc.
Aspectos del negocio que tienen impacto en decisiones arquitectura
Cualidades de la arquitectura que suelen tener impacto en otros atributos de calidad.
Integridad conceptual Correctitud y completitud Buildability (factibilidad de construcción) Etc.
Time to market Vida útil del sistema Costo y beneficio Plan de evolución Etc.
Aspectos relativos al funcionamiento del sistema. Pueden ser fehacientemente medibles o no.
Atributos de Calidad
Arquitectura y Diseño de Sistemas • 14 Lic. Ariel Trellini • DCIC • UNS
Cualidades Relativas al Negocio
Atributos de Calidad
Costo y Planificación Time To Market
Costos y Beneficios
Vida Útil Proyectada
Integración con Sistemas Legados
Marketing Mercado Apuntado
Plan de Lanzamiento (incremental vs one-time)
Organizacional Disponibilidad de equipo adecuada
Experiencia en el dominio y tecnologías
Arquitectura y Diseño de Sistemas • 15 Lic. Ariel Trellini • DCIC • UNS
Cualidades de la Arquitectura
Atributos de Calidad
Integridad Conceptual El sistema se construye a partir de un numero pequeño de estructuras
arquitectónicas que interactúan en un numero pequeño de formas (predeterminadas)
Se logra típicamente vía un solo arquitecto, o un grupo de arquitectos pequeño y coordinado
Correctitud y Completitud Es esencial que tanto los requerimientos funcionales como las restricciones
sean satisfechos por la arquitectura.
Se utilizan evaluaciones formales para verificarlos (por ej, ATAM)
Buildability Determina si el sistema puede ser construido con los recursos disponibles
Equipo
Conocimientos
Herramientas / Componentes
Arquitectura y Diseño de Sistemas • 16 Lic. Ariel Trellini • DCIC • UNS
Cómo Definir Atributos de Calidad
Atributos de Calidad
Existen 3 problemas para definir atributos de calidad Las definiciones provistas por un atributo no son testeables
Ejemplo: “El sistema tiene que ser modificable”
No es claro a qué cualidad pertenece un aspecto particular del sistema
Ejemplo: ¿Una falla del sistema es un aspecto de disponibilidad, seguridad o usabilidad?
Cada comunidad tiene su propio vocabulario
Performance: Habla de “eventos” arribando en el sistema
Seguridad: Habla de “ataques” arribando al sistema
Disponibilidad: Habla de “fallas” de un sistema
Usabilidad: Habla de “inputs de usuario”
Un requerimiento de atributo de calidad debería ser testeable y no
ambiguo. Para lograrlo, se utilizan escenarios de atributo de calidad
como una forma de caracterizarlos.
Arquitectura y Diseño de Sistemas • 17 Lic. Ariel Trellini • DCIC • UNS
Escenarios Generales vs Concretos
Escenarios de Atributo de Calidad
Atributos de Calidad
Mecanismo que permite caracterizar/capturar aspectos
de atributos de calidad de una forma que puede ser
evaluado y utilizado en diseño
Generales Concretos
Son independientes del sistema y, potencialmente pueden pertenecer a cualquier sistema.
Aquellos que son específicos al sistema en consideración.
Definición
Ejemplo Llega un requerimiento para hacer un cambio en la funcionalidad, y el cambio debe ser hecho en un momento particular dentro del proceso de desarrollo y dentro de un periodo de tiempo específico.
Llega un requerimiento para agregar soporte a un nuevo browser para un sistema web y el cambio debe ser hecho en, como máximo, 2 semanas.
06/04/2015
2
Arquitectura y Diseño de Sistemas • 18 Lic. Ariel Trellini • DCIC • UNS
Atributos de Calidad Escenarios
Partes de un Escenario de Atributo de Calidad Estímulo. La condición a ser considerada cuando arriba al sistema.
Fuente de Estímulo. Es la entidad (humano, otro sistema, u otro actor) que generó el estímulo.
Ambiente. Las condiciones sobre las que ocurre el estímulo
Artefacto. El artefacto (componente, equipo, sistema entero) que es estimulado.
Respuesta. Define las acciones que el artefacto debería realizar como respuesta al estímulo.
Medida de la Respuesta. La medida de la respuesta por la cual el artefacto es evaluado.
Las partes de un Escenario de Atributo de Calidad
Arquitectura y Diseño de Sistemas • 19 Lic. Ariel Trellini • DCIC • UNS
Tácticas
Atributos de Calidad
Definición
Consideraciones Cada táctica es una opción de diseño. Puede haber otras
Una táctica puede ser refinada en otras
Generalmente las tácticas para un atributo de calidad se organizan en una jerarquía.
¿Cómo se imparte portabilidad a un diseño? ¿Y performance? ¿E interoperabilidad?
Una táctica es una decision de diseño que influencia el control
de la respuesta de un atributo de calidad
Táctica para Controlar la RespuestaEstímulo Respuesta
Arquitectura y Diseño de Sistemas • 20 Lic. Ariel Trellini • DCIC • UNS
Definición
Áreas de Interés
Ejemplo: Disponibilidad
Atributos de Calidad
Es la probabilidad que tiene el Sistema de estar operativo
cuando se lo necesita. Se preocupa de las fallas del Sistema y
sus consecuencias asociadas:
Una falla ocurre cuando el Sistema no provee un servicio
consistente con sus especificaciones.
Dicha falla es observable por los usuarios del Sistema.
¿Cómo se detecta la falla? ¿Cuán frecuentemente ocurre? ¿Qué pasa cuando la falla ocurre? ¿Cuánto tiempo el Sistema puede
estar fuera de operación?
¿Cuándo una falla puede ocurrir de manera segura? ¿Cómo se puede evitar una falla?
¿Qué tipo de notificaciones son necesarias cuando ocurre una falla?
¿Cuánto tiempo toma su reparación?
Arquitectura y Diseño de Sistemas • 21 Lic. Ariel Trellini • DCIC • UNS
Fallas vs Defectos Las fallas son observables por los usuarios del Sistema, mientras que un
defecto no.
Cuando un defecto es observable por usuarios, pasa a ser una falla.
Si el Sistema puede corregir automáticamente los efectos de un defecto, entonces no se convierte en una falla
Medición
Atributos de Calidad Disponibilidad
Disponibilidad1 =tiempo medio de falla
tiempo medio de falla + tiempo medio de reparación
1 Los downtimes (fuera de servicio) planificados no son considerados en el cálculo.
Arquitectura y Diseño de Sistemas • 22 Lic. Ariel Trellini • DCIC • UNS
Requerimientos de Disponibilidad de Ejemplo
Atributos de Calidad Disponibilidad
Arquitectura y Diseño de Sistemas • 23 Lic. Ariel Trellini • DCIC • UNS
Ejemplo de Escenario General
Atributos de Calidad Disponibilidad
Parte Valores Posibles
Fuente Interna al Sistema; externa al sistema
Estímulo Defecto: omisión, crash, timing incorrecto, respuesta incorrecta
Artefacto Procesadores del sistema, canales de comunicación, almacenamiento persistente, procesos
Ambiente Operación Normal, Inicio del Sistema, Modo de ReparaciónOperación Degradada (por ej, funcionalidad limitada)
Respuesta El Sistema detectaría un evento y haría una o varias de las siguientes acciones: Registrarlo Notificar a quienes corresponda, incluyendo el usuario y otros sistemas Deshabilitar las fuentes de eventos que causan el defecto o falla de acuerdo a
las reglas definidas Quedar no disponible por un intervalo de tiempo, hasta que se repare Continuar la operación en Modo Degradado mientras se repara.
Medida de la Respuesta
Intervalo de tiempo en el que el Sistema debe estar disponiblePorcentaje de disponibilidadTiempo para detectar la fallaTiempo para reparar la fallaTiempo que el Sistema puede funcionar en modo Degradado
06/04/2015
3
Arquitectura y Diseño de Sistemas • 24 Lic. Ariel Trellini • DCIC • UNS
Ejemplo de Escenario Concreto
Atributos de Calidad Disponibilidad
Fuente:Heartbeat
Monitor
Estímulo:Servidor no
respondeAmbiente:Operación Normal
Respuesta:Informar al
operador
Continuar la
operación
Medida de
Respuesta:Sin caídas
Artefacto:Proceso
“El heartbeat monitor determina que el servidor no responde ante operaciones normales. El sistema le informa al operador y continua operando sin tiempo de caídas.”
Arquitectura y Diseño de Sistemas • 25 Lic. Ariel Trellini • DCIC • UNS
Tácticas
Atributos de Calidad Disponibilidad
Arquitectura y Diseño de Sistemas • 26 Lic. Ariel Trellini • DCIC • UNS
Definición
Áreas de Interés ¿Qué puede cambiar
(el artefacto)?
¿Cuándo se hace el cambio?
¿Quién lo hace?
Cuál es la probabilidad de cambio
Ejemplo: Modificabilidad
Atributos de Calidad
Es el costo (y riesgo) que tiene realizar un cambio en el Sistema.
Funcionalidad Plataforma (hw, so, middleware) Ambiente (sistemas con los que debe interoperar) Cualidades del Sistema (performance) Capacidad (# usuarios, # tx)
Codificación Compilación Build
Configuración Ejecución
Desarrollador Administrador de Sistema Usuario Final
Arquitectura y Diseño de Sistemas • 27 Lic. Ariel Trellini • DCIC • UNS
¿Cuál es el costo de hacer un sistema más modificable? El costo de introducir el/los mecanismo/s para hacer el sistema más
modificable
El costo de hacer la modificación usando el/los mecanismo/s
Para N modificaciones similares, una justificación simplificada para la creación de un mecanismo de cambios podría ser:
Atributos de Calidad Modificabilidad
Sin mecanismo Con mecanismo
Costo de Introducir el mecanismo
Cero Costo de crear el mecanismo
Costo de hacer la modificación El costo de cambiar el código fuente y testearlo
Costo de usar el mecanismo parahacer el cambio y testear el cambio
N x Costo de hacer el cambio sin el mecanismo
Costo de crear el mecanismo + (N x Costo de hacer el cambio usando el mecanismo)=>
* N es la cantidad de modificaciones del mismo tipo que se preven (una predicción)
Arquitectura y Diseño de Sistemas • 28 Lic. Ariel Trellini • DCIC • UNS
Ejemplo de Escenario General
Atributos de Calidad Modificabilidad
Parte Valores Posibles
Fuente [Quién hace el cambio] Usuario final, desarrollador, administrador del sistema
Estímulo [Qué cambio debe hacerse] Deseo de agregar/modificar/eliminar funcionalidad, atributos de calidad, etc.
Artefacto [Qué tiene que cambiar] UI del sistema, plataforma, ambiente, sistemas con los que interactúa
Ambiente [Cuándo se hace el cambio] Ejecución, compilación, build, diseño
Respuesta Localizar los lugares a ser modificados Realizar las modificaciones sin afectar otras características del sistema Testear las modificaciones Instalar modificaciones
Medida de la Respuesta
Costo del cambio en términos de: Elementos afectados Esfuerzo Dinero Grado en que afecta a otras características del sistema.
Arquitectura y Diseño de Sistemas • 29 Lic. Ariel Trellini • DCIC • UNS
Ejemplo de Escenario Concreto
Atributos de Calidad Modificabilidad
Fuente:Desarrollador
Estímulo:Desea
modificar la
UI Ambiente:En tiempo de
diseño
Respuesta:La modificación es
hecha sin efectos
colaterales Medida de
Respuesta:3 horas
Artefacto:Código
“Un desarrollador desea cambiar la interfaz de usuario para que el color de fondo de la pantalla sea azul. El cambio se realizará sobre el código en tiempo de diseño, debiendo tomar no más de 3 horas en realizarlo y testearlo y sin tener efectos colaterales sobre el comportamiento del sistema.”
06/04/2015
4
Arquitectura y Diseño de Sistemas • 30 Lic. Ariel Trellini • DCIC • UNS
Tácticas
Se basan en 4 variables Tamaño del un módulo
Siempre y cuando el criterio para dividir el módulo refleje el tipo de cambio que es probable de ocurrir
AcoplamientoReducir el acoplamiento entre dos módulos A y B disminuirá el costo esperado de cualquier modificación que afecte a uno de esos módulos.
CohesiónSi un módulo tiene una baja cohesión, puede ser mejorada eliminando responsabilidad no afectadas por los cambios previstos. Así se reduce la posibilidad de efectos colaterales.
Momento de implementación (binding time)En una arquitectura que propicia modificaciones tardías en el ciclo de vida, en promedio, un cambio costará menos que en una arquitectura que fuerza que la misma modificación sea hecha más temprano.
Atributos de Calidad Modificabilidad
Arquitectura y Diseño de Sistemas • 31 Lic. Ariel Trellini • DCIC • UNS
Atributos de Calidad Modificabilidad
Arquitectura y Diseño de Sistemas • 32 Lic. Ariel Trellini • DCIC • UNS
Definición
Consideraciones Origen de eventos
Patrón de arribo del eventos
Variable a evaluar
Ejemplo: Performance
Atributos de Calidad
Se ocupa básicamente de cuánto tiempo le toma al Sistema
responder cuando ocurre un evento.
De usuarios De otros sistemas Del mismo sistema
Periódico Estocástico Esporádico
Latencia Momento de procesamiento Throughput Varianza de la latencia Cantidad de eventos no procesados por exceso de carga Datos perdidos por exceso de carga
Arquitectura y Diseño de Sistemas • 33 Lic. Ariel Trellini • DCIC • UNS
Ejemplo de Escenario General
Atributos de Calidad Performance
Parte Valores Posibles
Fuente Una de un número independiente de fuentes posibles
Estímulo Eventos periódicos arribanEventos estocásticos arribanEventos esporádicos arriban
Artefacto El sistema, uno de sus componentes, un conjunto de componentes
Ambiente Modo normalModo sobrecargadoModo emergencia
Respuesta Procesar el estímulo Cambiar el nivel de servicio
Medida de la Respuesta
Latencia Deadline, Throughput Varianza de latencia Tasa de pérdida de requerimientos Tasa de pérdida de datos.
Arquitectura y Diseño de Sistemas • 34 Lic. Ariel Trellini • DCIC • UNS
Ejemplo de Escenario Concreto
Atributos de Calidad Performance
Fuente:Usuarios
Estímulo:Instanciar
TransaccionesAmbiente:Bajo operación
normal
Respuesta:Transacciones
procesadasMedida de
Respuesta:Latencia
promedio de 2
segundos
Artefacto:Sistema
“Bajo una operación normal del sistema, las transacciones ejecutadas por los usuarios deberían resolverse, en promedio, en 2 segundos.”
Arquitectura y Diseño de Sistemas • 35 Lic. Ariel Trellini • DCIC • UNS
Tácticas
Background
Tiempo de ProcesamientoLos eventos son manejados por la ejecución de uno o más componentes, cuyo tiempo utilizado es un recurso.
Contención de RecursosMuchos recursos pueden ser usados por un único cliente a la vez. Otros clientes deben esperar para acceder a ese recurso.
Tiempo de BloqueoUn cómputo puede estar bloqueado debido a contención sobre otro recurso, ya que el recurso no está disponible, o a que el cómputo depende del resultado de otro cómputo que aun no está disponible.
Disponibilidad de RecursosUn cómputo podría estar detenido debido a la no disponibilidad de un recurso: porque el recursos está offline, o porque está atravesando una falla.
Dependencia sobre otros cómputosUn cómputo puede tener que esperar porque debe sincronizarse con el resultado de otro cómputo
Atributos de Calidad Performance
06/04/2015
5
Arquitectura y Diseño de Sistemas • 36 Lic. Ariel Trellini • DCIC • UNS
Atributos de Calidad Performance
Arquitectura y Diseño de Sistemas • 37 Lic. Ariel Trellini • DCIC • UNS
Definición
Consideraciones Tipos de ataque
Acceder a datos/servicios a los que el usuario no está autorizado
Limitar el servicio a usuarios legítimos
La seguridad puede ser caracterizada en términos de:
Ejemplo: Seguridad
Atributos de Calidad
Es una medida de la capacidad que tiene un Sistema para
resistir el uso no autorizado mientras continua proveyendo
servicio a usuarios legítimos
Confidencialidad Integridad Disponibilidad
Autenticación No repudiación Autorización
Arquitectura y Diseño de Sistemas • 38 Lic. Ariel Trellini • DCIC • UNS
Ejemplo de Escenario General
Atributos de Calidad Seguridad
Parte Valores Posibles
Fuente Individuo o sistema que está…correctamente identificado, incorrectamente identificado, de identidad desconocida
que es…Interno/externo, autorizado/no autorizado
con acceso a.Recursos limitados, vastos recursos
Estímulo Trata de…Ver datos, modificar/eliminar datos, acceder a servicios del sistema, reducir la disponibilidad de los servicios del sistema
Artefacto Servicios del sistema; datos dentro del sistema
Ambiente Online u offline; conectado o desconectado; detrás de un firewall o abierto
Respuesta Autentica al usuario; oculta la identidad del usuario; bloquea/permite accesos a datos y/o servicios; garantiza o rechaza permisos para acceder a datos y/o servicios; registra los accesos por usuario; almacena datos en un formato no legible; reconoce un inexplicable aumento de demanda del servicio, informando a un usuario u otro sistema y restringiendo la disponibilidad del servicio.
Medida de la Respuesta
Tiempo/esfuerzo/recursos necesarios para sortear medidas de seguridad con probabilidad de éxito; probabilidad de detectar ataques; probabilidad de identificar responsables de un ataque o del acceso/modificación de datos; porcentaje de servicio aun disponible ante un ataque “denial-of-services”.
Arquitectura y Diseño de Sistemas • 39 Lic. Ariel Trellini • DCIC • UNS
Ejemplo de Escenario Concreto
Atributos de Calidad Seguridad
Fuente:Empleado
descontento
conectado
remotamente
Estímulo:Intenta
modificar
tasas de pago Ambiente:Bajo operación
normal
Respuesta:El Sistema
mantiene registros
de auditoría Medida de
Respuesta:Los datos correctos
son restaurados
dentro de 1 día y el
autor es identificado
Artefacto:Datos dentro
del Sistema
“Un empleado descontento desde una ubicación remota intenta acceder a la tabla de tasas de pago durante la operación normal. El sistema mantiene un registro de auditoría y los datos correctos son restaurados dentro de 1 día.”
Arquitectura y Diseño de Sistemas • 40 Lic. Ariel Trellini • DCIC • UNS
Tácticas
Atributos de Calidad Seguridad
Arquitectura y Diseño de Sistemas • 41 Lic. Ariel Trellini • DCIC • UNS
Definición
Consideraciones Se orienta, principalmente, a la posibilidad de realizar tests automatizados:
unit tests, integration tests, UI tests.
Para que un artefacto de software sea testeable, debe ser posible
Controlar las entradas del componente, ejercitando su estado interno.
Observar las salidas
Ejemplo: Testeabilidad
Atributos de Calidad
Es el grado en el cual un artefacto de software (sistema,
modulo, clase, etc) soporta testing en un contexto de test dado.
Si la testeabilidad del arterfacto de sw es alta, entonces
encontrar defectos a través del testing es más sencillo.
06/04/2015
6
Arquitectura y Diseño de Sistemas • 42 Lic. Ariel Trellini • DCIC • UNS
Ejemplo de Escenario General
Atributos de Calidad Testeabilidad
Parte Valores Posibles
Fuente Testers unitarios; testers de integración, tester de sistema, tester de aceptación, usuario finales del sistema (ya sea de manera manual o automática)
Estímulo Un conjunto de tests es ejecutado debido a: Incremento de código terminado o integración de subsistema terminada Sistema entregado
Artefacto La porción del sistema siendo testeada
Ambiente En tiempo de desarrollo En tiempo de compilación En tiempo de deployment En tiempo de ejecución
Respuesta Ejecutar un conjunto de tests y capturar el resultado Capturar las actividades que resultaron en una falla. Controlar y monitorear el estado del sistema
Medida de la Respuesta
Porcentaje de cobertura del código ejecutable Probabilidad de falla, si la falla existe Tiempo para realizar los test Longitud de la cadena de dependencias más larga en un test Cantidad de tiempo para preparar un ambiente de test
Arquitectura y Diseño de Sistemas • 43 Lic. Ariel Trellini • DCIC • UNS
Ejemplo de Escenario Concreto
Atributos de Calidad Testeabilidad
Fuente:Tester Unitario
Estímulo:Unidad de
código
terminada Ambiente:Desarrollo
Respuesta:Resultados
capturadosMedida de
Respuesta:La cobertura de
código del 85% es
realizada en 3 horas.
Artefacto:Unidad de
códigp
“Un tester unitario (desarrollador) terminó una unidad de código durante el desarrollo y realiza una secuencia de tests cuyos resultados son capturados logrando una cobertura del 85% en menos de 3 horas.”
Arquitectura y Diseño de Sistemas • 44 Lic. Ariel Trellini • DCIC • UNS
Tácticas
Atributos de Calidad Testeabilidad
Arquitectura y Diseño de Sistemas • 45 Lic. Ariel Trellini • DCIC • UNS
Caso de Estudio: El Ejército de Simios de Netflix Netfix está montado sobre la nube de Amazon (AWS), más precisamente
sobre instancias de EC2 (servidores virtuales).
Utiliza un “ejército de simios” como para parte de su proceso de testing.
Chaos Monkey: Aleatoriamente mata procesos en el sistema ejecutando para monitorear el efecto de un proceso fallido.
Latency Monkey: Introduce retardos artificiales en la capa de comunicación “cliente-servidor” para simular degradación.
Conformity Monkey: Busca instancias que no adhieren a las buenas prácticas y las baja (por ej., instancias que no pertenecen a un auto-scaling group).
Doctor Monkey: Monitorea la salud de las instancias de EC2.
Janitor Monkey: Asegura que en ambiente de Netflix en la nube no desperdicia recursos. Donde encuentra un recurso no usado, lo libera.
Security Monkey: Busca violaciones o vulnerabilidades de seguridad. Si las encuentra, las elimina. También chequea que los certificados SSL no se venzan.
10-18 Monkey: Detecta problemas de configuración de localización e i18n.
Netflix pondera la testeabilidad de su sistema para asegurar la calidad de su servicio.
Atributos de Calidad Testeabilidad
Arquitectura y Diseño de Sistemas • 46 Lic. Ariel Trellini • DCIC • UNS
Definición
Areas de Interés Aprendizaje de características del sistema
Uso eficiente del sistema
Minimizar el impacto de errores
Adaptación del sistema a las necesidades del usuario
Incrementar la confianza y satisfacción
Relación con la Arquitectura Muchas características de usabilidad requieren de soluciones
arquitectónicas tempranas
Ejemplo: Usabilidad
Atributos de Calidad
La facilidad con que las personas pueden utilizar un Sistema con
el fin de alcanzar un objetivo concreto.
Arquitectura y Diseño de Sistemas • 47 Lic. Ariel Trellini • DCIC • UNS
Ejemplo de Escenario General
Atributos de Calidad Usabilidad
Parte Valores Posibles
Fuente Usuario final
Estímulo Quiere…Aprender las características del sistema; usar el sistema eficientemente; minimizar el impacto de errores de usuario; adaptar el sistema a sus necesidades; configurar el sistema
Artefacto Sistema
Ambiente En tiempo de ejecución; en tiempo de configuración
Respuesta Para soportar el aprendizaje de las características del sistemaSistema de ayuda sensible al contexto; UI familiar para el usuario
Para soportar el uso del sistema eficientementeAgregación de datos/comandos; reuso de datos y comandos ya ingresados; soporte para una navegación eficiente; distintas vistas con operaciones consistentes;
Para minimizar el impacto de errores de usuarioDeshacer, rehacer y recuperarse de una falla del sistema; reconocer y corregir un error de usuario; recuperar password olvidada
Para adaptar el sistemaPersonalización; Internacionalización
Para sentirse cómodoMostrar el estado del sistema; trabajar al ritmo del usuario
Medida de la Respuesta
Tiempo de la tarea; cantidad de errores; cantidad de problemas resueltos; satisfacción del usuario; tasa de operaciones exitosas vs operaciones no exitosas; interacción necesaria para completar una tarea.
06/04/2015
7
Arquitectura y Diseño de Sistemas • 48 Lic. Ariel Trellini • DCIC • UNS
Ejemplo de Escenario Concreto
Atributos de Calidad Usabilidad
Fuente:Usuarios
Estímulo:Descargar una
nueva
aplicación Ambiente:En ejecución
Respuesta:El usuario usa la
aplicación
productivamente Medida de
Respuesta:Dentro de 2 minutos
de exploración
Artefacto:Sistema
“Un usuario descarga una nueva aplicación y está usándola productivamente luego de 2 minutos de experimentación.”
Arquitectura y Diseño de Sistemas • 49 Lic. Ariel Trellini • DCIC • UNS
Tácticas
Atributos de Calidad Usabilidad
Arquitectura y Diseño de Sistemas • 50 Lic. Ariel Trellini • DCIC • UNS
Definición
Medidas: Tiempo Medio Entre Fallas (MTTF)
Porcentaje de operaciones que se ejecutan correctamente en un periodo
Ejemplo: Sistema de Aterrizaje Automático Disponibilidad Alta: Debe estar disponible cuando el avión debe aterrizar
Confiabilidad Baja: No tiene que permanecer operativo por largos periodosde tiempo.
Ejemplo: Confiabilidad
Atributos de Calidad
La capacidad de un sistema de mantenerse operativo en el
tiempo.
La probabilidad que tiene el sistema de realizar su función sin
fallas durante un período de tiempo
Arquitectura y Diseño de Sistemas • 51 Lic. Ariel Trellini • DCIC • UNS
Observaciones: Está muy ligado a otros atributos de calidad:
Disponiblidad: Es la probabilidad que tiene el Sistema de estar operativo en un determinado punto en el tiempo.
Tolereancia a Fallas: La capacidad para mantener un determinado nivel de rendimiento en casos de fallas de software o de violación a su interfaz.
Recuperabilidad: La capacidad de restablecer un nivel de rendimientodeterminado y recuperar los datos directamente afectados en caso de falla.
Madurez: La capacidad de evitar fallas como resultado de defectos en el software.
Atributos de Calidad Confiabilidad
Arquitectura y Diseño de Sistemas • 52 Lic. Ariel Trellini • DCIC • UNS
Ejemplo de Escenario General
Atributos de Calidad Confiabilidad
Parte Valores Posibles
Fuente Interna al Sistema; externa al sistema
Estímulo Defecto: datos erróneos, falla de hardware, bug en el código, problemas de ambiente
Artefacto Procesadores del sistema, canales de comunicación, almacenamiento persistente, procesos, datos
Ambiente Modo Normal, Modo Sobrecargado
Respuesta El Sistema detectaría un evento y haría una o varias de las siguientes acciones: Registrarlo Notificar a quienes corresponda, incluyendo el usuario y otros sistemas Tomar las acciones necesarias para dejar los datos consistentes Reintentar la operación (probablemente con algún delay)
Medida de la Respuesta
Tiempo medio entre fallas Porcentaje de operaciones que se ejecutan correctamente en un periodoTiempo que el Sistema puede funcionar en modo Sobrecargado
Arquitectura y Diseño de Sistemas • 53 Lic. Ariel Trellini • DCIC • UNS
Ejemplo de Escenario Concreto
Atributos de Calidad Disponibilidad
Fuente:Infraestructura
de AWS
Estímulo:Error de
acceso a un
servicio de
AWS
Ambiente:Operación Normal
Respuesta:Reintentar la
transacción
hasta tener
éxito.
Frecuencia de
reintento: 5,
10, 20, 40…
segundos,
Medida de
Respuesta:Sin
transacciones
fallidas
Artefacto:Proceso
“En AWS (la nube de Amazon) las conexiones a los servicios de AWS pueden fallar eventual y esporádicamente. Ante una falla de la infraestructura de AWS, el sistema debe reintentar la transacción en 5, 10, 20, 40... segundos hasta que logre ejecutarse existosamente.”
06/04/2015
8
Arquitectura y Diseño de Sistemas • 54 Lic. Ariel Trellini • DCIC • UNS
Tácticas
Atributos de Calidad Usabilidad
Reliability Tactics
Detect Faults Recover from Faults Prevent Faults
Ping/Echo
Monitor
Heartbeat
Timestamp
Sanity Checking
ConditionMonitoring
Voting
ExceptionDetection
Self-Test
Active Redundancy
PassiveRedundancy
Exception Handling
Rollback
Retry
Ignore FaultyBehaior
Degradation
Reconfiguration
Async. Processing
Preparation and Repair
Reintroduction
Shadow
State Resync
Escalating Restart
Non-Stop Forwarding
Transaction
Predective Model
ExceptionPrevention
IncreaseCompetence Set
Replace
Fault
FaultMaskedor RepairMade