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

Post on 21-Mar-2017

85 views 1 download

Transcript of 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

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

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).

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.

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

Gestión de Proyectos de Software

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

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.

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.

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.

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.

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.

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.

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

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.

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 %

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)

Gestión de Proyectos de 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

Gestión de Proyectos de Software

El proceso de Mejora

Gestión de Proyectos de Software

Gestión de Proyectos de Software

Flujo del PSP

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

Gestión de Proyectos de Software

Formato: registro de defectos

Resumen de Plan de Proyecto

Resumen de Plan de Proyecto

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

Gestión de Proyectos de Software

Gestión de Proyectos de 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.

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

Gestión de Proyectos de Software

Metodología TSP

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

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