Está en la página 1de 9

UNIVERSIDAD POLITÉCNICA DE TULANCINGO

METODOLOGIAS DEL DESARROLLO DE SW


por

Alcibar Roldan Carlos Alberto

Ingeniería en Sistemas Computacionales

U Asignatura:

INGENIERIA DE SOFTWARE

P Nombre del Catedrático:

Mtro. Juan Martin Hernández Ramírez.

T
Cuarto Cuatrimestre

Tulancingo de Bravo, Hidalgo

ISC 42

Septiembre - Diciembre 2021.


LOS TIPOS Y CARACTERÍSTICAS DE METODOLOGÍAS
DEL DESARROLLO DE SOFTWARE

- Lineal:

Llamado algunas veces “ciclo de vida básico”, el modelo lineal secuencial sugiere un
enfoque sistemático, secuencial, para el desarrollo del software que comienza en un
nivel de sistemas y progresa con el análisis, diseño, codificación, pruebas y
mantenimiento. Es un ciclo de vida en sentido amplio, que incluye no sólo las etapas
de ingeniería sino toda la vida del producto: las pruebas, el uso (la vida útil del
software) y el mantenimiento.

Análisis de las características y el comportamiento del sistema del cual el software va


a formar parte.
Para un sistema nuevo: Se debe analizar cuáles son los requisitos funciones del
sistema, y luego asignar un subconjunto de estos requisitos y funciones al software.
Para un sistema ya existente: se debe analizar el funcionamiento de la organización
y sus operaciones y se asigna al software aquellas funciones que se van a
automatizar.
Está formado por diagramas y por descripciones en lenguaje natural.

Los requisitos, tanto del sistema como del software deben documentarse y revisarse
con el cliente. Como resultado de la fase de análisis, se obtiene la especificación de
requisitos del software.
También está formado por diagramas y descripciones en lenguaje natural.

El diseño es el proceso que traduce los requisitos en una representación del software
de forma que pueda conocerse la arquitectura, funcionalidad e incluso la calidad del
mismo antes de comenzar la codificación.
En el diseño, los requisitos del software se traducen a una serie de diagramas que
representan la estructura del sistema software, de sus datos, de sus programas y de
sus interfaces.
- Cascada:

El desarrollo en cascada (en inglés, waterfall model) es un procedimiento lineal que


se caracteriza por dividir los procesos de desarrollo en sucesivas fases de proyecto.
Al contrario que en los modelos iterativos, cada una de estas fases se ejecuta tan
solo una vez. Los resultados de cada una de las fases sirven como hipótesis de
partida para la siguiente. El waterfall model se utiliza, especialmente, en el desarrollo
de software.

¿Cómo funciona el modelo en cascada?

El desarrollo del modelo se atribuye al teórico de la informática Winston W. Royce.


Sin embargo, Royce no es el inventor de este modelo. Muy al contrario, en su ensayo
de 1970 titulado Managing the Development of Large Software Systems, el teórico
presenta una reflexión crítica acerca de los procedimientos lineales. A modo de
alternativa, Royce presenta un modelo iterativo incremental en el que cada una de
las fases se basa en la anterior y verifica los resultados de esta.

Royce propone un modelo compuesto por siete fases que se ha de ejecutar en


diversas vueltas (iteraciones):

• Requisitos de sistema
• Requisitos de software
• Análisis
• Diseño
• Implementación
• Prueba
• Servicio

El procedimiento popularmente conocido como waterfall model se basa en las fases


definidas por Royce, pero solo prevé una iteración.

En el ensayo publicado por Royce, el término no aparece en ningún momento.

El modelo en cascada se popularizó a través de la norma estadounidense DoD-STD-


2167. Esta norma se basa en una versión extremadamente simplificada del
procedimiento desarrollado por Royce, que no fue lo suficientemente analizado por
los autores. Tal y como reconoció con el paso del tiempo David Maibor, uno de sus
autores, el motivo fue la falta de compresión de los modelos iterativos incrementales.

En la práctica, se aplican diversas versiones del modelo. Los más habituales son los
modelos que dividen los procesos de desarrollo en cinco fases. En ocasiones, las
fases 1, 2 y 3 definidas por Royce se integran en una sola fase de proyecto a modo
de análisis de los requisitos.

• Análisis: planificación, análisis y especificación de los requisitos.


• Diseño: diseño y especificación del sistema.
• Implementación: programación y pruebas unitarias.
• Verificación: integración de sistemas, pruebas de sistema y de integración.
• Mantenimiento: entrega, mantenimiento y mejora.
- Prototipado:

El Modelo de prototipos, en Ingeniería de software, pertenece a los modelos de


desarrollo evolutivo. El prototipo debe ser construido en poco tiempo, usando los
programas adecuados y no se debe utilizar muchos recursos.

El diseño rápido se centra en una representación de aquellos aspectos del software


que serán visibles para el cliente o el usuario final. Este diseño conduce a la
construcción de un prototipo, el cual es evaluado por el cliente para una
retroalimentación; gracias a esta se refinan los requisitos del software que se
desarrollará. La interacción ocurre cuando el prototipo se ajusta para satisfacer las
necesidades del cliente. Esto permite que al mismo tiempo el desarrollador entienda
mejor lo que se debe hacer y el cliente vea resultados a corto plazo.

Ventajas

Este modelo es útil cuando el cliente conoce los objetivos generales para el software,
pero no identifica los requisitos detallados de entrada, procesamiento o salida.

También ofrece un mejor enfoque cuando el responsable del desarrollo del software
está inseguro de la eficacia de un algoritmo, de la adaptabilidad de un sistema
operativo o de la forma que debería tomar la interacción humano-máquina

Se puede reutilizar el código.

La construcción de prototipos se puede utilizar como un modelo del proceso


independiente, se emplea más comúnmente como una técnica susceptible de
implementarse dentro del contexto de cualquiera de los modelos del proceso
expuestos. Sin importar la forma en que este se aplique, el paradigma de
construcción de prototipos ayuda al desarrollado de software y al cliente a entender
de mejor manera cuál será el resultado de la construcción cuando los requisitos
estén satisfechos. De esta manera, este ciclo de vida en particular, involucra al
cliente más profundamente para adquirir el producto.

Inconvenientes

El usuario tiende a crearse unas expectativas cuando ve el prototipo de cara al


sistema final. A causa de la intención de crear un prototipo de forma rápida, se
suelen desatender aspectos importantes, tales como la calidad y el mantenimiento a
largo plazo, lo que obliga en la mayor parte de los casos a reconstruirlo una vez que
el prototipo ha cumplido su función. Es frecuente que el usuario se muestre reacio a
ello y pida que sobre ese prototipo se construya el sistema final, lo que lo convertiría
en un prototipo evolutivo, pero partiendo de un estado poco recomendado.

En aras de desarrollar rápidamente el prototipo, el desarrollador suele tomar algunas


decisiones de implementación poco convenientes (por ejemplo, elegir un lenguaje de
programación incorrecto porque proporcione un desarrollo más rápido). Con el paso
del tiempo, el desarrollador puede olvidarse de la razón que le llevó a tomar tales
decisiones, con lo que se corre el riesgo de que dichas elecciones pasen a formar
parte del sistema final.

- Espiral:

El modelo en espiral es una combinación entre el modelo lineal o de cascada y


el modelo iterativo o basado en prototipos que habíamos mencionado anteriormente.
Se utiliza con éxito en proyectos donde el coste de un fallo es un gran riesgo, de ahí
que su principal aportación sea considerar la gestión de esos riesgos, algo que en los
modelos anteriores ni siquiera se menciona.

En concreto, los proyectos ejecutados con el modelo en espiral empiezan siendo


pequeños, investigando los mayores riesgos que se pueden tolerar, para pasar a
agrandarse poco a poco, en base a elementos clave sobre los que se construyen las
siguientes fases de la espiral. Habitualmente tiene sentido aplicar este método en
proyectos grandes, largos, caros y complejos.

En cuanto a su ejecución, el modelo en espiral consiste en seguir ciclos crecientes


de cuatro fases cada uno, que se van realizando siguiendo una forma de espiral. En
cada ciclo se pasa por dichas fases bien definidas, como en el modelo de cascada,
pero con capacidad de evolucionar su complejidad con cada ciclo. Por tanto, se trata
de un modelo evolutivo que, conforme avancen los ciclos, aumentará el tiempo de
ejecución, así como el volumen de código fuente desarrollado y la complejidad de la
gestión de riesgos y de la planificación.

Las fases por las que pasa cada ciclo de la espiral

Planificación. Se determinan los objetivos y el alcance del ciclo que comienza, tras
un necesario ejercicio de investigación. Con cada iteración, se irá incrementando el
tamaño de software entregado y la funcionalidad cubierta.

Análisis de Riesgo. Se evalúa todo aquello que pueda afectar al proyecto según el
estado en que se encuentre y su grado de avance. Para ello, se diseñarán los
prototipos que deberán ser validados en el ciclo.

Implementación. Se desarrolla y valida el software según el alcance acordado, el cual


está íntimamente relacionado y condicionado con el análisis de riesgos anterior.

Evaluación. Antes de proceder a realizar otra vuelta en la espiral, se debe prestar


atención a lo que sucedió en la vuelta anterior. Se debe analizar en detalle si los
riesgos detectados anteriormente ya tuvieron solución. Básicamente, esta fase
servirá para determinar el avance del proyecto y dar pistas de hacia dónde debe
enfocarse la próxima iteración.
- Incremental:

El modelo incremental combina elementos del modelo en cascada con la filosofía


interactiva de construcción de prototipos. Se basa en la filosofía de construir
incrementando las funcionalidades del programa. Este modelo aplica secuencias
lineales de forma escalonada mientras progresa el tiempo en el calendario. Cada
secuencia lineal produce un incremento del software.

Cuando se utiliza un modelo incremental, el primer incremento es a menudo un


producto esencial, sólo con los requisitos básicos. 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.

Ventajas:

Entre las ventajas que puede proporcionar un modelo de este tipo encontramos las
siguientes:

Mediante este modelo se genera software operativo de forma rápida y en etapas


tempranas del ciclo de vida del software.
Es un modelo más flexible, por lo que se reduce el coste en el cambio de alcance y
requisitos.
Es más fácil probar y depurar en una iteración más pequeña.
Es más fácil gestionar riesgos.
Cada iteración es un hito gestionado fácilmente

Inconvenientes:

Para el uso de este modelo se requiere una experiencia importante para definir los
incrementos y distribuir en ellos las tareas de forma proporcionada. Entre los
inconvenientes que aparecen en el uso de este modelo podemos destacar los
siguientes:

Cada fase de una iteración es rígida y no se superponen con otras.


Pueden surgir problemas referidos a la arquitectura del sistema porque no todos los
requisitos se han reunido, ya que se supone que todos ellos se han definido al inicio
http://www.utpuebla.edu.mx/divisiones/tic/TIC/2_materias/2/image/2do_sist/Introducci
o%CC%81n%20al%20ana%CC%81lisis%20y%20disen%CC%83o%20de%20sistem
as/Portafolio%20de%20evidencias/Producto%204.pdf

https://www.ionos.mx/digitalguide/paginas-web/desarrollo-web/el-modelo-en-
cascada/

https://ivan395.github.io/Web/modelos.html

https://aspgems.com/metodologia-de-desarrollo-de-software-iii-modelo-en-espiral/

http://isw-udistrital.blogspot.com/2012/09/ingenieria-de-software-i.html

También podría gustarte