Upload
alejandro-camacho
View
54
Download
0
Embed Size (px)
Citation preview
Cuadro comparativo de las metodologías Equipo No. 10• Hernández Galindo Edgar Andrés• Pulido García Brenda Amalia• Moreno Arellano Luis Adrian• Sosa Duran Pedro
Instituto Politécnico NacionalUPIICSA
Metodología Descripción Tipo de Proyecto
Etapas Características
Cascada Es el modelo para el desarrollo de SW que sigue una secuencia lógica y cada etapa es directamente dependiente de la etapa anterior
• Proyecto de reingeniería
• Proyecto compuestos de requerimientos claros
• Análisis de requerimientos
• Diseño• Implementació
n• Pruebas• Mantenimiento
• Se puede volver a una etapa atrás
• Sus requerimientos son específicos
Espiral Es un modelo de procesos evolutivo el cual se desarrolla en versiones incrementales
Web y App • Planificación• Análisis de
riesgo• Ingeniería• Evaluación por
el cliente
Básicamente consiste en una serie de ciclos que se repiten de forma de espiral, comenzando desde el centro.
Metodología
Descripción Tipo de Proyecto
Etapas Características
XP Basada en los métodos ágiles, que evidencia principios tales como el desarrollo incremental, la participación activa del cliente, el interés en las personas .
• Proyecto de reingeniería
• Proyecto compuestos de requerimientos claros
• Fase de planeación
• Fase de diseño• Fase de
codificación• Fase de
pruebas
• Planificación incremental
• Entregas pequeñas• Diseño sencillo• Desarrollo
previamente aprobado
• Limpieza del código o refactorización
• Programación en parejas
• Propiedad colectiva• Integración continua
SCRUM Es un marco de trabajo basado en los métodos ágiles, que tiene como objetivo el control continuo sobre el estado actual del software
• Proyecto de reingeniería
• Proyecto compuestos de requerimientos claros
Equipos de trabajo:• Propietario del
producto• SCRUM
Manager: Equipo SCRUM
• Interesados• Usuarios
• Prioridad los individuos y las interacciones sobre los procesos
• Propone el software funcional
• Se presenta soluciones operables y no solo reportes progresos
Metodología Descripción Tipo de Proyecto
Etapas Características
RAD Comprende el desarrollo interactivo, la construcción de prototipos y el uso de utilidades CASE.
• Desarrollo rápido de interfaces gráficas
• Desarrollos integrados completos
• Fase de planificación de requerimientos
• Fase de diseño• Fase de
construcción• Fase corte y
cambio
• Equipos híbridos• Herramientas
especializadas• "Timeboxing"• Prototipos
Iterativos y Evolucionarios.
OOD Planificación de un sistema de objetos que interactúan con el propósito de resolver un problema de software.
• Proyectos de ingeniería
• Planificación• Análisis de
riesgo• Ingeniería• Evaluación por
el cliente
• se crea un conjunto en notación acordada
• modelado de objetos para analizar los requerimientos
Metodología Descripción Tipo de Proyecto
Etapas Características
Incremental Es el modelo desarrollo como una forma de reducir la repetición del trabajo en el proceso de desarrollo y dar oportunidad de retrasar la toma de decisiones en los requisitos hasta adquirir experiencia con el sistema.
• Proyecto de reingeniería
• Proyecto compuestos de requerimientos claros
• Análisis• Diseño• Código• Prueba
• Se evitan proyectos largos
• El usuario se involucra mas.
• Dificil de evaluar costo.
• Requiere gestores experimentados.
• Los errores en los requisitos se detectan tarde.
Prototipado Es un modelo que se basa en los prototipos. El prototipo debe ser construido en poco tiempo, usando los programas adecuados y no se debe utilizar muchos recursos.
• Proyecto de reingeniería
• Proyecto compuestos de requerimientos claros
• Plan rápido.• Modelado, diseño
rápido• Construcción del
Prototipo• Desarrollo,
entrega y retroalimentación
• Comunicación• Entrega del
desarrollo final
• Diseño rápido • El diseño
conduce a la construcción de un prototipo,
• Evaluación constante del cliente
• Retroalimentación constante
Ventajas y desventajas
Cascada
Ventajas Es un modelo lineal y es mas simple al
implementarlo. La cantidad de recursos necesarios para
implementar este modelo es mínimo. La documentación se produce en cada
etapa del desarrollo esto hace que la comprensión del producto diseñar procedimiento más sencillo.
Después de cada etapa importante de la codificación de software, las pruebas se realizan para comprobar el correcto funcionamiento del código.
Desventajas No se puede volver atrás, si la fase de diseño ha
ido mal, las cosas pueden ser muy complicado en la fase de ejecución.
Sucede que el cliente no es muy claro de lo que exactamente quiere de el software. Cualquier cambio que se menciona en el medio puede causar mucha confusión.
Los pequeños cambios o errores que surgen en el software completo puede causar mucho problema.
Es difícil en condiciones de mencionar si lo que se ha diseñado es exactamente lo que había pedido
Espiral
Ventajas El desarrollo repetida o continua ayuda
en la gestión de riesgos. Este enfoque continuo y constante
minimiza los riesgos o fallos asociados con el cambio en el sistema.
La adaptabilidad en el diseño a cualquier número de cambios, que pueden ocurrir durante cualquier fase del proyecto.
Estimación de costos es mas fácil La experiencia del cliente en el nuevo
sistema crece.
Desventajas funciona mejor para los grandes proyectos
solamente, las necesidades de cualificación en la
evaluación de una amplia incertidumbres o riesgos asociados con el proyecto y su reducción.
Trabajar en un protocolo, que debe ser seguido estrictamente para su buen funcionamiento lo cual es difícil.
La evaluación de los riesgos involucrados en el proyecto pueden disparar el costo.
XP
Ventajas Hace bastante énfasis en la gestión del
recurso humano. Se adapta al desarrollo de sistemas
pequeños y grandes Optimiza el tiempo de desarrollo Permite realizar el desarrollo del sistema
en parejas para complementar los conocimientos
El código es sencillo y entendible, además de la poca documentación a elaborar para el desarrollo del sistema.
Desventajas No se tiene la definición del costo y el tiempo de
desarrollo El sistema va creciendo después de cada
entrega al cliente y nadie puede decir que el cliente no querrá una función más
Se necesita de la presencia constante del usuario, lo cual en la realidad es muy difícil de lograr.
SCRUM
Ventajas El cliente puede comenzar a utilizar el
producto rápidamente. El cliente puede decidir los nuevos
objetivos a realizar. Se agila el proceso, porque se divide el
problema en pequeñas tareas. Menos probabilidad de que se den
sorpresas o desarrollos inesperados porque el cliente va viendo poco a poco lo que se está desarrollando.
Desventajas Alto nivel de stress de los miembros del equipo,
el desgaste puede ser excesivo y estresante lo que puede disminuir el rendimiento.
La necesidad de contar con equipos multidisciplinarios puede ser un problema, porque cada integrante del equipo debe estar en capacidad de resolver cualquier tarea y no siempre se cuenta con este perfil en la empresa.
El equipo puede estar tentado de tomar el camino más corto para cumplir con un sprint, que no necesariamente puede ser el de mejor calidad en el desarrollo del producto.
RAD
Ventajas Los requerimientos cambiantes pueden ser
acomodados. El progreso puede ser medido. El tiempo de iteración puede ser corto con el
uso de las herramientas RAD. La productividad se logra con un menor número
de personas en corto tiempo. Se reduce el Tiempo de desarrollo. Aumenta la probabilidad de reutilización de los
componentes. Se producen rápidos exámenes iniciales. Alienta comentarios de los clientes. Integración desde el principio resuelve muchos
de los problemas de integración.
Desventajas La dependencia de los miembros del equipo técnico para la
identificación de los requerimientos del negocio. Requiere de desarrolladores / diseñadores altamente
cualificados Alta dependencia de las habilidades de modelado. No aplicable a los proyectos más económicos cuando el
coste modelado y generación de código automático es muy alta..
Es más la complejidad de la gestión Adecuado para sistemas que son componentes basadas y
escalables. Requiere la participación del usuario a lo largo del ciclo de
vida. Adecuado para proyecto que requiere tiempos de desarrollo
más cortos.
Incremental
Ventajas Se evitan proyectos largos y se entrega
"algo de valor" a los usuarios con cierta frecuencia.
El usuario se involucra mas. Difícil de evaluar el costo total. Difícil de aplicar a los sistemas
transaccionales que tienden a ser integrados y a operar como un todo.
Requiere gestores experimentados. Los errores en los requisitos se detectan
tarde. El resultado puede ser positivo.
Desventajas Con un paradigma incremental se reduce el
tiempo de desarrollo inicial, ya que se implementa la funcionalidad parcial.
También provee un impacto ventajoso frente al cliente, que es la entrega temprana de partes operativas del software.
El modelo proporciona todas las ventajas del modelo en Cascada realimentado, reduciendo sus desventajas sólo al ámbito de cada incremento.
Resulta más sencillo acomodar cambios al acotar el tamaño de los incrementos.
Prototipado
Ventajas No modifica el flujo del ciclo de vida Reduce el riesgo de construir productos
que no satisfagan las necesidades de los usuarios
Reduce costo y aumenta la probabilidad de éxito
Exige disponer de las herramientas adecuadas
Este modelo es útil cuando el cliente conoce los objetivos generales para el software
Desventajas Debe ser un sistema con el que se pueda
experimentar Debe ser comparativamente barato(menor que
el 10%) Debe desarrollarse rápidamente Énfasis en la interfaz de usuario Equipo de desarrollo reducido Herramientas y lenguajes adecuadas Difícil adaptación al sistema final