PDF de programación - Tema 10 - Garantía de calidad del software - Ingeniería del Software

Imágen de pdf Tema 10 - Garantía de calidad del software - Ingeniería del Software

Tema 10 - Garantía de calidad del software - Ingeniería del Softwaregráfica de visualizaciones

Publicado el 11 de Enero del 2019
396 visualizaciones desde el 11 de Enero del 2019. Una media de 42 por semana
350,7 KB
28 paginas
Creado hace 3a (20/01/2016)
Tema 10 –

Garantía de calidad del software

Ingeniería del Software

Rubén Fuentes Fernández

Dep. Ingeniería del Software e Inteligencia Artificial

Facultad de Informática

Universidad Complutense Madrid

Trabajando con Antonio Navarro, Juan Pavón y Pablo Gervás

Contenidos



Introducción
– Problemática

• Conceptos de calidad
• Verificación y Validación

– IEEE Std. 1012‐2004

• Revisiones del software

– IEEE Std. 1028‐2008

• Garantía de calidad del software
• Fiabilidad del software
• Plan de Aseguramiento de la Calidad del Software


ISO 9000

Rubén Fuentes Fernández

Ingeniería del Software

2

Introducción

• Uno de los objetivos principales de la Ingeniería del Software 

(IS) es construir software de calidad.

• ¿Cómo medimos la calidad del software?

– Con medidas indirectas.

• No hay un atributo que represente la calidad.

– Podemos definir calidad en base a características o atributos de 

elementos del producto o proceso.

• Dificultad clave:

– En ingeniería, el aseguramiento de calidad se centra en el control de 

variación entre muestras.

– En IS, la variación entre muestras no tiene sentido.

• Cada proyecto es único.

Rubén Fuentes Fernández

Ingeniería del Software

3

Calidad

• Definimos calidad como concordancia con:

– Los requisitos funcionales y de rendimiento explícitamente establecidos
– Los estándares de desarrollo explícitamente documentados
– Las características implícitas de todo software desarrollado 

profesionalmente

• El IEEE Std. 610.12 [IEEE C/S2ESC Software & Systems Engineering 

Standards Committee, 1990] define calidad como:
– Grado en que un sistema, componente o proceso cumple las 

especificaciones

– Grado en que un sistema, componente o proceso cumple las necesidades 

o deseos de clientes y usuarios

• Discusión: ¿Difieren ambas definiciones?

Rubén Fuentes Fernández

Ingeniería del Software

4

Tipos de calidad

• Calidad de diseño

– Se basa en las características especificadas para un elemento.
– Típicamente a través de la Especificación de Requisitos Software 

(Software Requirements Specification, SRS) y el Diseño.

• Calidad de concordancia

– Se centra en el grado de cumplimento de las especificaciones de 

diseño durante su realización.

– Se mide en la implementación del software.

Rubén Fuentes Fernández

Ingeniería del Software

5

Obtención de calidad

• En IS hay dos formas de conseguir calidad:

– Haciendo SRS, diseños e implementaciones correctos desde un punto 

de vista técnico.

– Introduciendo en el modelo de proceso una serie de actividades que 

garanticen que todas las entregas resultantes de una actividad de 
trabajo sean correctas.

• Las técnicas de IS para conseguir calidad en el software se 

denominan Garantía de Calidad del Software (Software 
Quality Assurance, SQA).

Rubén Fuentes Fernández

Ingeniería del Software

6

Garantía de calidad

• La garantía de calidad es el establecimiento de un marco de 
procedimientos organizativos que llevan a conseguir una alta 
calidad del software.

• El control de calidad es una serie de inspecciones, revisiones y 

pruebas utilizados a lo largo del proceso del software para 
asegurar que cada producto cumple con los requisitos que le 
han sido asignados.
Incluyen bucles de realimentación.



Rubén Fuentes Fernández

Ingeniería del Software

7

Aspectos de la SQA

• Enfoque de gestión de calidad
• Tecnologías de IS

– Métodos y herramientas

• Revisiones Técnicas Formales
• Estrategia de pruebas
• Control de la documentación y de cambios
• Procedimientos que aseguren ajustes a los estándares de IS
• Mecanismos de medición y generación de informes

Rubén Fuentes Fernández

Ingeniería del Software

8

Actividades del grupo SQA

• Establecer el plan SQA para el proyecto
• Participar en el desarrollo de la descripción del proceso de software
• Revisar las actividades de IS para verificar su ajuste al proceso del 

software

• Auditar los productos de software designados para verificar el 

ajuste con los definidos como parte del proceso de software
• Asegurar que las desviaciones del trabajo y los productos del 

software se documentan y se manejan de acuerdo con un 
procedimiento establecido

• Registrar lo que no se ajuste a los requisitos e informar a sus 

superiores

• Coordinar el control y la gestión de cambios
• Analizar las métricas del software

Rubén Fuentes Fernández

Ingeniería del Software

9

Coste de calidad

• El coste de calidad incluye todos los costes que se derivan de 

la búsqueda de la calidad o en las actividades relacionadas 
con la obtención de la calidad.

• Hay tres tipos de costes de calidad:

– De prevención
– De evaluación
– De fallos

Rubén Fuentes Fernández

Ingeniería del Software

10

Tipos de costes de calidad

• Costes de prevención
– Planificación de calidad
– Revisiones Técnicas Formales (RTFs)
– Equipo de pruebas
– Formación

• Costes de evaluación

– Inspección en el proceso y entre procesos
– Calibrado y mantenimiento del equipo
– Pruebas

• Costes de fallos

– Internos
– Externos

Rubén Fuentes Fernández

Ingeniería del Software

11

Fallos internos

• Los fallos internos se producen cuando se detecta un error 

antes de la entrega al cliente.

• Los costes asociados a fallos internos incluyen:

– Revisión
– Reparación
– Análisis de fallos

Rubén Fuentes Fernández

Ingeniería del Software

12

Fallos externos

• Los fallos externos se producen cuando se detecta un error 

después de la entrega al cliente.

• Los costes asociados a fallos externos incluyen:

– Costes de los internos
– Resolución de quejas
– Devolución y sustitución de productos
– Soporte de línea de ayuda
– Trabajo de garantía

Rubén Fuentes Fernández

Ingeniería del Software

13

Coste del retraso

• Evidentemente, cuanto más tardemos en resolver un fallo, 

más costosa será su resolución.

Rubén Fuentes Fernández

Ingeniería del Software

14

Ejemplo: coste del retraso

• Un análisis del trabajo de IBM en Rochester indica:

– 7053 horas de RTFs de 200000 LDC (Líneas De Código)
– 3112 errores descubiertos
– Coste de programador: 40 $/h
– Coste de eliminación de defectos: 282120 $ (91 $/defecto)

• Supongamos que en vez de RTFs somos muy cuidadosos.

– Supongamos que hay 1 defecto por 1000 LDC.
– Tenemos unos 200 defectos.
– Con un coste de 25000 $ por reparación
– Coste de reparación de 5 millones de dólares.
– Es decir, 18 veces más caro que el coste de prevención.

Rubén Fuentes Fernández

Ingeniería del Software

15

VERIFICACIÓN Y VALIDACIÓN

Rubén Fuentes Fernández

Ingeniería del Software

16

Introducción

• Verificación y Validación (V&V) son los procesos que 

determinan si los productos desarrollados de una actividad 
dada se ajustan a los requisitos de esa actividad, y si el 
software satisface su uso deseado y las necesidades del 
usuario.

• En términos de Boehm:

– La verificación se encarga de comprobar si estamos construyendo el 

producto correctamente.

– La validación se encarga de comprobar si estamos construyendo el 

producto correcto.

Rubén Fuentes Fernández

Ingeniería del Software

17

IEEE Std. 1012‐2004

• El IEEE Std. 1012‐2004 [IEEE 1012 WG, 2004] define los 

procesos de V&V en términos de actividades específicas y 
tareas relacionadas.
– También define los contenidos del plan de V&V del software, 

incluyendo un ejemplo de formato.



Identifica 6 procesos a los cuales se puede aplicar V&V:
– Gestión
– Adquisición
– Suministro
– Desarrollo
– Operación
– Mantenimiento

Rubén Fuentes Fernández

Ingeniería del Software

18

IEEE Std. 1012‐2004: niveles de integridad

• Un nivel de integridad es un conjunto de características del 

proyecto que determinan el grado de rigor a la hora de aplicar 
las actividades de V&V.

• Los niveles de integridad se asocian a requisitos, funciones, 

grupos de funciones, componentes o subsistemas.

• El estándar identifica 4 niveles de integridad.

– Nivel 4  Consecuencias graves e irreparables en caso de fallo.
– Nivel 3  Consecuencias serias en caso de fallo.
– Nivel 2  Consecuencias menores en caso de fallo.
– Nivel 1  Consecuencias insignificantes en caso de fallo.

Rubén Fuentes Fernández

Ingeniería del Software

19

REVISIONES DEL SOFTWARE

Rubén Fuentes Fernández

Ingeniería del Software

20

Introducción

• Las revisiones del software son un filtro para el proceso de IS.

– Se aplican en varias etapas del desarrollo del software.
– Purifican las actividades estructurales.

• Hay diversos tipos de revisiones de mayor o menor formalidad 

y/o valía.
– Aquí nos centraremos en las Revisiones Técnicas Formales (RTFs) o 

Inspecciones Formales.

– El objetivo básico de las RTFs es detectar errores antes de que se 

conviertan en defectos.

Rubén Fuentes Fernández

Ingeniería del Software

21

Modelo de amplificación de defectos

Rubén Fuentes Fernández

Ingeniería del Software

22

RTF

• Una RTF [Office of Safety and Mission Assurance, NASA, 1993] 
es una actividad de garantía de calidad del software llevada a 
cabo por los desarrolladores.
• Los objetivos de la RTF son:

– Descubrir errores
– Verificar que el software alcanza sus requisitos
– Garantizar que el software se desarrolla de acuerdo a ciertos 

estándares predefinidos

– Conseguir un software desarrollado de manera homogénea
– Hacer que los proyectos sean más manejables

Rubén Fuentes Fernández

Ingeniería del Software

23

Reunión de revisión: principios básicos

• La RTF se instrumenta mediante una reunión, que debe ser 

convenientemente planificada.

• Normas de la reunión:

– Deben convocarse para la reunión 3‐5 personas.
– Se debe preparar por adelantado, pero sin que requiera más de 2 

horas de trabajo por persona.

– La duración debe ser menor de 2 horas.

• Evidentemente, la RTF se centra en partes específicas del 

software.
– Se deben revisar los productos resultantes de las tareas de trabajo.

Rubén Fuentes Fernández

Ingeniería del Software

24

Reunión de revisión: previo

• El procedimiento es:

– El responsable del produc
  • Links de descarga
http://lwp-l.com/pdf14824

Comentarios de: Tema 10 - Garantía de calidad del software - Ingeniería del Software (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad

Revisar política de publicidad