Está en la página 1de 27

INTRODUCCIÓN A LA

CALIDAD DE SOFTWARE

Laura Posada Agudelo


Carlos Mario Zapata

3/27/2019 Calidad de Software 1


Qué es la calidad de
software?

3/27/2019 Calidad de software 2


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.

3/27/2019 Calidad de Software 3


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.

3/27/2019 Calidad de Software 4


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.

3/27/2019 Calidad de Software 5


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.

3/27/2019 Calidad de Software 6


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.
3/27/2019 Gestión de Proyectos de Software 7
¿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

3/27/2019 Calidadde Software 8


¿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".

3/27/2019 Calidadde Software 9


¿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.
3/27/2019 Calidadde Software 10
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!

3/27/2019 Gestión de Proyectos de Software 11


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.

3/27/2019 Gestión de Proyectos de Software 12


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.

3/27/2019 Calidad de Software 13


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”.

3/27/2019 Calidad de Software 14


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.

3/27/2019 Calidad de Software 15


Bug

3/27/2019 Calidad de Software 16


Tipos de error
• Errores de código
• Errores de procedimiento
• Errores de documentación
• Errores de datos

3/27/2019 Calidad de Software 17


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

3/27/2019 Calidad de Software 18


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.

3/27/2019 Calidad de Software 19


Casos de error famosos
• Therac-25
• Sistema de misiles Patriot
• NASA's Mars Polar Lander
• Sistema de lanzamiento Ariane 5
• Apagón 2003

3/27/2019 Calidad de Software 20


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.

3/27/2019 Calidad de Software 21


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.
3/27/2019 Calidad de Software 22
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.
3/27/2019 Calidad de Software 23
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.
3/27/2019 Calidad de Software 24
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.

3/27/2019 Calidad de Software 25


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.

3/27/2019 Calidad de Software 26


2003 Apagón
Ciudades afectadas

Personas
Ciudades
afectadas

New York City and surrounding areas 14,300,000

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

Newark, New Jersey and surrounding


6,980,000
counties and suburbs

Detroit and Surrounding Areas 5,400,000

Cleveland and Greater Cleveland 2,900,000

780,000 of
Ottawa
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

3/27/2019 Calidad de Software 27

También podría gustarte