Sei sulla pagina 1di 5

Wagner Jair Dvila Chinchilla

2011-14736
Software Quality Management
Aux. Julio Gonzalez Rios
15 de Diciembre del 2014
MODELOS DE DESARROLLO DE SOFTWARE
Descripcin:

Es

el

enfoque

metodolgico

que

ordena

rigurosamente las etapas del proceso para el desarrollo de


software, de tal forma que el inicio de cada etapa debe esperar a
la finalizacin de la etapa anterior.
Ventajas:

Es un modelo lineal, por lo que es ms fcil implementarlo.

La cantidad de recursos para la implementacin es mnimo.

La documentacin se produce en cada etapa del desarrollo,


esto hace que la comprensin del producto se ms sencillo.

Desventajas:

Waterfall

Se puede implementar incorrectamente, ya que un proyecto


rara vez es lineal, por lo que puede conllevar a un fracaso.

El proceso puede tardar mucho, ya que una etapa no puede


iniciar antes de que termine la anterior.

El tiempo de entrega es tardado, ya que el cliente puede


observar el proyecto hasta el final.

Es complicado incluir cambios dentro del proyecto, ya que


esto significa regresar etapas aumentado el costo de
desarrollo.

Ejemplo: El modelo de cascada es ampliamente utilizado por


ejemplo de desarrollo de software grandes casas como los
empleados por el Departamento de Defensa de EE.UU. y la NASA ,
y para muchos proyectos gubernamentales de gran tamao.

V model

Descripcin: es una variacin del modelo en cascada que muestra


cmo se relacionan las actividades de prueba con el anlisis y el
diseo. Por lo tanto el modelo en V hace ms explcita parte de las

iteraciones y repeticiones de trabajo que estn ocultas en el


modelo en cascada.
Ventajas:

La relacin entre las etapas de desarrollo y los distintos tipos


de pruebas facilitan la localizacin de fallos.

Es un modelo sencillo y de fcil aprendizaje

Hace explcito parte de la iteracin y trabajo que hay que


revisar

Especifica bien los roles de los distintos tipos de pruebas a


realizar

Involucra al usuario en las pruebas

Desventajas:

Es difcil que el cliente exponga explcitamente todos los


requisitos

El cliente debe tener paciencia pues obtendr el producto al


final del ciclo de vida

Las

pruebas

pueden

ser

caras

y,

veces,

no

lo

suficientemente efectivas

El producto final obtenido puede que no refleje todos los


requisitos del usuario

Ejemplo: este modelo se puede utilizar en la mayora de casos en


la que se utiliza el modelo cascada, pero con la diferencia en la
que se quiere asegurar la calidad aunque el tiempo sea mayor.

Prototyping

Descripcin: Es un modelo evolutivo en la cual se desarrollan


prototipos del software, y tras evaluaciones del cliente se le
agregar caractersticas y/o se corrigen errores, hasta que los
requerimientos del cliente sean satisfechos, asegurando una mejor
calidad.
Ventajas:

Reduce el riesgo de construir productos que no satisfagan


las necesidades de los usuarios.

Reduce costo y aumenta la probabilidad de xito

Ofrece un mejor enfoque cuando el responsable del


desarrollo del software est inseguro de la eficacia de un

algoritmo, de la adaptabilidad del sistemas, o de la forma en


que se debera de tomar la interaccin de los componentes.
Desventajas:

Debido a que el usuario ve que el prototipo funciona piensa


que ese es el producto terminado y no entiende que faltan
ms iteraciones.

El desarrollador puede caer en la tentacin de amplicar el


prototipo para construir el sistema final sin tener en cuenta
los compromisos de calidad y mantenimiento con el cliente.

Requiere participacin activa del usuario, al menos para


evaluar el prototio.

Ejemplo: Un diseo de base de datos puede ser manejado con un


modelo prototipado, ya que las consultas realizadas deben ser
probados para que sean los resultados correctos y lo ms
eficientemente posible.

Incremental

Descripcin: Modelo Incremental es de naturaleza interactiva pero


se diferencia de aquellos en que al final de cada incremento se
entrega un producto completamente operacional.
Ventajas:

Se reduce el tiempo de desarrollo inicial, ya que se


implementa la funcionalidad parcial.

Entrega temprana de partes operativas del Software.

Permite entregar al cliente un producto ms rpido en


comparacin del modelo de cascada.

Resulta ms sencillo acomodar cambios al acotar el tamao


de los incrementos.

Desventajas:

El modelo Incremental no es recomendable para casos de


sistemas de tiempo real, de alto nivel de seguridad, de
procesamiento distribuido, y/o de alto ndice de riesgos.

Requiere de mucha planeacin, tanto administrativa como


tcnica.

Ejemplo:
Un procesador de texto que sea desarrollado bajo el paradigma

Incremental podra aportar, en principio, funciones bsicas de


edicin de archivos y produccin de documentos (algo como un
editor simple). En un segundo incremento se le podra agregar
edicin ms sofisticada, y de generacin y mezcla de documentos.
En un tercer incremento podra considerarse el agregado de
funciones de correccin ortogrfica, esquemas de paginado y
plantillas; en un cuarto capacidades de dibujo propias y ecuaciones
matemticas. As sucesivamente hasta llegar al procesador final
requerido.

Espiral

Descripcin: Es un modelo de proceso de software evolutivo que


conjuga la naturaleza iterativa de construccin de prototipos con los
aspectos controlados y sistemticos del modelo lineal secuencial.
Proporciona el potencial para el desarrollo rpido de versiones
incrementales del software.
Ventajas:

Puede adaptarse y aplicarse a lo largo de la vida del


software de computadora.

Es un enfoque realista del desarrollo de sistemas y de


software a gran escala.

Como el software evoluciona, a medida que progresa el


proceso

el

desarrollador

el

cliente

comprenden

reaccionan mejor ante riesgos en cada uno de los niveles


evolutivos.

Mantiene el enfoque sistemtico de los pasos sugeridos por


el ciclo de vida clsico, pero lo incorpora al marco de
trabajo iterativo que refleja de forma ms realista el mundo
real.

Desventajas:

Puede

resultar

difcil

convencer

grandes

clientes

(particularmente en situaciones bajo contrato) de que el


enfoque evolutivo es controlable.

Requiere una considerable habilidad para la evaluacin del


riesgo.

Es bastante complicado de realizar y su complejidad puede


incrementarse hasta hacerlo impracticable

Supone una carga de trabajo adicional, no presente en otros


ciclos de vida

Ejemplo:
El Modelo Espiral es particularmente apto para el desarrollo de
Sistemas Operativos (complejos); tambin en sistemas de altos
riesgos o crticos (Ej. navegadores y controladores aeronuticos) y
en todos aquellos en que sea necesaria una fuerte gestin del
proyecto y sus riesgos, tcnicos o de gestin.

Conclusin:
Como ingenieros de software es importane conocer los diferentes metodologas para el
desarrollo de software, as como sus beneficios, inconvenientes y las situaciones en las
cuales se deben de utilizar. Luego de investigar todos estos aspectos en diferentes
metodologas, se observa que en la mayora de proyectos se utiliza el modelo de casacada
para desarrollar, an as esta posee diferentes inconveniente que nos dificultan muchas
partes del desarrollo, la ms importante es que sigue una forma lineal, algo que dificilmente
ocurre cuando elaboramos un proyecto de software. Por lo que la metolodoga que mejor
se adapata a la mayora de casos es la incremental, ya que esta nos permite realizar
entregas tempranas reduciendo el riesgo y asegurandonos que se mantiene la calidad del
software.
An as hay que tener en consideracin que la implementacin del modelo requiere una
planeacin elaborada tanto administrativa cmo tcnica que nos asegura el xito de cada
uno de las iteraciones a realizar, de igual forma considerar que en sistemas altamente
riegosos o elaborados la complejidad puede llegar a aumentar drticamente, por lo que es
posible llegar a pensar en utilizar una metodologa distinta.

Potrebbero piacerti anche