Logo Studenta

IngSW - Calidad del software 2022

¡Este material tiene más páginas!

Vista previa del material en texto

Calidad del software 
Mg. Ing. Mabel Torres
Aseguramiento de la calidad del 
proceso y del producto
Contenidos de la materia
▪ Unidad 3: Aseguramiento de calidad de proceso y 
de producto
3.1 Conceptos de calidad – La tendencia de la calidad
3.2 Calidad del software – Modelos de calidad existentes (CMMI – ISO)
3.3 Revisiones del software – Revisiones técnicas formales
3.4 Fiabilidad del software - El plan de SQA.
3.5 Diseño del plan de pruebas: pruebas unitarias y de integración
3.6 Pruebas del Sistema.
Bibliografía
▪ Ingeniería del Software – 9na Ed.
Autor: Ian Sommerville
Capítulo 24: “Gestión de la calidad”
▪ Ingeniería del Software – 7ma Ed.
Autor: Roger Pressman
Capítulo 15: Concepto de calidad
Capítulo 16: Aseguramiento de calidad del software
Agenda
▪ Conceptos de calidad
▪ Gestión de calidad del software
▪ Garantía de calidad
▪ Planificación de la calidad 
▪ Revisiones técnicas formales
▪ Modelos de calidad de los procesos
▪ CMMI
▪ ISO
▪ Control de la calidad: métricas del software
Conceptos de calidad
▪ Calidad se puede definir como una característica o
atributo de algo
▪ Un atributo de calidad de un elemento físico se
refiere a las características mensurables por ejemplo:
color, longitud, propiedades eléctricas etc.
▪ El software como una entidad intelectual es más
difícil de caracterizar que los objetos físicos
Conceptos de calidad
▪ La calidad del software se puede definir como la
concordancia:
✓ con los requerimientos funcionales y no
funcionales explícitamente establecidos,
✓ con los estándares de desarrollo explícitamente
documentados, y
✓ con las características implícitas que se espera
de todo el software desarrollado
Conceptos de calidad
▪ En un sentido general, la calidad del software se
define como:
Proceso eficaz de software que se aplica de manera
que crea un producto útil que proporciona valor
medible a quienes lo producen y a quienes lo utilizan.
Agenda
▪ Conceptos de calidad
▪ Gestión de calidad del software
▪ Garantía de calidad
▪ Planificación de la calidad 
▪ Revisiones técnicas formales
▪ Modelos de calidad de los procesos
▪ CMMI
▪ ISO
▪ Control de la calidad: métricas del software
Gestión de la calidad del software 
Actividades principales del proceso de calidad
▪ Garantía de calidad: establecimiento de un marco de
trabajo de procedimientos y estándares organizacionales
que conducen a un software de alta calidad
▪ Planificación de la calidad: La selección de
procedimientos y estándares adecuados para un proyecto
de software específico
▪ Control de la calidad: garantía que los procedimientos y
estándares para la calidad son seguidos por el equipo de
desarrollo de software
Proceso de desarrollo 
de software
Proceso de administración 
de la calidad
Estándares y 
procedimientos
Plan de calidad
Informes de revisión de la calidad
D1 D2 D3 D4 D5
Gestión de la calidad del software 
Actividades principales del proceso de calidad
- Sommerville, cap 24, fig. 24.1 -
Proceso de desarrollo 
de software
Proceso de administración 
de la calidad
Estándares y 
procedimientos
Plan de calidad
Informes de revisión de la calidad
D1 D2 D3 D4 D5
Gestión de la calidad del software 
Actividades principales del proceso de calidad
- Sommerville, cap 27, fig. 27.1 -
Garantía de calidad
Agenda
▪ Conceptos de calidad
▪ Gestión de calidad del software
▪ Garantía de calidad
▪ Planificación de la calidad 
▪ Revisiones técnicas formales
▪ Modelos de calidad de los procesos
▪ CMMI
▪ ISO
▪ Control de la calidad: métricas del software
Garantía de calidad del software 
▪ La garantía de calidad es el proceso que define:
✓ cómo lograr la calidad del software y
✓cómo la organización de desarrollo conoce el nivel de
calidad requerido para el software
▪ Se pueden definir dos tipos de estándares como parte del
proceso de garantía de calidad:
✓ Estándares del producto
✓ Estándares del proceso
Garantía de calidad del software 
✓ Estándares de documentación
Por ejemplo:
• Documento de casos de Usos
• Documento de la arquitectura
• IEEE 830 -
✓ Estándares de codificación
Por ejemplo: 
• terminología del lenguaje de 
programación
✓ Procesos de especificación
✓ Procesos de diseño
✓ Procesos de validación y verificación
Estándares del proceso
Estándares del producto
✓ Procesos de control de cambios
Organizaciones que establecen 
estándares:
OMG
IEEE
ISO …
Marcos de trabajo para la mejora 
de procesos
CMMI
ISO - SPICE
Garantía de calidad del software 
✓ Estándares de documentación
Por ejemplo:
• Documento de casos de Usos
• Documento de la arquitectura
• IEEE 830 -
✓ Estándares de codificación
Por ejemplo: 
• terminología del lenguaje de 
programación
✓ Procesos de especificación
✓ Procesos de diseño
✓ Procesos de validación y verificación
Estándares del proceso
Estándares del producto
✓ Procesos de control de cambios
Organizaciones que establecen 
estándares:
OMG
IEEE
ISO …
Marcos de trabajo para la mejora 
de procesos
CMMI
ISO - SPICE
Garantía de calidad del software 
✓ Estándares de documentación
Por ejemplo:
• Documento de casos de Usos
• Documento de la arquitectura
• IEEE 830 -
✓ Estándares de codificación
Por ejemplo: 
• terminología del lenguaje de 
programación
✓ Procesos de especificación
✓ Procesos de diseño
✓ Procesos de validación y verificación
Estándares del proceso
Estándares del producto
✓ Procesos de control de cambios
Organizaciones que establecen 
estándares:
OMG
IEEE
ISO …
Marcos de trabajo para la mejora 
de procesos
CMMI
ISO - SPICE
Garantía de calidad del software 
✓ Estándares de documentación
Por ejemplo:
• Documento de casos de Usos
• Documento de la arquitectura
• IEEE 830 -
✓ Estándares de codificación
Por ejemplo: 
• terminología del lenguaje de 
programación
✓ Procesos de especificación
✓ Procesos de diseño
✓ Procesos de validación y verificación
Estándares del proceso
Estándares del producto
✓ Procesos de control de cambios
Organizaciones que establecen 
estándares:
OMG
IEEE
ISO …
Marcos de trabajo para la mejora 
de procesos
CMMI
ISO - SPICE
Garantía de calidad del software
Estándares de la documentación 
Tipo de estándares Breve descripción
✓ Del proceso de documentación • documentos de trabajo: no es necesario aplicar
procesos formales de calidad
• documentos formales (para desarrollos posteriores o a
entregar al cliente): necesario adoptar un proceso
formal de calidad – Ver la siguiente diapositiva –
✓ Del documento • estructura y presentación de los documentos
• deben tener un estilo y apariencia consistente, y los del
mismo tipo deben tener una estructura consistente con
los del proyecto y la organización
✓ Para el intercambio de 
documentos
• aseguran que todas las copias electrónicas de los
documentos sean compatibles
• utilización de herramientas concretas para elaborar los
documentos (hojas de cálculo, procesadores de texto,
herramientas de diagramación,...)
Garantía de calidad del software
Proceso formal de producción de un documento 
Crear borrador 
inicial
Incorporar 
comentarios a 
la revisión
Revisar 
borrador
Comprobar 
borrador final
Producir 
borrador final
Corregir texto
Producir 
patrones de 
impresión
Revisar arreglosArreglar texto
Documento aprobado
Documento aprobado
Rehacer 
documento 
borrador
Imprimir copias
Etapa 1: creación
Etapa 2: refinamiento
Etapa 3: producción
Agenda
▪ Conceptos de calidad
▪ Gestión de calidad del software
▪ Garantía de calidad
▪ Planificación de la calidad 
▪ Revisiones técnicas formales
▪ Modelos de calidad de los procesos
▪ CMMI
▪ ISO
Proceso de desarrollo 
de software
Proceso de administración 
de la calidad
Estándares y 
procedimientos
Plan de calidad
Informes de revisión de la calidad
D1 D2 D3 D4 D5
Gestión de la calidad del software 
Actividades principales
Planificación de calidad
- Sommerville, cap 24, fig. 24.1 -
Planificación de calidad del software 
▪ La planificación de la calidad es el procesoen el cual
se desarrolla un plan de calidad para un proyecto
▪ El plan de calidad:
✓ Establece la calidad del software y cómo valorarla
✓ Selecciona los estándares organizacionales
apropiados para un producto y el proceso de
desarrollo
✓ Define el proceso de evaluación de la calidad
Agenda
▪ Conceptos de calidad
▪ Gestión de calidad del software
▪ Garantía de calidad
▪ Planificación de la calidad 
▪ Revisiones técnicas formales
▪ Modelos de calidad de los procesos
▪ CMMI
▪ ISO
▪ Control de la calidad: métricas del software
Proceso de desarrollo 
de software
Proceso de administración 
de la calidad
Estándares y 
procedimientos
Plan de calidad
Informes de revisión de la calidad
D1 D2 D3 D4 D5
Gestión de la calidad del software 
Actividades principales
- Sommerville, cap 24, fig. 24.1 -
Control de la calidad
Control de calidad del software
Revisiones 
Revisiones de la calidad
Se aplican en varios momentos del
desarrollo de software y sirven
para detectar defectos que
pueden ser eliminados
Reuniones informales
Reuniones formales: son 
inspecciones, reuniones 
técnicas formales (RFT)
Objetivos
✓ Descubrir errores en la función, lógica o la
implementación
✓ Verificar que el software cumple con los
requerimientos
✓ Garantizar que el software ha sido representado
de acuerdo a los estándares establecidos
✓ Hacer que los proyectos sean más manejables
Control de calidad del software
Reuniones Técnicas Formales
▪ El equipo de revisores debe tener tres o cuatro
personas como revisores. Uno debe ser el diseñador
principal
▪ Los documentos a revisar deben distribuirse con
anterioridad a la revisión para dar tiempo a los
revisores a que los lean y los comprendan
▪ La RTF debe ser corta (dos horas como máximo)
▪ Los comentarios y las decisiones de la reunión se
registran en una registro de la reunión. Este
documento formará parte de la documentación
formal del proyecto
Agenda
▪ Conceptos de calidad
▪ Gestión de calidad del software
▪ Garantía de calidad
▪ Planificación de la calidad 
▪ Revisiones técnicas formales
▪ Modelos de calidad de los procesos
▪ CMMI
▪ ISO
▪ Control de la calidad: métricas del software
Organizaciones que publican estándares 
IEEE , www.ieee.org Ejemplo de estándar propuesto
Revisiones del software (1028)
SEI (Software Engineering Institute) Ejemplo de
estándar propuesto CMMI
OMG (Object Management Group) www.omg.org
establece estándares para la computación orientada a
objetos. La OMG ha respaldado el lenguaje unificado de
modelado (UML) como un estándar para describir
diseños
ISO (International Standards Organization) Ejemplo de
estándar ISO 9001
http://www.ieee.org/
http://www.omg.org/
Garantía de calidad del software 
✓ Estándares de documentación
Por ejemplo:
• Documento de casos de Usos
• Documento de la arquitectura
• IEEE 830 -
✓ Estándares de codificación
Por ejemplo: 
• terminología del lenguaje de 
programación
✓ Procesos de especificación
✓ Procesos de diseño
✓ Procesos de validación y verificación
Estándares del proceso
Estándares del producto
✓ Procesos de control de cambios
Organizaciones que establecen 
estándares:
OMG
IEEE
ISO …
Marcos de trabajo para la mejora 
de procesos
CMMI
ISO - SPICE
Modelo CMMI en etapas
- Modelo de capacidad de madurez integral -
1
4
5
2
3
Madurez de los procesos
Capacidad de los procesos
Eficiencia de los procesos
Baja
Alta
Inicial
Gestionado
Definido
Gestionado
cuantitativamente
Optimizado
▪ Nivel 3: Definido
Desarrollo de Requerimientos
Solución Técnica
Verificación, Validación
Gestión de Riesgos
Enfoque en procesos de la
organización
▪ Nivel 4: Gestionado
Gestión cuantitativa del proceso
Rendimiento de procesos de la organización
1
▪ Nivel 2: Gestionado
Gestión de Requerimientos
Planificación del Proyecto
Gestión de proveedores 
Garantía de Calidad del Software
Gestión de Configuración del Software
▪ Nivel: 5 Optimizado
Innovación de la organización
Análisis causal y resolución
Modelo CMMI en etapas
- Estados de los procesos -
Estado del proceso Breve descripción
✓Inicial • Proceso poco estructurado, puede que caótico
• El éxito depende más del esfuerzo individual que de una aproximación organizada del 
proceso software
✓Gestionado • Procesos básicos de gestión referidos a un seguimiento de funcionalidades, costos y
plazos
• Se implanta una disciplina de trabajo para repetir modos de trabajo que han dado
resultados positivos
✓Definido • Procesos software bien definidos, estandarizados e integrados, tanto en aspectos de 
gestión como de ingeniería, a nivel de toda la organización
• Utilización de un proceso software estandarizado para desarrollo y mantenimiento
✓Gestionado 
Cuantitativamente
• Existen conjuntos de métricas definidas a nivel de las diferentes etapas del proceso, y se 
dispone de datos al respecto
• Los procesos y los productos son controlados y seguidos de modo cuantitativo
✓Optimizado • La mejora del proceso software es continua y existe una realimentación de los procesos, 
así como un enfoque de mejora a nivel de ideas y de tecnologías
Modelo CMMI continuo 
ISO
▪ ISO 9001 es un estándar internacional adoptado por
más de 130 países y se está convirtiendo en el medio
principal con el que los clientes pueden juzgar la
competencia de un desarrollador de software
▪ ISO 9001 no es específico para el desarrollo de
software, pero define principios que pueden aplicarse
al software y que deben documentarse en un manual
de calidad organizacional
Agenda
▪ Conceptos de calidad
▪ Gestión de calidad del software
▪ Garantía de calidad
▪ Planificación de la calidad 
▪ Revisiones técnicas formales
▪ Modelos de calidad de los procesos
▪ CMMI
▪ ISO
▪ Control de la calidad: métricas del software
Control de calidad del software
Métricas 
Medición: calcular un valor numérico para algún atributo de un producto o un 
proceso del software
Métrica: cualquier tipo de medida relacionada con un sistema, proceso o 
documentación
▪ la comparación entre ellos y con los estándares de la organización 
permite controlar la calidad
▪ existen atributos imposibles de medir de forma directa
✓por ejemplo: mantenibilidad, complejidad, comprensión,...
✓afectados por diversos factores
✓no existen métricas directas: necesario medir atributos internos 
del software y suponer que existe relación con los atributos que 
nos interesan
Control de calidad del software
Métricas 
Las métricas de predicción ayudan a predecir las
características del software es decir se asocian
con el software en sí, a veces se conocen como
métricas de producto. Por ejemplo, la
complejidad ciclomática de un módulo, la
longitud promedio de identificadores de un
programa, y el número de atributos y operaciones
asociados con las clases de objetos en un diseño.
Métricas de control
Métricas de predicción
Las métricas de control apoyan la gestión del proceso 
de software. Por ejemplo son el esfuerzo promedio y 
el tiempo requerido para reparar los defectos 
reportados.
Control de calidad del software
Métricas 
Tanto las métricas de control como las de predicción pueden influir en la
toma de decisiones administrativas, como se muestra en la figura.
Los administradores usan mediciones de proceso para decidir si deben
hacerse cambios al proceso, y las métricas de predicción ayudan a
estimar el esfuerzo requerido para hacer cambios al software.
Control de calidad del software
Métricas del producto
Mantenibilidad
Fiabilidad
Portabilidad
Usabilidad
Profundidad del árbol de
herencia
Complejidad ciclomática
Tamaño del programa en 
líneas de código
Número de mensajes de 
error
Longitud del manual de 
usuario
Atributos de calidad externos Atributos de calidad internos
Control de calidad del software
Métricas del producto 
Mantenibilidad
Fiabilidad
Portabilidad
Usabilidad
Número de parámetros 
del procedimiento
Complejidad ciclomática
Tamaño del programa en 
líneas de código
Número de mensajes de 
error
Extensión del manualde 
usuario
Atributos de calidad externos Atributos de calidad internos
Control de calidad del software
Métricas del producto 
Mantenibilidad
Portabilidad
Usabilidad
Número de parámetros 
del procedimiento
Complejidad ciclomática
Tamaño del programa en 
líneas de código
Número de mensajes de 
error
Extensión del manual de 
usuario
Fiabilidad
Atributos de calidad externos Atributos de calidad internos
Control de calidad del software
Métricas 
Comprenden un conjunto de
medidas cuantitativas de
algunos atributos del software.
Se recopilan las medidas para
obtener métricas o indicadores
del software.
Métricas de proceso: de control
Métricas del producto: de predicción
Tipos de métricas
Métricas del proyecto
Valoración del software
Control de calidad del software
Métricas 
Métricas del producto
Están relacionadas con los
requerimientos no funcionales
(calidad del producto)
Usabilidad, eficiencia, 
fiabilidad, Portabilidad
Dinámicas eficiencia
fiabilidad
Estáticas
Usabilidad
mantenibilidad
Fin de la presentación

Continuar navegando