1. Modelos de
Procesos de Software
Integrantes:
Mayra Jocelyne Beltran Cruz
Jorge Ignacio Lezano Coaquira
Ruth Abigail Suri Calamani
Joseline Jenny Condori Flores
Javier Henry Quispe Pinto
Leandro Contreras Machaca
Greis Estefani Gonzales Chavez
INF -162
Grupo 2
2. ¿Qué son los modelos de Software?
Los modelos son simplificaciones; por lo tanto, un modelo de procesos del software es una
simplificación o abstracción de un proceso real. Podemos definir un modelo de procesos del
software como una representación abstracta de alto nivel de un proceso software.
3. Modelos Secuenciales
Modelo Cascada
“Su característica principal es que no se
comienza con un paso hasta que no se ha
terminado el anterior”
Ventajas:
● Se dispone desde muy temprano de unos requerimientos completos
y consistentes.
● Ayuda a mitigar el efecto bola de nieve al reducir el mantenimiento
como consecuencia de disponer de unas especificaciones completas
y correctas, aunque no lo elimina al continuar el desarrollo en
cascada.
Desventajas:
● Es frecuente arrastrar malas decisiones (de diseño, de
planificación, etc.) que sólo eran apropiadas para la obtención
rápida del prototipo y cuya implementación real puede ser muy
costosa.
● El prototipo sólo puede ser aprovechado en su aspecto externo.
● Los aspectos funcionales son muy reducidos.
4. Modelos Secuenciales
Modelo Incremental
Entrega el software en partes pequeñas, pero utilizables,
llamadas “incrementos”. En general, cada incremento se
construye sobre aquel que ya ha sido entregado.
Ventajas
● Minimización del riesgo de falla en el proyecto porque los
errores se van corrigiendo progresivamente.
● El resultado puede ser muy positivo.
Desventajas
● Difícil de aplicar a sistemas transaccionales que tienden a ser
integrados y a operar como un todo.
● Los errores en los requisitos se detectan tarde.
● El modelo incremental no es recomendable para casos de
sistemas de tiempo real, de alto nivel de seguridad, de
procesamiento distribuido y/o de alto índice de riesgos.
5. Modelos Secuenciales
Modelo de Desarrollo Rápido de Aplicaciones (DRA)
Es una adaptación a del modelo lineal secuencial en el
que se logra el desarrollo rápido utilizando un enfoque de
construcción basado en componentes.
Ventajas:
● Es muy rápido.
● Permite trabajar en él a varias personas a la vez.
● Enfatiza ciclos de desarrollo extremadamente cortos.
● Se asegura de que el producto entregado cumple las
necesidades del cliente.
Desventajas:
● El enfoque DRA tiene inconvenientes para proyectos grandes
aunque por escalas, necesita suficientes recursos humanos para
crear el número correcto de equipos.
● Si los desarrolladores y clientes no se comprenden con las
actividades necesarias para completar el sistema, los proyectos
fallarán.
● El DRA sería inapropiado cuando los riesgos técnicos son altos.
6. Modelos Evolutivos
Modelo IterativoSe planifica un proyecto en distintos bloques
temporales que se le denomina iteración. En una
iteración se repite un determinado proceso de trabajo
que brinda un resultado más completo para un
producto final, de forma que quien lo utilice reciba
beneficios de este proyecto de manera creciente.
Ventajas
● En el desarrollo de este modelo se da la retroalimentación muy
temprano a los usuarios.
● Permite separar la complejidad del proyecto, gracias a su
desarrollo por parte de cada iteración o bloque.
● El producto es consistente y puntual en el desarrollo.
Desventajas
● La entrega temprana de los proyectos produce la
creación de sistemas demasiados simples que a veces
se ven un poco monótonos a los ojos del personal que
lo recibe.6
● La mayoría de los incrementos se harán en base de las
necesidades de los usuarios. Los incrementos en si ya
son estipulados desde antes de la entrega del proyecto,
sin embargo hay que ver cómo se maneja el producto
para ver si necesita otros cambios además de los
estipulados antes de la entrega del proyecto.
7. Modelos Evolutivos
Modelo EspiralEl modelo de desarrollo en espiral es un generador de
modelo de proceso guiado por el riesgo que se
emplea para conducir sistemas intensivos de
ingeniería de software concurrente y a la vez con
muchos usuarios¨.
Ventajas:
● El análisis del riesgo se hace de forma explícita y
clara. Une los mejores elementos de los restantes
modelos.
● Reduce riesgos del proyecto
● Incorpora objetivos de calidad
● Integra el desarrollo con el mantenimiento, etc.
● Además es posible tener en cuenta mejoras y nuevos
requerimientos sin romper con la metodología, ya
que este ciclo de vida no es rígido ni estático.
Desventajas:
● Genera mucho tiempo en el desarrollo del sistema
● Modelo costoso
● Requiere experiencia en la identificación de
riesgos
8. Modelos Evolutivos
Modelo Concurrente
Tiene la capacidad de describir las múltiples
actividades del software que están ocurriendo
simultáneamente.
Ventajas
● Es excelente para proyectos en los que se conforman
grupos de trabajo.
● Proporciona una imagen exacta del estado actual de un
proyecto
● No restringe el proyecto a una secuencia de sucesos.
Desventajas
● Si no se dan las condiciones específicas no se
puede aplicar.
● Si no existe grupo de trabajo no se puede trabajar
en este método.
● Todas las actividades de red existen
simultáneamente con otras.
9. Modelos Evolutivos
Consiste en crear funcionalidad y que a partir de
ella las creaciones posteriores tendrán una
características funcionales.
Ventajas:
● Permite entregar al cliente un producto más rápido en comparación
del modelo de cascada.
● Resulta más sencillo acomodar cambios al acotar el tamaño de los
incrementos.
● Por su versatilidad requiere de una planeación cuidadosa tanto a
nivel administrativo como técnico.
Desventajas:
● El modelo Incremental no es recomendable para casos de sistemas
de tiempo real, de alto nivel de seguridad, de procesamiento
distribuido, y/o de alto índice de riesgos.
● Requiere de mucha planeación, tanto administrativa como técnica.
● Requiere de metas claras para conocer el estado del proyecto.
Modelo incremental
10. Modelos Ágiles
Modelo SRUM y Kanban
SCRUM trabaja con el ciclo de vida iterativo e
incremental, donde se va liberando el producto por
pares de forma periódica, aplicando las buenas
prácticas de trabajo colaborativo (en equipo)
KANBAN, simplifica la planificación y la asignación de
responsabilidades, en un tablero se representan los procesos del
flujo de trabajo, como mínimo deben existir tres columnas
(Pendiente, En Progreso, Terminado), la cantidad de tarjetas en
estatus pendiente forma parte de lo solicitado por el cliente,
aquellas colocadas en progreso dependerán de la capacidad del
equipo de trabajo.
11. Modelos Ágiles
Programación Extrema (XP)
XP tiene como base la simplicidad y como objetivo la
satisfacción del cliente.
Ventajas
● Da lugar a una programación sumamente organizada.
● Ocasiona eficiencias en el proceso de planificación y
pruebas.
● Cuenta con una tasa de errores muy pequeña.
● El cliente tiene el control sobre las prioridades.
Desventajas
● Es recomendable emplearla sólo en proyectos a corto
plazo.
● En caso de fallar, las comisiones son muy altas.
● Requiere de un rígido ajuste a los principios de XP.
● Puede no siempre ser más fácil que el desarrollo
tradicional.