INSTITUTO TECNOLÓGICO DE TOLUCA
“CUADRO COMPARATIVO DE LOS MODELOS DE PROCESO DE SOFTWARE”
INGENIERÍA EN SISTEMAS COMPUTACIONALES
FUNDAMENTOS DE DESARROLLO DE SISTEMAS
ALUMNOS MANILLA DERBEZ JORGE ANTONIO TORRES VILLAFAÑA HÉCTOR
CATEDRÁTICO ROSA ELVIRA MORENO RAMÍREZ
OCTUBRE DE 2009
M O D E L O
P R O C E S O
C
Se define como una secuencia de actividades donde la estrategia principal es seguir el proceso del desarrollo de SW hacia checkpoints o mediante entregas calendarizadas
A S C
V E N T A J A S • •
•
A
Los documentos técnicos son comprensibles para usuarios y administradores no técnicos. Cada detalle de los requisitos se conoce de antemano antes de desarrollar el SW, y los detalles son estables durante el desarrollo. Las pruebas y evaluaciones se realizan eficientemente al final del desarrollo.
•
D E S V E N T A J A S Los proyectos reales raramente siguen el flujo secuencial que propone el modelo, siempre hay iteraciones y se crean problemas en la aplicación del paradigma.
D •
A I N C R E M E N
Las metas se logran mejor cuando se tiene puntos de revisión bien preestablecidos y documentados. La administración de proyectos es más fácil de lograr en incrementos más pequeños.
Es una extensión del modelo de cascada. A diferencio del modelo de cascada, que es dirigido por documentos, el modelo espiral se basa en una estrategia para reducir el riesgo del proyecto en áreas de incertidumbre, como requerimientos inestables e incompletos. Al igual que el modelo evolucionario, el modelo de espiral incorpora una estrategia de uso de prototipos como parte del manejo del riesgo. Con algunas variantes este es el proceso más importante en la actualidad
•
•
Hay más probabilidad de satisfacer el cambio en los requisitos de usuario mediante incrementos del SW en el tiempo que si fueran planeados todos a la vez en un mismo periodo.
Es una extensión del modelo de cascada. A diferencio del modelo de cascada, que es dirigido por documentos, el modelo espiral se basa en una estrategia para reducir el riesgo del proyecto en áreas de incertidumbre, como requerimientos inestables e incompletos. Al igual que el modelo evolucionario, el modelo de espiral incorpora una estrategia de uso de prototipos como parte del manejo del riesgo. Con algunas variantes este es el proceso más importante en la actualidad
•
Se entrega temprano parte del sistema, aunque no estén completos todos los requerimientos.
•
Se permite entregar parte del sistema como herramienta para la generación de requerimientos faltantes. Se obtienen beneficios para el sistema mediante entregas iniciales mientras las entregas posteriores están en desarrollo.
• •
T A
Es más fácil comprender y probar incrementos de funcionalidad más pequeños. La funcionalidad inicial de desarrolla más temprano, logrando resultados de inversión en menor tiempo.
L E V O L U T I V O
•
•
Difícil de evaluar el coste total.
•
Difícil de aplicar a los sistemas transaccionales que tienden a ser integrados y a operar como un todo.
•
Requiere gestores experimentados.
•
Los errores requisitos se tarde.
en los detectan
U S O
E S P I
Es una extensión al modelo incremental, donde los incrementos de hacen de manera secuencial en lugar de en paralelo; es también conocido como desarrollo rápido de aplicaciones (RAD, Rapid Application Development), que se basa en el uso de prototipos
•
Una actividad comienza cuando es entienden los objetivos y riesgos involucrados.
•
Basado en la evaluación de soluciones alternas, se usan las herramientas que mejor reduzcan los riesgos. Todo el personal relacionado debe involucrarse en una revisión que determine cada actividad. El desarrollo se incrementa en cada etapa, permitiendo prototipos sucesivos del producto.
•
R A
•
L
U P
Es un desarrollo inicial de la arquitectura completa del sistema, seguido de incrementos y versiones parciales del mismo. Cada incremento tiene si propio ciclo de vida. Cada incremento agrega funcionalidad adicional o mejorada sobre el sistema. Conforme se completa cada etapa se verifica e integra la versión con las demás versiones ya completadas del sistema. Para que la secuencia de desarrollo sea exitosa es esencial definir etapas que no requieran cambiar los resultados anteriores al agregar nuevas
•
Para construir un programa exitoso se deben conocer qué quieren y necesitan los usuarios potenciales.
Referencias Bibliográficas
•
Genera mucho tiempo en el desarrollo del sistema
•
Modelo costoso
•
Requiere experiencia en la identificación de riesgos
•
El desarrollo de un producto comercial puede significar un gran esfuerzo durante meses, e incluso años.
•
Ian Somerville: Ingeniería de Software. Editorial Pearson Addison Wesley. Séptima Edición. Madrid, 2005.
•
S. Pressman, Roger: INGENIERÍA DEL SOFTWARE, UN ENFOQUE PRÁCTICO. Editorial Mc-Graw Hill. Quinta Edición. 2002.
•
Weitzenfeld, Alfredo: Ingeniería de Software, Orientada a Objetos con UML, Java e Internet. Editorial Thomson.