Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad

Ingeniería de Software: Fundamentos, Ciclo de Vida y Modelos de Desarrollo, Monografías, Ensayos de Metodologías de Desarrollo de Software

Este documento proporciona una introducción completa a la ingeniería de software, explorando sus fundamentos, el ciclo de vida del desarrollo de software y los modelos de desarrollo más utilizados. Se destaca la importancia de la organización, la gestión de riesgos y la calidad en el desarrollo de software, así como las ventajas y desventajas de diferentes enfoques metodológicos.

Tipo: Monografías, Ensayos

2023/2024

Subido el 16/09/2024

madeleine-gabriela
madeleine-gabriela 🇻🇪

1 documento

1 / 23

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
UNIVERSIDAD ALEJANDRO DE HUMBOLDT
FACULTAD DE INGENIERÍA
INGENIERÍA EN INFORMÁTICA
INGENIERÍA DEL SOFTWARE
SECCIÓN: 601
INGENIERÍA DEL SOFTWARE
PRODUCTO Y PROCESO
Alumna:
Cruz Madeleine
C.I: 30.719.631
Caracas, Septiembre de 2024
ÍNDICE
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17

Vista previa parcial del texto

¡Descarga Ingeniería de Software: Fundamentos, Ciclo de Vida y Modelos de Desarrollo y más Monografías, Ensayos en PDF de Metodologías de Desarrollo de Software solo en Docsity!

UNIVERSIDAD ALEJANDRO DE HUMBOLDT

FACULTAD DE INGENIERÍA

INGENIERÍA EN INFORMÁTICA

INGENIERÍA DEL SOFTWARE

SECCIÓN: 601

INGENIERÍA DEL SOFTWARE

PRODUCTO Y PROCESO

Alumna:

Cruz Madeleine

C.I: 30.719.

Caracas, Septiembre de 2024

ÍNDICE

INTRODUCCIÓN................................................................................................................................................... INGENIERÍA DE SOFTWARE............................................................................................................................... CARACTERÍSTICAS DE LA INGENIERÍA DE SOFTWARE................................................................................. VENTAJAS DE LA INGENIERÍA DE SOFTWARE................................................................................................ DESVENTAJAS DE LA INGENIERÍA DE SOFTWARE......................................................................................... IMPORTANCIA DE LA ORGANIZACIÓN EN LA INGENIERÍA DE SOFTWARE.................................................. EJEMPLOS DE BUENAS PRÁCTICAS ORGANIZATIVAS................................................................................... EJEMPLOS DE DESORGANIZACIÓN Y SUS CONSECUENCIAS...................................................................... EL PRODUCTO Y EL PROCESO......................................................................................................................... MODELOS DEL DESARROLLO DEL SOFTWARE.............................................................................................. IMPORTANCIA DE LOS MODELOS DEL DESARROLLO DEL SOFTWARE....................................................... EJEMPLOS DE MODELOS DE DESARROLLO DEL SOFTWARE....................................................................... CONCLUSIÓN.......................................................................................................................................................

INGENIERÍA DE SOFTWARE

La Ingeniería de Software se dedica a la aplicación metódica y organizada de conocimientos y técnicas para desarrollar software de alta calidad, con el objetivo de cumplir de manera efectiva las necesidades y expectativas de los usuarios. En primer lugar, esta disciplina abarca todo el ciclo de vida del desarrollo del software, comenzando con el análisis inicial de los requisitos y el contexto, pasando por la redacción de especificaciones detalladas, el diseño del sistema, y continuando con la programación y desarrollo de las funcionalidades. Luego, el proceso concluye con rigurosas pruebas para asegurar que el software funcione correctamente y cumpla con los estándares establecidos antes de su implementación. Asimismo, los profesionales en Ingeniería de Software no solo se encargan del desarrollo técnico, sino también de la gestión integral del proyecto. Su responsabilidad incluye coordinar los recursos, supervisar el progreso, y mantener una comunicación constante con los stakeholders para garantizar que el proyecto se complete dentro del tiempo y presupuesto previstos. De esta manera, la gestión abarca desde la planificación y organización iniciales hasta el monitoreo continuo durante el desarrollo. Por otro lado, esta rama de la ingeniería está implicada en todas las fases del ciclo de vida de los sistemas de información, y su aplicación es extensa en el campo de la informática y la ciencia computacional. Se emplea en el diseño de compiladores, el desarrollo de sistemas operativos, y en tecnologías relacionadas con Intranet e Internet. Adicionalmente, su impacto se extiende a numerosos sectores, como el empresarial, donde se gestionan y optimizan los sistemas de información corporativos; el científico, facilitando el análisis de datos y simulaciones; el médico, mejorando los diagnósticos y tratamientos; y el industrial, optimizando procesos de fabricación. En consecuencia, la Ingeniería de Software también desempeña un papel crucial en áreas como la logística, la banca, el control del tráfico, y la meteorología. En estos ámbitos, se desarrollan soluciones de software que permiten manejar grandes volúmenes de datos, controlar operaciones en tiempo real, y mejorar la precisión en

análisis y predicciones. De este modo, la disciplina contribuye a crear sistemas que no solo cumplen con los requisitos funcionales, sino que también operan de manera eficiente y fiable en entornos complejos y en constante cambio. CICLO DE VIDA DEL SOFTWARE El ciclo de vida del software, conocido también como proceso de desarrollo de software, abarca un conjunto estructurado de etapas esenciales que guían la creación de aplicaciones y sistemas informáticos desde su concepción hasta su despliegue y mantenimiento continuo. En este contexto, se identifican cuatro fases clave que constituyen el marco fundamental de este ciclo. Cada una de estas fases desempeña un papel crucial en el desarrollo exitoso de un software, asegurando que el producto final cumpla con los requisitos del cliente y funcione de manera óptima en el entorno previsto. En primer lugar, la fase de concepción se centra en definir el alcance del proyecto y desarrollar un modelo de negocio claro. Durante esta etapa, se identifican las necesidades específicas que el software debe satisfacer, y se realiza una planificación inicial para establecer los objetivos del proyecto. A partir de aquí, se comienza a buscar y evaluar las herramientas y tecnologías necesarias para cumplir con estos requisitos. A continuación, la fase de elaboración se dedica a detallar las características y la estructura del software. Este paso incluye la creación de especificaciones técnicas y el diseño detallado del sistema, donde se definen las funcionalidades y se establecen las bases para la construcción del software. Durante esta etapa, se realiza una planificación más profunda y se preparan los recursos necesarios para la siguiente fase. Posteriormente, en la fase de construcción, se lleva a cabo la implementación tangible del software. Aquí, las ideas y diseños previos se transforman en un producto real, a través de la programación y desarrollo de las funcionalidades. A medida que

Asimismo, se implementan mejoras que permiten al software realizar un mayor número de tareas o funcionar de manera más eficiente. Estas mejoras surgen a partir de la retroalimentación de los usuarios, avances tecnológicos, o la identificación de áreas donde el software puede ser optimizado. Por ejemplo, pueden incluirse mejoras en la interfaz de usuario, en el rendimiento del sistema, o en la integración con otras herramientas y plataformas. Dicho esto, la fase de mantenimiento se centra no sólo en resolver problemas existentes, sino también en asegurar que el software evolucione y se adapte a las necesidades cambiantes de los usuarios y del entorno. Mediante una gestión proactiva en esta etapa, se puede prolongar la vida útil del software, mejorar su rendimiento y garantizar que continúe aportando valor a sus usuarios. OBJETIVOS DE LA INGENIERÍA DE SOFTWARE ● Desarrollar software que satisfaga las necesidades de la sociedad y las empresas. ● Coordinar y supervisar el desarrollo de programas complejos. ● Participar en todo el ciclo de vida de un producto. ● Estimar costos y tiempos de ejecución de proyectos. ● Monitorear el cumplimiento del presupuesto y los plazos de entrega. ● Liderar equipos de desarrollo de software. ● Diseñar, desarrollar y administrar bases de datos. ● Durante el proceso de creación, dirigir a los programadores. ● Implementar procesos de calidad, midiendo y evaluando métricas para asegurar la calidad del software. CARACTERÍSTICAS DE LA INGENIERÍA DE SOFTWARE La Ingeniería de Software se enfoca en el desarrollo eficiente y rentable de sistemas de software confiables y de alto rendimiento. Abarca todos los aspectos relacionados con la producción de software, asegurando que cada etapa del proceso

esté orientada hacia la calidad y la funcionalidad del producto final. El software, por su naturaleza, se caracteriza por tres elementos fundamentales: ● Programas y algoritmos: constituyen la base funcional del software. ● Estructuras de datos: definen cómo se organiza y almacena la información para su procesamiento. ● Intangibilidad: a diferencia de los productos físicos, el software es intangible, lo que significa que no se puede tocar, pero su funcionalidad es crucial. Adicionalmente, el software debe cumplir con una serie de atributos esenciales que lo hacen eficaz en su uso: ● Seguridad: el software debe ser resistente a ataques maliciosos, protegiendo los datos y sistemas asociados. ● Funcionalidad: debe cumplir adecuadamente con las funciones para las que fue diseñado. ● Eficiencia: el software debe optimizar el uso de los recursos disponibles, como el tiempo de procesamiento y la memoria. ● Usabilidad: debe ser fácil de usar, asegurando una experiencia intuitiva para los usuarios. La Ingeniería de Software se distingue por ciertos enfoques clave que garantizan su éxito: ➔ Enfoque sistemático:Procesos bien definidos: cada etapa del desarrollo, desde el análisis de requisitos hasta la implementación y mantenimiento, sigue un conjunto de procesos estructurados. ● Metodologías: se basa en metodologías bien establecidas, como Agile, Waterfall o Scrum, que proporcionan marcos para gestionar eficazmente el desarrollo del software.

crucial que se adopten enfoques proactivos y soluciones adaptativas para garantizar que los desafíos no comprometan la calidad y la efectividad del software final. VENTAJAS DE LA INGENIERÍA DE SOFTWARE El desarrollo de software mediante enfoques metodológicos y estandarizados produce soluciones más seguras, confiables y eficientes. Estos métodos también incrementan la productividad, ya que los procesos bien estructurados y el uso de herramientas especializadas permiten optimizar el trabajo y reducir los tiempos de entrega. Además, la documentación detallada y el diseño modular facilitan el mantenimiento y actualización del software, lo que ayuda a corregir errores o implementar mejoras con mayor facilidad. Al minimizar errores y evitar el retrabajo, también se logra una reducción significativa en los costos asociados al desarrollo y mantenimiento del software. Otro aspecto positivo es la capacidad del software de adaptarse fácilmente a cambios en los requerimientos, gracias a los procesos iterativos. Por último, los sistemas bien diseñados ofrecen una escalabilidad superior, lo que les permite crecer y ajustarse a nuevas demandas. A nivel profesional, la demanda de ingenieros de software en diversas industrias es alta, lo que genera amplias oportunidades laborales. DESVENTAJAS DE LA INGENIERÍA DE SOFTWARE Aunque ya se vieron las ventajas hay que tener en cuenta que, el desarrollo de software puede ser complejo, especialmente cuando se trata de proyectos de gran escala, que a menudo requieren equipos multidisciplinarios y una planificación cuidadosa. Los costos iniciales para implementar procesos y herramientas especializadas también pueden ser elevados. También, resulta difícil estimar con precisión los plazos y costos de un proyecto, ya que los requisitos y la complejidad técnica suelen cambiar durante el proceso. La constante evolución tecnológica exige a los profesionales mantenerse actualizados, lo cual puede ser un desafío. En ocasiones, también puede ser difícil encontrar ingenieros con las habilidades necesarias, lo que limita el éxito de ciertos proyectos. La resistencia al cambio, ya sea por parte de los

equipos o los clientes, puede dificultar la adopción de nuevas metodologías o tecnologías, lo que retrasa o complica el desarrollo de software. IMPORTANCIA DE LA ORGANIZACIÓN EN LA INGENIERÍA DE SOFTWARE La organización es un elemento crucial en la ingeniería de software, ya que los proyectos suelen involucrar múltiples tareas, equipos multidisciplinarios y grandes cantidades de información. Sin una estructura organizativa adecuada, los proyectos pueden volverse desordenados, sufrir retrasos y generar productos de baja calidad. En la actualidad, la ingeniería de software juega un papel indispensable en el aprovechamiento de la tecnología y en la creación de soluciones innovadoras que mejoran nuestra calidad de vida en un mundo cada vez más digital. Así mismo, asegura que los sistemas sean estables y seguros, ya que los profesionales en este campo diseñan y prueban exhaustivamente los programas para prevenir errores y vulnerabilidades que puedan comprometer la integridad de los datos o el rendimiento del sistema. Al mismo tiempo, la organización efectiva también trae consigo varias ventajas clave. Permite optimizar el uso de los recursos, reducir los tiempos de desarrollo y mejorar la productividad del equipo. Asimismo, facilita la identificación y corrección de errores, y promueve la implementación de estándares de calidad que resultan en productos finales superiores. Un software bien estructurado también es más fácil de modificar y mantener, lo que reduce los costos a largo plazo. Además, una buena organización mejora la colaboración entre los miembros del equipo, optimizando la comunicación y la toma de decisiones. Por último, permite identificar y mitigar los riesgos potenciales asociados a un proyecto de software, reduciendo la probabilidad de complicaciones futuras. EJEMPLOS DE BUENAS PRÁCTICAS ORGANIZATIVAS Existen varias prácticas que pueden mejorar la calidad del desarrollo de software. Entre ellas, las metodologías como Agile, Scrum y Waterfall ofrecen marcos estructurados para gestionar proyectos de software de manera eficiente. Las

computadora. Aunque no se pueden tocar, estos productos satisfacen necesidades y deseos de manera efectiva. Los productos están diseñados y creados con el propósito de satisfacer las necesidades y deseos de las personas. Por ejemplo, un juguete puede proporcionar entretenimiento y desarrollo cognitivo a un niño, mientras que un libro puede ofrecer conocimiento y placer a un lector. Una canción puede evocar emociones y recuerdos, y una película puede transportar a los espectadores a mundos imaginarios. Por otra parte, el proceso es el conjunto de pasos que se siguen para hacer un producto. Este proceso puede variar en complejidad dependiendo del tipo de producto que se esté creando. Para ejemplificar, se puede observar el desarrollo de un software el cual sirve para ilustrar cómo funciona un proceso en informática. Primero, se necesita definir el objetivo del software. Esto incluye entender qué problema resolverá o qué necesidad satisfará. Luego, se realiza una planificación detallada, donde se decide qué características y funcionalidades tendrá el software. Después de la planificación, se pasa a la fase de diseño. Aquí, los desarrolladores crean diagramas y modelos que muestran cómo funcionará el software. Esto incluye la arquitectura del sistema, la interfaz de usuario y la base de datos. Una vez que el diseño está listo, comienza la fase de desarrollo. Los programadores escriben el código del software utilizando lenguajes de programación como Python, Java o C++. Este es un paso crucial donde se construyen las funcionalidades definidas en la fase de planificación. Después de desarrollar el software, se realiza la fase de pruebas. Aquí, se verifica que el software funcione correctamente y que no tenga errores. Se realizan pruebas unitarias, pruebas de integración y pruebas de sistema para asegurar que todo funcione como se espera. Finalmente, el software se implementa y se distribuye a los usuarios. Este paso incluye la instalación del software en los dispositivos de los usuarios y la capacitación para su uso. Además, se proporciona soporte técnico para resolver cualquier problema que pueda surgir. En el presente ejemplo se observan claramente un conjunto de pasos, que vienen a ser proceso de desarrollo de software. Cada etapa es importante y contribuye

al resultado final. Si alguno de los pasos no se realiza correctamente, el producto final puede no ser tan bueno como se esperaba. Por ejemplo, si no se realizan pruebas adecuadas, el software puede tener errores que afecten su funcionamiento. Considerando esto, se puede aplicar a otros procesos, ajustándose según la situación específica. En efecto, ambos términos poseen características esenciales que deben ser consideradas. Por su parte, los productos poseen varias características distintivas que los hacen únicos y valiosos. Una importante es su capacidad para satisfacer necesidades y deseos de los consumidores. Pues, estos están diseñados y creados con el propósito de resolver problemas o mejorar la vida de las personas. Por ejemplo, un medicamento puede curar una enfermedad o un software puede facilitar tareas diarias. Además, los productos pueden ser personalizados para adaptarse a las preferencias individuales de los consumidores, lo que aumenta su valor percibido. Otra característica relevante de los productos es su ciclo de vida. Todos los productos pasan por diferentes etapas desde su creación hasta su obsolescencia. Estas etapas incluyen el desarrollo, la introducción al mercado, el crecimiento, la madurez y el declive. Comprender el ciclo de vida de un producto es crucial para las empresas, ya que les permite planificar estrategias de marketing y producción adecuadas en cada fase. En otro orden de ideas, los procesos tienen varias características clave que aseguran su efectividad y eficiencia. En primer lugar, son secuenciales y estructurados, lo que significa que siguen un orden específico de pasos para alcanzar el resultado deseado. Esta secuencia asegura que cada etapa se complete correctamente antes de pasar a la siguiente. Otra característica importante es la eficiencia. Los procesos deben utilizar los recursos disponibles de la manera más efectiva posible, minimizando el desperdicio y maximizando la productividad. Esto incluye el uso óptimo de tiempo, materiales y mano de obra. También, deben tener flexibilidad, ya que deben ser capaces de adaptarse a cambios en el entorno, como nuevas tecnologías, cambios en la demanda del mercado

incrementales, lo que facilita la adaptación a cambios en los requisitos durante el desarrollo del software. Es necesario resaltar que, la elección del modelo adecuado para un proyecto de software depende de varios factores, como el tamaño del equipo de desarrollo, la naturaleza del proyecto, la disponibilidad de recursos y el grado de flexibilidad requerido. Por ejemplo, en proyectos donde los requisitos pueden cambiar con frecuencia, un enfoque ágil puede ser más efectivo para incorporar estos cambios de manera fluida. En otros casos, como en proyectos donde los requisitos están bien definidos desde el principio y no se espera que cambien, un enfoque más estructurado como el modelo en cascada puede ser preferible para mantener un control estricto sobre el proceso de desarrollo. Por lo tanto, hay que tener en cuenta que, independientemente del modelo elegido, el objetivo principal es garantizar que el desarrollo de software se realice de manera eficiente y organizada. Por ello se pueden observar distinto modelos los cuales son: ● Modelo en Cascada: este es uno de los enfoques más tradicionales en el desarrollo de software. Este modelo sigue una secuencia lineal y estructurada, donde cada fase del desarrollo debe completarse antes de pasar a la siguiente. Las etapas típicas incluyen la recopilación de requisitos, el diseño, la implementación, las pruebas, la implementación y el mantenimiento. Este modelo es fácil de entender y gestionar, pero puede ser inflexible, ya que no permite volver a fases anteriores una vez que se ha avanzado. ● Modelo en Espiral: en este se combinan elementos del modelo en cascada con la iteración. Se centra en la evaluación y gestión de riesgos, y cada ciclo del espiral representa una fase del desarrollo del software. Este modelo es útil para proyectos grandes y complejos, ya que permite la incorporación de mejoras y cambios en cada iteración. Sin embargo, puede ser costoso y requiere una gestión de riesgos constante.

Modelo V: también conocido como modelo de verificación y validación, es una extensión del modelo en cascada. En este enfoque, cada fase de desarrollo tiene una fase de prueba correspondiente. Por ejemplo, el diseño de sistemas se verifica con pruebas de sistemas, y el diseño de componentes se valida con pruebas de componentes. Este modelo asegura una alta calidad del software, pero puede ser rígido y no adaptarse bien a cambios durante el desarrollo. ● Proceso Unificado Racional (RUP): es un marco de desarrollo de software que enfatiza la iteración y la arquitectura basada en componentes. RUP divide el desarrollo en cuatro fases: inicio, elaboración, construcción y transición. Cada fase incluye múltiples iteraciones, lo que permite ajustes continuos y mejoras. Este modelo es flexible y escalable, pero puede ser complejo de implementar y requiere una planificación cuidadosa. ● Modelo Incremental e Iterativo: este modelo se basa en desarrollar el software en pequeñas partes o incrementos. Cada incremento añade funcionalidad al sistema, y se realizan iteraciones para mejorar y refinar el software. Este enfoque permite una entrega temprana de partes funcionales del software, lo que puede ser útil para recibir retroalimentación temprana de los usuarios. Pese a ello, puede ser difícil gestionar la integración de todos los incrementos. ● Modelo de Prototipos: modelo centrado en la creación de prototipos del software para entender mejor los requisitos del usuario y refinar el diseño. Los prototipos son versiones preliminares del software que se desarrollan rápidamente y se presentan a los usuarios para obtener su retroalimentación. Este modelo es útil para proyectos donde los requisitos no están bien definidos desde el principio. No obstante, puede llevar a una mala gestión del tiempo si no se controla adecuadamente. ● Modelos Ágiles: Los modelos ágiles, como Scrum, Kanban y Programación Extrema (XP), se centran en la flexibilidad, la colaboración y la entrega continua de software funcional. Estos enfoques dividen el desarrollo en ciclos cortos llamados sprints, donde se desarrollan y entregan incrementos del software. Los modelos ágiles permiten adaptarse rápidamente a los cambios y mejorar

abordar problemas de manera anticipada. En consecuencia, la capacidad de anticipar y gestionar riesgos es esencial para el éxito de cualquier proyecto, ya que minimiza las sorpresas inesperadas y permite tomar decisiones informadas que protegen tanto el tiempo como los recursos. Al mismo tiempo, es importante destacar cómo los modelos de desarrollo del software influyen directamente en la calidad del producto final. Al seguir un proceso bien definido, los desarrolladores aseguran que cada componente del software se construya con rigor y se pruebe exhaustivamente para garantizar su funcionalidad. En particular, modelos como el desarrollo ágil, que priorizan la entrega continua y la retroalimentación constante, permiten ajustes iterativos que resultan en un producto más robusto y alineado con las necesidades del usuario. De este modo, el software se vuelve más adaptable, flexible y capaz de ajustarse a los cambios en los requisitos a lo largo del tiempo. Teniendo en cuenta lo anterior comentado, los modelos de desarrollo del software no sólo proporcionan la estructura necesaria para gestionar proyectos complejos, sino que también mejoran la colaboración, la gestión de riesgos y la calidad del producto final. Al adoptar un modelo adecuado a las necesidades del proyecto y del equipo, las organizaciones pueden maximizar la eficiencia, minimizar los riesgos y asegurar que los productos de software sean de alta calidad y cumplan con las expectativas de los clientes. EJEMPLOS DE MODELOS DE DESARROLLO DEL SOFTWARE Modelo en Cascada: una empresa de desarrollo de software está creando un sistema de gestión para una biblioteca. Utilizan el modelo en cascada, comenzando con la recopilación de requisitos detallados de los bibliotecarios y usuarios. Luego, pasan a la fase de diseño, donde crean diagramas y especificaciones del sistema. Después de eso, implementan el código, realizan pruebas exhaustivas y finalmente despliega el sistema en la biblioteca. Cada fase se completa antes de pasar a la siguiente, asegurando un proceso ordenado y estructurado.

Modelo en Espiral : una compañía de software está desarrollando una aplicación de banca en línea. Utilizan el modelo en espiral para gestionar los riesgos asociados con la seguridad y la privacidad de los datos. En cada iteración, realizan evaluaciones de riesgos y desarrollan prototipos que se prueban y mejoran continuamente. Esto les permite identificar y mitigar problemas de seguridad antes de que se conviertan en grandes inconvenientes. Modelo V: un equipo de desarrollo está trabajando en un sistema de control de tráfico aéreo. Utilizan el modelo V para asegurar que cada fase de desarrollo tenga una fase de prueba correspondiente. Por ejemplo, después de diseñar el sistema, realizan pruebas de diseño para verificar que cumple con los requisitos. Luego, durante la implementación, realizan pruebas de componentes y sistemas para validar que todo funcione correctamente. Este modelo garantiza una alta calidad y confiabilidad del software. Proceso Unificado Racional (RUP): una empresa de tecnología está desarrollando un sistema de comercio electrónico. Utilizan RUP, dividiendo el proyecto en cuatro fases: inicio, elaboración, construcción y transición. En cada fase, realizan múltiples iteraciones, ajustando y mejorando el sistema continuamente. Este enfoque les otorga la capacidad de adaptarse a los cambios en los requisitos del cliente y asegurar que el sistema sea robusto y escalable. Modelo Incremental e Iterativo: Un equipo de desarrollo está creando una aplicación móvil de redes sociales. Utilizan el modelo incremental e iterativo, desarrollando primero las funcionalidades básicas como el registro de usuarios y la creación de perfiles. En cada iteración, se añaden nuevas características como la mensajería instantánea y la compartición de fotos. Por ello pueden lanzar una versión funcional de la aplicación rápidamente y mejorarla con el tiempo basándose en la retroalimentación de los usuarios. Modelo de Prototipos: una startup está desarrollando una nueva herramienta de diseño gráfico. Utilizan el modelo de prototipos para crear versiones preliminares del software que se presentan a los diseñadores gráficos para obtener su