Anúncio
Anúncio

Mais conteúdo relacionado

Anúncio
Anúncio

Calidad software

  1. Ingeniería de Software Calidad del Software Ing. Msc. María Eugenia Díaz V. 1
  2. ∗ Objetivos ∗ Administración de la calidad ∗ Aseguramiento y estándares de calidad ∗ Planeación de la calidad ∗ Control de calidad ∗ Proceso del software ∗ Normas ∗ ISO ∗ CMM Ingeniería de Software - 2 Glosario de la Clase
  3. ∗ Calidad  concepto presente en el mundo globalizado ∗ Como se aplica en IS? ∗ Definiendo calidad: ∗ “el producto desarrollado cumple su especificación” (Crosby, 1979) Ingeniería de Software 3 Administración de Calidad
  4. ∗ Como se aplica a la IS?  problemas ∗ La especificación se orienta hacia las características del producto que el consumidor quiere, pero la organización tiene requerimientos que no se incluyen en la especificación (ej. Mantenimiento) ∗ No se sabe como especificar ciertas características de calidad de una forma no ambigua ∗ En IR es muy difícil redactar especificaciones concretas del software. Por esto aunque el producto esté acorde con la especificación, los usuarios no lo consideran un producto de alta calidad Ingeniería de Software - 4 Administración de Calidad
  5. ∗ Tres actividades principales ∗ Aseguramiento de calidad ∗ Establecer un marco de trabajo de procedimientos y estándares organizacionales que conduce a software de alta calidad ∗ Planeación de la calidad: la selección de procedimientos y estándares adecuados a partir de este marco de trabajo y la adaptación de éstos para un proyecto específico. ∗ Control de calidad: definición y promulgación de los procesos que aseguran que los procedimientos y estándares para la calidad del proyecto son seguidos por el equipo de desarrollo de software. Ingeniería de Software 5 Administración de Calidad
  6. ∗ Administración de calidad  proceso de desarrollo del soft ∗ Tareas independientes ∗ El resultado del proceso de desarrollo  se introduce en el proceso de administración de la calidad ∗ Cuales son los procesos de adm.? ∗ ISO 9000 ∗ CMM Ingeniería de Software 6 Administración de Calidad
  7. ∗ Actividades para QA (aseguramiento de calidad) ∗ Estándares ∗ Del producto: se aplican sobre el elemento a desarrollar. Se incluye ∗ Estándares de documentos ∗ Estructuras del documento de requerimiento ∗ Estándares de codificación, etc. ∗ Del proceso: definen los procesos a seguir durante el desarrollo del soft. Incluyen ∗ Procesos de especificación, diseño y validación ∗ Documentación asociada con lo anterior Ingeniería de Software 7 Administración de Calidad
  8. ∗ Estándares de documentación ∗ Son la única forma tangible de representar al software y al proceso de software. ∗ Tres tipos de estándares ∗ Del proceso de documentación: define el proceso a seguir para la producción del documento ∗ Del documento: gobierna la estructura y presentación de documentos ∗ Para intercambio de documentos: asegura-miento que las copias electrónicas sean compatibles Ingeniería de Software - 8 Administración de Calidad
  9. Administración de Calidad ∗ Calidad del proceso y del producto Calidad basada en procesos Ingeniería de Software 9
  10. ∗ El dibujo anterior  se aplica en producción manufacturera ∗ Como llevarlo a la producción del software? ∗ Es difícil medir atributos del software sin utilizarlo mucho tiempo ∗ Mejorar la calidad se centra en ∗ Identificar buenos productos de calidad ∗ Examinar el proceso usado para su desarrollo ∗ Generalizar el proceso para aplicarlo en varios proyectos. Ingeniería de Software 10 Administración de Calidad
  11. ∗ Inconvenientes ∗ La relación proceso del software y calidad del producto es compleja. ∗ Cambiar el proceso no siempre conduce a mejorar calidad del producto ∗ Recordar análisis de riesgo. ∗ Planificación de calidad ∗ Se inicia en las primeras etapas del proceso del software. ∗ Un plan de calidad define ∗ la calidad del producto deseado ∗ Como valorar esta calidad ∗ Lo que significa el software de “alta calidad” Ingeniería de Software - 11 Administración de Calidad
  12. Administración de Calidad Ingeniería de Software - 12 ∗ Un plan de calidad selecciona ∗ los estándares organizacionales apropiados para un producto. ∗ Un proceso de desarrollo ∗ Un plan comprende ∗ Introducción al producto ∗ Descripción del mismo, el mercado a donde está dirigido y las expectativas de calidad ∗ Planes de producto ∗ Fechas de terminación y responsabilidades importantes ∗ Descripción del proceso ∗ De desarrollo y de servicio a utilizar para el desarrollo y administración del producto ∗ Metas de calidad ∗ Metas y planes de calidad previstos ∗ Riesgo y administración del riesgo
  13. ∗ Control de calidad ∗ Vigilar el proceso de desarrollo del software para asegurar que se sigan los procedimientos de aseguramiento y estándares de calidad. ∗ Dos enfoques ∗ Revisiones de calidad (se evalúa soft, documentación y procesos utilizados) ∗ Valoración automática del soft (el soft y documentos producidos se procesan por algún programa y se comparan contra estándares que se aplican a ese proyecto en particular). Ingeniería de Software 13 Administración de Calidad
  14. ∗ Actividades, métodos y prácticas para desarrollar y mantener software y sus productos asociados. Ingeniería de Software - 14 Proceso de Software. Definición. Procedimientos & Métodos Proceso Gente. Habilidades & Motivación Herramientas & Equipamiento
  15. ∗ Capacidad: Rango de resultados que pueden ser alcanzados siguiendo un proceso inicialmente establecido a nivel de organización. ∗ Performance / Desempeño: medida de los resultados reales alcanzados. Se aplica a un proyecto en particular de la organización. Ingeniería de Software - 15 Proceso. Aspectos Generales. Suele ser <> por cada ejecución del proceso Es lo que se intenta predecir y controlar
  16. ∗ Madurez de un proceso ∗ La medida en la cual un proceso está explícitamente documentado, gestionado, medido, controlado y continuamente mejorado Ingeniería de Software - 16 Capacidad & ResultadosProbabilidad Resultado Probabilidad Resultado Proceso de Baja capacidad Proceso de Alta capacidad Resultado podría ser plazo / fit presup / # bugs, etc Proceso maduro tendrá alta capacidad
  17. ∗ Concreción del proyecto: ∗ 31% son cancelados antes de la finalización ∗ Costo ∗ +50% han costado el doble de lo estimado originalmente. ∗ Calidad ∗ En mediciones actuales se estima la existencia de 50 errores/1000 lineas de código Ingeniería de Software 17 Crisis del software (I) http://www.costxpert.com/resource_center/disaster_as_opportunity.html https://secure.standishgroup.com/reports/reports.php?rid=500
  18. ∗ Standish Group 2004 ∗ Proyectos de IT han mejorado su “tasa de éxito” un 34%. Mejora del 100% en comparación con 1994. Tasa de fallos -15%. Problema de costos promedio 43% Ingeniería de Software - 18 Crisis del software (II) Proyectos mas pequeños Procesos iterativos haciendo evidentes los requerimientos Project Management conceptualizado y no tomado como una “ciencia oculta” http://www.softwaremag.com/L.cfm?Doc=newsletter/2004-01-15/Standish
  19. ∗ Necesidad de software cada vez mas complejo & crítico. ∗ La producción de software es una actividad creativa e intelectual realizada por seres humanos. Técnicas de Ingeniería de software acompañadas por sentido común, Competencia y Experiencia. ∗ Técnicas de Ingeniería de software en re-evaluación (Método iterativo vs waterfall). Productos de software como los Web Services implican una aplicación diferencial de las técnicas. ∗ Aceptación del ppio del “No Silver Bullet” Ingeniería de Software - 19 Contexto. Realidad del Software
  20. ∗ CMM (Capability Maturity Model) ∗ Desarrollado por SEI (Software Engineering Institute), org. creado por el DoD de USA ∗ Fuerte impacto en mejora del proceso ∗ Estipula un Camino para la mejora ∗ Areas Clave que se deben atacar ∗ ISO 12207 – Modelos de Ciclos de Vida del Software ∗ Actividades que debe incluir ∗ SPICE (Software Process Improvement and Capability dEtermination) – ISO 15504 ∗ Tick-It (modelo inglés) Ingeniería de Software - 20 Modelos de Proceso y de su Capacidad CMMICMMI
Anúncio