-
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