0% encontró este documento útil (0 votos)
122 vistas3 páginas

Modelo Incremental en Desarrollo de Software

El modelo incremental es una metodología de desarrollo de software que permite la entrega progresiva de un producto funcional a través de mejoras incrementales, facilitando la adaptación a las necesidades del cliente. Se compone de fases que incluyen la definición de requerimientos, desarrollo, validación e integración de incrementos, lo que asegura un producto final libre de defectos. Aunque presenta ventajas como flexibilidad y costos reducidos, también requiere planificación detallada y puede enfrentar problemas si la arquitectura del sistema no está bien definida.

Cargado por

Angela Venté
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
122 vistas3 páginas

Modelo Incremental en Desarrollo de Software

El modelo incremental es una metodología de desarrollo de software que permite la entrega progresiva de un producto funcional a través de mejoras incrementales, facilitando la adaptación a las necesidades del cliente. Se compone de fases que incluyen la definición de requerimientos, desarrollo, validación e integración de incrementos, lo que asegura un producto final libre de defectos. Aunque presenta ventajas como flexibilidad y costos reducidos, también requiere planificación detallada y puede enfrentar problemas si la arquitectura del sistema no está bien definida.

Cargado por

Angela Venté
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

Modelo Incremental: Ciclo de Vida del Software

Introducción al tema:
Es fundamental elegir un modelo de ciclo de vida del software que permita una
construcción eficiente y adaptable del sistema, y el modelo incremental destaca como una
de las metodologías más utilizadas, ya que facilita la entrega progresiva de un producto
funcional, permitiendo ajustes continuos según las necesidades del cliente. A lo largo de
esta presentación, exploraremos la definición, importancia, fases, características y
ejemplos prácticos.

¿Qué es el modelo incremental?


Es un enfoque de desarrollo de software que enfatiza la mejora gradual de un sistema
mediante la incorporación de mejoras incrementales. Este modelo permite el desarrollo
de un sistema en segmentos pequeños y manejables, o incrementos, que se pueden
desarrollar con el tiempo. Cada incremento generalmente incluye una parte de la
funcionalidad del sistema, lo que permite una implementación parcial y la
retroalimentación de los usuarios, lo cual es crucial para refinar el producto general. En
sí, se basa en la idea de añadir nuevas funciones, o "incrementos", a un sistema existente
en lugar de crearlo todo desde cero de una sola vez.

Importancia:
La principal importancia es que divide el desarrollo de software en submódulos. Un
submódulo es una parte o componente independiente del sistema que cumple una función
específica dentro del software. Cada submódulo se va a desarrollar siguiendo procesos
incrementales. Al hacer esto, el modelo nos asegura que no nos estamos dejando de lado
ningún objetivo en el desarrollo del software.

El objetivo final del proyecto está respaldado con este modelo. Y es que con cada
incremento también se está probando el producto. Así, se asegura que el software final
esté libre de defectos. Al mismo tiempo, se constata que cada etapa es compatible con las
etapas de desarrollo hechas previamente y con las futuras.

Fases del modelo incremental:


Las fases del modelo incremental son como especies de peldaños o secuencias que
abarcan cada crecimiento o progreso del proyecto. Cada fase ayuda a concretar un
objetivo específico que será necesario para alcanzar los demás. No es un modelo
necesariamente rígido, es decir, puede adaptarse a las características de cualquier tipo de
proyecto. Existen al menos 7 fases que debemos tener en cuenta a la hora de
implementarlo:

1. Requerimientos: Son los objetivos centrales y específicos que persigue el


proyecto.
2. Definición de las tareas y las iteraciones: Teniendo en cuenta lo que se busca, el
siguiente paso es hacer una lista de tareas y agruparlas en las iteraciones que
tendrá el proyecto. Esta agrupación no puede ser aleatoria. Cada una debe
perseguir objetivos específicos que la definan como tal.
3. Diseño de los incrementos: Establecidas las iteraciones, es preciso definir cuál
será la evolución del producto en cada una de ellas. Cada iteración debe superar a
la que le ha precedido. Esto es lo que se denomina incremento.
4. Desarrollo del incremento: Posteriormente se realizan las tareas previstas y se
desarrollan los incrementos establecidos en la etapa anterior.
5. Validación de incrementos: Al término de cada iteración, los responsables de la
gestión del proyecto deben dar por buenos los incrementos que cada una de ellas
ha arrojado. Si no son los esperados o si ha habido algún retroceso, es necesario
volver la vista atrás y buscar las causas de ello.
6. Integración de incrementos: Una vez son validados, los incrementos dan forma a
lo que se denomina línea incremental o evolución del proyecto en su conjunto.
Cada incremento ha contribuido al resultado final.
7. Entrega del producto: Cuando el producto en su conjunto ha sido validado y se
confirma su correspondencia con los objetivos iniciales, se procede a su entrega
final.

Características:

 El desarrollo del sistema se divide en muchos miniproyectos de desarrollo.


 Los sistemas parciales se construyen sucesivamente para producir un sistema total
final.
 El requisito de mayor prioridad se aborda primero.
 Una vez que se desarrolla el requisito, los requisitos para ese incremento se
congelan.

Ventajas:

 El modelo permite entregar rápidamente un software funcional desde las primeras


etapas del ciclo de vida del desarrollo.
 Es flexible y menos costoso cambiar los requisitos y el alcance durante el
desarrollo.
 A lo largo de las etapas de desarrollo se pueden realizar cambios basados en la
retroalimentación de los usuarios.
 Este modelo suele ser más económico en comparación con otros modelos de
desarrollo.
 Un cliente puede revisar y dar retroalimentación a cada incremento, asegurando
una mejor alineación con sus expectativas.
Desventajas:

 Requiere una planificación y diseño inicial detallados para evitar problemas en


fases posteriores.
 Los problemas pueden surgir debido a una arquitectura del sistema mal definida,
ya que no se recopilan todos los requisitos desde el principio.
 Cada fase de iteración es rígida y no se superpone entre sí, lo que puede limitar la
flexibilidad en ciertas etapas.
 Corregir un problema en una unidad puede implicar rectificaciones en todas las
unidades desarrolladas, consumiendo tiempo y recursos adicionales.

Ejemplo
Imaginemos el desarrollo de una aplicación móvil para pedidos de comida:

1. Primer incremento: Se crea la funcionalidad básica: registro de usuarios, inicio


de sesión y visualización de restaurantes disponibles.
2. Segundo incremento: Se añade la opción de hacer pedidos, ver el menú y el
sistema de pagos en línea.
3. Tercer incremento: Se integra el rastreo en tiempo real de los pedidos y
notificaciones push para mantener al usuario informado sobre el estado de su
pedido.
4. Cuarto incremento: Se agregan valoraciones, comentarios de los usuarios sobre
los restaurantes y conductores, y un sistema de recomendaciones personalizadas.
5. Quinto incremento: Se introduce un sistema de promociones y cupones, además
de una sección de historial de pedidos para mayor comodidad del usuario.

Este modelo permite lanzar una app funcional desde el inicio e ir mejorándola con base
en la retroalimentación de los usuarios, asegurando que cada etapa contribuya a un
producto final más completo y eficiente.

Conclusión:
El modelo incremental es una forma de trabajar en la creación de software que ayuda a
hacerlo por partes, poco a poco. Cada parte nueva se añade sobre lo que ya está hecho y
ayuda a ir mejorando el producto. Esto permite ir viendo resultados pronto y hacer
cambios si es necesario. Aunque al principio se necesita una buena organización, esta
forma de trabajar hace más fácil corregir y mejorar el software, asegurando que al final el
producto cumpla con lo que se necesita.

También podría gustarte