Calidad de Software
Introducción
Calidad
Propiedad o conjunto de propiedades inherentes a algo, que permiten juzgar su valor. (RAE)
Software
Es el conjunto de los programas de cómputo, procedimientos, reglas, documentación y datos asociados que forman parte de las operaciones de un sistema de computación. (IEEE)
Calidad de software
Grado en el que un sistema, componente o proceso cumple con los requerimientos especificados (IEEE)
Grado en el que un sistema, componente o proceso cumple con las necesidades o expectativas del usuario (IEEE)
Aseguramiento de la calidad del software
Un conjunto sistemático y planificado de acciones necesarias para proveer una adecuada confianza en el proceso de desarrollo de software de un producto de software que este conforme con los requerimientos funcionales, técnicos y de gestión (IEEE)
Enfoque tradicional
Organizaciones
ISO
International Organization for Standardization
http://www.iso.org/iso/about.htm
Red de estándares en 160 países
Organización no gubernamental
Consenso
Perú
INDECOPI
Ej: ISO 9000, 9126
IEEE
Institute of Electrical and Electronics Engineers
http://www.ieee.org
Asociación técnico-profesional mundial dedicada a la estandarización
333 secciones locales en 10 regiones geográficas
Perú
http://www.ieeeperu.org
PMI
Project Management Institute
http://www.pmi.org
Organización internacional sin fines de lucro que asocia a profesionales relacionados con la Gestión de Proyectos
Objetivos
Formular estándares profesionales en Gestión de Proyectos
Generar conocimiento a través de la investigación
Programas de certificación
PMBOK
Project Management Body of Knowledge
Agile PMI
http://www.pmi.org/Agile.aspx
http://agile-pm.pbworks.com
SEI
Carnegie Mellon Software Engineering Institute
http://www.sei.cmu.edu/
CMM/CMMi
Normatividad
PMBOK
Gestión de la Calidad del Proyecto
Incluye
Procesos y actividades
Determinan responsabilidades, objetivos y políticas de calidad
Finalidad
Satisfacer las necesidades del proyecto
Implementa el sistema de gestión de la calidad
Actividades de mejora continua
Compatible con gestión moderna de la calidad
Satisfacción del cliente
Prevención antes que inspección
Mejora continua
Responsabilidad de la dirección
Procesos
Planificar la calidad
Identificar los requisitos de calidad para el proyecto y producto
Definir documentación que demuestra su cumplimiento
Salidas
Plan de Gestión de Calidad
Métricas de Calidad
Listas de COntrol de Calidad
Plan de Mejoras de Proceso
Realizar el Aseguramiento de la Calidad
Auditar requisitos de calidad y resultados de las medidas de control de calidad
Cubre la mejora continua del proceso
Salidas
Actualizaciones a los Activos de los Procesos de la Organización
Solicitudes de cambio
Actualizaciones al Plan para la Dirección de Proyecto
Actualizaciones a los Documentos del Proyectos
Realizar el control de calidad
Monitorear y registrar los resultados de le ejecución de las actividades de control de calidad
Evaluar desempeño
Recomendar cambios necesarios
Salidas
Mediciones de Control de Calidad
Cambios validados
Entregables validados
Actualizaciones a los Activos de los Procesos de la Organización
Solicitudes de cambio
Actualizaciones al plan para la Dirección del Proyecto
Actualizaciones a los Documentos del Proyecto
CMMi
Capability Maturity Model for Software
Niveles de madurez
1. Inicial
2. Repetible
3. Definido
4. Gestionado
5. Optimizado
Agile CMMI
http://www.sei.cmu.edu/library/abstracts/reports/08tn003.cfm
ISO
ISO 9000
Familia de normas de la ISO asociadas a la calidad
Fundamentos y vocabulario
ISO 9001
Sistemas de Gestión de la Calidad – Requerimientos
ISO 9126
Ingeniería del Software – Calidad del Producto
Partes
Modelo de Calidad.
Métricas externas.
Métricas internas.
Calidad en el uso de métricas.
ISO 90003
Guía para la aplicación de la ISO 9001 al software de computadoras
ISO 15540
Tecnologías de la Información – Aseguramiento del Proceso
SPICE – Software Process Improvement and Capability Determination
Partes
Conceptos y vocabulario
Aseguramiento y desempeño
Guía para el aseguramiento del desempeño
Guía en el uso para la mejora de los procesos y la determinación de la capacidad del proceso
Ejemplo del modelo de aseguramiento del proceso
Ejemplo del ciclo de vida del sistema del modelo de aseguramiento del proceso
Aseguramiento de la madurez de la organización
IEEE
IEEE STD 1012
Procesos de la Verificación y Validación del Software
Producto resultante de una actividad
Conforme con los correspondientes requisitos
IEEE STD 1061
Metodología para establecer requisitos de calidad
Identificar analizar y validar los procesos y los productos software
IEEE STD 730
Planes de aseguramiento de la calidad del software
Especifica el formato y contenidos de los planes antes mencionados
Métricas
"No puedes controlar lo que no puedes medir". Tom DeMarco, 1982
Definiciones
Medida
Dato
Indicación cuantitativa de algunos atributos de un proceso o producto
Se obtiene directamente, sin necesidad de cálculos
Ejemplos
Número de defectos encontrados en la revisión de un archivo de código fuente
Número de casos de prueba ejecutados
Número de líneas de código
Métrica
Ratio
Dos medidas relacionadas
Medida cuantitativa del grado en que un sistema, componente o proceso posee un atributo dado (IEEE)
Ejemplos
Productividad (LDC por Persona-mes)
Esfuerzo por cada revisión de código fuente
Errores por x líneas de código
Indicador
Métrica o combinación de ellas
Ratio entre un valor esperado contra el obtenido
Ejemplos
# de casos de uso especificados / total de casos de uso
# de casos de prueba cerrados / total de casos de prueba
Objetivos
Dar soporte para el control de proyectos
Entregar métricas para tomar medidas preventivas y correctivas
Pruebas
Pruebas de software
Las pruebas de software son un proceso formal ejecutado por un equipo de pruebas especializado en el cual el software es examinado corriendo los programas en una computadora. (IEEE)
Todos las pruebas asociadas son ejecutados de acuerdo a procedimientos de pruebas aprobados sobre casos de prueba aprobados
Objetivos
Identificar la mayor cantidad de errores
Después de la corrección e identificación
Nivel de calidad aceptable
Ejecutar las pruebas de forma eficiente y efectiva
Estrategias
Big bang testing
Probar el SW cuando esté completo
Incremental testing
Probar el SW por módulos
Integration testing
System testing
Revisiones
Definición IEEE
Proceso o reunión en el cual el trabajo sobre un producto es presentado al personal del proyecto, gerentes, usuarios, clientes u otros interesados para sus comentarios o aprobación
Métodos
Revisiones de diseño formales
Revisión de pares
Opinión experta
Enfoque agile
No especifica procesos, normas ni documentos
Enfoque de calidad en las personas, principios y prácticas
Prácticas relacionadas a calidad
eXtreme Programming
Test Driven Development
Pair Programming
Continuous Integration
Collective Code Ownership
Scrum
Retrospectivas
Daily meeting
Referencias
Daniel Dalin, Software Quality Assurance, Pearson 2004
Godbole Nina, Software Quality Assurance, Alpha Science 2006
Mario Piattini, Calidad de Sistemas Informáticos, Alfaomega 2009
PMI, Guía del PMBOK, 2008
SEI, CMMi, Pearson 2009
Acerca de
Topic
Topic
Calidad de Software
Added: 2011-04-29 23:34:12
From: (Joined 2009-12-01 22:08:05)
444 views |0 downloads
Calidad de Software