You are on page 1of 32

Gestión de Calidad de Software

Definición de Calidad De Software

La calidad es un conjunto de propiedades inherentes a un objeto que contenga capacidades para satisfacer las necesidades del cliente implícitas o explicitas. La calidad de un producto o servicio es la percepción que el cliente tiene del mismo. Cuando se habla de calidad del software se hace referencia la conjunto de cualidades que determina su utilidad. Es el grado en que el 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 y de 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

z Algunos criterios de calidad son atributos internos. z Un nivel más de descomposición es necesario. . por lo que por cada uno de ellos se introduce atributos de bajo nivel denominados criterios de calidad. reflejando la creencia de McCall que el atributo interno tiene un efecto directo en el atributo externo correspondiente.Modelos y Métricas de calidad de Software (McCall) z Los factores de calidad son demasiados abstractos para ser medidos directamente. medibles directamente. mapeando cada criterio de calidad en un conjunto de métricas de calidad que son atributos (tanto del producto como del proceso) de muy bajo nivel.

McCall – Factores de Calidad PUNTO DE VISTA REVISIÓN DEL PRODUCTO – habilidad para ser cambiado TRANSICIÓN DEL PRODUCTO adaptabildad FACTORES Facilidad de mantenimiento Facilidad de prueba Flexibilidad Facilidad de reutilización Interoperabilidad Portabilidad Facilidad de uso Integridad Corrección Fiabilidad Eficiencia OPERACIÓN DEL PRODUCTO – características de operación .

McCall – Factores de Calidad .

• Eficiencia: Cantidad de código y de recursos informáticos que precisa un programa para desempeñar su función • Integridad: Hasta que punto se controlan los accesos ilegales a programas o datos. . preparar la entrada de datos e interpretar la salida del mismo. • Facilidad de uso: El coste y esfuerzo de aprender a manejar un producto.McCall – Definición de Factores • Corrección: Hasta qué punto un programa especificaciones y satisface los objetivos del usuario cumple sus • Fiabilidad: Hasta qué punto se puede confiar en el funcionamiento sin errores del programa.

• Facilidad de prueba: El coste de probar un programa para comprobar que satisface sus requisitos. • Interoperabilidad: El coste y esfuerzo necesario para hacer que el software pueda operar conjuntamente con otros sistemas .McCall – Definición de Factores • Facilidad de mantenimiento: El coste de localizar y corregir defectos en un programa que aparecen durante su funcionamiento. • Flexibilidad: El coste de modificación del producto cuando cambian sus especificaciones. • Facilidad de reutilización: Hasta que punto se puede transferir un módulo o programa del presente sistema a otra aplicación y con qué esfuerzo. • Portabilidad: El coste de migrar un producto de una configuración hardware o entorno operativo a otro.

implementación (I) .McCall . diseño (D).Criterios Cada uno de los factores a su vez se descompone en criterios que son: Facilidad de operación Facilidad de comunicación Facilidad de aprendizaje Control de accesos Facilidad de auditoria Eficiencia en ejecución Eficiencia en almacenamiento Precisión Compatibilidad de comunicaciones Compatibilidad de datos Concisión Consistencia Tolerancia a fallos Modularidad Simplicidad Completitud Trazabilidad Auto descripción Capacidad de expansión Generalidad Instrumentación Independencia entre sistema y software Independencia del hardware Para cada criterio existe una lista de condiciones que se deben cumplir en distintas etapas: requerimientos (R).

4. I) Concuerdan todos los parámetros de llamada a funciones definidos y referenciados (D. D. D. D. I) Se han definido todas las condiciones y procesamientos para cada punto de decisión (R. 9. I) Todas las referencias a datos definidas son calculadas u obtenidas de una fuente externa (R.McCall . D. 7. 3. 5. D. 8. I) El diseño concuerda con los requisitos (D) El código concuerda con el diseño (I) . I) Todas las funciones definidas son utilizadas (R.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. 6. No hay referencias ambiguas (R. I) Todos los informes de problemas se han resuelto (R. I) Todas las referencias a funciones están definidas (R. 2. D.

McCall .Métricas Se contesta a estas preguntas con un SI o NO y luego se aplica la siguiente 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 de calidad del sistema. se debe tener en consideración los siguientes factores: .

Actividades para el control de calidad .Pasos FACTOR Corrección Fiabilidad Eficiencia Integridad Facilidades de uso Facilidad de mantenimiento Facilidad de prueba Flexibilidad Portabilidad Reusabilidad Interoperabilidad BENEFICIO FRENTE A COSTE Alto Alto Bajo Bajo Medio Alto Alto Medio Medio Medio Bajo .

Actividades para el control de calidad .Pasos Dependencia entre los factores de McCall: .

3. Los factores es necesario organizarlos en orden de importancia. Establecer valores deseables para los criterios 5. Para cada uno de los criterios de calidad se definen o eligen un conjunto de métricas 4.Actividades para el control de calidad 1. Se deben establecer los valores mínimos aceptables . 2. Proporcionar automáticamente el conjunto de criterios relacionados con dichos factores.

Analizar los resultados de las métricas 3. . Tomar medidas correctivas si es necesario. Implementar las métricas 2.Actividades para el control de calidad Durante el Desarrollo 1.

Actividades para el control de calidad Al final del proyecto: Es necesario validar las medidas predictivas utilizadas y comprobar si en efecto 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 Informales La realizan los propios autores: Comprobación de escritorio Revisión por pares o iguales Manuales Disciplinados Se trata de conseguir que la responsabilidad del control de calidad no recaiga sólo sobre el propio desarrollador y se utilizan: Revisiones Auditorías .

instrucciones u otros requisitos establecidos y aplicables.Controles Estáticos – Auditorias El grado de cumplimiento y la adecuación de los procedimientos. . La efectividad y adecuación de la implementación realizada.

4. 3.Controles Estáticos – Auditorias Pasos para una auditoria 1. 2. 5. Planificación Llevar a cabo la investigación Analizar los datos recogidos Sugerir soluciones a los problemas Elaborar y presentar un informe de resultados .

Controles Estáticos – Revisiones Una reunión formal en la que se presenta el estado actual de los resultados de un proyecto a un usuario y se realiza un análisis estructurado de los mismos. Las revisiones son el único método de control eficaz en las fases iniciales del desarrollo. Facilitan la comunicación entre los miembros del equipo y también el control del coste y el tiempo. .

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 las auditorias es identificar desviaciones .

Diferencias entre inspecciones y Walkthrough •Las Walkthrough están planteadas como una medida de ayuda al desarrollador mientras que las Inspecciones están planteadas como una medida de ayuda al gestor. •En las Inspecciones el proceso está guiado por la lista de comprobación y en las Walkthrough está guiado por la estructura del producto revisado •Las Inspecciones se planifican y procesan de una manera mucho más formal que las Walkthrough. . •En las Walkthrough el objetivo fundamental es incrementar el entendimiento. mientras que en las Inspecciones el objetivo es detectar defectos.

2. 4. 6. 5. Planificación Orientación inicial Preparación individual Reunión de inspección Seguimiento Evaluación .Fases en una inspección 1. 3.

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 la revisió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 claros Requisitos 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: Interfaces Estructura del Programa Utilización de Variables Formulas Entradas y Salidas Comentarios Adherencia 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. son: •Comprobar que la prueba se ha ejecutado correctamente •Análisis de los resultados obtenidos con cada prueba. . por su parte.