Capitulo 4 - Gestión de calidad del software
Transcript of Capitulo 4 - Gestión de calidad del software
Gestión de Calidad de Software
Definición de Calidad De Software
• La calidad es un conjunto de propiedades inherentes a un objeto quecontenga capacidades para satisfacer las necesidades del clienteimplícitas o explicitas. La calidad de un producto o servicio es lapercepción que el cliente tiene del mismo.
• Cuando se habla de calidad del software se hace referencia laconjunto de cualidades que determina su utilidad. Es el grado en queel software cumple con los requisitos especificados (eficiencia,flexibilidad, corrección, mantenimiento seguridad e integridad).
• La calidad del software es medible y varia según el tipo de sistema yde programa.
Modelos y Métricas de calidad de Software (McCall)
z El modelo de McCall fue el primero en ser presentado en 1977, y se originó motivado por US Air Force y DoD
z Se focaliza en el producto final, identificando atributos claves desde el punto de vista del usuario
z Estos atributos se denominan factores de calidad y son normalmente atributos externos
z Pero también se incluyen algunos atributos posiblemente internos
Modelos y Métricas de calidad de Software (McCall)
z Los factores de calidad son demasiados abstractos para sermedidos directamente, por lo que por cada uno de ellos seintroduce atributos de bajo nivel denominados criterios de calidad.
z Algunos criterios de calidad son atributos internos, reflejando lacreencia de McCall que el atributo interno tiene un efecto directo enel atributo externo correspondiente.
z Un nivel más de descomposición es necesario, mapeando cadacriterio de calidad en un conjunto de métricas de calidad que sonatributos (tanto del producto como del proceso) de muy bajo nivel,medibles directamente.
McCall – Factores de Calidad
PUNTO DE VISTA FACTORES
REVISIÓN DEL PRODUCTO – habilidad para ser cambiado
Facilidad de mantenimientoFacilidad de prueba
Flexibilidad
TRANSICIÓN DEL PRODUCTO -adaptabildad
Facilidad de reutilizaciónInteroperabilidad
Portabilidad
OPERACIÓN DEL PRODUCTO –características de operación
Facilidad de usoIntegridadCorrecciónFiabilidadEficiencia
McCall – Factores de Calidad
McCall – Definición de Factores
• Corrección: Hasta qué punto un programa cumple susespecificaciones y satisface los objetivos del usuario
• Fiabilidad: Hasta qué punto se puede confiar en el funcionamiento sinerrores del programa.
• Eficiencia: Cantidad de código y de recursos informáticos que precisaun programa para desempeñar su función
• Integridad: Hasta que punto se controlan los accesos ilegales aprogramas o datos.
• Facilidad de uso: El coste y esfuerzo de aprender a manejar unproducto, preparar la entrada de datos e interpretar la salida delmismo.
McCall – Definición de Factores
• Facilidad de mantenimiento: El coste de localizar y corregirdefectos en un programa que aparecen durante su funcionamiento.
• Facilidad de prueba: El coste de probar un programa para comprobarque satisface sus requisitos.
• Flexibilidad: El coste de modificación del producto cuando cambiansus especificaciones.
• Portabilidad: El coste de migrar un producto de una configuraciónhardware o entorno operativo a otro.
• Facilidad de reutilización: Hasta que punto se puede transferir unmódulo o programa del presente sistema a otra aplicación y con quéesfuerzo.
• Interoperabilidad: El coste y esfuerzo necesario para hacer que elsoftware pueda operar conjuntamente con otros sistemas
McCall - Criterios
Cada uno de los factores a su vez se descompone en criterios queson:
Para cada criterio existe una lista de condiciones que se deben cumplir endistintas etapas: requerimientos (R), diseño (D), implementación (I)
Facilidad de operaciónFacilidad de comunicaciónFacilidad de aprendizajeControl de accesosFacilidad de auditoriaEficiencia en ejecuciónEficiencia en almacenamientoPrecisiónCompatibilidad de comunicacionesCompatibilidad de datosConcisión
ConsistenciaTolerancia a fallosModularidadSimplicidadCompletitudTrazabilidadAuto descripciónCapacidad de expansiónGeneralidadInstrumentación Independencia entre sistema y softwareIndependencia del hardware
McCall - Métricas
• Hoy en día no hay métricas formales y objetivas que cubran todos los criterios del modelo de McCall
• Para evaluar la completitud es necesario dar respuesta a la siguiente lista de comprobación:
1. No hay referencias ambiguas (R, D, I)2. Todas las referencias a datos definidas son calculadas u obtenidas de una fuente externa
(R, D, I)3. Todas las funciones definidas son utilizadas (R, D, I)4. Todas las referencias a funciones están definidas (R, D, I)5. Se han definido todas las condiciones y procesamientos para cada punto de decisión (R,
D, I)6. Concuerdan todos los parámetros de llamada a funciones definidos y referenciados (D, I)7. Todos los informes de problemas se han resuelto (R, D, I)8. El diseño concuerda con los requisitos (D)9. El código concuerda con el diseño (I)
McCall - Métricas
Se contesta a estas preguntas con un SI o NO y luego se aplica lasiguiente fórmula :
Actividades para el control de calidad
Al principio del proyecto:
1. Seleccionar cuáles de los factores de calidad van a ser requisitos decalidad del sistema, se debe tener en consideración los siguientesfactores:
Actividades para el control de calidad - Pasos
FACTOR BENEFICIO FRENTE A COSTE
CorrecciónFiabilidadEficienciaIntegridad
Facilidades de usoFacilidad de mantenimiento
Facilidad de pruebaFlexibilidadPortabilidadReusabilidad
Interoperabilidad
AltoAltoBajoBajo
MedioAltoAlto
MedioMedioMedioBajo
Actividades para el control de calidad - Pasos
Dependencia entre los factores de McCall:
Actividades para el control de calidad
1. Los factores es necesario organizarlos en orden de importancia.
2. Proporcionar automáticamente el conjunto de criterios relacionadoscon dichos factores.
3. Para cada uno de los criterios de calidad se definen o eligen unconjunto de métricas
4. Establecer valores deseables para los criterios
5. Se deben establecer los valores mínimos aceptables
Actividades para el control de calidad
Durante el Desarrollo
1. Implementar las métricas2. Analizar los resultados de las métricas3. Tomar medidas correctivas si es necesario.
Actividades para el control de calidad
Al final del proyecto:
Es necesario validar las medidas predictivas utilizadas y comprobar si enefecto se pueden tomar como indicadores de los valores finales.
Actividades para el control de calidad
Comprobación de escritorio
Revisión por pares
Revisiones Auditorias
Compiladores Análisis de
flujo Ejecución
simbólica
Controles Estáticos
Manuales InformalesLa realizan los propios autores:
Comprobación de escritorioRevisión por pares o iguales
Manuales DisciplinadosSe trata de conseguir que la responsabilidad del control de calidad norecaiga sólo sobre el propio desarrollador y se utilizan:
RevisionesAuditorías
Controles Estáticos – Auditorias
El grado de cumplimiento y la adecuación de los procedimientos,instrucciones u otros requisitos establecidos y aplicables.
La efectividad y adecuación de la implementación realizada.
Controles Estáticos – Auditorias
Pasos para una auditoria
1. Planificación2. Llevar a cabo la investigación3. Analizar los datos recogidos4. Sugerir soluciones a los problemas5. Elaborar y presentar un informe de resultados
Controles Estáticos – Revisiones
Una reunión formal en la que se presenta el estado actual de losresultados de un proyecto a un usuario y se realiza un análisisestructurado de los mismos.
Facilitan la comunicación entre los miembros del equipo y también elcontrol del coste y el tiempo.
Las revisiones son el único método de control eficaz en las fases inicialesdel desarrollo.
Controles Estáticos – Revisiones
Las revisiones se llevan a cabo desde las primeras fases del desarrollo,mientras que las auditorias en las fases finales.
El objetivo de las revisiones es detectar defectos mientras que el de lasauditorias es identificar desviaciones
Diferencias entre inspecciones y Walkthrough
•Las Walkthrough están planteadas como una medida de ayuda aldesarrollador mientras que las Inspecciones están planteadas como unamedida de ayuda al gestor.
•En las Walkthrough el objetivo fundamental es incrementar elentendimiento, mientras que en las Inspecciones el objetivo es detectardefectos.
•En las Inspecciones el proceso está guiado por la lista de comprobación yen las Walkthrough está guiado por la estructura del producto revisado
•Las Inspecciones se planifican y procesan de una manera mucho másformal que las Walkthrough.
Fases en una inspección
1. Planificación2. Orientación inicial3. Preparación individual4. Reunión de inspección5. Seguimiento6. Evaluación
Documentos generados en una inspección
•Informe resumen de la inspección para la dirección•Lista de acciones pendientes•Informe de asuntos relacionados•Informe del proceso de inspección•Informe final
Formalidad en las revisiones
Es una revisión formal cuando:
•Es un evento público•Se informa por escrito los resultados•Todos los participantes son responsables de la calidad de larevisión
Revisiones técnicas y de gestión
•Revisión de la especificación de requisitos•Revisión del diseño•Revisión del código•Revisión de las pruebas•Revisión del manual de usuario
Revisión de la especificación de requisito
El tipo de errores que se pueden encontrar en este objeto son:
Requisitos poco clarosRequisitos incompletos Requisitos irrelevantes
Revisión del diseño
•¿Hay uniformidad de diseño?
•¿Se ha definido correctamente las interfaces entre módulos?
•¿Se han definido las interfaces externas?
•¿Cubre el diseño todas las funciones en la especificación de requisitos?
•¿Cubre el diseño todos los requisitos no funcionales?
•¿Resulta ambigua la documentación del diseño?
Revisión del código
Lo que se examina es:
InterfacesEstructura del ProgramaUtilización de VariablesFormulasEntradas y SalidasComentariosAdherencia a los estándares de codificación
Revisiones de las pruebas
Se pueden efectuar dos tipos de revisiones de las pruebas:
•Revisión del diseño de la prueba•Inspección de la prueba
Los objetivos de las inspecciones de las pruebas, por suparte, son:
•Comprobar que la prueba se ha ejecutado correctamente•Análisis de los resultados obtenidos con cada prueba.