Preview only show first 10 pages with watermark. For full document please download

Primer Corte.pptx

   EMBED


Share

Transcript

Ingeniería de Software – Introducción a la Ingeniería de Software

Calidad del Software

Ingeniería de Software – Introducción a la Ingeniería de Software

Bienvenida


Ingeniería de Software – Introducción a la Ingeniería de Software

Acuerdo de reglas de operación



Ingeniería de Software – Introducción a la Ingeniería de Software

Calidad del Software
¿Expectativas ?

Ingeniería de Software – Introducción a la Ingeniería de Software





El alumno será capaz de controlar la
calidad de productos y procesos de
software aplicando técnicas y estándares
que rigen la pertinencia y consistencia del
desarrollo de software..
Objetivo general del curso

Ingeniería de Software – Introducción a la Ingeniería de Software




1. El alumno ...

2. El alumno …
Objetivos particulares

Ingeniería de Software – Introducción a la Ingeniería de Software

Temas
I. Conceptos básicos de Calidad y
Aseguramiento de la Calidad del Software.
II. Métricas del proceso de Software.
III. Modelos de Software.

Ingeniería de Software – Introducción a la Ingeniería de Software

Primer Corte
Cuestionario. Conceptos básicos de Calidad del
Software y Aseguramiento de la Calidad del
Software (20%)
Guía de Observación. Exposición sobre Estándares
de Calidad aplicados en el desarrollo de software.
(El estándar será asignado por el Instructor) (20%)
Lista de cotejo. Informe que documente el Proceso
de desarrollo de Software, de alguna organización
de la Industria del software. (30%)
Evaluación escrita. (30%)

Ingeniería de Software – Introducción a la Ingeniería de Software

Ajuste de
expectativas

Ingeniería de Software – Introducción a la Ingeniería de Software

Forma de trabajo
• Exposición

• Participaciones

• Ejercicios dirigidos

• Debates.

Ingeniería de Software – Introducción a la Ingeniería de Software

Criterios de Evaluación
Tipos: Escrito

Momentos: Primer Corte, Segundo Corte y Tercer
Corte.

Criterios: ….

Instrumentos: Evaluación escrita, Exposición,
Cuestionarios, Presentación de Proyectos.

Ingeniería de Software – Introducción a la Ingeniería de Software

Beneficios del curso
Relación con la
experiencia laboral


Relación con la
experiencia personal

Ingeniería de Software – Introducción a la Ingeniería de Software

Contrato de aprendizaje

Ingeniería de Software – Introducción a la Ingeniería de Software

Objetivos particulares
Primer corte
El alumno …


Ingeniería de Software – Introducción a la Ingeniería de Software

Temas
I. Conceptos básicos de Calidad y
Aseguramiento de la Calidad del Software
I. ...
II. …

Ingeniería de Software – Introducción a la Ingeniería de Software

Conceptos básicos de Calidad

Ingeniería de Software – Introducción a la Ingeniería de Software

[…] el código defectuoso sigue siendo el duende de la
industria del software, es responsable hasta de 45% del
tiempo que están fuera los sistemas basados en
computadoras y costó a las empresas estadounidenses
alrededor de $100 mil millones de dólares el último
año en perdidas de productividad y reparaciones.
Standish Group

Ingeniería de Software – Introducción a la Ingeniería 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 están
fuera de uso las máquinas, por datos perdidos o
corrompidos, oportunidades de ventas, costos elevados de
apoyo y mantenimiento, y poca satisfacción del cliente.
ComputerWorld

Ingeniería de Software – Introducción a la Ingeniería de Software

“Dejemos de desperdiciar $78 mil millones de
dólares al año”.

“Las empresas estadounidenses gastan miles de millones
de dólares en software que no hace lo que se
supone que debe de hacer”
CIO Magazine

Ingeniería de Software – Introducción a la Ingeniería de Software

¿de quién es la
culpa?
Lluvia de ideas. Equipos

Ingeniería de Software – Introducción a la Ingeniería de Software

¿Qué es Calidad?
Lluvia de ideas. Equipos

Ingeniería de Software – Introducción a la Ingeniería de Software

Calidad
¿Cuáles 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 características
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

Ingeniería de Software – Introducción a la Ingeniería de Software

¿Qué es Calidad
del Software ?
Lluvia de ideas. Equipos

Ingeniería de Software – Introducción a la Ingeniería de Software

Sin intentamos detallar lo que entendemos por calidad de software tendríamos
que hablar de:
Funcionamiento. El software debe funcionar
siempre, en todo momento; debe permitirnos
utilizarlo cuando sea necesario.
Usabilidad. No sólo un software debe hacer
lo que dice que hace; también 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 Rodríguez Galán

Ingeniería de Software – Introducción a la Ingeniería de Software

Calidad
del
Software
Desempeño
Características
Confiabilidad
Conformidad
Durabilidad
Servicio
Estética
Percepción
G
a
r
v
i
n

Ingeniería de Software – Introducción a la Ingeniería de Software

Factores de la Calidad de McCall

Ingeniería de Software – Introducción a la Ingeniería de Software

Factores de la Calidad ISO 9126

Ingeniería de Software – Introducción a la Ingeniería de Software

Lograr la calidad del software
Métodos de la
Ingeniería de
Software
Técnicas de
Administración
de Proyectos
Control de
Calidad
Aseguramiento
de la Calidad

Ingeniería de Software – Introducción a la Ingeniería de Software

Ley de Meskimen.

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

Ingeniería de Software – Introducción a la Ingeniería de Software

Ley de Meskimen.

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

Ingeniería de Software – Introducción a la Ingeniería 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 cáncer. En
los meses que siguieron, 5 de estos pacientes
murieron por envenenamiento radiactivo y 15
más sufrieron complicaciones serias. ¿qué fue
lo que ocasionó ésta tragedia?

Ingeniería de Software – Introducción a la Ingeniería de Software



Un paquete de software, desarrollado por una
compañía estadounidense, que fue modificado
por técnicos del hospital para calcular las dosis
de radiación para cada paciente.

Ingeniería de Software – Introducción a la Ingeniería de Software



Los tres médicos panameños 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 países.

Ingeniería de Software – Introducción a la Ingeniería de Software



Moraleja: Ésta es la alerta para cualquier
creador de programas de cómputo: la calidad
del software importa, las aplicaciones deben
ser a prueba de tontos y el código mal
desplegado – ya sea incrustado en el motor de
un automóvil, un brazo robótico o un dispositivo
en un hospital – puede matar.

La mala calidad conlleva riesgos, algunos muy serios.

Ingeniería de Software – Introducción a la Ingeniería de Software

¿Qué es
Aseguramiento de
la Calidad?

Ingeniería de Software – Introducción a la Ingeniería de Software

Es la definición de procesos y estándares
que deben conducir a la obtención de
productos de alta calidad y, en el proceso de
fabricación, a la introducción de procesos de
calidad.
Ian Sommerville

Ingeniería de Software – Introducción a la Ingeniería de Software

Establece la infraestructura de apoyo a los
métodos sólidos de la ingeniería de software, la
administración racional de los proyectos y las
acciones de control de calidad.

Además, consiste en un conjunto de funciones
de auditoría y reportes para evaluar la eficacia
y completitud de las acciones de control de
calidad.
Roger. Pressman

Ingeniería de Software – Introducción a la Ingeniería de Software

Un aspecto importante del aseguramiento de
calidad es la definición o selección de
estándares que deben aplicarse al proceso de
desarrollo de software o al producto de
software.
Ian Sommerville

Ingeniería de Software – Introducción a la Ingeniería de Software

Estándares de producto. Incluyen:
• estándares de documentos (p.e. la
estructura de los documentos de
requerimientos),
• estándares de documentación (encabezado
de un comentario estándar para una
definición de clase de objeto), y
• estándares de codificación, los cuales
definen cómo debe usarse un lenguaje de
de programación.
Ian Sommerville

Ingeniería de Software – Introducción a la Ingeniería de Software

Estándares de proceso

Los estándares de proceso pueden incluir
definiciones de especificación, procesos de
diseño y validación, herramientas de soporte
de proceso y una descripción de los
documentos que deben escribirse durante
dichos procesos.
Ian Sommerville

Ingeniería de Software – Introducción a la Ingeniería de Software

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

Ingeniería de Software – Introducción a la Ingeniería de Software

Evaluación y mejora del proceso
CMMi

ISO/IEC 15504

ISO 9001:2000

MoPROSOFT

PSP/TSP

Ingeniería de Software – Introducción a la Ingeniería de Software

Conceptos básicos de Pruebas de caja blanca

Casos de prueba

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

Ingeniería de Software – Introducción a la Ingeniería de Software

Aplicación de evaluación final
Tipo

Instrucciones

Alcance

Tiempo

Ingeniería de Software – Introducción a la Ingeniería de Software

Conclusión y
cierre del curso

Ingeniería de Software – Introducción a la Ingeniería de Software

Resumen de la
sesión

Ingeniería de Software – Introducción a la Ingeniería de Software

Revisión del
cumplimiento de
objetivos, temas y
expectativas

Ingeniería de Software – Introducción a la Ingeniería de Software





El alumno usará diversas técnicas de
pruebas de caja blanca, para demostrar
la presencia de errores en un
determinado código fuente de un
programa de computadora.
Objetivo general del curso

Ingeniería de Software – Introducción a la Ingeniería de Software




1. El alumno demostrará la presencia de errores en
un determinado código fuente de un programa de
computadora, utilizando técnicas de cobertura de
decisión y condición.

2. El alumno demostrará la presencia de errores en
un determinado código fuente de un programa de
computadora, utilizando técnicas de ruta básica.
Objetivos particulares

Ingeniería de Software – Introducción a la Ingeniería de Software

Temas
• Conceptos básicos de Pruebas de caja
blanca
• Cobertura de decisión y condición
• Derivación de casos de prueba
• Notación de gráfico o grafo de flujo
• Rutas de programa independiente
• Complejidad ciclomática
• Conjunto básico
• Derivación de casos de prueba

Ingeniería de Software – Introducción a la Ingeniería de Software

Revisión de
expectativas
Ver hoja de hoja de
papel

Ingeniería de Software – Introducción a la Ingeniería de Software

Sugerencias
para seguir
aprendiendo
del tema

Ingeniería de Software – Introducción a la Ingeniería de Software


Taller IEEE 829

Curso de Pruebas de caja negra

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

Curso de Implementación de Selenium


Capacitación

Ingeniería de Software – Introducción a la Ingeniería de Software

Logros y aplicación
de lo aprendido

Ingeniería de Software – Introducción a la Ingeniería de Software

Aplicación de encuesta de satisfacción