U01 - Atributos de Calidad

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 56

Ingeniería del Software III

Atributos de Calidad

Concepto, ventajas, desventajas, influencia de interesados. Relevamiento. Drivers de


arquitectura. Trade-off. Seguridad, performance, mantenibilidad, usabilidad,
modificabilidad, testabilidad, disponibilidad
El viaje…

Mundo Software
Mundo Usuarios
Requerimientos
Repaso
Requerimiento
• ISO 9000
– Requisito: Necesidad o expectativa establecida,
generalmente
implícita u obligatoria.
– Satisfacción del cliente: Percepción del cliente sobre el grado en que se han
cumplido sus requisitos.
• RAE
– Requerimiento: Acción y efecto de requerir.
– Requisito: Circunstancia o condición necesaria
para algo.
• IEEE 830-1998
– SRS: Especificaciones para un producto del software en particular, programa, o
juego de programas que realizan ciertas funciones en un ambiente específico
• SWEBOK
– Requirement: Software requirements express the needs and constraints
placed on a software product that contribute to the solution of some real-
world problem.
Los requerimientos del software
• Solicitud de una funcionalidad a incorporar en
un sistema informático o software.
• Representan la solución informática a un
problema del dominio del usuario final.
• Técnicas de representación
• Casos de Uso, prototipos, documentos ERS
Los requerimientos del software

El sistema debe permitir realizar una transacción


entre cuentas de forma segura y rápidamente.
Los requerimientos del software
Cono de incertidumbre
Dimensiones de los requerimientos
• Complejidad
– Los requerimientos poseen una complejidad en cuanto al esfuerzo que implica
su construcción.
• Detalle
– Los requerimientos exigen determinado nivel de detalle para su comprensión.
Cada técnica de representación implica una determinada burocracia que
repercute en el nivel de detalla con el cual se plasma un requerimiento.
• Estabilidad
– Los requerimientos pueden tener diversos niveles de estabilidad en cuanto a
su definición. Hay requerimientos que son estables y otros que pueden
cambiar durante el tiempo.
• Perspectiva
– Los requerimientos tienen una óptica desde la cual son analizados. Podemos
describirlos desde la perspectiva del cliente, de los técnicos, de los sponsors,
etc.
• Gestión
– Un cambio en un casos de uso implica actualizar la especificación y todos los
casos de prueba involucrados.
Algunos problemas…
Síntomas
• Es común terminar un proyecto fuera del costo/tiempo
presupuestado.

• Es común que un cliente no termine satisfecho por el producto


entregado.

• Es común desarrollar
software incluye funcionalidades
que nunca usa nadie.

• Es común tener que trabajar horas extras


o fines de semana para poder cumplir con
los compromisos.

• Es común no tener claro cual es el producto


a construir.
The Chaos Report 2009

Exitosos (32%) Desfasados (44%) Cancelados (24%)


• Participación del usuario • Falta de participación del • Requerimientos incompletos
usuario
• Soporte Ejecutivo • Falta de Involucramiento del
• Requerimientos y Usuario
• Claras especificaciones de especificaciones incompletos.
requerimientos • Falta de Recursos
• Cambios en requerimientos y
• Adecuada planificación especificaciones. • Expectativas no realistas

• Expectativas realistas • Falta de Soporte Ejecutivo • Falta de Soporte Ejecutivo

• Incompetencia tecnica
Impacto y causas
Desperdicio
El problema no es que aparezcan cambios. El problema
es no controlarlos.

Scope Creep
Desperdicio
“fenómeno por el cual el equipo del proyecto muchas veces entrega más funcionalidades o
características de las requeridas para el producto o servicio. “

Gold Plating
¿ y mi jugo de naranja?
COMPLEJIDAD
Cualidad de lo que está compuesto de
diversos elementos interrelacionadas
Relativa
Esencial

Accidental
➔ Desperdicios
Cynefin

Stacey
Conocimiento
Proyectos posibles
Simple Complejo Caótico

• Herramientas y • Riesgosos, • Mar bravío.


requerimientos creativos pero • El proyecto
conocidos. con grandes terminará…algún
• Podemos posibilidades de día.
planificar sin éxito. • Plena
temor a • Es un caos pero incertidumbre.
equivocarnos. con límites
• Resultados mínimos.
previsibles. • Equilibrio
• Poco lugar para inestable.
el cambio.
SIMPLES CAOS
(conocido) (no conocible)

…COMPLEJOS
(conocibles)
Priorización de PBI
• Priorización es determinar que tan importante
un PBI es. Conduce el trabajo del equipo para
que se enfoque en los ítems mas importantes.
Incertidumbre y
Valor riesgo
Es necesario el ítem para darle Los ítems para los cuales menos
vida al producto? Es necesario el conocimiento tenemos deben ser
ítem para que el producto logre prioritarios para eliminar
los beneficios esperados? tempranamente incertidumbre y
riesgos

Priorización

Entregabilidad
Dependencias
Entregar primero ítems que no
sepamos que deben hacer y Los ítems de los cuales otros
como. Al hacerlo, los mismos dependen deben implementarse
usuarios nos indicarán como primero.
continuar
MoSCoW
Maslow
Urgency x Business Value
La calidad del software

Steve McConell
- DSWBA-
La calidad del software
Atributos de Calidad
Atributos de calidad
• Calidad del software es el grado con el cual un
software posee una deseada combinación de
características (confiabilidad, interoperabilidad, etc.).
[IEEE 1061].

• Los atributos de calidad son aspectos del sistema que


definen la calidad y las características que éste debe
soportar.

• Especifican características útiles para establecer


criterios de calidad del sistema.

• Se relacionan, a veces tensamente…TRADE-OFF!


Taxonomías

• Ingeniería del Software, Pressman, 7ed.


Taxonomías

• ISO 25000
Taxonomías
Atributos de calidad
• Grado con el cual el sistema lleva a cabo una
funcionalidad especifica dada una restricción de
Performance velocidad, precisión, etc. y el uso eficiente de
recursos.

• Relacionado con el costo y el tiempo de modificar


Modificabilidad o agregar nuevas funcionalidades a la aplicación
como así también la facilidad del skill transfer.

• Grado de facilidad que tiene un sistema para ser


Testeabilidad probado en su completitud, ya sea unitariamente,
integración, aceptación y regresión.
Atributos de calidad

• Grado en el cual se mantiene operable para que el


Disponibilidad usuario pueda realizar las operaciones del negocio.

• Es la medida sobre la habilidad del sistema para


Seguridad resistir usos no autorizados mientras sigue
proveyendo sus servicios a los usuarios legítimos.

• Facilidad de uso del sistema y de entrenamiento de


Usabilidad los usuarios finales.

Interoperabilidad • Habilidad de dos o mas sistemas de cooperar en


tiempo de ejecución.
Performance
• Grado con el cual el sistema lleva a cabo una
funcionalidad especifica dada una restricción
de velocidad, precisión, etc. y el uso eficiente
de recursos
• Indicadores
– Promedio/Máximo de usuarios por unidad de
tiempo
– Promedio de tiempo de carga
– Promedio de tiempo de ejecución
Modificabilidad
• Relacionado con el costo y el tiempo de
modificar o agregar nuevas funcionalidades a
la aplicación como así también la facilidad del
skill transfer.
Usabilidad
• Facilidad de uso del sistema y de
entrenamiento de los usuarios finales.
• Indicadores
– Dispositivos soportados
– Hot keys
– Tiempo de logro
– Accesibilidad
• Atención a las guías
y recomendaciones
Usabilidad
Algunos problemas…
• “El sistema debe ser altamente seguro”
• “Se espera que el sistema sea altamente disponible”
• “El sistema debe responder rápidamente”
• “El sistema debe integrarse con todos los sistemas
existentes”
• Atributos de calidad expresados de manera ambigua
– No pueden ser evaluados
– No pueden ser medidos
– No pueden ser analizados en términos de su impacto en el
diseño del sistema
Escenarios de calidad
Relación calidad interna y externa

• El atributo interno debe ser medido para predecir


el externo
• La relación interno-externo debe ser entendida y
formulada.
Escenarios de calidad
• Mecanismo para expresar atributos de calidad.
• Son expectativas de los diferentes stakeholders a las
cuales el sistema debe responder y son considerados
arquitecturalmente significativos.
• Propuestos para reducir la ambigüedad en la expresión
de atributos de calidad
• Facilitan la negociación con el cliente
• Facilitan la evaluación de la arquitectura
• Su priorización favorece la descomposición y el diseño
del sistema
Estructura general de un escenario de
calidad
Estructura particular de un escenario
de calidad
Estructura particular de un escenario
de calidad

Performance
Estructura particular de un escenario
de calidad

Modificabilidad
Ejemplos de escenarios de calidad
Confiabilidad
• Si el sistema de organigrama tiene alguna falla y no recibe pedidos para
transacciones que necesiten ser procesadas de manera asincrónicas se
debe auditar en un archivo de log y se debe reintentar 3 veces en un
intervalo de 60 segundos.
Performance
• Los usuarios inician 1000 transacciones X, por minuto bajo condiciones
normales, de 9 a 18 horas, el sistema debe procesarlas (resultado en
pantalla) en una latencia menor a 3 segundos.

Seguridad
• El administrador de accesos (seguridad) realiza, agrega o quita algún
rol a cualquier usuario, estos cambio deben ser reflejados de manera
inmediata en la sesión del usuario a la cual se le modificaron los
accesos.
Importancia de los QA
• Es toda consideración crítica para el éxito del
sistema.
• Los atributos de calidad son DRIVERS!
Relevamiento de atributos de
calidad
Matriz de elicitación
Quality Attributes Workshop
Utility Tree

También podría gustarte