50
Aseguramiento de la calidad en el software (SQA) Ingeniería de Software 1 Plan actualización 2013

09.SQA

Embed Size (px)

DESCRIPTION

SQA / Ingenieria de software 1

Citation preview

  • Aseguramiento de la calidad en el software (SQA)

    Ingeniera de Software 1

    Plan actualizacin 2013

  • Puntos

    Calidad en el software

    Actividades de SQA Tipos de actividades

    Costos de la calidad

    Tcnicas de SQA Revisiones e inspecciones

    Auditoras

    Anlisis causal

    QFD

    2

  • CALIDAD EN EL SOFTWARE

  • Calidad e ingeniera de software

    Definicin de calidad [Juran 1999]

    (a) Calidad es el conjunto de caractersticas de un producto que satisfacen las necesidades de los clientes y, en consecuencia, hacen satisfactorio el producto

    (b) Calidad consiste en no tener deficiencias en el producto o en el proceso

    4

  • Calidad en el software

    Componentes mensurables de la calidad

    Satisfaccin del cliente

    Nivel de satisfaccin (Expectativas vs Percepcin)

    Valor agregado del producto

    Atributos de calidad del producto

    No deficiencias en el producto y proceso

    Ausencia de defectos

    Calidad del proceso de produccin

    5

  • Calidad en el software

    Definicin [Pressman]

    Concordancia con los requerimientos funcionales y no funcionales explcitamente establecidos, con los estndares de desarrollo explcitamente documentados y con las caractersticas implcitas que se espera de todo software desarrollado profesionalmente

    6

  • Calidad en el software

    Concordancia con los requerimientos. Es el concepto de adecuacin al uso, si no se cumple con los requerimientos no hay calidad

    Estndares de desarrollo. Criterios definidos que guan el proceso de ingeniera

    Requerimientos implcitos, que pueden no ser documentados pero se esperan de todo software de calidad

    7

  • Calidad en el software

    Dos perspectivas de la calidad

    Calidad de diseo

    Caractersticas de la especificacin para satisfacer las necesidades del cliente

    Calidad de la solucin para resolver el problema

    Calidad de concordancia

    Grado de apego con las especificaciones en la implantacin

    Calidad de la implementacin para corresponderse con la solucin

    8

  • Calidad en el software

    Control de calidad

    Parte de la gestin de la calidad orientada al cumplimiento de los requisitos de la calidad ISO 9000:2005

    9

  • Calidad en el software

    Aseguramiento de la calidad

    Parte de la gestin de la calidad orientada a proporcionar confianza en que se cumplirn los requisitos de la calidad ISO 9000:2005

    Un modo planificado y sistemtico de asegurar a la gerencia que se aplican los estndares, prcticas, procedimientos y mtodos definidos del proceso CMMI-DEV v1.2

    10

  • Calidad en el software

    Gestin de la calidad

    Actividades coordinadas para dirigir y controlar una organizacin en lo relativo a la calidad ISO 9000:2005

    Generalmente incluye el establecimiento de la poltica, los objetivos, la planificacin, el control, el aseguramiento y la mejora de la calidad

    11

  • Calidad en el software

    12

  • ACTIVIDADES DE SQA

  • Actividades de SQA

    La forma de dar confianza de que los requisitos de un producto de software se cumplirn es realizando determinadas actividades sistemticamente

    A estas actividades se las conoce como actividades de aseguramiento de la calidad del software

    Forman parte de los procesos de apoyo para la produccin de software

    14

  • Actividades de SQA

    1. Establecer un plan de SQA para el proyecto

    2. Participacin en la definicin del proceso

    3. Revisar las actividades para verificar ajuste al proceso

    4. Asegurar el apego a los estndares definidos (del producto y del proceso)

    5. Auditar las actividades de calidad

    6. Mtricas del software

    15

  • Actividades de SQA

    7. Auditar proceso de SCM

    8. Indicar acciones correctivas y preventivas

    9. Aplicacin de herramientas y mtodos tcnicos

    10.Realizacin de revisiones

    11.Prueba del software

    12.Registro y realizacin de informes

    16

  • Actividades de SQA

    Tipos

    Actividades preventivas Planificacin de la calidad

    Anlisis causal

    Revisiones y auditoras

    Actividades correctivas Verificacin y validacin (Prueba de productos)

    Actividades registrales Registro de resultados y redaccin de informes

    Recoleccin de mtricas: de productividad, de re trabajo, de fallas

    17

  • 18

    Registro de incidentes

    Evaluar objetivamente procesos y productos

    Actividades de evaluacin Revisiones, verificaciones, validaciones y auditoras

    Medicin y anlisis

    Actividades de medicin y anlisis

    Productos y procesos

    Mtricas e indicadores

    Informes y reportes

    Proporcionar visin objetiva

    Actividades de comunicacin y seguimiento

  • Actividades de SQA

    Plan de SQA

    Cada proyecto de desarrollo y mantenimiento debe tener un plan de SQA especificando sus metas, tareas de SQA a desarrollar, los estndares a utilizar, los procedimientos y estructura organizacional

    Se debe considerar el tipo de proyecto y el grupo que lo desarrolla para seleccionar las actividades de aseguramiento de la calidad

    Los estndares que se aplican deben ser concordante con los atributos de calidad del sistema

    19

  • Actividades de SQA

    Contenido del plan de SQA (IEEE) Propsito y referencias

    Gerenciamiento (Tareas y responsabilidades)

    Documentacin

    Estndares, prcticas y mtricas

    Revisiones y auditoras

    Pruebas

    Gestin del cambio (SCM)

    Reporte de problemas y acciones correctivas

    Herramientas, tcnicas y metodologas

    Recoleccin, mantenimiento y retencin de registros

    20

  • Actividades de SQA

    Relacin con el equipo de produccin El SQA es el responsable de muchas de las

    verificaciones de los productos, por esto debe cuidar especialmente la relacin con el equipo

    La calidad del producto no es responsabilidad del SQA sino de cada productor para con su cliente interno u externo

    SQA debe poseer buen relacionamiento con los desarrolladores y el gerente

    21

  • Actividades de SQA

    Costos de la calidad

    Los costos de calidad nunca pueden considerarse en forma aislada, solo en conjunto con el ahorro de costos producido por la no calidad

    Llevar a cabo cierta actividad si estamos seguros que reducirn los costos

    22

  • Actividades de SQA

    Costo de prevencin

    Planificacin, organizacin y capacitacin

    Costo de la evaluacin

    Revisiones, auditoras, verificacin y validacin.

    Costo de fallas

    Internas Reparacin

    Externas Resolucin de quejas, devolucin y sustitucin de productos,

    soporte, trabajo de garanta

    23

  • 24

  • TCNICAS DE SQA

  • Tcnicas de SQA

    Pruebas Para verificacin y validacin del software

    Revisiones Para identificar problemas y oportunidades de mejora del producto

    Auditoras Para identificar problemas y oportunidades de mejora del proceso

    Anlisis Causal Para la deteccin de las causas que ocasionan los defectos

    QFD Trazabilidad de elementos del desarrollo

    26

  • Tcnicas de SQA

    27

    Necesidades del

    cliente

    Requerimientos Proceso de desarrollo Productos de trabajo

    Verificaciones

    Validaciones

    Auditorias

    Pro

    ceso

    Pro

    du

    ctos

    Revisiones

  • Revisiones

    Revisin del trabajo por parte de un grupo distinto al productor para identificar mejoras al producto

    confirmar las partes que no es necesario mejorar

    estandarizar el nivel de calidad del trabajo tcnico

    Idea: los desarrolladores no ven ciertos errores de su trabajo que otras personas s pueden ver

    Efecto secundario: las personas se esfuerzan ms

    Mecanismo para asegurar el cumplimiento de estndares, til a la vez como formacin

    Se pueden aplicar durante todo el proceso

    Beneficio ms claro: deteccin temprana de defectos 28

  • Revisiones

    Tipos de revisiones

    Revisiones gerenciales (Proyecto)

    Se evala el estado del proyecto con respecto a los planes, cronogramas, estndares y guas disponibles

    Revisiones tcnicas (Producto)

    Discrepancia con los requerimientos y estndares

    29

  • Revisiones

    Proceso general de una revisin

    Planificacin

    Preparacin

    Ejecucin de la revisin

    Re-trabajo

    Anlisis de resultados

    30

  • Revisiones

    31

  • Tipos de revisiones

    32

  • Inspecciones

    Utilizan listas de verificacin para concentrar la atencin en reas problemticas

    nfasis en deteccin, no en correccin

    Se revisa el material con anticipacin a la reunin

    Se asignan roles a los participantes (el moderador no puede ser el productor). El moderador tiene entrenamiento especfico

    Se registran datos para mejorarlas

    Reunin de tiempo limitado, por ejemplo 2 horas

    Se revisa el producto, no al productor

    33

  • Inspecciones

    Qu inspeccionar?

    Requisitos, diseo, cdigo, planes, casos de prueba, documentacin, etc.

    34

    Anlisis Diseo Codificacin

    Insp. requisitos Insp. diseo Insp. cdigo

  • Inspecciones

    35

  • Inspecciones

    Procedimiento

    1. Planificacin

    2. Preparacin

    3. Sesin

    4. Reporte

    5. Retrabajo

    6. Seguimiento

    7. Mejora del procedimiento

    Roles

    Moderador (no puede ser el autor)

    Autor

    Revisor

    Registrador

    36

  • Inspecciones

    Beneficios de las revisiones

    Efectivas en la deteccin de errores

    Relativamente econmicas comparadas con las pruebas

    Detectan los defectos antes que las pruebas

    Estimula a comprender a los distintos integrantes las metas de los dems

    Ms del 60 % de los errores de un programa se pueden detectar en inspecciones [Fagan]

    37

  • Anlisis causal

    Anlisis causal

    Actividad fundamental donde se atacan las causas de los problemas, donde se proponen cambios en las herramientas o el proceso

    Se debe realizar en forma temprana para aprovechar la experiencia

    Es necesario realizar un plan de acciones y seguimiento de los cambios propuestos, es importante el compromiso del gerente

    38

  • Anlisis causal

    Anlisis causal

    Objetivo: prevenir los defectos en base a la eliminacin de las causas que los provocan

    Se analizan los registros de defectos detectados

    registros de inspecciones

    registros de pruebas

    registros de reportes de problemas

    Categorizar las causas de los defectos (el 20% de las causas provocan el 80% de los defectos)

    39

  • Anlisis causal

    5 porques

    Baja venta del producto

    Porque? Porque estamos vendiendo menos

    Porque? Porque el cliente no quiere nuestros productos

    Porque? Porque el competidor tiene mejores productos

    Porque? Porque no hemos producido buenos productos ltimamente

    Porque? Porque hemos reducido el presupuesto de investigacin y desarrollo

    40

  • Anlisis causal

    41

  • Ciclo de prevencin

    42

  • Tcnicas de SQA

    Reportes de SQA

    Reporte de problemas

    Reporte de anlisis causal

    Reporte de inspeccin

    Sumario de defectos

    Reporte de testing

    Reportes de SCM

    43

  • Tcnicas de SQA

    QFD

    Es un mapa conceptual del problema, utilizado para la comunicacin y la planificacin

    Permite la comunicacin dentro del grupo de trabajo, para que los productos diseados reflejen los deseos de sus consumidores

    44

  • Tcnicas de SQA

    Aplicacin del QFD

    El esquema es una matriz que vincula el que (en las filas), con el como (en las columnas)

    El paso inicial es la identificacin de los requerimientos del usuario, que son el punto de partida

    45

  • Tcnicas de SQA

    Ejemplo QFD

    46

    X CU7

    X CU6

    X X CU5

    X X CU4

    X X CU3

    X X CU2

    CL6 CL 5 CL 4 CL 3 CL 2 CL 1

    Clases Casos de uso

  • Tcnicas de SQA

    Matrices QFD

    Pueden vincularse distintos elementos del desarrollo por matrices QFD

    Id. de Req. vs. Esp. de Req. (casos de uso)

    Casos de uso vs. Clases

    Casos de uso vs. Casos de Prueba

    47

  • Tcnicas de SQA

    Beneficios del QFD

    Ayuda a verificar que se cumpla con todos los requerimientos

    Evita que se realice trabajo repetido

    Ayuda a rastrear el impacto de los cambios en cualquier etapa del sistema

    48

  • Referencias

    Captulo 8, Ingeniera del Software, Pressman

    Managing the Software Process, Watts S. Humphrey

    Rapid Development, Steve McConnell

    49

  • Nota sobre este documento

    Esta presentacin es una gua para docentes y estudiantes sobre los temas dados en clase

    La presentacin por si sola no es una fuente completa para el estudio de la materia

    Para complementar esta informacin debe usarse la bibliografa de la materia

    50