Gestión de Proyectos de Software - Unidad II: Calidad en el Software

35
TECNOLÓGICO NACIONAL DE MÉXICO Ingeniería en Sistemas Computacionales Gestión de Proyectos de Software Unidad II: Calidad en el Software Gestión de Proyectos de Software

Transcript of Gestión de Proyectos de Software - Unidad II: Calidad en el Software

Page 1: Gestión de Proyectos de Software - Unidad II: Calidad en el Software

TECNOLÓGICO NACIONAL DE MÉXICOIngeniería en Sistemas Computacionales

Gestión de Proyectos de SoftwareUnidad II: Calidad en el Software

Gestión de Proyectos de Software

Page 2: Gestión de Proyectos de Software - Unidad II: Calidad en el Software

Unidad 2: Calidad en el Software

Competencia de la unidad• Identifica la importancia del uso y selección de estándares y

métricas de calidad, así como el impacto de no apegarse a ellos, para aplicarlos en proyectos de software.

Gestión de Proyectos de Software

Page 3: Gestión de Proyectos de Software - Unidad II: Calidad en el Software

Gestión de Proyectos de Software

¿Qué es la Calidad en el Software?• “La calidad en el software es el cumplimiento de los requisitos

de funcionalidad y desempeño explícitamente establecidos, de los estándares de desarrollo documentados y de las características que se esperan del software desarrollado profesionalmente”. (Pressman, 2006).

Page 4: Gestión de Proyectos de Software - Unidad II: Calidad en el Software

Gestión de Proyectos de Software

Factores que determinan la calidad en el software• Aquellos que pueden ser medidos directamente, es decir aquellos

defectos descubiertos en las pruebas; • Factores que pueden ser medidos únicamente de manera

indirecta, como por ejemplo el mantenimiento y la facilidad de uso.

Page 5: Gestión de Proyectos de Software - Unidad II: Calidad en el Software

Gestión de Proyectos de Software

Clasificación basada en tres aspectos importantes de todo producto de software

• Operación, que incluye corrección, confiabilidad, usabilidad, integridad y eficiencia;

• Transición, compuesta por portabilidad, reutilización y compatibilidad; y por último

Page 6: Gestión de Proyectos de Software - Unidad II: Calidad en el Software

Gestión de Proyectos de Software

• Revisión de un producto, donde se encuentran factores como facilidad de mantenimiento, flexibilidad y facilidad de prueba.

Page 7: Gestión de Proyectos de Software - Unidad II: Calidad en el Software

Gestión de Proyectos de Software

Aseguramiento de la calidad del softwareLas actividades sistemáticas que proveen evidencia del uso apropiado de la capacidad total del software.

Page 8: Gestión de Proyectos de Software - Unidad II: Calidad en el Software

Gestión de Proyectos de Software

• El aseguramiento de la calidad del software es una estrategia adoptada por la gestión del riesgo.

• Considerar la calidad de software dentro de la gestión del riesgo es importante porque en muchas ocasiones la calidad tiene un alto costo en los proyecto de software.

Page 9: Gestión de Proyectos de Software - Unidad II: Calidad en el Software

Gestión de Proyectos de Software

Ejemplos de mala calidad en materia de software• Fallas frecuentes en la funcionalidad del software.• Consecuencias secundarias de fallas en el software, como

problemas financieros.• Sistemas no disponibles cuando se requiere.• Costosas mejoras en el software.• Altos costos en la detección y corrección de errores.

Page 10: Gestión de Proyectos de Software - Unidad II: Calidad en el Software

Gestión de Proyectos de Software

Componentes del Aseguramiento de Software

TestingComponente usado para verificar que los requisitos funcionales de una aplicación se cumplan.

Page 11: Gestión de Proyectos de Software - Unidad II: Calidad en el Software

Gestión de Proyectos de Software

Componentes del Aseguramiento de Software

Control de CalidadCompuesta por métodos y procesos usados para monitorear el trabajo y observar si los requisitos son cumplidos. Se enfoca en la revisión y posterior eliminación de defectos antes de la entrega del producto final.

Page 12: Gestión de Proyectos de Software - Unidad II: Calidad en el Software

Gestión de Proyectos de Software

Componentes del Aseguramiento de Software

Gestión de la configuración del software

Tiene que ver con el seguimiento y control de cambios de los elementos de software en un sistema. Controla la evolución de un sistema software por medio del manejo de versiones de los componentes de software y sus relaciones.

Page 13: Gestión de Proyectos de Software - Unidad II: Calidad en el Software

Gestión de Proyectos de Software

El plan de aseguramiento de la calidad de software (SQA, por sus siglas en ingles).• Documentar el plan• Obtener aprobación de la gerencia del proyecto• Obtener aprobación del equipo de desarrollo• Planear la implementación del SQA• Ejecutar el plan de SQA

Page 14: Gestión de Proyectos de Software - Unidad II: Calidad en el Software

Gestión de Proyectos de Software

Estándares y Métricas de calidad

• Una métrica es una medida efectuada sobre los programas, documentación, su desarrollo y mantenimiento, o sobre algún aspecto del sistema en desarrollo o del proceso empleado que permite, previa comparación con unos valores (medidas) de referencia, obtener conclusiones sobre el aspecto medido con el fin de adoptar las decisiones necesarias.

Page 15: Gestión de Proyectos de Software - Unidad II: Calidad en el Software

Gestión de Proyectos de Software

Medidas de fiabilidad y de disponibilidad

• Tiempo medio entre fallos (TMEF)TMEF = TMDF+TMDR

• Disponibilidad = TMDF/(TMDF + TMDR) x 100 %

Page 16: Gestión de Proyectos de Software - Unidad II: Calidad en el Software

Gestión de Proyectos de Software

Eficacia de la Eliminación de Defectos• Una métrica de la calidad que proporciona beneficios tanto a nivel del

proyecto como del proceso, es la eficacia de la eliminación de defectos (EED).

• Cuando se toma en consideración globalmente para un proyecto, EED se define de la forma siguiente:

EED = E / (E + D)

Page 17: Gestión de Proyectos de Software - Unidad II: Calidad en el Software

Gestión de Proyectos de Software

Page 18: Gestión de Proyectos de Software - Unidad II: Calidad en el Software

Gestión de Proyectos de Software

PSP• Creado por Watts Humphrey (SEI)• Proceso de mejora para profesionales de software• Basada en la experiencia y una investigación específica• Desarrollado en base a la actividad de programación• Una mirada desde el individuo, antes que la organización• Inspirado en la mejora continua personal

Page 19: Gestión de Proyectos de Software - Unidad II: Calidad en el Software

Gestión de Proyectos de Software

El proceso de Mejora

Page 20: Gestión de Proyectos de Software - Unidad II: Calidad en el Software

Gestión de Proyectos de Software

Page 21: Gestión de Proyectos de Software - Unidad II: Calidad en el Software

Gestión de Proyectos de Software

Page 22: Gestión de Proyectos de Software - Unidad II: Calidad en el Software
Page 23: Gestión de Proyectos de Software - Unidad II: Calidad en el Software

Flujo del PSP

Page 24: Gestión de Proyectos de Software - Unidad II: Calidad en el Software

PSP 0-Practicas actuales desarrollo.-Mantener registros de tiempo trabajado en un proyecto.-Registrar defectos encontrados-Registrar tipos de defectos.

PSP 0.1-Establecer estándares de código (Definir “Líneas de código”)-Proponer maneras de mejorar proceso desarrollo-Realizar mediciones

PSP 1-Aptitud para estimar tamaño.-Informe de pruebas

PSP 1.1-Planeación de tareas-Planeación de tiempos

PSP 2-Revisión del diseño-Revisión del código

PSP 2.1Plantillas de diseño (Marco de trabajo y listas) Verificación de tareas de diseño

PSP 3

Flujo del PSP

Page 25: Gestión de Proyectos de Software - Unidad II: Calidad en el Software

Gestión de Proyectos de Software

Page 26: Gestión de Proyectos de Software - Unidad II: Calidad en el Software

Formato: registro de defectos

Page 27: Gestión de Proyectos de Software - Unidad II: Calidad en el Software

Resumen de Plan de Proyecto

Page 28: Gestión de Proyectos de Software - Unidad II: Calidad en el Software

Resumen de Plan de Proyecto

Page 29: Gestión de Proyectos de Software - Unidad II: Calidad en el Software

Gestión de Proyectos de Software

TSP (Team Software Process)

¿Qué es el TSP?• Es una metodología para dirigir el trabajo de mejora y

desarrollo de software además de establecer un entorno donde el trabajo efectivo de equipo sea normal y natural

Page 30: Gestión de Proyectos de Software - Unidad II: Calidad en el Software

Gestión de Proyectos de Software

Page 31: Gestión de Proyectos de Software - Unidad II: Calidad en el Software

Gestión de Proyectos de Software

Page 32: Gestión de Proyectos de Software - Unidad II: Calidad en el Software

Gestión de Proyectos de Software

Antecedentes de trabajo en equipo

• Cuando fracasa un proyecto de software es, en la mayoría de los casos, por un problema de equipo y no por problemas técnicos.

Page 33: Gestión de Proyectos de Software - Unidad II: Calidad en el Software

Gestión de Proyectos de Software

Problemas comunes de Equipos• Falta de liderazgo• Falta de compromiso y ganas de cooperar• Diferencia en contribuciones• Falta de confianza• Falta de calidad• Mejoras excesivas• Revisiones entre colegas inefectivas

Page 34: Gestión de Proyectos de Software - Unidad II: Calidad en el Software

Gestión de Proyectos de Software

Metodología TSP

• Lanzamiento• Requerimientos• Diseño high level• Implementación• Integración y pruebas

Page 35: Gestión de Proyectos de Software - Unidad II: Calidad en el Software

Gestión de Proyectos de SoftwareLanzamiento TSP, checklist para planeación• Establecer productos y objetivos de empresa• Establecer roles y objetivos de equipo• Definir estrategia de desarrollo• Hacer un plan general• Hacer un plan de calidad• Balancear el plan (cargas de trabajo)• Proyecto de riesgos• Diseñar reporte para administración• Revisión del plan con administración• Análisis Postmortem, nuevo equipo revisa proceso