Tema 4: Ingeniería del Software Introducción Ciclo de vida del software

Anuncio
Metodología y Tecnología de la Programación
Tema 4: Ingeniería del Software
• Introducción
• Ciclo de vida del software
• Modelos del proceso de desarrollo
– Modelo en cascada
– Modelo iterativo
– Prototipos
• Técnicas de prueba
Escuela Superior de Informática. UCLM
Tema 4: 1
Metodología y Tecnología de la Programación
El Proceso de desarrollo de software Introducción
• La calidad del software que creamos es un resultado
directo del proceso que seguimos para desarrollarlo
• Aquí nos centraremos en:
– el ciclo de vida del software
– modelos de desarrollo
– prototipos
Escuela Superior de Informática. UCLM
Tema 4: 2
Metodología y Tecnología de la Programación
El ciclo de vida de un programa
• El ciclo de vida total de un programa incluye su uso y
mantenimiento:
Desarrollo
Uso
Mantenimiento
Escuela Superior de Informática. UCLM
Tema 4: 3
Metodología y Tecnología de la Programación
Mantenimiento
• Las tareas de mantenimiento incluyen todas las
modificaciones a un programa existente
• Esto incluye eliminación de defectos y mejoras
• Las características de un programa que lo hacen fácil
de desarrollar lo hacen también fácil de mantener
• En el software actual el esfuerzo de mantenimiento
sobrepasa el esfuerzo de desarrollo
• Pequeños incrementos en esfuerzo en la etapa de
desarrollo reduce grandemente las labores de
mantenimiento
Escuela Superior de Informática. UCLM
Tema 4: 4
Metodología y Tecnología de la Programación
Desarrollo frente a Mantenimiento
Desarrollo
Uso y Mantenimiento
Escuela Superior de Informática. UCLM
Tema 4: 5
Metodología y Tecnología de la Programación
Esfuerzo de Desarrollo y Mantenimiento
Desarrollo
Mantenimiento
Desarrollo
Mantenimiento
Escuela Superior de Informática. UCLM
Tema 4: 6
Metodología y Tecnología de la Programación
Modelos del Proceso de Desarrollo
• Demasiados programadores siguen una aproximación
artesanal, de hacer y corregir
• Escriben un programa y lo modifican hasta que es
funcional sin considerar el diseño del sistema
• Los errores se corrigen improvisadamente según se
van descubriendo
• No es realmente un modelo de desarrollo
Escuela Superior de Informática. UCLM
Tema 4: 7
Metodología y Tecnología de la Programación
La aproximación Artesanal
Escribir
programa
Escuela Superior de Informática. UCLM
Modificar
programa
Tema 4: 8
Metodología y Tecnología de la Programación
El modelo en Cascada
• Desarrollado en la mitad de los años 1970
• Las actividades que deben ser específicamente
consideradas durante el desarrollo incluyen:
–
–
–
–
Establecer clara y concretamente los requisitos
Crear un diseño claro a partir de los requisitos
Implementar el diseño
Probar la implementación
• Originalmente se propuso como un modelo lineal, con
poca o ninguna retroalimentación
• En la práctica el modelo no es realista
Escuela Superior de Informática. UCLM
Tema 4: 9
Metodología y Tecnología de la Programación
El Modelo en Cascada
Establecer
requisitos
Generar
diseño
Implementar
código
Probar el
sistema
Escuela Superior de Informática. UCLM
Tema 4: 10
Metodología y Tecnología de la Programación
Un proceso iterativo
• Permite al desarrollador iterar a través de los
diferentes etapas de desarrollo
• Esencialmente es
retroalimenteación
el
modelo
en
cascada
con
• La retroalimentación no debe intentar usarse como
una ayuda continua
• Se debe usar como una técnica de la que el
desarrollador dispone para tratar con problemas
inesperados que vayan apareciendo
Escuela Superior de Informática. UCLM
Tema 4: 11
Metodología y Tecnología de la Programación
Un Proceso Iterativo de Desarrollo
Establecer
requisitos
Crear
diseño
Escuela Superior de Informática. UCLM
Implementar
código
Probar el
sistema
Tema 4: 12
Metodología y Tecnología de la Programación
Prototipo
• Un programa creado para explorar un concepto
determinado
• Más útil y más efectivo en tiempo y esfuerzo que
meramente actuar sobre una suposición que puede
fallar posteriormente
• Se crea, normalmente, para comunicarse con el
cliente:
– una tarea particular
– la factibilidad de un requisito
– una interfase de usuario
• Una forma de validar requisitos
Escuela Superior de Informática. UCLM
Tema 4: 13
Metodología y Tecnología de la Programación
Un Proceso Iterativo Mejorado
Prototipo
Prototipo
Prototipo
Prototipo
Establecer
requisitos
Crear
diseño
Implementar
código
Probar el
sistema
Evaluar
Evaluar
Evaluar
Evaluar
Escuela Superior de Informática. UCLM
Tema 4: 14
Metodología y Tecnología de la Programación
Evaluación
• Los resultados de cada etapa deben evaluarse
cuidadosamente antes de pasar a la etapa siguiente
• Por ejemplo, antes de pasar al diseño los requisitos
deben evaluarse para asegurar su completitud,
consistencia y claridad
• La evaluación del diseño debe asegurar que cada
requisito está adecuadamente tenido en cuenta
• Antes de las pruebas, la implementación debe pasar
un proceso de revisión del código (code walkthrough)
Escuela Superior de Informática. UCLM
Tema 4: 15
Metodología y Tecnología de la Programación
Técnicas de Pruebas
• Objetivo: Encontrar errores
• Se denomina prueba de defectos (defect testing)
• Un buen caso de prueba debe descubrir problemas en
un programa
• Un caso de prueba incluye
– un conjunto de entradas
– acciones del usuario u otras condiciones iniciales
– salida esperada
• No es posible considerar todos los casos posibles
Escuela Superior de Informática. UCLM
Tema 4: 16
Metodología y Tecnología de la Programación
Pruebas de Caja Negra
• Se establece una correspondencia entre un conjunto
de entradas con sus salidas esperadas
• Una clase de equivalencia es una colección de
conjuntos de entrada
• Dos entradas pertenecen a la misma clase de
equivalencia si no hay razón para considerar que si
una funciona, la otra no.
• Por lo tanto, probar una
esencialmente la clase entera
Escuela Superior de Informática. UCLM
entrada
prueba
Tema 4: 17
Metodología y Tecnología de la Programación
Pruebas de Caja Blanca
• Se centra en la lógica interna tal como la
implementación de un método
• El cubrimiento de las sentencias garantiza que todas
las sentencias en un método se han ejecutado
• El cubrimiento de las condiciones garantiza que
cubrimos todos los caminos a través de un método
Escuela Superior de Informática. UCLM
Tema 4: 18
Descargar