gestión de calidad
TRANSCRIPT
PROCESOS DE INGENIERIA DE SOFTWARE
Calidad“Concordancia con los requisitos funcionales
y de rendimiento explícitamente establecidos con los estándares de desarrollo explícitamente documentados y con las características implícitas que se espera de todo software desarrollado profesionalmente” R.S. Pressman (1992).
Roberth Glass argumenta:
Satisfacción del Usuario= producto manejable + buena calidad + entrega dentro de presupuesto y tiempo
CalidadEl American Heritage Dictionary define a
la calidad como una característica o atributo de algo.
C. Diseño: Requisitos, especificaciones, y diseño del sistema
C. Concordancia: Implementación
Gestión de Calidad
Qué es la gestión de Calidad ?
Quién la realiza?
Qué se obtiene ?
Por qué es importante?
Gestión de la CalidadAbarca actividades como: Proceso de garantía de la calidad del software
(SQA). Tareas especificas de aseguramiento de la
calidad del software (revisiones técnicas formales, estrategias de pruebas).
Practicas efectivas de ingeniería del software (métodos y herramientas).
Control de todos los productos de trabajo del software.
Procedimiento para garantizar los estándares de desarrollo.
Mecanismos de medición e informes.
Control de Calidad.- Involucra inspecciones, revisiones y pruebas empleadas a lo largo del proceso de Software.
Garantía de la calidad.- Consiste en conjunto de funciones de auditoría e información que evalúan la efectividad y qué tancomplejas son las actividades de control de Calidad.
Costo de la Calidad.- Costos que genera la busqueda de la calidad o que demanda el desarrollo de las actividades relacionadas con la calidad.
Costos de prevención Costos de evaluación Costos de fallas
Garantía de la Calidad de Software (SQA)
El grupo de SQA juega un rol vital dentro de la garantía de calidad del software .
Las personas de este grupo deben ver el software desde el punto de vista del cliente por lo cual están en la responsabilidad de:
Planificar Supervisar Guardar registros Analizar y reportar la garantía
Garantía de la Calidad de Software (SQA)
Independientemente de las obligaciones antes mencionadas un grupo de SQA se encarga de:
Preparar un plan de SQA para un proyecto. (elaborado en la fase de planificación y revisado por todos).
Participar en el desarrollo de la descripción del proceso de software del proyecto.
Revisar las actividades de ingeniería del software para verificar que se ajuste al proceso de software definido.
Auditar productos de trabajo de software seleccionados para verificar que se ajusten con los definidos como parte del proceso.
Garantiza que las desviaciones en el trabajo de SW y en los productos de trabajo estén documentadas.
Registra cualquier falta de ajuste y lo informa al gestor ejecutivo.
Revisiones del softwareLas revisiones de software son un “filtro”
para el proceso de software es decir las revisiones se aplican en diferentes puntos y sirven para descubrir errores y defectos que luego pueden eliminar.
Existen dos tipos de revisionesLas revisiones informalesLas revisiones técnicas (medio para descubrir
errores y mejorar la calidad de Software)
Impacto de los defectos del software en el costo
Varios estudios realizados por TRW, NEC y Mitre Corp., entre otros indican que en las actividades de diseño se introducen entre el 50 a 65 por ciento de los errores.
Si un error es descubierto en una etapa de diseño dicho error costara 1.0 unidades, Si este es descubierto antes de la fase de pruebas costara 6.5 unidades, durante las pruebas 15 unidades y luego de su liberación entre 60 y 100 unidades.
Amplificación y eliminación del defecto
Amplificación y eliminación del defecto
Amplificación con revisiones Amplificación sin revisiones
Revisiones Técnicas Formales Descubren errores Verifican que el software satisface sus requisitosGarantizan que el software se ha representado
de acuerdo con los estándaresBrindan un beneficio de la no propagación de
errores. Quien realiza estas revisiones ?Se debe decidir si:
Aceptan el producto sin modificaciones posteriores.
Rechazan el producto debido a errores severos. Aceptan el producto provisionalmente.
Revisiones Técnicas Formales
DIRECTRICES DE LA REVISIÓN1. Revisar el producto, no al productor2. Establecer una agenda y respetarla3. Limitar el debate y la impugnación4. Enunciar áreas de problema, pero no se intente
resolver todos los que se hayan señalado5. Tomar notas6. Limitar el número de participantes e insistir en la
preparación anticipada 7. Desarrollar una lista de verificación para cada
producto que tenga probabilidad de ser revisado8. Asignar recursos y programar las RTF9. Realizar un entrenamiento significativo de todos los
revisores10. Analizar las revisiones previas
Revisiones Basadas en Muestras
Análisis de diferentes módulos para poder determinar cuál de estos o en cuál de estos enfocar las RTF
Para que un proceso basado en muestras sea eficaz se debe tener en cuenta:
1. La muestra debe ser lo suficientemente representativa del producto de trabajo como un todo.
2.Debe ser lo suficientemente grande de tal manera que sea significativa para los revisores que realizan el muestreo.
Garantía de la calidad estadística del software
La información acerca de defectos de SW se recopila y clasifica.
Determinar la causa de cada defecto Principio de Pareto (80% defectos se
encuentran en el 20% de las causas posibles) se aísla un 20% (vitales).
Una vez identificadas las causas vitales, se corrigen los problemas que han provocado los defectos.
Seis Sigma:Metodología rigurosa y disciplinada que utiliza el análisis de datos y
estadísticos para medir y mejorar el desempeño de una organización permitiendo identificar y eliminar los defectos de fabricación y los procesos relacionados con los servicios
• Define tres pasos centrales :– Definir los Requisitos del Cliente, entregables y metas del proyecto.– Medir el proceso existente y su salida para determinar el desempeño calidad
actual– Analizar las métricas de defecto y determinar causas
• proceso de software existente está en marcha y requiere mejoría seis sigma sugiere adicionar: (DMAMC)– Mejorar el proceso eliminando las causas originales de los defectos.– Controlar el proceso para garantizar que no se repitan las causas de defectos
• Si la organización está desarrollando software en lugar de mejorar el proceso los pasos centrales se aumentan así: (DMADV)– Diseñar proceso– Verificar el modelo del proceso.
Fiabilidad del Software:
“La probabilidad de la operación libre de fallas de un programa de computadora en un entorno especifico durante un tiempo especifico”
Los Estándares de Calidad • ISO 9000 Describe un sistema de garantía de la calidad en términos
genéricos que se aplican a cualquier negocio sin importar los productos o servicios ofrecidos
• Sistema de garantía de calidad, estructura organizacional, responsabilidades, procedimientos, procesos, y recursos para implementar la gestión de la calidad
• ISO 9001:2000 se aplica a la ingeniería de software aborda tópicos como:• Responsabilidad de la gestión• Sistema de calidad• Revisión de contrato• Control de diseño• Control de documentos y datos • Identificación y seguimiento del producto• Control de proceso• Inspección y pruebas• Acciones correctivas y preventivas• Control de registro de la calidad• Auditorias de calidad interna• Entrenamiento• Servicio y técnicas estadísticas
El plan SQA:
• Esta es una herramienta que permite instituir la garantía de seguridad del software, desarrollado por el grupo de SQA este proporciona un plantilla de actividades, se debe tener en cuenta lo siguiente:
1. El propósito y ámbito del plan2. Una descripción de todos los productos de software3. Estándares y prácticas aplicables a nuestro proceso. 4. Las acciones y tareas del SQA.5. Las herramientas y métodos utilizados.6. Procedimientos de gestión de configuración.7. Métodos para salvaguardar, ensamblar y mantener los
registros.8. Documentación, papeles y responsabilidades en la
organización relativas a la calidad del producto elaborado.