MODELOS DE PROCESO DE
DESARROLLO DE SOFTWARE
ALBERTH MICHAEL APAZA
APAZA
CARLA SILVIA GARRIDO
BLANCO
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.
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
FLUJO DEL ASD
Modelos de desarrollo de
software
•Un modelo de proceso de software es una
representación abstracta de un proceso de
software
MODELOS SECUENCIALES
 Son los primeros en aparecer junto a la
programación estructurada.
 Hoy en día siguen siendo muy usados
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
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
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.
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”
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).
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.
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
MODELOS ÁGILES
MODELO
• En 1995, Ken Schwaber presentó “Scrum Development Process” en OOPSLA 95
(Object-Oriented Programming Systems & Applications conference).
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.
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.
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.

Ing 162-show.fin

  • 1.
    MODELOS DE PROCESODE DESARROLLO DE SOFTWARE ALBERTH MICHAEL APAZA APAZA CARLA SILVIA GARRIDO BLANCO
  • 2.
    DEFINICION El método ágilASD 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 delASD 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
  • 4.
  • 5.
    Modelos de desarrollode software •Un modelo de proceso de software es una representación abstracta de un proceso de software
  • 6.
    MODELOS SECUENCIALES  Sonlos primeros en aparecer junto a la programación estructurada.  Hoy en día siguen siendo muy usados
  • 7.
    MODELOS SECUENCIALES CODIFICAR YFIJAR 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 ideade 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 ELMODELADO 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 ESPIRALWIN & 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 basaen 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  LASMETODOLOGÍ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 • En1995, Ken Schwaber presentó “Scrum Development Process” en OOPSLA 95 (Object-Oriented Programming Systems & Applications conference).
  • 15.
    MODELO DRA El desarrollorá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 incrementalpermite 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 ProcesoUnificado 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.