8/24/2014calidad de software1 introducciÓn a la calidad de software laura posada agudelo carlos...

27
05/13/22 Calidad de Software 1 INTRODUCCIÓN A LA CALIDAD DE SOFTWARE Laura Posada Agudelo Carlos Mario Zapata

Upload: ignacio-vela

Post on 21-Apr-2015

10 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: 8/24/2014Calidad de Software1 INTRODUCCIÓN A LA CALIDAD DE SOFTWARE Laura Posada Agudelo Carlos Mario Zapata

04/11/23 Calidad de Software 1

INTRODUCCIÓN A LA CALIDAD DE SOFTWARE

Laura Posada Agudelo

Carlos Mario Zapata

Page 2: 8/24/2014Calidad de Software1 INTRODUCCIÓN A LA CALIDAD DE SOFTWARE Laura Posada Agudelo Carlos Mario Zapata

Qué es la calidad de software?

04/11/23 Calidad de software 2

Page 3: 8/24/2014Calidad de Software1 INTRODUCCIÓN A LA CALIDAD DE SOFTWARE Laura Posada Agudelo Carlos Mario Zapata

Definición de calidad de software: Pressman

• Conformidad con los requisitos funcionales y de rendimiento, estándares explícitos de desarrollo y las características implícitas que se esperan de todo el software desarrollado profesionalmente.

04/11/23 Calidad de Software 3

Page 4: 8/24/2014Calidad de Software1 INTRODUCCIÓN A LA CALIDAD DE SOFTWARE Laura Posada Agudelo Carlos Mario Zapata

Definición de calidad de software: IEEE

1. El nivel en el que un sistema, componente o proceso cumple con los requisitos especificados.

2. El nivel en el que un sistema, componente o proceso cumple las necesidades o expectativas del cliente o usuario.

04/11/23 Calidad de Software 4

Page 5: 8/24/2014Calidad de Software1 INTRODUCCIÓN A LA CALIDAD DE SOFTWARE Laura Posada Agudelo Carlos Mario Zapata

Definición de calidad de software: ISO

La totalidad de características de un producto, proceso o servicio que cuenta con la habilidad de satisfacer necesidades explícitas o implícitas.

04/11/23 Calidad de Software 5

Page 6: 8/24/2014Calidad de Software1 INTRODUCCIÓN A LA CALIDAD DE SOFTWARE Laura Posada Agudelo Carlos Mario Zapata

Definición de aseguramiento de calidad de software: IEEE

1. Un patrón planeado y sistemático de todas las acciones necesarias para generar la confianza adecuada que un elemento o producto cumple con los requisitos técnicos establecidos.

2. Conjunto de actividades diseñadas para evaluar el proceso con el que los productos se desarrollan y producen. Es diferente al control de calidad.

04/11/23 Calidad de Software 6

Page 7: 8/24/2014Calidad de Software1 INTRODUCCIÓN A LA CALIDAD DE SOFTWARE Laura Posada Agudelo Carlos Mario Zapata

Calidad de software

• Se puede decir que el software tiene calidad si cumple o excede las expectativas del usuario en cuanto a: 1. Funcionalidad (que sirva un propósito),

2. Ejecución (que sea práctico),

3. Confiabilidad (que haga lo que debe),

4. Disponibilidad (que funcione bajo cualquier circunstancia) y

5. Apoyo, a un costo menor o igual al que el usuario está dispuesto a pagar.

04/11/23 Gestión de Proyectos de Software 7

Page 8: 8/24/2014Calidad de Software1 INTRODUCCIÓN A LA CALIDAD DE SOFTWARE Laura Posada Agudelo Carlos Mario Zapata

¿Cómo controlar la calidad del software?

• La calidad del software es medible y varía de un sistema a otro o de un programa a otro

Ejemplo:– Control de naves espaciales: confiable al

nivel de "cero fallas“– Software hecho para ejecutarse una sola vez

no requiere el mismo nivel de calidad

04/11/23 Calidadde Software 8

Page 9: 8/24/2014Calidad de Software1 INTRODUCCIÓN A LA CALIDAD DE SOFTWARE Laura Posada Agudelo Carlos Mario Zapata

¿Cómo controlar la calidad del software?

– Software para explotar durante un largo período (10 años o más) necesita ser confiable, mantenible y flexible.

• Es necesario, ante todo, definir los parámetros, indicadores o criterios de medición.

• Tom De Marco: “No se puede controlar lo que no se puede medir".

04/11/23 Calidadde Software 9

Page 10: 8/24/2014Calidad de Software1 INTRODUCCIÓN A LA CALIDAD DE SOFTWARE Laura Posada Agudelo Carlos Mario Zapata

¿Cómo controlar la calidad del software?

• Varios autores definen las cualidades para medir la calidad del software, con diferentes denominaciones y agrupaciones.

• Todos los autores coinciden en que el software posee determinados índices medibles que son las bases para la calidad, el control y el perfeccionamiento de la productividad.

04/11/23 Calidadde Software 10

Page 11: 8/24/2014Calidad de Software1 INTRODUCCIÓN A LA CALIDAD DE SOFTWARE Laura Posada Agudelo Carlos Mario Zapata

Algunas características son (1/2)

• Cumplir con los requisitos funcionales y de rendimiento.

• Mantenibilidad: el software se debe diseñar de tal manera que permita ajustarlo a los cambios en los requisitos del interesado.

En software el cambio es inevitable!

04/11/23 Gestión de Proyectos de Software 11

Page 12: 8/24/2014Calidad de Software1 INTRODUCCIÓN A LA CALIDAD DE SOFTWARE Laura Posada Agudelo Carlos Mario Zapata

Algunas características son (2/2)

• Confiabilidad: incluye varias características como la seguridad, el control de fallos, etc.

• Eficiencia: tiene que ver con el uso adecuado de los recursos que necesita un sistema para su funcionamiento.

• Usabilidad: el software se debería utilizar sin un gran esfuerzo para los usuarios que posibilitaron la información para el diseño y documentación.

04/11/23 Gestión de Proyectos de Software 12

Page 13: 8/24/2014Calidad de Software1 INTRODUCCIÓN A LA CALIDAD DE SOFTWARE Laura Posada Agudelo Carlos Mario Zapata

Defecto de software

• Un defecto de software (computer bug en inglés), es el resultado de un fallo o deficiencia durante el proceso de creación de programas de ordenador o computador (software). Dicho fallo se puede presentar en cualquiera de las etapas del ciclo de vida del software.

04/11/23 Calidad de Software 13

Page 14: 8/24/2014Calidad de Software1 INTRODUCCIÓN A LA CALIDAD DE SOFTWARE Laura Posada Agudelo Carlos Mario Zapata

Error

• Es una equivocación cometida por un desarrollador. Algunos ejemplos de errores son: un error de tipeo, una malinterpretación de un requisito o de la funcionalidad de un método. El estándar 829 de la IEEE coincide con la definición de diccionario de error como “una idea falsa o equivocada”.

04/11/23 Calidad de Software 14

Page 15: 8/24/2014Calidad de Software1 INTRODUCCIÓN A LA CALIDAD DE SOFTWARE Laura Posada Agudelo Carlos Mario Zapata

Bug

• En 1947, los creadores de Mark II informaron del primer caso de error en un ordenador causado por un bicho.

• El Mark II, ordenador sucesor de ASCC Mark I, construido en 1944, sufrió un fallo. Cuando se investigó ese fallo, se encontró que una polilla lo había provocado.

04/11/23 Calidad de Software 15

Page 16: 8/24/2014Calidad de Software1 INTRODUCCIÓN A LA CALIDAD DE SOFTWARE Laura Posada Agudelo Carlos Mario Zapata

Bug

04/11/23 Calidad de Software 16

Page 17: 8/24/2014Calidad de Software1 INTRODUCCIÓN A LA CALIDAD DE SOFTWARE Laura Posada Agudelo Carlos Mario Zapata

Tipos de error

• Errores de código

• Errores de procedimiento

• Errores de documentación

• Errores de datos

04/11/23 Calidad de Software 17

Page 18: 8/24/2014Calidad de Software1 INTRODUCCIÓN A LA CALIDAD DE SOFTWARE Laura Posada Agudelo Carlos Mario Zapata

Causas de errores de software

• Errores en la definición de requisitos• Fallas de comunicación entre cliente-desarrollador• Desviaciones deliberadas de los requisitos de software• Errores de diseño• Errores de programación• Incumplimiento de las políticas de documentación y

programación• Dificultades del proceso de pruebas• Errores de procedimiento• Errores de documentación

04/11/23 Calidad de Software 18

Page 19: 8/24/2014Calidad de Software1 INTRODUCCIÓN A LA CALIDAD DE SOFTWARE Laura Posada Agudelo Carlos Mario Zapata

Costo de los errores

•Según el departamento de estado de los Estados Unidos (2002)

http://www.nist.gov/public_affairs/releases/n02-10.htm –Los errores de software son tan comunes y graves que cuestan

alrededor de $59.5 billones de dólares anualmente o el 0.6% del producto interno bruto.

–Más de la tercera parte de este costo, $22.2 billones, se pueden eliminar con una infraestructura de pruebas que permita la identificación y remoción de los defectos de software más rápida y efectivamente.

–Estos ahorros se asocian con encontrar los errores más cerca de las etapas de desarrollo en que se introdujeron. Normalmente, se encuentran muy al final del proceso o después de la venta.

04/11/23 Calidad de Software 19

Page 20: 8/24/2014Calidad de Software1 INTRODUCCIÓN A LA CALIDAD DE SOFTWARE Laura Posada Agudelo Carlos Mario Zapata

Casos de error famosos

• Therac-25

• Sistema de misiles Patriot

• NASA's Mars Polar Lander

• Sistema de lanzamiento Ariane 5

• Apagón 2003

04/11/23 Calidad de Software 20

Page 21: 8/24/2014Calidad de Software1 INTRODUCCIÓN A LA CALIDAD DE SOFTWARE Laura Posada Agudelo Carlos Mario Zapata

Therac-25

• Era una máquina empleada en terapia de radiación, producida por Atomic Energy of Canada Limited.

• Causó al menos seis accidentes entre 1985 y 1987, y le costó la vida al menos a cinco personas.

• El problema estaba en la interfaz gráfica que permitía proporcionar dosis de radiaciones mortales a los pacientes.

• El software no detectaba la rotación generada en los electrodos y no notaba que el paciente estaba recibiendo una dosis de raciación letal.

Calidad de Software04/11/23 21

Page 22: 8/24/2014Calidad de Software1 INTRODUCCIÓN A LA CALIDAD DE SOFTWARE Laura Posada Agudelo Carlos Mario Zapata

Therac-25 - Razones

• El diseño no incluía ningún bloqueo del hardware para prevenir que se llegara a ese alto nivel de energía sin que estuviera todo en posición.

• Se reutilizó el software de otros modelos que sí tenían el bloqueo anterior y no eran vulnerables a este problema.

• El hardware no proveía al software un modo para verificar que todo estuviera funcionando correctamente.

• La tarea de control del equipo no se sincronizaba con la del operador. Las condiciones del problema se dieron cuando el operador cambiaba la configuración muy rápido. Esto no se daba durante las pruebas porque apenas estaban aprendiendo.

Calidad de Software04/11/23 22

Page 23: 8/24/2014Calidad de Software1 INTRODUCCIÓN A LA CALIDAD DE SOFTWARE Laura Posada Agudelo Carlos Mario Zapata

Patriot Missile System

• En Febrero 25, 1991, el misil patriot estuvo en operación por 100 horas. En este momento el reloj interno se había movido un tercio de segundo.

• Para un objetivo que se movía tan rápido el error en posición era de 600 mt.

• El sistema de radar detectó el misil tipo Scud y predijo dónde iba a estar. Por el error de reloj, el sistema buscó el misil y no lo encontró en el momento por lo que asumió que había sido un error de detección.

• Dado que no se interceptó el misil este impacto y murieron 28 militares.

Calidad de Software04/11/23 23

Page 24: 8/24/2014Calidad de Software1 INTRODUCCIÓN A LA CALIDAD DE SOFTWARE Laura Posada Agudelo Carlos Mario Zapata

Mars Polar Lander

• La Mars Polar Lander (MPL) era una sonda espacial estadounidense lanzada por un cohete Delta II 7425 el 3 de enero de 1999, que llegó a Marte el 3 de diciembre de 1999 tras un viaje de nueve meses.

• La sonda llegó en buen estado a Marte.

• El 3 de diciembre de 1999, diez minutos antes de aterrizar, se perdió el contacto.

• La causa de la pérdida de comunicación se desconoce.

• Una posible causa es que durante el descenso la apertura de las patas de aterrizaje era tan brusca que podría haber activado los sensores que indicaban que se había tocado suelo, responsables de parar el motor. Así, la sonda habría parado su motor en pleno vuelo, estrellándose fatalmente contra el suelo.

Calidad de Software04/11/23 24

Page 25: 8/24/2014Calidad de Software1 INTRODUCCIÓN A LA CALIDAD DE SOFTWARE Laura Posada Agudelo Carlos Mario Zapata

Ariane 5 Rocket• El Ariane 5 es un cohete de un sólo uso diseñado para colocar satélites en órbita

geoestacionaria y para enviar cargas a órbitas bajas.

• En Junio 4 de 1996 fue el vuelo de prueba para el sistema de lanzamiento del Ariane 5.

• El cohete se destruyó 37 segundos después del lanzamiento convirtiendo la falla en uno de los errores de software más costosos de la historia.

• El software reutilizó especificaciones del Ariane 4. Pero la ruta era muy distinta y fuera del rango para el que se diseñó el anterior software.

• Específicamente, el Ariane 5 tenía 5 veces más aceleración y esto causó que los computadores fallaran.

• Las pruebas no se realizaron sobre el las condiciones de vuelo del Ariane 5.

• Por la diferencia de ruta se ocasionó un error de conversión lo que llevó a una cascada de problemas cumlminando en la destrucción del vuelo.

Calidad de Software04/11/23 25

Page 26: 8/24/2014Calidad de Software1 INTRODUCCIÓN A LA CALIDAD DE SOFTWARE Laura Posada Agudelo Carlos Mario Zapata

2003 Apagón

Agosto 14 2003

• Se encontró que FirstEnergy no tomó ninguna acción o alertó a otros centros de control hasta que era demasiado tarde.

• Un error de software del sistema de administración de energía de General Electric prevenía que las alarmas se mostraran en el sistema de control.

• Todas las alarmas y eventos se represaron y el servidor principal falló en 30 minutos. El servidor secundario también falló por la misma razón y todas las aplicaciones dejaron de funcionar.

Calidad de Software04/11/23 26

Page 27: 8/24/2014Calidad de Software1 INTRODUCCIÓN A LA CALIDAD DE SOFTWARE Laura Posada Agudelo Carlos Mario Zapata

2003 ApagónCiudades afectadas

Ciudades Personas afectadas

New York City and surrounding areas 14,300,000

Greater Toronto Area (Golden Horseshoe) 8,100,000

Newark, New Jersey and surrounding counties and suburbs

6,980,000

Detroit and Surrounding Areas 5,400,000

Cleveland and Greater Cleveland 2,900,000

Ottawa

780,000 of 1,120,000*

Buffalo and Surrounding Areas 1,100,000

Rochester 1,050,000

Baltimore and Surrounding Counties 710,000

London, ON and Surrounding Areas 475,000

Toledo 310,000

Windsor 208,000

Estimated Total[20] 55,000,000

Calidad de Software04/11/23 27