TABLA DE CONTENIDO
INTRODUCCION ............................................................................................................................. 2
INFORME COMPARATIVO MODELOS DE CICLOS DE VIDA DE SOFTWARE ........................................ 3
CONCLUSIONES............................................................................................................................ 10
BIBLIOGRAFIA .............................................................................................................................. 11
INTRODUCCION
La ingeniería de software tiene como objetivo desarrollar software de calidad superior. El ciclo de
vida del software es una metodología sistemática utilizada para este propósito, que consta de varias
etapas, cada una con sus objetivos y actividades específicos. En este informe, se realizará una
comparación de algunos de los modelos más populares de ciclo de vida de software, destacando sus
características particulares, ventajas y desventajas.
INFORME COMPARATIVO MODELOS DE CICLOS DE VIDA DE SOFTWARE
EXTREME PROGRAMMING (XP)
Descripción del modelo: Extreme Programming es un modelo de desarrollo de software ágil que se
centra en la entrega continua de software de alta calidad. Este modelo se basa en la colaboración
estrecha entre los miembros del equipo de desarrollo y el cliente. XP se enfoca en la simplicidad, la
retroalimentación constante, la comunicación abierta y el trabajo en equipo.
Definición de fases, actividades, tareas: El modelo XP se basa en cuatro fases: exploración,
planificación, desarrollo y mantenimiento. Las actividades y tareas se centran en la planificación,
diseño, codificación, pruebas, integración y mantenimiento del software. XP también se enfoca en
prácticas de programación tales como programación en parejas, pruebas unitarias y refactorización
de código.
Objetivos: El objetivo principal de XP es proporcionar software de alta calidad y satisfacer los
requisitos del cliente en un entorno de desarrollo ágil.
Definición del momento en que este se debe utilizar: El modelo XP es ideal para proyectos de
software que requieren cambios frecuentes en los requisitos del cliente y una entrega rápida de
software de alta calidad.
Ventaja del uso: La ventaja principal de XP es la entrega continua de software de alta calidad y la
colaboración estrecha entre el equipo de desarrollo y el cliente. XP también se enfoca en la
simplicidad y la retroalimentación constante.
Desventaja de su uso: La desventaja principal de XP es que puede ser difícil de implementar en
proyectos grandes y complejos. Además, XP requiere un alto grado de colaboración y comunicación
entre el equipo de desarrollo y el cliente, lo que puede ser difícil de lograr en entornos
empresariales.
SCRUM
Es un modelo de desarrollo ágil que se basa en el trabajo en equipo y en la iteración continua para
desarrollar software de alta calidad. Este modelo se enfoca en la colaboración entre los miembros
del equipo y en la comunicación constante con el cliente para satisfacer sus necesidades y
requerimientos. SCRUM se compone de tres roles principales: el Product Owner, el Scrum Master y
el Equipo de Desarrollo.
Definición de fases, actividades, tareas: SCRUM se divide en sprints, que son iteraciones de trabajo
que duran de una a cuatro semanas. Durante cada sprint se realizan las siguientes actividades:
reuniones diarias, planificación del sprint, revisión del sprint y retrospectiva del sprint.
Objetivos: Los objetivos principales de SCRUM son maximizar el valor entregado al cliente,
adaptarse a los cambios en los requerimientos y mejorar continuamente la calidad del software.
Definición del momento en que se debe utilizar: SCRUM es adecuado para proyectos en los que los
requerimientos pueden cambiar con frecuencia y se necesita una respuesta rápida a los cambios del
mercado o del cliente.
Ventaja del uso: SCRUM permite una mayor flexibilidad y adaptabilidad a los cambios en los
requerimientos del proyecto. También fomenta la comunicación y colaboración constante entre el
equipo de desarrollo y el cliente.
Desventaja de su uso: SCRUM puede requerir una mayor inversión de tiempo y recursos para la
planificación y gestión de cada sprint, lo que puede retrasar la entrega del software final.
MODELO EN CASCADA
Descripción del modelo: El modelo en cascada es un modelo secuencial de desarrollo de software
que se enfoca en la planificación detallada y la ejecución secuencial de las diferentes fases del
proyecto. Cada fase se completa antes de pasar a la siguiente y el ciclo de vida se representa en una
cascada descendente.
Definición de fases, actividades, tareas: El modelo en cascada se divide en las siguientes fases:
requisitos, diseño, implementación, verificación y mantenimiento. Cada fase tiene sus propias
actividades y tareas específicas.
Objetivos: El objetivo principal del modelo en cascada es garantizar que cada fase del proyecto se
complete antes de pasar a la siguiente, lo que permite una mayor previsibilidad y control del proceso
de desarrollo.
Definición del momento en que se debe utilizar: El modelo en cascada es adecuado para proyectos
en los que los requerimientos están bien definidos y no se espera que cambien con frecuencia.
Ventaja del uso: El modelo en cascada permite una mayor previsibilidad y control del proceso de
desarrollo, lo que puede ser beneficioso para proyectos de gran escala y complejidad.
Desventaja de su uso: El modelo en cascada puede presentar una desventaja en cuanto a su
inflexibilidad para adaptarse a los cambios en los requisitos del proyecto. Debido a que cada fase se
basa en la finalización exitosa de la fase anterior, los cambios tardíos pueden ser costosos y
requieren volver a trabajar desde el principio
MODELO EN ESPIRAL
Descripción del modelo: El modelo en espiral es un modelo de ciclo de vida de software que combina
elementos del modelo en cascada y el modelo iterativo. Este modelo utiliza una serie de ciclos de
desarrollo iterativos que se basan en la retroalimentación del usuario y la evaluación continua del
riesgo. Cada ciclo del modelo en espiral consta de cuatro fases: Planificación, Análisis de riesgos,
Ingeniería y Evaluación.
Definición de fases, actividades, tareas:
Planificación: Identificación de objetivos, alternativas y restricciones.
Análisis de riesgos: Identificación, análisis y resolución de riesgos.
Ingeniería: Desarrollo del producto, pruebas y validación.
Evaluación: Evaluación del usuario y del producto, identificación de cambios necesarios.
Objetivos: El objetivo principal del modelo en espiral es minimizar los riesgos asociados con el
desarrollo del software y garantizar que se entregue un producto de alta calidad.
Definición del momento en que este se debe utilizar: Este modelo es adecuado para proyectos
grandes y complejos, donde la retroalimentación del usuario es esencial y el riesgo es alto.
Ventaja del uso: Identifica y minimiza riesgos tempranamente, Permite un enfoque iterativo y
flexible, Promueve la retroalimentación y la colaboración del usuario, Puede ser utilizado en
proyectos grandes y complejos.
Desventaja de su uso: Puede ser costoso y requiere mucho tiempo, No es adecuado para proyectos
pequeños o simples, La planificación y el análisis de riesgos pueden ser subjetivos
MODELO DE DESARROLLO INCREMENTAL
Es un proceso iterativo de desarrollo de software, que se enfoca en construir el software de forma
incremental, con cada iteración agregando nuevas funcionalidades y mejoras. Este modelo es ideal
para proyectos donde el alcance no está bien definido y es posible que cambie a medida que avanza
el proyecto.
Fases, actividades, tareas: Las fases del modelo de desarrollo incremental incluyen análisis, diseño,
implementación y pruebas. Cada iteración comienza con la fase de análisis, seguida de la fase de
diseño, implementación y pruebas. En cada iteración se agregan nuevas funcionalidades o mejoras.
Objetivos: El objetivo del modelo de desarrollo incremental es proporcionar una forma de construir
software de forma incremental, lo que permite al equipo de desarrollo y al cliente ver el progreso
del proyecto y ajustar el alcance según sea necesario. Esto también ayuda a reducir el riesgo de
errores costosos al permitir que se realicen cambios a medida que se descubren.
Momento de utilización: El modelo de desarrollo incremental es ideal para proyectos donde el
alcance no está bien definido o donde es posible que cambie a medida que avanza el proyecto.
También es útil cuando se necesita entregar funcionalidades en ciclos cortos.
Ventajas: El cliente puede ver el progreso del proyecto de forma temprana y hacer ajustes según
sea necesario, Los cambios pueden realizarse a medida que se descubren, lo que reduce el riesgo
de errores costosos, Permite que se entreguen funcionalidades en ciclos cortos.
Desventajas: Puede ser difícil de planificar y estimar debido a la naturaleza iterativa del modelo,
Rrequiere una mayor comunicación y colaboración entre el equipo de desarrollo y el cliente, Puede
llevar a un código no estructurado y redundante si no se realiza una planificación adecuada.
MODELO DE DESARROLLO ÁGIL
Descripción del modelo: El modelo de desarrollo ágil es un enfoque iterativo e incremental para el
desarrollo de software. En este modelo, el equipo de desarrollo trabaja en colaboración con el
cliente para entregar software funcional en ciclos cortos. Este modelo enfatiza la entrega temprana
y continua del software y la capacidad de responder a los cambios de requisitos.
Definición de fases, actividades, tareas: El modelo de desarrollo ágil no tiene fases y actividades
rígidas y bien definidas como otros modelos. En cambio, se divide en ciclos cortos (iteraciones) de
trabajo que incluyen: planificación, diseño, desarrollo, pruebas y entrega.
Objetivos: -Entregar software funcional en ciclos cortos. -Permitir cambios de requisitos durante
todo el ciclo de vida del proyecto. -Fomentar la comunicación y la colaboración entre el equipo de
desarrollo y el cliente.
Definición del momento en que se debe utilizar: El modelo de desarrollo ágil se utiliza cuando: -El
cliente tiene requisitos cambiantes y/o inciertos. -La entrega temprana y frecuente del software es
importante. -El equipo de desarrollo necesita adaptarse a los cambios y evolucionar.
Ventaja del uso; Entrega temprana y continua del software. -Adaptación a los cambios y evolución
del software. -Comunicación y colaboración constante con el cliente.
Desventaja de su uso: Puede ser difícil para los clientes que no tienen una visión clara de lo que
quieren. -Puede ser difícil para los miembros del equipo de desarrollo sin experiencia en el trabajo
en equipo y la comunicación.
MODELO V-MODEL
Descripción del modelo El modelo V-Model es un modelo de ciclo de vida de software en el que se
desarrolla el software en paralelo con las pruebas. El modelo es una extensión del modelo en
cascada y se utiliza para asegurar que el software se prueba adecuadamente antes de ser entregado
al cliente. El modelo se basa en la premisa de que la calidad se puede construir en el software, en
lugar de probarla.
Fases, actividades y tareas El modelo V-Model tiene las siguientes fases: planificación, especificación
de requisitos, diseño de alto nivel, diseño detallado, codificación, pruebas de integración, pruebas
del sistema, pruebas de aceptación y mantenimiento. Cada fase tiene actividades y tareas
específicas.
Objetivos El objetivo del modelo V-Model es asegurar la calidad del software al incorporar las
pruebas desde el principio del proyecto.
Definición del momento en que este se debe utilizar El modelo V-Model se debe utilizar en proyectos
donde la calidad es una preocupación primordial y donde los requisitos son claros y no cambian con
frecuencia.
Ventaja del uso La ventaja del modelo V-Model es que se puede garantizar la calidad del software
antes de la entrega.
Desventaja de su uso La desventaja del modelo V-Model es que no es adecuado para proyectos
donde los requisitos cambian con frecuencia.
MODELO RAD (RAPID APPLICATION DEVELOPMENT)
Descripción del modelo
El Modelo RAD es un enfoque de desarrollo de software que se centra en la entrega rápida de una
aplicación funcional. Este modelo utiliza un proceso iterativo y enfocado en el equipo, lo que
permite a los desarrolladores trabajar juntos para crear soluciones de software complejas en poco
tiempo.
Definición de fases, actividades, tareas
El Modelo RAD tiene cuatro fases principales:
Planificación: en esta fase, se define el alcance del proyecto y se establecen los objetivos y las
expectativas.
Análisis: en esta fase, se determinan los requisitos de software y se desarrolla un prototipo.
Diseño: en esta fase, se crea el diseño técnico y funcional de la aplicación.
Implementación: en esta fase, se construye y prueba la aplicación, y se realiza la entrega al usuario
final.
Objetivos
El principal objetivo del Modelo RAD es acelerar el proceso de desarrollo de software al permitir a
los equipos trabajar juntos de manera más eficiente. Al enfocarse en la entrega rápida de una
aplicación funcional, este modelo puede reducir el tiempo y el costo de desarrollo.
Definición del momento en que este se debe utilizar
El Modelo RAD se debe utilizar en proyectos donde el tiempo de entrega es un factor crítico y la
solución de software es compleja.
Ventaja del uso: La principal ventaja del Modelo RAD es que permite a los equipos desarrollar
soluciones de software complejas en poco tiempo. Al enfocarse en la entrega rápida de una
aplicación funcional, los desarrolladores pueden reducir el tiempo y el costo de desarrollo.
Desventaja de su uso: La principal desventaja del Modelo RAD es que puede generar una falta de
documentación y pruebas adecuadas. Al enfocarse en la entrega rápida, el equipo puede descuidar
la documentación y las pruebas, lo que puede generar problemas a largo plazo.
EL MODELO ITERATIVO Y CRECIENTE
Es un modelo de ciclo de vida del software que se enfoca en la mejora continua del producto. Este
modelo se basa en la repetición de fases y la evaluación constante del producto para identificar
posibles mejoras. En este modelo, el desarrollo se divide en ciclos y cada ciclo se compone de las
mismas fases del ciclo de vida del software: planificación, análisis, diseño, implementación y
pruebas. Sin embargo, en lugar de seguir estas fases de manera lineal, el modelo iterativo y
creciente permite que cada fase se repita varias veces para lograr una mejora continua del producto.
Definición de fases, actividades, tareas: El modelo iterativo y creciente se compone de las siguientes
fases:
Planificación: En esta fase se define el alcance del proyecto y se identifican los requisitos del usuario.
También se definen los objetivos y los plazos del proyecto.
Análisis: En esta fase se analizan los requisitos identificados en la fase de planificación y se definen
las características del producto final. En esta fase también se identifican los riesgos asociados con el
proyecto.
Diseño: En esta fase se diseña la arquitectura del sistema y se definen las especificaciones técnicas
necesarias para implementar el software.
Implementación: En esta fase se desarrolla el software de acuerdo con las especificaciones
definidas en la fase de diseño.
Pruebas: En esta fase se realizan pruebas para asegurar que el software funciona de acuerdo con las
especificaciones definidas en la fase de diseño. En esta fase también se identifican y corrigen los
errores encontrados durante las pruebas.
Cada ciclo de desarrollo se compone de estas cinco fases y cada fase puede repetirse varias veces
hasta que se logre el nivel de calidad deseado.
Objetivos: El objetivo principal del modelo iterativo y creciente es lograr una mejora continua del
producto final. Este modelo permite identificar y corregir errores en etapas tempranas del
desarrollo y asegurar que el producto final cumpla con los requisitos del usuario. Además, este
modelo permite que los cambios se implementen en ciclos cortos y rápidos, lo que reduce el tiempo
necesario para lanzar el producto final al mercado.
Definición del momento en que este se debe utilizar: El modelo iterativo y creciente es adecuado
para proyectos de software que requieren una mejora continua y una flexibilidad en el proceso de
desarrollo. Este modelo es especialmente útil para proyectos en los que los requisitos del usuario
no están claramente definidos o pueden cambiar durante el proceso de desarrollo.
Ventaja del uso: Mejora continua del producto final
Desventajas; La falta de un plan detallado puede llevar a un aumento en los costos y tiempos del
proyecto.
CONCLUSIONES
En resumen los modelos de ciclo de vida de software cada uno cuenta con sus fortalezas y
debilidades, es pertinente evaluar que necesidades tenemos para el proyecto, y esto nos hará tomar
la mejor decisión, además el proceso de desarrollo de software es un proceso continuo por ende es
fundamental que el ciclo de vida del sofware este ajustado a nuestras necesidades
BIBLIOGRAFIA
Beck, K. (1999). Extreme Programming Explained: Embrace Change. Addison-Wesley Professional.
[Link]
.+(1999).+Extreme+Programming+Explained:+Embrace+Change.+Addison-
Wesley+Professional.&ots=jbAHstoVvj&sig=bm9Qq8L1HStkJWYkqpn2ONiAyBQ#v=onepage&q=Be
ck%2C%20K.%20(1999).%20Extreme%20Programming%20Explained%3A%20Embrace%20Change.
%20Addison-Wesley%20Professional.&f=false
Schwaber, K., & Sutherland, J. (2013). The Scrum Guide: The Definitive Guide to Scrum: The Rules of
the Game.
[Link].[Link]
mas/5-
rZA0FggusC?hl=es&gbpv=1&dq=Beck,+K.+(1999).+Extreme+Programming+Explained:+Embrace+C
hange.+Addison-Wesley+Professional.&pg=PA84&printsec=frontcover
Boehm, B. W. (1988). A Spiral Model of Software Development and Enhancement. Computer, 21(5),
61–72. [Link]
Ahmed, F., & Rajagopalan, B. (2019). Rapid Application Development: A Review of Literature.
Journal of Systems and Software, 157, 110395.
[Link]
empirical_review