Está en la página 1de 8

Universidad Tecnológica de Cancún

Nahun Issac Pech Garcia

SM21
Metodologías de Desarrollo Tradicionales

Metodologías y Modelado de
Desarrollo Software
1. Metodología de Desarrollo Tradicional (Espiral)

Originalmente, fue una propuesta por Barry W. Boehm en uno de sus ensayos
en 1986. El modelo en un principio pretendía limitar los inconvenientes que
surgían de la aplicación del modelo en cascada. Barry se basó en el modelo
de la detección y resolución de riesgos, buscando controlar todos los
factores que puedan comprometer la integridad y el funcionamiento del
proyecto, exponiendo que si podemos controlar los riesgos no habría ningún
motivo que impida el éxito del mismo. Entonces este es un método de
desarrollo de software que combina el modelo waterfall y el modelo por
iteraciones, pero a diferencia del modelo en cascada, en el modelo en
espiral no se parte de la base de que las tareas del desarrollo del software
se organizan de forma lineal, sino que se entienden como tareas iterativas.

Las fases no se realizan de forma


única (como el modelo waterfall
que es paso a paso), sino varias
veces en forma de espiral. El
proyecto se va acercando al
objetivo de forma relativamente
lenta, pero se minimiza de forma
eficaz el riesgo de fracaso del
proceso de desarrollo, este
método también se caracteriza
por requerir de actualizaciones
constantes en pasos pequeños,
lo que implica mayor lentitud e
inversión a la hora de implantarlo.

El proceso pasa por distintas etapas, desde la de conceptualización,


siguiendo el desarrollo, luego una fase de mejoras, para finalizar con el
mantenimiento. Dentro de cada etapa, tendremos una serie de fases las
cuales son:

 Planificación: En el primer momento, debemos encargarnos de determinar


los objetivos principales a conseguir, discutir sobre las condiciones del
proyecto y buscar las distintas alternativas que se pueden llegar a utilizar
para llegar a cumplir esos objetivos.
Se debe realizar un calendario y un cronograma, determinar los recursos
disponibles y estimar los costes, además de seleccionar las vías de
comunicación entre desarrollador y cliente durante el proceso.

 Análisis de riesgo: Tras lo anterior, es el momento de identificar todos los


riesgos posibles para que el plan se ponga en marcha con las condiciones
óptimas. Estos riesgos se deben registrar, evaluar y analizar, para
posteriormente realizar simulaciones y utilizar prototipos que nos permitan
estudiar su impacto y visibilizar las maneras de acabar con ellos.

 Desarrollo: Es el momento de empezar a trabajar con las funcionalidades


del software, ampliando el prototipo y llevando a cabo las acciones
necesarias para llegar a los objetivos. En este proceso, es necesario hacer
pruebas continuas para acreditar el funcionamiento deseado del
programa, hasta que tengamos la seguridad de que puede ser utilizado en
un entorno empresarial.

 Evaluación: Una vez desarrollado, es momento para que el cliente evalúe


si los objetivos propuestos anteriormente se han cumplido, y se analice si se
están mitigando los riesgos identificados, realizando un seguimiento de los
mismos.

1.1 Ventajas y desventajas del modelo de espiral

Ventajas:
 La funcionalidad adicional o los cambios se pueden hacer en una
etapa posterior.
 La estimación del coste se hace fácil, ya que la construcción del
prototipo se hace en pequeños fragmentos.
 El desarrollo continuo o repetido ayuda en la gestión de riesgos.
 El desarrollo es rápido y las características se añaden de forma
sistemática.
 Siempre hay espacio para atender los comentarios de los clientes.

Desventajas:
 Riesgo de no cumplir con la planificación o el presupuesto.
 Funciona mejor para proyectos grandes, aunque en estos también
requiera de una estricta evaluación de riesgos.
 Para su buen funcionamiento, el protocolo del modelo en espiral
debe ser seguido estrictamente.
 Se genera más documentación al tener fases intermedias.
 No es aconsejable para proyectos pequeños, la ratio coste
beneficio no es rentable.
2. Metodología de Desarrollo Tradicional (incremental)

El modelo incremental fue


propuesto por Harlan Mills en el
año 1980. Este modelo consiste
en un desarrollo inicial de la
arquitectura completa del
sistema, seguido de sucesivos
incrementos funcionales. Cada
incremento tiene su propio
ciclo de vida y se basa en el
anterior, sin cambiar su
funcionalidad ni sus interfaces.
Una vez entregado un
incremento, no se realizan
cambios sobre el mismo, sino
únicamente corrección de errores. Dado que la arquitectura completa se
desarrolla en la etapa inicial, es necesario conocer los requerimientos
completos al comienzo del desarrollo. El modelo incremental combina
elementos del modelo lineal secuencial (aplicados repetidamente) con la
filosofía interactiva de construcción de prototipos. Aparte aplica secuencias
lineales de forma escalonada mientras progresa el tiempo en el calendario.
Es decir, bajo este modelo se entrega software “por partes funcionales más
pequeños”, pero reutilizables, llamadas incrementos. En general cada
incremento se construye sobre aquel que ya fue entregado. Cuando se
utiliza un modelo incremental, es frecuente que el primer incremento sea el
producto esencial.

Este modelo se centra en la entrega de un producto operativo con cada


incremento. Los primeros incrementos son versiones incompletas del
producto final, pero proporcionan al usuario la funcionalidad que precisa y
también una plataforma para la evaluación. El Modelo Incremental es de
naturaleza interactiva brindando al final de cada incremento la entrega de
un producto completamente operacional.

Fases del modelo 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.
 Requerimientos: Esta fase se refiere a todos los objetivos del proyecto,
tanto el general o central como los específicos.
 Se precisan las tareas e iteraciones: Ya teniendo claros los objetivos
que el proyecto nos ayudará a alcanzar, la siguiente fase es definir las
tareas y las iteraciones con que las que los concretaremos. Si
observamos, esta fase incrementa el alcance del objetivo central en
comparación con la anterior.
 Diseño de los incrementos: Se define cuál será la evolución del
proyecto en las iteraciones. Cada una de ellas debe superar a la que
le precede para que se pueda dar el incremento.
 Desarrollo del incremento: Las tareas definidas son llevadas a cabo y
así los incrementos previstos son desarrollados.
 Validación de los incrementos: Los responsables de la gestión de
proyecto han de verificar que cada iteración culminada de los
resultados esperados. Si no es así, hay que hacer una revisión de las
tareas y buscar las causas de los errores.
 Integración de los incrementos: Como lo indica el nombre de esta
fase, se trata de integrar todos los incrementos aprobados o validados
por la gestión de proyectos. Así se da la evolución global del proyecto,
lo que también se conoce como línea incremental.
 Entrega del producto: Una vez hecha la integración y se constante
que el producto cumple con los objetivos planteados, se realiza la
entrega. Este es el último paso del modelo incremental fases.

2.1 Ventajas y desventajas del modelo incremental

Desventajas:
 Pueden surgir problemas de que no todos los requisitos hayan sido
establecidos.
 Se requiere experiencia para definir los incrementos.
 Cada iteración es rígida y no se cruza con alguna otra.
 Todos los problemas a futuro tienen que ser previamente definidos.
 En la vida real, un proyecto rara vez sigue una secuencia lineal, esto crea
una mala implementación del modelo, lo cual hace que lo lleve al
fracaso. El proceso de creación del software tarda mucho tiempo ya que
se debe de pasar por el proceso de prueba y hasta que el software no
esté completo no se opera. Esto es la base para que funcione bien.

Ventajas:
 Se generan software operativo de manera rápida.
 Es un modelo flexible.
 Reduce costos en el cambio y alcance de requisitos.
 Es fácil de probar por sus iteraciones pequeñas.
 Es fácil de administrar los riesgos.
 Cada iteración es significativa para el resultado final y es fácil de
administrar.
 Cualquier error de diseño detectado en la etapa de prueba conduce
necesariamente al rediseño y nueva programación del código
afectado, aumentando los costos del desarrollo.

3. Metodología de Desarrollo Tradicional (prototipo)

El modelo de prototipos se centra en un diseño rápido que representa las


características principales del programa que el usuario podrá ver o utilizar.
De esta manera pueden probarlo y dar su opinión sobre distintos aspectos
como la usabilidad, la utilidad o el rendimiento, entre otras.

El prototipo se puede modificar cuando sea necesario y todos los resultados


obtenidos de las presentaciones y pruebas se deben anotar para utilizar
posteriormente como ayuda en el desarrollo del producto final. Un modelo
prototipo o modelo de desarrollo evolutivo es utilizado principalmente en el
desarrollo de software para ofrecer al usuario una visión previa de cómo
será el programa o sistema. Se le dice de desarrollo evolutivo al modelo de
prototipo porque evoluciona hasta convertirse en el producto final.

En un modelo de prototipos las características fundamentales son:

1. Tiempo: El prototipo se desarrolla en menos tiempo para poder ser probado


o testeado.
2. Coste: La inversión en un modelo de prototipo es ajustada, lo que requiere
un uso óptimo de los recursos.
3. Conciso: El prototipo debe incluir los requisitos y características básicas de
la aplicación para poder evaluar su funcionamiento y utilidad.
4. Evolutivo: El prototipo evoluciona gracias a la interacción con los usuarios.
5. Funcional: El prototipo es una aplicación que funciona.

Se realiza un análisis para poder establecer cuáles son los requisitos del
programa. Se trata de un diseño básico del prototipo donde se traza de
forma inicial los requisitos necesarios para su desarrollo.
 Requisitos de desarrollo: Se realiza un análisis para poder establecer cuáles
son los requisitos del programa. Se trata de un diseño básico del prototipo
donde se traza de forma inicial los requisitos necesarios para su desarrollo.
 Modelaje y desarrollo del código: En esta fase se construye el prototipo
inicial según los requisitos establecidos. En esta fase de diseño y construcción
se debe priorizar el tiempo de desarrollo y hacer un uso óptimo de los
recursos para reducir su coste.
 Evaluación: Una vez desarrollado el prototipo es necesario comprobar su
funcionamiento, evaluando su funcionalidad y verificando que cumple
realmente con los requisitos iniciales.
 Modificación: Tras evaluar el prototipo se deben corregir los errores
encontrados y aplicar las mejoras necesarias para que esté listo para ser
probado por los usuarios.
 Documentación: Todo el diseño y desarrollo debe ser documentado para
disponer de información precisa y clara del proceso. Es muy importante el
registro de cada paso o acción del desarrollo del prototipo pues es una guía
útil a la hora de afrontar el diseño del producto final.
 Pruebas: Finalmente, el prototipo debe ser probado por los usuarios para
poder recibir el feedback necesario y así evaluar su utilidad y rendimiento.
Gracias a esta retroalimentación ofrecida por el prototipo se podrá
desarrollar un software de mayor calidad que resuelva los problemas de los
usuarios.

2.1 Ventajas y desventajas del modelo de prototipo

Desventajas:
 El usuario quiere empezar a trabajar desde el primer momento con
el prototipo para solucionar su problema particular, cuando el
prototipo es solo un modelo de lo que será el producto.
 Los prototipos generan o pueden generar otro tipo de problemas
si su presentación y discusión con los usuarios no es controlada:
puesto que son modelos inconclusos, los usuarios suelen enfocarse
en aspectos “superficiales” del prototipo que los pueden dejar
inconformes luego de verlos por primera vez.
 Requiere participación activa del usuario, al menos, para evaluar
el prototipo. Y mucho más involucramiento si queremos que
participe en su creación.
 Una desventaja importante a tener en cuenta es la falta de
experiencia que tienen muchos Analistas Funcionales en
programación y en actividades de diseño de interfaces de usuario.

Ventajas:
 Permiten el desarrollo de un sistema a partir de requisitos poco
claros o cambiantes. Esto ocurre con cierta frecuencia en muchos
proyectos de software.
 Como información complementaria a los requisitos constituyen un
gran apoyo a las estimaciones de esfuerzo de todas las áreas,
incluyendo proveedores.
 Son más fáciles de abordar con los usuarios finales.
 El usuario participa más activamente en la construcción del
producto de software (La Solución), ya que “lo puede ver” y,
dependiendo del tipo de prototipo, “utilizar” desde el primer
momento.

También podría gustarte