Está en la página 1de 55

Ingeniera de Software Introduccin a la Ingeniera de Software

Calidad del Software



Ingeniera de Software Introduccin a la Ingeniera de Software

Bienvenida


Ingeniera de Software Introduccin a la Ingeniera de Software

Acuerdo de reglas de operacin



Ingeniera de Software Introduccin a la Ingeniera de Software

Calidad del Software
Expectativas ?

Ingeniera de Software Introduccin a la Ingeniera de Software





El alumno ser capaz de controlar la
calidad de productos y procesos de
software aplicando tcnicas y estndares
que rigen la pertinencia y consistencia del
desarrollo de software..
Objetivo general del curso

Ingeniera de Software Introduccin a la Ingeniera de Software




1. El alumno ...

2. El alumno
Objetivos particulares

Ingeniera de Software Introduccin a la Ingeniera de Software

Temas
I. Conceptos bsicos de Calidad y
Aseguramiento de la Calidad del Software.
II. Mtricas del proceso de Software.
III. Modelos de Software.

Ingeniera de Software Introduccin a la Ingeniera de Software

Primer Corte
Cuestionario. Conceptos bsicos de Calidad del
Software y Aseguramiento de la Calidad del
Software (20%)
Gua de Observacin. Exposicin sobre Estndares
de Calidad aplicados en el desarrollo de software.
(El estndar ser asignado por el Instructor) (20%)
Lista de cotejo. Informe que documente el Proceso
de desarrollo de Software, de alguna organizacin
de la Industria del software. (30%)
Evaluacin escrita. (30%)

Ingeniera de Software Introduccin a la Ingeniera de Software

Ajuste de
expectativas

Ingeniera de Software Introduccin a la Ingeniera de Software

Forma de trabajo
Exposicin

Participaciones

Ejercicios dirigidos

Debates.

Ingeniera de Software Introduccin a la Ingeniera de Software

Criterios de Evaluacin
Tipos: Escrito

Momentos: Primer Corte, Segundo Corte y Tercer
Corte.

Criterios: .

Instrumentos: Evaluacin escrita, Exposicin,
Cuestionarios, Presentacin de Proyectos.

Ingeniera de Software Introduccin a la Ingeniera de Software

Beneficios del curso
Relacin con la
experiencia laboral


Relacin con la
experiencia personal

Ingeniera de Software Introduccin a la Ingeniera de Software

Contrato de aprendizaje

Ingeniera de Software Introduccin a la Ingeniera de Software

Objetivos particulares
Primer corte
El alumno


Ingeniera de Software Introduccin a la Ingeniera de Software

Temas
I. Conceptos bsicos de Calidad y
Aseguramiento de la Calidad del Software
I. ...
II.

Ingeniera de Software Introduccin a la Ingeniera de Software

Conceptos bsicos de Calidad

Ingeniera de Software Introduccin a la Ingeniera de Software

[] el cdigo defectuoso sigue siendo el duende de la
industria del software, es responsable hasta de 45% del
tiempo que estn fuera los sistemas basados en
computadoras y cost a las empresas estadounidenses
alrededor de $100 mil millones de dlares el ltimo
ao en perdidas de productividad y reparaciones.
Standish Group

Ingeniera de Software Introduccin a la Ingeniera de Software

El mal software es una plaga en casi todas las
organizaciones que emplean computadoras, lo que
ocasiona horas de trabajo perdidas por el tiempo que estn
fuera de uso las mquinas, por datos perdidos o
corrompidos, oportunidades de ventas, costos elevados de
apoyo y mantenimiento, y poca satisfaccin del cliente.
ComputerWorld

Ingeniera de Software Introduccin a la Ingeniera de Software

Dejemos de desperdiciar $78 mil millones de
dlares al ao.

Las empresas estadounidenses gastan miles de millones
de dlares en software que no hace lo que se
supone que debe de hacer
CIO Magazine

Ingeniera de Software Introduccin a la Ingeniera de Software

de quin es la
culpa?
Lluvia de ideas. Equipos

Ingeniera de Software Introduccin a la Ingeniera de Software

Qu es Calidad?
Lluvia de ideas. Equipos

Ingeniera de Software Introduccin a la Ingeniera de Software

Calidad
Cules son las diferentes maneras en las que puede verse la calidad?
Punto de vista
trascendental
Algo que se reconoce de
inmediato
Punto de vista del
usuario
Si el producto lo satisface
Punto de vista del
fabricante
Si el producto, cumple las
especificaciones originales
Punto de vista del
producto
Funciones y caractersticas
del producto
Punto de vista basado en
el valor
Lo que el cliente est
dispuesto a pagar por un
producto
David Garvin, Harvard Business School

Ingeniera de Software Introduccin a la Ingeniera de Software

Qu es Calidad
del Software ?
Lluvia de ideas. Equipos

Ingeniera de Software Introduccin a la Ingeniera de Software

Sin intentamos detallar lo que entendemos por calidad de software tendramos
que hablar de:
Funcionamiento. El software debe funcionar
siempre, en todo momento; debe permitirnos
utilizarlo cuando sea necesario.
Usabilidad. No slo un software debe hacer
lo que dice que hace; tambin debe
permitirnos hacerlo de forma adecuada,
natural.
Funcionalidad. El software deber cubrir las
funcionalidades que publica; en resumen,
debe hacer lo que dice que hace.
Roberto Rodrguez Galn

Ingeniera de Software Introduccin a la Ingeniera de Software

Calidad
del
Software
Desempeo
Caractersticas
Confiabilidad
Conformidad
Durabilidad
Servicio
Esttica
Percepcin
G
a
r
v
i
n

Ingeniera de Software Introduccin a la Ingeniera de Software

Factores de la Calidad de McCall

Ingeniera de Software Introduccin a la Ingeniera de Software

Factores de la Calidad ISO 9126

Ingeniera de Software Introduccin a la Ingeniera de Software

Lograr la calidad del software
Mtodos de la
Ingeniera de
Software
Tcnicas de
Administracin
de Proyectos
Control de
Calidad
Aseguramiento
de la Calidad

Ingeniera de Software Introduccin a la Ingeniera de Software

Ley de Meskimen.

Nunca hay tiempo para hacerlo bien, pero
siempre hay tiempo para hacerlo otra vez.
Ian Sommerville

Ingeniera de Software Introduccin a la Ingeniera de Software

Ley de Meskimen.

Nunca hay tiempo para hacerlo bien, pero
siempre hay tiempo para hacerlo otra vez.
Ian Sommerville

Ingeniera de Software Introduccin a la Ingeniera de Software

Riesgos

En el mes de noviembre de 2000, en un
hospital de Panam, 28 pacientes recibieron
dosis masivas de rayos gama durante su
tratamiento contra diversos tipos de cncer. En
los meses que siguieron, 5 de estos pacientes
murieron por envenenamiento radiactivo y 15
ms sufrieron complicaciones serias. qu fue
lo que ocasion sta tragedia?

Ingeniera de Software Introduccin a la Ingeniera de Software



Un paquete de software, desarrollado por una
compaa estadounidense, que fue modificado
por tcnicos del hospital para calcular las dosis
de radiacin para cada paciente.

Ingeniera de Software Introduccin a la Ingeniera de Software



Los tres mdicos panameos que pellizcaron
el software para que diera capacidad adicional
fueron acusados de asesinato en segundo
grado.

La empresa de Estados Unidos enfrent
litigios serios en los dos pases.

Ingeniera de Software Introduccin a la Ingeniera de Software



Moraleja: sta es la alerta para cualquier
creador de programas de cmputo: la calidad
del software importa, las aplicaciones deben
ser a prueba de tontos y el cdigo mal
desplegado ya sea incrustado en el motor de
un automvil, un brazo robtico o un dispositivo
en un hospital puede matar.

La mala calidad conlleva riesgos, algunos muy serios.

Ingeniera de Software Introduccin a la Ingeniera de Software

Qu es
Aseguramiento de
la Calidad?

Ingeniera de Software Introduccin a la Ingeniera de Software

Es la definicin de procesos y estndares
que deben conducir a la obtencin de
productos de alta calidad y, en el proceso de
fabricacin, a la introduccin de procesos de
calidad.
Ian Sommerville

Ingeniera de Software Introduccin a la Ingeniera de Software

Establece la infraestructura de apoyo a los
mtodos slidos de la ingeniera de software, la
administracin racional de los proyectos y las
acciones de control de calidad.

Adems, consiste en un conjunto de funciones
de auditora y reportes para evaluar la eficacia
y completitud de las acciones de control de
calidad.
Roger. Pressman

Ingeniera de Software Introduccin a la Ingeniera de Software

Un aspecto importante del aseguramiento de
calidad es la definicin o seleccin de
estndares que deben aplicarse al proceso de
desarrollo de software o al producto de
software.
Ian Sommerville

Ingeniera de Software Introduccin a la Ingeniera de Software

Estndares de producto. Incluyen:
estndares de documentos (p.e. la
estructura de los documentos de
requerimientos),
estndares de documentacin (encabezado
de un comentario estndar para una
definicin de clase de objeto), y
estndares de codificacin, los cuales
definen cmo debe usarse un lenguaje de
de programacin.
Ian Sommerville

Ingeniera de Software Introduccin a la Ingeniera de Software

Estndares de proceso

Los estndares de proceso pueden incluir
definiciones de especificacin, procesos de
diseo y validacin, herramientas de soporte
de proceso y una descripcin de los
documentos que deben escribirse durante
dichos procesos.
Ian Sommerville

Ingeniera de Software Introduccin a la Ingeniera de Software

Control de calidad. Es la aplicacin de dichos
procesos de calidad para eliminar aquellos
productos que no cuentan con el nivel
requerido de calidad.
Ian Sommerville

Ingeniera de Software Introduccin a la Ingeniera de Software

Evaluacin y mejora del proceso
CMMi

ISO/IEC 15504

ISO 9001:2000

MoPROSOFT

PSP/TSP

Ingeniera de Software Introduccin a la Ingeniera de Software

Conceptos bsicos de Pruebas de caja blanca

Casos de prueba

Son especificaciones de las entradas a la prueba, y la
salida esperada del sistema.

Ingeniera de Software Introduccin a la Ingeniera de Software

Aplicacin de evaluacin final
Tipo

Instrucciones

Alcance

Tiempo

Ingeniera de Software Introduccin a la Ingeniera de Software

Conclusin y
cierre del curso

Ingeniera de Software Introduccin a la Ingeniera de Software

Resumen de la
sesin

Ingeniera de Software Introduccin a la Ingeniera de Software

Revisin del
cumplimiento de
objetivos, temas y
expectativas

Ingeniera de Software Introduccin a la Ingeniera de Software





El alumno usar diversas tcnicas de
pruebas de caja blanca, para demostrar
la presencia de errores en un
determinado cdigo fuente de un
programa de computadora.
Objetivo general del curso

Ingeniera de Software Introduccin a la Ingeniera de Software




1. El alumno demostrar la presencia de errores en
un determinado cdigo fuente de un programa de
computadora, utilizando tcnicas de cobertura de
decisin y condicin.

2. El alumno demostrar la presencia de errores en
un determinado cdigo fuente de un programa de
computadora, utilizando tcnicas de ruta bsica.
Objetivos particulares

Ingeniera de Software Introduccin a la Ingeniera de Software

Temas
Conceptos bsicos de Pruebas de caja
blanca
Cobertura de decisin y condicin
Derivacin de casos de prueba
Notacin de grfico o grafo de flujo
Rutas de programa independiente
Complejidad ciclomtica
Conjunto bsico
Derivacin de casos de prueba

Ingeniera de Software Introduccin a la Ingeniera de Software

Revisin de
expectativas
Ver hoja de hoja de
papel

Ingeniera de Software Introduccin a la Ingeniera de Software

Sugerencias
para seguir
aprendiendo
del tema

Ingeniera de Software Introduccin a la Ingeniera de Software


Taller IEEE 829

Curso de Pruebas de caja negra

Implementar JUnit en el entorno de
Netbeans, para automatizar las pruebas

Curso de Implementacin de Selenium


Capacitacin

Ingeniera de Software Introduccin a la Ingeniera de Software

Logros y aplicacin
de lo aprendido

Ingeniera de Software Introduccin a la Ingeniera de Software

Aplicacin de encuesta de satisfaccin