Integrantes:
Chura Beltrán Mauricio Javier
Losantos Ramos Adolfo Alberto
Machicado Guachacalla Diego Geraldo
Montalban Choque Gladys Raquel
Muñoz Mendoza Arnaldo
Ortiz Ramirez Brandon Claudio
Rivera Lima Jose Alfonso
Teran Funez Richard
GRUPO 7
INTRODUCCIÓN
Según Pressman (2010) un modelo de procesos del software
es una descripción simplificada de un proceso del software
que presenta una visión de ese proceso. Estos modelos
pueden incluir actividades que son parte de los procesos y
productos de software y el papel de las personas involucradas
en la ingeniería del software. A partir de la anterior
definición podemos reconocer tres tipos de modelos
 Modelos Secuenciales(Lineal, por etapas, DRA)
 Modelos Evolutivos(Incremental, Concurrente, Espiral)
 Modelos Agiles(XP, Scrum, Crystal)
MODELO SECUENCIAL LINEAL
El modelo secuencial, también
llamado "Ciclo de vida básico" o
"Modelo de cascada" tiene su origen
en el "Modelo de cascada" ingeniado
por Winston Royce, aunque omite los
muchos bucles de este último. El
Modelo Lineal Secuencial sugiere un
enfoque sistemático o más bien
secuencial del desarrollo de software
que comienza en un nivel de sistemas
y progresa con el análisis, diseño,
codificación, pruebas y
mantenimiento.
MODELO DE DESARROLLO POR ETAPAS
El modelo de desarrollo de software por etapas es similar al Modelo de
Prototipos ya que se muestra al cliente el software en diferentes estados
sucesivos de desarrollo, se diferencia en que las especificaciones no son
conocidas en detalle al inicio del proyecto y por tanto se van desarrollando
simultáneamente con las diferentes versiones del código.
Pueden distinguirse las siguientes fases:
 Definición de problemas
 Análisis de requerimiento
 Diseño global
 diseño detallada, codificación, depuración, prueba y entrega.
MODELO DRA
CARACTERISTICAS
- Es una adaptación a
alta velocidad del
modelo lineal
secuencial.
- El proceso DRA
permite al equipo de
desarrollo crear un
sistema completamente
funcional dentro de
periodos muy cortos de
tiempo.
- Los desarrolladores de
RAD deben ser
analistas, diseñadores y
programadores en uno.
DESVENTAJAS
- Progreso más difícil
de medir.
- Menos eficiente.
- Menor precisión
científica.
- Riesgo de revertirse
a las prácticas sin
control de antaño.
- Más fallas (por
síndrome de
"codificar a lo
bestia").
- Prototipos pueden
no escalar, un
problema
mayúsculo.
- Funciones
reducidas (por
"timeboxing").
- Dependencia en
componentes de
terceros
ESQUEMA DEL MODELO
Es un modelo de
proceso de desarrollo
de software lineal
secuencial
VENTAJAS
- Comprar puede ahorrar
dinero en comparación con
construir.
- Los entregables pueden ser
fácilmente trasladados a
otra plataforma.
- El desarrollo se realiza a un
nivel de abstracción
mayor. Visibilidad
temprana.
- Mayor flexibilidad.
- Menor codificación manual.
- Mayor involucramiento de
los usuarios.
- Posiblemente menos fallas.
- Posiblemente menor costo.
- Ciclos de desarrollo más
pequeños.
- Interfaz gráfica estándar.
MODELO INCREMENTAL
Modelo incremental
pretende dar pautas en la
creación del software
mediante incrementos
pequeños, permitiendo su
fácil administración, así
como su sencilla
comprensión y sus
correspondientes pruebas,
esto implica que el
desarrollo inicial se logra
más temprano obteniendo
resultados de inversión en
poco tiempo.
Modelo Evolutivo
Concurrente
 El modelo de desarrollo concurrente, en
ocasiones llamado ingeniería concurrente,
permite que un equipo de software represente
elementos iterativos y concurrentes de
cualquiera de los modelos de proceso.
 Con frecuencia, el modelo concurrente es
más apropiado para proyectos de ingeniería
de productos en los que se involucran varios
equipos de trabajo.
Características:
• se puede expresar de manera esquematizada
• las actividades llevan procesos concurrentes
• es aplicable a todo tipo de desarrollo de
software
• es un módulo aplicable para cliente soñador
• está dirigido por las necesidades del usuario
• es aplicable al cliente servidor
Ventajas
• Excelente para proyectos en los que se
conforman grupos de trabajo
independientes.
• Proporciona una imagen exacta del
estado actual de un proyecto
Desventajas
• Si no se dan las condiciones
señaladas no es aplicable.
• Si no existen grupos de trabajo no se
puede trabajar en este método
MODELO ESPIRAL
CARACTERIST
ICAS
• En cada giro se construye
un nuevo modelo del
sistema completo.
• Este modelo puede
combinarse con otros
modelos de proceso de
desarrollo (cascada,
evolutivo)
• Mejor modelo para el
desarrollo de grandes
sistemas.
• El análisis de riesgo requiere
la participación de personal
con alta cualificación.
VENTAJAS
• Resulta difícil
convencer a grandes
clientes de que el
enfoque evolutivo es
controlable.
• Es nuevo (1988) y no
se ha utilizado tanto
como otros modelos
de ciclo de vida.
• Debido a su elevada
complejidad no se
aconseja utilizarlo en
pequeños sistemas.
DESVENTAJAS
• 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, propuesto originalmente por
BOEHM en 1976 , es un modelo de proceso de software
evolutivo donde se conjuga la naturaleza de
construcción de prototipos con los aspectos controlados
y sistemáticos del MODELO LINEAL y SECUENCIAL.
METODOLOGÍA XP
 El Extreme Programming es el as bajo la manga de las
metodologías ágiles. Apareció como una prueba, positiva,
logrando prácticas que ayuden en la ejecución de proyectos.
Actividades que se realizan
 El juego de la planificación.
 Historias de usuario.
 Cortas y pequeñas iteraciones.
 Metáforas.
 Diseño simple.
 Pruebas.
 Refactorizar.
 Programación por pares.
 Propiedad colectiva.
 Integración continúa.
 40 horas a la semana.
 Disponibilidad del cliente.
 Estándares de codificación.
Scrum
Scrum es un proceso en el que se aplican de manera regular
un conjunto de buenas prácticas para trabajar
colaborativamente (en equipo), y obtener el mejor resultado
posible de un proyecto. Estas prácticas se apoyan unas a otras
y su selección tiene origen en un estudio de la manera de
trabajar de equipos altamente productivos.
MODELOS AGILES
Crystal

Modelos de desarrollo de software

  • 1.
    Integrantes: Chura Beltrán MauricioJavier Losantos Ramos Adolfo Alberto Machicado Guachacalla Diego Geraldo Montalban Choque Gladys Raquel Muñoz Mendoza Arnaldo Ortiz Ramirez Brandon Claudio Rivera Lima Jose Alfonso Teran Funez Richard GRUPO 7
  • 2.
    INTRODUCCIÓN Según Pressman (2010)un modelo de procesos del software es una descripción simplificada de un proceso del software que presenta una visión de ese proceso. Estos modelos pueden incluir actividades que son parte de los procesos y productos de software y el papel de las personas involucradas en la ingeniería del software. A partir de la anterior definición podemos reconocer tres tipos de modelos  Modelos Secuenciales(Lineal, por etapas, DRA)  Modelos Evolutivos(Incremental, Concurrente, Espiral)  Modelos Agiles(XP, Scrum, Crystal)
  • 3.
    MODELO SECUENCIAL LINEAL Elmodelo secuencial, también llamado "Ciclo de vida básico" o "Modelo de cascada" tiene su origen en el "Modelo de cascada" ingeniado por Winston Royce, aunque omite los muchos bucles de este último. El Modelo Lineal Secuencial sugiere un enfoque sistemático o más bien secuencial del desarrollo de software que comienza en un nivel de sistemas y progresa con el análisis, diseño, codificación, pruebas y mantenimiento.
  • 4.
    MODELO DE DESARROLLOPOR ETAPAS El modelo de desarrollo de software por etapas es similar al Modelo de Prototipos ya que se muestra al cliente el software en diferentes estados sucesivos de desarrollo, se diferencia en que las especificaciones no son conocidas en detalle al inicio del proyecto y por tanto se van desarrollando simultáneamente con las diferentes versiones del código. Pueden distinguirse las siguientes fases:  Definición de problemas  Análisis de requerimiento  Diseño global  diseño detallada, codificación, depuración, prueba y entrega.
  • 5.
    MODELO DRA CARACTERISTICAS - Esuna adaptación a alta velocidad del modelo lineal secuencial. - El proceso DRA permite al equipo de desarrollo crear un sistema completamente funcional dentro de periodos muy cortos de tiempo. - Los desarrolladores de RAD deben ser analistas, diseñadores y programadores en uno. DESVENTAJAS - Progreso más difícil de medir. - Menos eficiente. - Menor precisión científica. - Riesgo de revertirse a las prácticas sin control de antaño. - Más fallas (por síndrome de "codificar a lo bestia"). - Prototipos pueden no escalar, un problema mayúsculo. - Funciones reducidas (por "timeboxing"). - Dependencia en componentes de terceros ESQUEMA DEL MODELO Es un modelo de proceso de desarrollo de software lineal secuencial VENTAJAS - Comprar puede ahorrar dinero en comparación con construir. - Los entregables pueden ser fácilmente trasladados a otra plataforma. - El desarrollo se realiza a un nivel de abstracción mayor. Visibilidad temprana. - Mayor flexibilidad. - Menor codificación manual. - Mayor involucramiento de los usuarios. - Posiblemente menos fallas. - Posiblemente menor costo. - Ciclos de desarrollo más pequeños. - Interfaz gráfica estándar.
  • 6.
    MODELO INCREMENTAL Modelo incremental pretendedar pautas en la creación del software mediante incrementos pequeños, permitiendo su fácil administración, así como su sencilla comprensión y sus correspondientes pruebas, esto implica que el desarrollo inicial se logra más temprano obteniendo resultados de inversión en poco tiempo.
  • 7.
    Modelo Evolutivo Concurrente  Elmodelo de desarrollo concurrente, en ocasiones llamado ingeniería concurrente, permite que un equipo de software represente elementos iterativos y concurrentes de cualquiera de los modelos de proceso.  Con frecuencia, el modelo concurrente es más apropiado para proyectos de ingeniería de productos en los que se involucran varios equipos de trabajo. Características: • se puede expresar de manera esquematizada • las actividades llevan procesos concurrentes • es aplicable a todo tipo de desarrollo de software • es un módulo aplicable para cliente soñador • está dirigido por las necesidades del usuario • es aplicable al cliente servidor Ventajas • Excelente para proyectos en los que se conforman grupos de trabajo independientes. • Proporciona una imagen exacta del estado actual de un proyecto Desventajas • Si no se dan las condiciones señaladas no es aplicable. • Si no existen grupos de trabajo no se puede trabajar en este método
  • 8.
    MODELO ESPIRAL CARACTERIST ICAS • Encada giro se construye un nuevo modelo del sistema completo. • Este modelo puede combinarse con otros modelos de proceso de desarrollo (cascada, evolutivo) • Mejor modelo para el desarrollo de grandes sistemas. • El análisis de riesgo requiere la participación de personal con alta cualificación. VENTAJAS • Resulta difícil convencer a grandes clientes de que el enfoque evolutivo es controlable. • Es nuevo (1988) y no se ha utilizado tanto como otros modelos de ciclo de vida. • Debido a su elevada complejidad no se aconseja utilizarlo en pequeños sistemas. DESVENTAJAS • 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, propuesto originalmente por BOEHM en 1976 , es un modelo de proceso de software evolutivo donde se conjuga la naturaleza de construcción de prototipos con los aspectos controlados y sistemáticos del MODELO LINEAL y SECUENCIAL.
  • 9.
    METODOLOGÍA XP  ElExtreme Programming es el as bajo la manga de las metodologías ágiles. Apareció como una prueba, positiva, logrando prácticas que ayuden en la ejecución de proyectos. Actividades que se realizan  El juego de la planificación.  Historias de usuario.  Cortas y pequeñas iteraciones.  Metáforas.  Diseño simple.  Pruebas.  Refactorizar.  Programación por pares.  Propiedad colectiva.  Integración continúa.  40 horas a la semana.  Disponibilidad del cliente.  Estándares de codificación.
  • 10.
    Scrum Scrum es unproceso en el que se aplican de manera regular un conjunto de buenas prácticas para trabajar colaborativamente (en equipo), y obtener el mejor resultado posible de un proyecto. Estas prácticas se apoyan unas a otras y su selección tiene origen en un estudio de la manera de trabajar de equipos altamente productivos.
  • 11.