El documento describe diferentes modelos de procesos de desarrollo de software, incluyendo modelos secuenciales, evolutivos, ágiles y el modelo RUP. Explica las características y ventajas de cada modelo, como la iteratividad del modelo ASD y la colaboración con el cliente en los modelos ágiles.
1. MODELOS DE PROCESO DE
DESARROLLO DE SOFTWARE
ALBERTH MICHAEL APAZA
APAZA
CARLA SILVIA GARRIDO
BLANCO
2. DEFINICION
El método ágil ASD Desarrollo
Adaptable de Software es un
modelo de implementación
para desarrollo de software. Al
igual que otras metodologías
ágiles, su funcionamiento es
cíclico y reconoce que en cada
iteración se producirán
cambios e incluso errores.
3. CARACTERISTICAS
Sus principales
características del ASD son:
Iterativo.
Orientado a los
componentes de software
Tolerante a los cambios.
Guiado por los riesgos
La revisión de los
componentes sirve para
aprender de los errores y
volver a iniciar el ciclo de
desarrollo
5. Modelos de desarrollo de
software
•Un modelo de proceso de software es una
representación abstracta de un proceso de
software
6. MODELOS SECUENCIALES
Son los primeros en aparecer junto a la
programación estructurada.
Hoy en día siguen siendo muy usados
7. MODELOS SECUENCIALES
CODIFICAR Y FIJAR
TRADUCIR LOS
ALGORITMOS
DISEÑADOS O
MENTALIZADOS
PARA SOLUCIONAR
UN PROBLEMA A UN
LENGUAJE DE
PROGRAMACIÓN
ESPECÍFICO
CORREGIR
ERRORES, AGREGAR
FUNCIONALIDAD O
NUEVOS ELEMENTOS
A LAS
INSTRUCCIONES YA
CODIFICADAS HASTA
QUE CUMPLA LAS
EXPECTATIVAS
AL FIJAR ES
NECESARIO
REGRESAR AL PASO
ANTERIOR POR LO
QUE SE CONVIERTE
EN UN PROCESO
CÍCLICO-RECURSIVO
8. MODELOS SECUENCIALES
MODELO CASCADA
Plantea un
enfoque
sistemático,
secuencial
para el
desarrollo de
software, que
comienza en
un nivel de
sistemas y
continúa con el
análisis,
diseño,
codificación,
pruebas y
mantenimiento.
El horario se
establece con
los plazos
normalmente
adecuados
para cada
etapa de
desarrollo.
•Poco tiempo
para corregir
fallas.
Fue propuesta
por Winston W.
Royce en 1970
9. MODELOS EVOLUTIVOS
La idea de estos modelos consiste en
presentar una implementación inicial del
software y presentarla al usuario para
recibir críticas y opiniones, y refinarla en N
versiones hasta que se llegue al producto
deseado, el sistema adecuado.
10. MODELOS EVOLUTIVOS
MODELO CONCURRENTE
EL MODELADO CONCURRENTE DEFINE UNA
SERIE DE EVENTOS QUE DESENCADENAN
TRANSICIONES DE UN ESTADO A OTRO PARA
CADA UNA DE LAS ACTIVIDADES, ACCIONES O
TAREAS DE CUALQUIER MODELO DE
PROCESO DE DESARROLLO DE SOFTWARE
ETAPA DE MODELADO DEL “MODELO
ESPIRAL” BAJO EL “MODELO CONCURRENTE”
11. MODELOS EVOLUTIVOS
MODELO ESPIRAL WIN & WIN
Desarrollado por Boehm (1988) el modelo espiral
•Introduce tres hitos
en el proceso,
llamados puntos de
fijación.
•Proporcionan hitos
de decisión antes de
continuar el proyecto
de software.
•Las mejores
negociaciones se
esfuerzan en obtener
(victoria-victoria).
12. MODELOS ÁGILES
Se basa en 4 principios:
Los individuos y su interacción, por
encima de los procesos y las
herramientas.
El software que funciona frente a la
documentación exhaustiva.
La colaboración con el cliente, por encima
de la negociación de contrato.
La respuesta al cambio por encima del
seguimiento al plan.
13. MODELOS ÁGILES
CRYSTAL
LAS METODOLOGÍAS CRYSTAL FUERON CREADAS POR ALISTAIR COCKBURN
CONSIDERAN DOS DIMENSIONES: TAMAÑO DEL EQUIPO DE TRABAJO Y
CRITICIDAD, DE ACUERDO A LAS CUALES SE ELIGE EL COLOR.
CRYSTAL CLEAR
DISEÑADO PARA
PROYECTOS
PEQUEÑOS
POSEE LA
PROPIEDAD DE
COMUNICACIÓN
CERCANA.
REQUIERE
MÚLTIPLES
ENTREGAS POR
PROYECTO
CRYSTAL ORANGE
DISEÑADO PARA
PROYECTOS
MEDIANOS
DIVIDE AL
PROYECTO EN
EQUIPOS
MULTIFUNCIO-
NALES
EQUILIBRA LAS
ENTREGAS
AMPLIAS Y EL
CAMBIO RÁPIDO
DE REQUERI-
MIENTOS Y
DISEÑO
14. MODELOS ÁGILES
MODELO
• En 1995, Ken Schwaber presentó “Scrum Development Process” en OOPSLA 95
(Object-Oriented Programming Systems & Applications conference).
15. MODELO DRA
El desarrollo rápido de aplicaciones o RAD (Rapid
Application Development) es un proceso de desarrollo de
software, desarrollado inicialmente por James Martin
en1980.
VENTAJAS:
Los entregables pueden ser fácilmente trasladados a otra
plataforma.
Visibilidad temprana.
Menor codificación manual.
Mayor involucramiento de los usuarios.
Ciclos de desarrollo más pequeños.
Interfaz gráfica estándar.
DESVENTAJAS:
El DRA se basa en componentes cuando se trata de un proyecto
grande puede ser imposible mantener una gran cantidad de equipos
funcionando al mismo tiempo.
Se requiere que todos los implicados en el desarrollo estén
comprometidos con la rapidez (DRA) si faltara el compromiso de alguna
parte el desarrollo acelerado perdería su esencia
Además es importante aclarar que no todos los proyectos se
pueden modularizar y entonces no se pueden distribuir entre
equipos de trabajo.
16. MODELOITERATIVOINCREMENTAL
El desarrollo evolutivo
incremental permite la entrega de
versiones parciales a medida que
se va construyendo el producto
final.
VENTAJAS:
• Resolución de problemas de alto riesgo en tiempos tempranos del proyecto.
• Menor tasa de fallo del proyecto, mejor productividad del equipo, y menor
cantidad de defectos.
• Permite manejar la complejidad del proyecto.
• El aprendizaje y experiencia del equipo iteración tras iteración, mejora
exponencialmente el trabajo, aumenta la productividad y permite optimizar
el proceso en el corto plazo.
• El trabajo iterativo deja una experiencia en el equipo que permite ir
ajustando y mejorando las planificaciones.
• Su adopción, con ciertos recaudos, no presenta grandes inversiones.
DESVENTAJAS:
• El uso de un desarrollo iterativo e incremental no garantiza por sí solo el
éxito de su uso.
• Hay costos ocultos en su implementación, ya que se incorporan varias
actividades a realizar por el equipo, y hay que saber medir ese impacto
para no fracasar en el intento.
17. MODELO RUP
El Proceso Unificado Racional, Rational Unified Process en inglés,
y sus siglas RUP, es un proceso de desarrollo de software y junto
con el Lenguaje Unificado de Modelado UML, constituye la
metodología estándar más utilizada para el análisis,
implementación y documentación de sistemas orientados a
objetos.
Interacciones entre las etapas de RUP.
VENTAJAS:
• Reutilización
• El diseñador piensa en términos del comportamiento de
objetos y no en detalles de bajo nivel
• Confiabilidad, Integridad y Estabilidad.
• Mantenimiento más sencillo. Modificaciones locales.
• Modelado más realista.
• Modelos empresariales inteligentes.
• Independencia del diseño.
• Mejores herramientas CASE.
• Bibliotecas de clases para las empresas.
• Se construyen clases cada vez más complejas.
• Nuevos mercados para el software.