Calidad V2
Calidad V2
Calidad V2
Calidad de
software
Software
Philip Crosby:
El problema de la gestión de la calidad no es lo que la gente no
sabe sobre ella. El problema es lo que creen que saben... A este respecto, la
calidad tiene mucho en común con el sexo. Todo el mundo lo quiere (bajo ciertas
condiciones, por supuesto). Todo el mundo cree que lo conoce (incluso aunque no
quiera explicarlo). Todo el mundo piensa que su ejecución sólo es cuestión de
seguir las inclinaciones naturales (después de todo, nos las arreglamos de alguna
forma). Y, por supuesto, la mayoría de la gente piensa que los problemas en estas
áreas están producidos por otra gente (como si sólo ellos se tomaran el tiempo
para hacer las cosas bien).
Calidad de Software
Definición IEEE Definición de Pressman
1. El grado en que un sistema, componente o proceso 1. Cumplimiento de los requisitos funcionales y de
cumple con los requisitos especificados. rendimiento establecidos explícitamente.
2. El grado en que un sistema, componente o proceso 2. Estándares de desarrollo explícitamente
satisface las necesidades o expectativas del cliente o documentados y características implícitas que se
usuario. esperan de todo software desarrollado
profesionalmente.
trascendental
• puede ser reconocida pero no definida
Objetivo : producir del usuario
software de calidad grado de adecuación al propósito
del productor
• conformidad con la especificación
del producto
• ligada a características inherentes del mismo
Calidad engloba todo el
basada en valor
proceso, y está
• ¿cuánto el cliente está dispuesto a pagar?
determinada por factores
directos e indirectos
madurez,
adecuación, facilidad de facilidad de
tolerancia a fallas, facilidad de
precisión, comprensión, análisis, instalación,
recuperación de comportamiento
interoperabilidad, fallas, facilidad de facilidad de conformidad,
temporal,
Seguridad de acceso aprendizaje, cambio, facilidad de
Cumplimiento de la
Cumplimiento facilidad de estabilidad, reemplazo
confiabilidad comportamiento
funcional operación de recursos facilidad de
prueba
Modelo de Calidad ISO 9126
Comportamiento/Utiliza Usar las cantidades y tipos de recursos adecuados cuando el software lleva
ción de recursos a cabo su función…
Facilidad de prueba Permitir que el software modificado sea validado… Reemplazabilida Ser usado en lugar de otro producto software, para
d el mismo propósito, en el mismo entorno…
Cumplimiento de la Adherirse a normas o convenciones relacionadas con la Cumplimien Adherirse a normas o convenciones relacionadas
mantenibilidad mantenibilidad… to de la con la portabilidad…
portabilidad
Norma ISO 25010
• La norma ISO/IEC 25010 hace parte de la familia de normas ISO 25000. Es una norma que está
centrada hacia la usabilidad.
• Determina las características de calidad que se deben tener en cuenta en el momento de evaluar
las propiedades de un producto software terminado.
Modelo de
Calidad McCall
Se focaliza en el producto final, identificando
atributos claves desde el punto de vista del
usuario.
Ejemplo Dimensiones:
o Misión: Lista definida de 11 tipos de reportes (4
Lista de las salidas requeridas del tipos de cartas, 2 texto plano,etc)
sistema de software (dimensiones): o La precisión Requerida: Probabilidad para salida
no precisa contienendo uno o más errores- no
1. Misión excederá el 1%
2. La precisión requerida o La completitud de la información: Probabilidad
3. La completitud de la información de perder datos no excederá el 1%
4. Lo actual de la información o Lo actual de la información: no mas de dos días
5. La disponibilidad de la información hábiles acerca de participación en eventos y no
6. El estándar para codificación y más de uno acerca de pago o datos personales
documentación o La disponibilidad de la información: Tiempo de
reacción será <2 segundos, tiempo de reportes <4
horas
o El estándar para codificación y documentación:
guía del cliente
Factores de Calidad McCall
Operación del Producto
2 Confiabilidad
El grado en el que se espera que un programa cumpla con su función y con la precisión requerida.
1 2 3 4 5
PRECISIÓN: ATRIBUTOS DEL TOLERANCIA A FALLOS: MODULARIDAD: SIMPLICIDAD: ATRIBUTOS EXACTITUD: LA PRECISIÓN
SOFTWARE QUE ATRIBUTOS DEL SOFTWARE ATRIBUTOS DEL SOFTWARE DEL SOFTWARE QUE DE LOS CÁLCULOS Y DEL
PROPORCIONAN EL GRADO QUE POSIBILITAN LA QUE PROPORCIONAN POSIBILITAN CONTROL
DE PRECISIÓN REQUERIDO CONTINUIDAD DEL UNAESTRUCTURA DE LAIMPLEMENTACIÓN DE
EN LOS CÁLCULOS Y LOS FUNCIONAMIENTO BAJO MÓDULOS ALTAMENTE FUNCIONES DE LA FORMA
RESULTADOS CONDICIONES USUALES. INDEPENDIENTES. MÁS
COMPRENSIBLEPOSIBLE.
Factores de Calidad McCall
Operación del Producto
3 Eficiencia
Recursos de HW necesarios para realizar todas las funciones del
sistema acorde los requisitos
Típicos
1. Capacidades de procesamiento (atributos de sw que minimicen el tiempo de
procesamiento)– MIPS – millones de instrucciones por segundo, MHz – millones de ciclos por
segundo.
2. Capacidades de almacenamiento (atributos de sw que minimicen el espacio de
almacenamiento necesario)– GBs
3. Capacidades de líneas de comunicación – MBPS
4. Tiempo en recargar unidades portables del sistema …
5 Usabilidad
Alcance de los recursos de personal necesarios para entrenar a un nuevo empleado y operar el
sistema (Esfuerzo requerido para aprender, operar, preparar las entradas e interpretar la salida de
un programa)
Ejemplo Help Desk:
• Personal debería ser capaz de manejar al menos 60 llamadas al día
• Entrenar un nuevo empleado no debería tomar más de 2 días – luego de lo cual el entrenado debería ser
capaz de manejar al menos 45 llamadas al día.
Factores de Calidad McCall
Revisión del Producto
1 Mantenibilidad
Determinar el esfuerzo que necesitarán usuarios y personal de mantención en identificar las razones
de las fallas del software, y verificar su éxito en las correcciones.
Refieren a la estructura modular del software, a la documentación interna de los programas, a los
manuales del programador.
Ejemplo:
• Tamaño del módulo del software no deberá exceder de 30 sentencias
• La programación se adicionará a las guías y estándares de la compañía
2 Flexibilidad
Capacidades y esfuerzos requeridos para apoyar las actividades de mantención adaptativas.
Incluyen los recursos requerida para adaptar un paquete de software a una variedad de clientes de la misma línea,
un rango de productos de qué forma los cambios y adiciones al SW se pueden adaptar a cambios.
Ejemplo: SW de apoyo al profesor. Lidia con la funcionalidades de los avances del alumno, cálculo de notas, impresión de documentos,
cartas de aviso a padres.
SW debería ser adecuado para todos los profesores de todas las manterias de todos los niveles de los colegios sin grandes
complicaciones
Factores de Calidad McCall
Revisión del Producto
3 Capacidad de ser probado
Lidia con las pruebas de un sistema para su operación.
Funcionalidades especiales que ayudan a probar resultados intermedios o archivos de logs,
diagnóstico automático, monitoreo de fallas, etc.
Ejemplo: Unidad de control industrial computarizada que mide estado de producto, reporta niveles de
rendimiento y opera en situaciones predefinidas
• Desarrollar un conjunto de casos de prueba, con reacciones de esperadas en cada etapa – esto
se ejecutará cada día
Factores de Calidad McCall
Transición del Producto
1 Portabilidad
Adaptación de un sistema a otro ambiente consistente de diferente HW, SO
Ejemplo: Se requiere que un paquete diseñado y programado para operar en un Windows 2000 se transfiera a Linux y
Windows NT
2 Usabilidad
Uso de módulos de software originalmente diseñados para un proyecto en un nuevo proyecto.
Se espera ahorrar recursos, acotar tiempos de desarrollo y proveer módulos de alta calidad.
Supuesto: la mayoría de los defectos se han detectados por las actividades de SQA previas, las fallas capturadas por los usuarios originales
del SW …
Ejemplo: Sistema de operación y control de piscina de un hotel para clientes y miembros
– El JP decidió adicionar este requerimiento pues ellos desarrollaron el sistema de golden splash
3 Interoperatividad
Crear interfaces con otros sistemas o con otros equipos
Ejemplo: El firmware de un equipo de un laboratorio médico es requerido para procesar sus resultados acorde a una estructura de datos
estándar (CSV), que sirva como entrada para un número de SIS de laboratorios apegados al estándar
Resumen
Aseguramiento de
calidad de software
•Acciones
sistemáticas y
Software planificadas
Quality
Assurance requeridas
(SQA) para asegurar
la calidad de
software.
Verificación -- ¿estamos
Validación -- ¿estamos
construyendo el
construyendo el
producto
producto correcto?
correctamente?
Definición
Orígenes de defectos
(típicos)
• problema o falla que causa que
un programa o sistema falle • requerimientos
completamente o entregue • diseño
resultados incorrectos
• código
No sirve no conformidad • documentación
con los requerimientos
• malas correcciones
Calidad De Software - Defectos de software
Severidades de defectos (típicas)
• serio - 1
• programa inoperable
• mayor - 2
• funciones principales desactivadas o incorrectas
• menor - 3
• funciones secundarias desactivadas o incorrectas
• superficial - 4
• formatos
Efecto de amplificación de
defectos
Sin revisiones
Con revisiones
Diseño preliminar
0 Diseño detallado
2
0 70% 3 2
Codificación/prueba de unidad
1 15 5
10 1 * 1.5 50% 5
10 24
25 10 * 3 60%
25
Para la integración
24 Prueba de integración
Prueba de validación
12
0 50% Prueba del sistema
6
0 0 50%
3
0 0 50%
Errores latentes
Remoción de defectos
Métrica fundamental, debe recolectarse con frecuencia (típicamente
mensual o trimestral)