Calidad en el Software

SWEBOK Cap. 10 e ISO9000-3

Integrantes

Juan Guillermo Restrepo Pineda

Camilo Antonio Guerra González

Jonathan Damián Munera Muñoz

Esteban Salazar Zapata

Medellín - 2014

Objetivo General

Poner a disposición de los alumnos del curso de Calidad del Software (2014-2), los elementos compatibles entre la norma ISO 9000-3 y los componentes referentes a la calidad del software del SWEBOK

Objetivos Específicos

  • Conocer los referente a la calidad de software del SWEBOK y la ISO 9000-3

  • Alinear la ISO9000-3 y el referente de calidad de software

  • Exponer un caso practico de la industria donde se observe la aplicabilidad del referente de calidad.

  • Realizar una exposición teórica-práctica.

Agenda

  • Recordando la contextualización
  • ¿En qué consiste la ISO 9000-3?
  • ¿Qué dice el SWEBOK con respecto a la calidad del software?
  • Objetivos comunes de la ISO 9000-3 y SWEBOK
  • Preguntas y respuestas
  • Caso práctico
  • Conclusiones

ISO 9000-3

[              ]

Gestión de Calidad y Normas de Aseguramiento de la Calidad

La norma ISO 9000-3 es parte de la familia de estandares

ISO 9000, un conjunto de normas internacionales y guías de calidad que ha obtenido una reputación mundial como base para establecer sistemas de gestión de la calidad.

ISO 9000-3

  • ISO 9000-3: 1997 (OBSOLETA)
  • ISO 9000-3: 2000 (OBSOLETA)
  • ISO 90003: 2004 (OBSOLETA)
  • ISO 90003: 2008 (ACTUAL)
  • ISO 90003: 2015 (PRÓXIMA)

El estándar ISO9000-3

La Familia ISO 9000

Calidad genérica

Asegurar

Todo tipo de producto

Administrar

Certificación de la calidad

Eliminación de costos

Reducción de auditorías

Inspección final

Garantías

Reprocesos

hace parte de

se encarga de

de la

de

sobre

mediante

[         ]

[    ]

[          ]

[          ]

[        ]

[           ]

[           ]

[           ]

[           ]

[       ]

[       ]

[       ]

ISO 9000-3:

"Guía para la aplicación de la ISO 9001 para el desarrollo, la aplicación y el mantenimiento de software."

Sistema de Gestión

Responsabilidad de la dirección

Gestión de los recursos

Realización del producto

Medición, análisis y mejora

Sistema de gestión

Systemic Requirements and Guidelines

  • Gestión de la documentación
    • Creación
    • Revisión
    • Aprobación
    • Distribución de manual de calidad
    • Procedimientos
    • Instrucciones
    • Formatos
  • Definición de procesos
  • Fichas de procesos
  • Mapa de procesos
  • Control de registros
  • Control de documentación externa
  • Otros documentos

Responsabilidad de la dirección

Management Requirements and Guidelines

  • Definición de objetivos
  • Planificación de objetivos
  • Control de objetivos
  • Planificación de la calidad
  • Organigrama
  • Comunicación interna
    • Calendarios
    • Asistente para la realización de reuniones
  • Informe de Revisión por la Dirección

Gestión de los recursos

Resource Requirements and Guidelines

  • Gestión de recursos humanos
    • Ficha de personal
    • Plan de formación
    • Evaluación y valoración de las acciones formativas
    • Definición de puestos de trabajo y departamentos
  • Gestión de la infraestructura
    • Fichas de maquina
    • Plan de mantenimiento
    • Repuestos
    • Registro de mantenimiento y averias
    • Datos de fabricante y distribuidor

Realización del producto

Realization Requirements and Guidelines

Están contenidos los requisitos puramente productivos, desde la atención al cliente, hasta la entrega del producto o el servicio.

  • Planeación de la realización del producto y/o servicio.
  • Procesos relacionados con el cliente.
  • Diseño y desarrollo.
  • Compras.
  • Operaciones de producción y servicio
  • Control de dispositivos de medición, inspección y monitoreo.

Medición, análisis y mejoras

Remedial Requirements and Guidelines

En este apartado quedan establecidos los requisitos para aquellos procesos que agrupa información, la analizan y llevan a cabo medidas que permiten la mejora continua en los procesos de la organización que hacen posible el suministro de productos y servicios de calidad.

  • Requisitos generales.
  • Monitoreo y medición.
  • Control de producto no conforme.
  • Análisis de los datos para mejorar el desempeño.
  • Mejora.

PLAN

DO

ACT

CHECK

Ajuste PDCA

  • Plan: Establezca objetivos y procesos necesarios para cumplir con los objetivos.
  • Do: Implemente los procesos.
  • Check: Monitoree los procesos y productos y evalué si el progreso esta de acuerdo al plan.
  • Act: Tome acciones continuas para mejorar el rendimiento de los procesos.

El estándar ISO9000-3

[Desarrollo]

[Suministro]

[Mantenimiento]

Software

Detección de problemas

Corrección de problemas

Asegurar recursos de calidad

[Ambiente]

[Personal]

[Infraestructura]

se utiliza para

del

mediante

tales como

[        ]

[                                    ]

[      ]

[      ]

[      ]

En resumen

Software Quality

[                   ]

SWEBOK Capítulo 10

¿Qué es Calidad de Software?

"Es la capacidad de un producto de software para satisfacer las necesidades planteadas por un stakeholder así como las necesidades implícitas bajo condiciones especificas."

"Es el grado en que un producto de software cumple con los requerimientos establecidos y depende de cómo estos requerimientos llenan las expectativas, necesidades y deseos de un stakeholder."

Fundamentos

Gestión

Consideraciones prácticas

Herramientas

Calidad del software

Cultura y ética de Ingeniería de Software

Valor y costo de calidad

Modelos y caract. de calidad

Mejora de calidad del Software

Seguridad del Software

Aseguramiento de la calidad del software

Verificación y Validación

Revisión y auditorias

Req.  de calidad de Software

Caracterización de defectos

Técnicas de gestión de la calidad del software

Medición de la calidad del Software

Fundamentos de la Calidad en el Software

Un ingeniero de software debería entender los significados subyacentes en los conceptos y características de calidad y su relevancia en el desarrollo o mantenimiento de software.

 

Los ingenieros de software esperan compartir un
compromiso sobre calidad de software como una parte
de su cultura.

 

Cultura y Ética

La ética ayuda a los ingenieros de software a reforzar actitudes relacionadas con la calidad y con la independencia de su trabajo

La motivación latente tras un proyecto de software es el
deseo de crear un software que tiene valor, y este valor
puede o no puede ser cuantificado como un coste.

Valor y costo

Útiles para la negociación, planeación y tasación de la calidad de productos software. Contempla:

  • Calidad del Proceso: Afecta a las características de calidad de los productos software, que a su vez repercuten en la calidad en el uso tal y como es percibido por  el cliente.
  • Calidad del Producto: Esta determinado por el verdadero objetivo del software y se encuentra influenciado tanto por los requerimientos como por las expectativas del cliente.

Modelos y Características

La calidad de los productos de software se puede mejorar  a través de procesos de prevención o de un proceso iterativo de mejora continua, que requiere control de la gestión, la coordinación y comentarios de muchos procesos simultáneos:

  • Los procesos del ciclo de vida del software.
  • El proceso de detección de defectos, remoción y prevención.
  • El proceso de mejora de la calidad.

Mejoras

Evitar fallos del sistema equivale a evitar dañar la vida humana, los demás seres vivos, las estructuras físicas, o el medio ambiente.

Los estándares de seguridad buscan reducir el riesgo de defectos de inyección en el software y mejorar así la fiabilidad del software.

Seguridad

Fundamentos

Gestión

Consideraciones prácticas

Herramientas

Calidad del software

Cultura y ética de Ingeniería de Software

Valor y costo de calidad

Modelos y caract. de calidad

Mejora de calidad del Software

Seguridad del Software

Aseguramiento de la calidad del software

Verificación y Validación

Revisión y auditorias

Req.  de calidad de Software

Caracterización de defectos

Técnicas de gestión de la calidad del software

Medición de la calidad del Software

Es el conjunto de todos los procesos que garanticen que los productos de software, servicios, y las implementaciones de procesos, en el ciclo de vida cumplan con los objetivos de calidad del software y lograr la satisfacción de las partes interesadas.

Procesos de Gestión de la Calidad o SQM

Es un conjunto de actividades que definen y evalúan la adecuación de los procesos de software para proporcionar evidencia  que establece la confianza de que los procesos de software son apropiados y producen productos de software adecuados para los fines previstos.

Aseguramiento o SQA

  • Ayuda a la calidad de construcción organización de desarrollo en el sistema durante el ciclo de vida.
  • Proporcionan una evaluación objetiva de productos y procesos en todo el ciclo vital. Esta evaluación demuestra si los requisitos son correctos, completos, exactos, coherentes y comprobable.
  • determinan si los productos de desarrollo de una determinada actividad se ajustan a los requisitos de ese actividad y si el producto cumple su uso y necesidades de los usuarios previstos.

V & V

Son ampliamente definidos en el sentido estático,  de que no hay modelos o programas de software que puedan ser ejecutados , para examinar los artefactos de la ingeniería del software con respecto a las normas que han sido establecidas por la organización o para el proyecto para dichos artefactos.

Revisión y auditoría

Revisiones de la Gestión:

  • Monitorear el progreso
  • Determinar el estado de planes y programas
  • Evaluar la eficacia de los procesos de gestión, herramientas y técnicas.
  • Se comparan los resultados reales del proyecto contra los planes , lo que lleva  determinar el estado de los proyectos o esfuerzos de mantenimiento.
  • Los principales parámetros de revisiones por la dirección son proyecto costo, horario,alcance y calidad.

Revisiones Técnicas:

Evalua un producto de software por un equipo de personal cualificado para determinar su idoneidad para el uso deseado y se identifican discrepancias de las especificaciones y normas.
Se proporciona a la administración pruebas para confirmar el estado técnico de los el proyecto.

 

Inspecciones:

Detectan y identifican anomalías de productos de software; algunos diferenciadores importantes de las inspecciones  en comparación con otros tipos de revisiones técnicas son:

  • Reglas
  • Muestreo
  • Peer
  • Led
  • Reuniones

Recorridos:

El propósito de un recorrido sistemático es evaluar un producto de software.
Un caminar a través de puede llevarse a cabo con el propósito de educar a una audiencia con respecto a un producto de software.

Auditorías de Aseguramiento de los procesos y aseguramiento de los productos:

El objetivo de una auditoría de software es proporcionar una evaluación independiente de la conformidad de productos de software y procesos a regulaciones aplicables ,directrices, planes y procedimientos.

Fundamentos

Gestión

Consideraciones prácticas

Herramientas

Calidad del software

Cultura y ética de Ingeniería de Software

Valor y costo de calidad

Modelos y caract. de calidad

Mejora de calidad del Software

Seguridad del Software

Aseguramiento de la calidad del software

Verificación y Validación

Revisión y auditorias

Req.  de calidad de Software

Caracterización de defectos

Técnicas de gestión de la calidad del software

Medición de la calidad del Software

Consideraciones prácticas

Requisitos

Factores de Influencia

Confianza

Niveles de Integridad

Son técnicas para  encontrar defectos, fallos y fracasos. Conduce a una comprensión del producto, facilita la correcciones en el proceso o el producto, e informa a la gestión y otras partes interesadas de la situación del proceso o producto.

Caracterización de defectos

Se pueden clasificar de muchas maneras, pero un enfoque directo utiliza sólo dos categorías: estático y dinámico. Técnicas dinámicas implican la ejecución del software; técnicas estáticas implican que analiza documentos y código fuente, pero no ejecutar el software.

Técnicas de gestión

Se utilizan para la toma de decisiones de apoyo. Con la creciente  sofisticación del software, una de las cuestiones de calidad es  ir más allá de si o no el software logra los objetivos de calidad medibles.

Medición

Fundamentos

Gestión

Consideraciones prácticas

Herramientas

Calidad del software

Cultura y ética de Ingeniería de Software

Valor y costo de calidad

Modelos y caract. de calidad

Mejora de calidad del Software

Seguridad del Software

Aseguramiento de la calidad del software

Verificación y Validación

Revisión y auditorias

Req.  de calidad de Software

Caracterización de defectos

Técnicas de gestión de la calidad del software

Medición de la calidad del Software

Herramientas

Resultados

Código

Análisis dinámico y estático

  • Análisis sintáctico y semántico
  • Análisis modal de fallos y efectos
  • Análisis del árbol de fallos
  • Tasas de inyección de defectos y de eliminación

[ Resumen ]

ISO9000-3

y

SWEBOK Cap. 10

La Calidad en el Software involucra

Objetivos

Requisitos

Riesgos

Ciclo de vida

Fuentes de req.

Elicitación

Comunicación

Continua con

El cliente

Definir

Entradas y salidas

De los procesos

V & V

Revisiones y pruebas

De unidad y sistema

Adm. de la configuración

Seguimiento de cambios

Mediciones

Control de

Adquisición de

Componentes

Monitorizar y preservar

Activos tales como

Componentes

Gestión de

proyectos

SQA

Requisitos

de software

Gestión de la configuración

}

Respuestas

a posibles preguntas

!

P: ¿Alguna plantilla para aplicar la ISO 9000-3?

R: Próximamente en sus bandejas de correo electrónico.

P: ¿Donde encontrar métricas?

R: En el capitulo 7 del libro Measuring Test Effectiveness, de Rick Craig y Stefan Jaskiel.

 

P: ¿Su enfoque estaba en la calidad en los procesos?

R: El enfoque es general esta en el software. La calidad en procesos es difícil de separar de la del producto pero puede entenderse inicialmente como:

La calidad en los procesos repercute en la calidad del producto.

P: ¿Alguna herramienta para análisis?

R: Coverty (Dinamico - Java)     Valgrid (Fugas de memoria)

BugScout (Estatico- Multi)         Lint (Estatico - C/C++)

¿Preguntas?

?

[Caso práctico]

Veamos un

Se ha detectado una comunicación no deseada entre cárceles

Jails son ambientes virtualizados propios del sistema operativo FreeBSD que permiten particionar el sistema en subsistemas independientes llamados Jails.

En un proceso de auditoría se detecto que los procesos que se ejecutaban en una jail podían ser vistos por otra jail (mediante el comando "ps"), lo que representa un problema de seguridad.

PLAN

DO

ACT

CHECK

Aplicando PDCA

Evitar la fuga de información mediante "ps" limitando su campo de acción a una sola jail.

  • Ver el funcionamiento del comando.
  • Modificando su código.
  • Estableciendo permisos.

Realizar pruebas del proceso en varias jails.

Recopilar información de los procesos relacionados a "ps"

Lleve a cabo las acciones correctivas.

Estandarice.

PLAN

DO

ACT

CHECK

PS

¿Existe otro proceso que permita la fuga de información?

Estandarización

Conclusiones

  • La calidad en el software involucra expectativas, necesidades y requisitos que provienen del cliente.
  • Involucra procesos de direccionamiento del proyecto, conocimiento del dominio (contexto, organización, etc), documentación, evaluaciones (revisiones, auditorías, etc), costos  entre otros factores.
  • La calidad en el software es parte integran del ingeniero de software.
  • La calidad en el software no solo se fundamenta en los requisitos.

Referencias Bibliográficas

  • SWBOK V3.0 2004, IEEE. Cápitulo 10: Quality Software.
  • Kehoe R., Jarvis A. ISO 9000-3: A Tool for Software Product and Process Improvement, p. 45. SpringerVerlag, 1996.
  • Measuring Test Effectiveness, del Capítulo 7: Test Execution. Del Libro Systematic Software Testing by Rick D. Craig and Stefan P. Jaskiel, Artech House © 2002.

Muchas

Gracias

[            ]

Calidad en el Software

By Juangui Restrepo

Calidad en el Software

Poner a disposición los elementos compatibles entre la norma ISO 9000-3 y los componentes referentes a la calidad del software del SWEBOK.

  • 360