Este documento discute tres temas clave de la ingeniería de software: 1) La combinación de paradigmas de desarrollo, donde los enfoques pueden combinarse para aprovechar las mejores prácticas de cada uno; 2) La visión genérica del proceso de ingeniería de software, que incluye las fases de definición, desarrollo y mantenimiento independientemente del paradigma; 3) La síntesis, donde la combinación de paradigmas es el resultado de integrar tareas de otros enfoques de manera consecuente con la solución.
1. Ciclo de Vida del Software
Paradigmas de Desarrollo
ISF5501 Ingeniería de Software
Semana 3/2
2. Aprendizajes Esperados:
Reconoce esquemas de
desarrollo Cascada y Espiral
Contenidos:
Contrasta las diferencias entre los
principales enfoque para el Análisis y
Diseño de software.
3. Temario Semana 3-2
1. Combinación de Paradigmas
2. Visión Genérica de la Ingeniería de Software
3. Síntesis
4. Combinación de Paradigmas
a. Antecedentes:
En muchos casos, los paradigmas se pueden combinar
para utilizar así las ventajas y mejores prácticas de cada
uno de ellos en un proyecto particular.
Un ejemplo puede ser el Modelo en Espiral, el cual va
evolucionando y a la vez rescata lo mejor del modelo de
Prototipo y Cascada.
No hay que ser dogmático en la elección de los
paradigmas para la Ingeniería de Software; la naturaleza
de la aplicación debe dictar el método a elegir.
Mediante la combinación de paradigmas el “todo”
puede ser mejor que la suma de las partes.
5. Combinación de Paradigmas
Recolección Preliminar de Requisitos
Análisis de Prototipado T4G Modelo en
Requisitos Espiral
Diseño T4G
Prototipado
iteración n-
esima
Codificación Mod. Espiral
iteración n-
esima
T4G
Prueba
Sistema en Operación
Mantenimiento
6. Temario Semana 3-2
1. Combinación de Paradigmas
2. Visión Genérica de la Ingeniería de Software
3. Síntesis
7. Visión Genérica de la IS
a. Fases:
El proceso de desarrollo contempla 3 fases genéricas
independiente del paradigma elegido:
i. Definición
ii. Desarrollo
iii. Mantenimiento
Estas fases se encuentra en todos los desarrollos de
proyectos, independiente del área de aplicación, del
tamaño del proyecto o de la complejidad del mismo.
8. Visión Genérica de la IS
i. Definición:
Se centra sobre el Qué; es decir, se intenta identificar
qué información ha de ser procesada, qué función y
rendimiento se desea, qué interfaces han de
establecerse, qué restricciones de diseño existen, etc.
Los métodos de definición varían dependiendo el
paradigma que se utilice.
No obstante lo anterior, se producen los siguientes
pasos específicos:
• Análisis de Sistema
• Planificación del Proyecto de Software
• Análisis de Requisitos
9. Visión Genérica de la IS
ii. Desarrollo:
Se centra sobre el Cómo; es decir, se intenta descubrir
cómo han de diseñarse las estructuras de datos y la
arquitectura del software, cómo han de implementarse
los detalles procedimentales, cómo ha de traducirse el
Diseño a un lenguaje de programación y cómo han de
desarrollarse las pruebas.
Los métodos varían según el paradigma, pero de alguna
forma se producirán los siguientes tres pasos:
• Diseño de Software
• Codificación
• Pruebas del Software
10. Visión Genérica de la IS
iii. Mantenimiento:
Se centra en el Cambio que va asociado a las
correcciones de errores, a las adaptaciones requeridas
por la evolución del entorno y a las modificaciones
requeridas por los cambios de requisitos del cliente.
Aquí se encuentran tres tipos básicos de cambios:
• Correcciones
• Adaptaciones
• Mejoras
Si bien en el paradigma de Cascada esta fase está
absolutamente identificada, en los restantes igual está
incluida pero no en forma explícita.
11. Temario Semana 3-2
1. Combinación de Paradigmas
2. Visión Genérica de la Ingeniería de Software
3. Síntesis
12. Síntesis
• La Combinación de Paradigmas es el resultado de la
combinatoria de las tareas y actividades descritas en
otros paradigmas.
• Si bien la temática del problema orienta la elección
de una metodología de desarrollo, no todas las
combinaciones serán eficientes.
• La idea principal, ser consecuente con la filosofía de
la solución y no caer en vacios procedimentales por
una elección incorrecta.