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
El modelo en cascada es un proceso de desarrollo secuencial, en el que el desarrollo de software se concibe como  un conjunto de etapas que  se ejecutan una tras otra. Se le denomina así por las posiciones que ocupan las diferentes fases que componen el proyecto, colocadas una encima de otra, y siguiendo un flujo de ejecución de arriba hacia abajo, como una cascada.
Este enfoque entrelaza las actividades especificación, desarrollo y validación. Es decir surge de un sistema inicial que se desarrolla rápidamente a partir de especificaciones abstractas.
La programación extrema es una metodología de desarrollo ágil que tiene como principal objetivo aumentar la productividad a la hora de desarrollar un proyecto software.
Las metodologías ágiles son las que pretenden reducir y optimizar el tiempo empleado en el desarrollo del sistema.
Actualmente los negocios operan en un entorno global que cambia rápidamente.
Etapas
Requisitos del software

Diseño

Implementación

Verificación

Instalación y mantenimiento 

1.       Determinar objetivo.
2.       Análisis de riesgo.
3.       Desarrollar, validar y probar.
4.      Planificación.
1.     Desarrollo iterativo e incremental principalmente.
2.       Pruebas unitarias.
3.        Trabajo en equipo.
4.       Uno del equipo debe tomar el rol 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.
Existen diversas etapas esta va de la mano con la metodología que se desee emplear; cada una de las metodologías ágiles tiene una diversa etapa para desarrollar.
Roles
Interviene el analista.
Diseñador.
Administrador de proyecto así como también el grupo de desarrolladores.
Los roles más importantes son:  el analista.
desarrolladores,
el diseñador
 el administrador de proyecto.
·         Programador.
·         Tester.
·         Tracker.
·         Entrenador.
·         Consultor.
·         Gestor.
Programador.
·         Tester.
·         Tracker.
·         Entrenador.
·         Consultor.
·         Gestor.
Ventajas
·         El tiempo que se pasa en diseñar el producto en las primeras fases del proceso puede evitar problemas que serían más costosos cuando el proyecto ya estuviese en fase de desarrollo.
·         La documentación es muy exhaustiva y si se une al equipo un nuevo desarrollador, podrá comprender el proyecto leyendo la documentación.
·         Al ser un proyecto muy estructurado, con fases bien definidas, es fácil entender el proyecto.
·         Ideal para proyectos estables, donde los requisitos son claros y no van a cambiar a lo largo del proceso de desarrollo.
El modelo en espiral puede adaptarse y aplicarse a lo largo de la vida del software de computadora.
Como el software evoluciona a medida que progresa el proceso, el desarrollador y el cliente comprenden y reaccionan mejor ante riesgos en cada uno de los nivele evolutivos.
El modelo en espiral permite a quien lo desarrolla aplicar el enfoque de construcción de prototipos en cualquier etapa de evolución del producto.
El modelo en espiral demanda una consideración directa de los riesgos técnicos en todas las etapas del proyecto y si se aplica adecuadamente debe reducir los riesgos antes de que se conviertan en problemas.
En la utilización de grandes sistemas a doblado la productividad.
Programación organizada. 
Menor taza de errores. 
Satisfacción del programador. 
Solución de errores de programas
Su aproximación es “disciplinada”: Basada en una definición exhaustiva del trabajo, una revisión sistemática en hitos y énfasis en el control y la documentación del proyecto.
Desventajas
Se tiene todo bien organizado y no se mezclan las fases.
Resulta difícil convencer a grandes clientes de que el enfoque evolutivo es controlable.
Debido a su elevada complejidad no se aconseja utilizarlo en pequeños sistemas.
Genera mucho tiempo en el desarrollo del sistema
Modelo costoso
Requiere experiencia en la identificación de riesgos
Es recomendable emplearlo solo en proyectos a corto plazo
Altas comisiones en caso de fallar
Imposible prever todo antes de programar
Cuanto más tarde se descubren este tipo de faltas de alineamiento entre necesidades y soluciones aportadas, más complejo es reconducirlas y más tiempo se tarda en hacerlo.
Número de integrantes de los equipos
               
No cuenta con limite pero muchos expertos recomiendan que en proyectos de bajo nivel
El equipo es considerado de 5 a9 personas.
No cuenta con un  límite
mínimo de 8 personas
¿En la construcción de qué tipo de aplicaciones se usa ?
Usualmente son aplicaciones de tipo académico, así como también en la industria de software.
En la industria financiera, Con el desarrollo rápido de software lo suficientemente flexible como para adaptarse a los continuos cambios de la industria sería vital.
El desarrollo rápido de software lo suficientemente flexible como para adaptarse a los continuos cambios de la industria sería vital.
Esta metodología nos permite realizar aplicaciones de todo tipo pues ya que cuenta con flexibilidad  y se adaptan más a las necesidades actuales a las que se desee resolver.
Nombre de una empresa que la emplea
BBC, BellSouth, British Telecom
Amazon, Google, mySpace, Yahoo
BBVA
APPLE
FACEBOOK
PAYPAL
país que emplea dicha metodología
México
USA
Alemania
México
México
USA
Rusia, China

No hay comentarios:

Publicar un comentario