Cuadro comparativo de los modelos y metodologías de desarrollo de software
Métodos y metodologías en el desarrollo
de software.
|
||||
Nombre.
|
Cascada
|
Espiral
|
Extreme Programming
|
Metodologías Ágiles
|
Descripción.
|
Básicamente, el estilo del modelo en cascada, es que no podrás
avanzar a la siguiente fase, si la
anterior no se encuentra totalmente terminada, pues no tiene porque haber
vuelta atrás.
|
Encontramos por fuera cuatro fases bien organizadas, las cuáles siempre
deben llevar ese orden que se estipula desde el principio. Una determinación
de objetivos, un análisis de riesgos, el desarrollo y las pruebas, junto con
la planificación, la cual dependerá de los resultados de la iteración para
saber como se actuará en la siguiente vuelta al espiral.
|
Esta metodología es posiblemente
la más destacada de las metodologías ágiles y esto se debe a su gran capacidad
de adaptación ante cualquier tipo de imprevisto que surja. Pues la idea no es mantener ciertos requisitos desde
que se está elaborando el proyecto, sino que durante el proceso, estos vayan
cambiando o vayan evolucionando gradualmente sin complicaciones. Básicamente
los creadores de esta metodología XP, consideran que es mejor adaptarte en el
proceso a los requisitos que vayan apareciendo, que iniciar con requisitos y
desarrollar un proyecto en base a eso.
|
Las metodologías ágiles como su nombre lo indica es que pretenden
reducir y optimizar el tiempo empleado en el desarrollo del sistema.
Algunos ejemplos de estas metodologías son: Scrum, Kamban,XP.
|
Etapas.
|
1.
Análisis de requisitos.
2.
Diseño del sistema.
3.
Diseño del programa.
4.
Codificación.
5.
Ejecución de pruebas.
6.
Verificación.
7.
Mantenimiento.
|
1.
Determinar objetivo.
2.
Análisis de riesgo.
3.
Desarrollar, validar y probar.
4.
Planificación.
|
1.
Tipo de desarrollo iterativo e incremental.
2.
Pruebas unitarias.
3.
Trabajo
en equipo.
4.
Alguien del equipo deberá trabajar como
cliente.
5.
Corrección de errores.
6.
Reestructuración del código.
7.
El código es de todos.
8.
Código simple es la clave.
|
Al ser un conjunto de metodologías es primordial identificar que metodología
emplear para así poder desglosar
|
Roles.
|
Especificación, desarrollo, validación y evolución. En todo ello interviene el analista,
diseñador y el jefe del proyecto así como también el grupo de
desarrolladores.
|
toda la atención está enfocada hacia el análisis de riesgos, pues el
objetivo primario será reducir los riesgos.
Los roles principales recaen en el analista, desarrolladores, el
diseñador y el jefe del proyecto.
|
·
Programador.
·
Tester.
·
Tracker.
·
Entrenador.
·
Consultor.
·
Gestor.
|
·
Programador.
·
Tester.
·
Tracker.
·
Entrenador.
·
Consultor.
·
Gestor.
|
Ventajas.
|
·
Permite llevar una documentación detallada a
cada paso que se realiza desde el análisis y definición de los requerimientos
hasta el buen funcionamiento y mantenimiento del programa desarrollado.
·
Permite identificar elementos abstractos que
son fundamentales para el software y sus relaciones.
|
·
Permite desarrollar una correcta implementación
inicial la cual puede irse refinando hasta obtener un sistema adecuado.
·
Reduce riesgos en el proyecto.
·
Incorpora modelos de calidad.
|
·
Da lugar a una programación sumamente
organizada.
·
Ocasiona eficiencias en el proceso de
planificación y pruebas.
·
Cuenta
con una tasa de errores muy pequeña.
·
Propicia la satisfacción del programador.
·
Permite ahorrar mucho tiempo y dinero.
·
Facilita los cambios.
·
Fomenta la comunicación entre los clientes y
los desarrolladores.
|
·
Los modelos de desarrollo suelen ser muy
flexibles.
·
El proyecto se divide en pequeñas tareas
desarrolladas por grupos independientes que trabajan simultáneamente e
interaccionan entre ellos.
·
Es especialmente útil cuando el objetivo del
proyecto no está claramente definido
|
Desventajas.
|
·
Al ser una metodología antigua consta de mucha
documentación y esto hace que resulte tediosa.
·
Requiere de frecuentes pruebas y reuniones lo
cual implica tiempo extra y que muchas veces hace que el proyecto se detenga
en ciertos momentos.
|
·
Este modelo resulta muy costoso.
·
Genera mucho tiempo en el desarrollo del
sistema.
·
Requiere alta experiencia en cuando a la identificación
de riesgos en el sistema.
|
·
Es recomendable emplearla solo en proyectos a
corto plazo.
·
En caso de fallar, las comisiones son muy
altas.
·
Requiere de un rígido ajuste a los
principios de XP.
·
Puede no siempre ser más fácil que el
desarrollo tradicional.
|
·
Muestra una estructura muy débil.
·
la comunicación, la implicación personal y la
colaboración se necesitan para garantizar el éxito del proyecto.
·
Son mucho más dependientes de la presencia de
las mismas personas desde el principio hasta el final del proyecto.
|
Número de integrantes de los
equipos.
|
No tiene límite pero se recomienda utilizarse solo en proyectos
pequeños ya que resulta más ágil en ello.
|
No tiene límite pero el equipo debe contar con experiencia que
permita reducir los riesgos del sistema.
|
Los necesarios de acuerdo a los roles y necesidades del proyecto.
|
Los necesarios de acuerdo a los roles y necesidades del proyecto.
|
¿En la construcción de qué
tipo de aplicaciones se usa?
|
Aplicaciones de ámbito académico así como también en la industria de software.
|
Muy apto en el diseño de Sistemas operativos, Navegadores y
controladores aeronáuticos.
|
Industria financiera. El desarrollo rápido de software lo
suficientemente flexible como para adaptarse a los continuos cambios de la
industria sería vital.
|
De todo tipo ya que estas son flexibles y se adaptan más a las necesidades
actuales.
|
Nombre de la empresa que la emplea.
|
En conjunto muchas empresas utilizan esta metodología por lo cual es difícil
identificar una en concreto.
|
Google
|
BBVA
|
Toyota
|
País que emplea dicha
metodología.
|
EUA, Alemania, México, etc.
|
EUA, Alemania, México, etc
|
EUA, Alemania, México, etc
|
La mayoría de países con un elevado conocimiento en sistemas es decir
un correcto desarrollo tecnologico.
|
Referencias:
S.A.(S.F.), Metodologías del Desarrollo de Software. Recuperado
el: 06/03/18 de https://okhosting.com/blog/metodologias-del-desarrollo-de-software/#Cuales_son_modelos_del_Ciclo_de_vida_del_Software_tradicionales
J.C. Cendejas. (S.F.). Modelos y metodologías para el desarrollo de software. Recuperado
el: 06/03/18
de http://www.eumed.net/tesis-doctorales/2014/jlcv/software.htm
ITM.( Jun 27, 2016). Ventajas
e inconvenientes de metodologías Ágil y Predictiva. Recuperado el: 06/03/18 de http://www.itmplatform.com/es/blog/ventajas-e-inconvenientes-de-metodologias-agil-y-predictiva/
J. Encarnacion. (sábado,
16 de junio de 2012). Ejemplos de Modelos de Desarrollo del Software.
Recuperado el 06/03/18 de http://jhondavid1992.blogspot.mx/2012/06/ejemplos-de-modelos-de-desarrollo-del.html
Comentarios
Publicar un comentario