Modelos de Procesos del Software
Integrantes:
Daniel Castillo Quispe
Marco Vladimir Ordoñez Marca
Voyheska Rocio Oliver Ferrufino
Diego Elvim Aliaga Candia
William Fernando Blanco Thompson
Alain Marcelo Torrez Marín-Callau
Edgar Escobar Mamani
Un proceso de software detallado y completo suele denominarse "Metodología".
Las metodologías se basan en una combinación de los modelos de proceso
genéricos (cascada, evolutivo, incremental, etc.).
Según Sommerville (2005) un Modelo de Proceso de Software es una descripción
simplificada de un proceso de software
Algunos ejemplos de estos tipos de modelos:
● Un modelo de flujo de trabajo. Muestra la secuencia de actividades en el
proceso junto con sus entradas, salidas y dependencias.
● Un modelo de flujo de datos o de actividad. Representa el proceso como un
conjunto de actividades, cada una de las cuales realiza alguna transformación
en los datos.
● Un modelo de rol/acción. Representa los roles de las personas involucrada en el
proceso del software y las actividades de las que son responsables.
Modelo Clásico o Cascada
● Presentada por Royce en 1970
● Enfoque metodológico que ordena rigurosamente las etapas del proceso para el
desarrollo de software, de tal forma que el inicio de cada etapa debe esperar a la
finalización de la etapa anterior
● Al final de cada etapa, el modelo está diseñado para llevar a cabo una revisión final, que
se encarga de determinar si el proyecto está listo para avanzar a la siguiente fase
● Tiene las siguientes características:
○ Cada fase empieza cuando se ha terminado la anterior.
○ Para pasar a la fase posterior es necesario haber logrado los objetivos de la previa.
○ Es útil como control de fechas de entregas.
○ Al final de cada fase el personal técnico y los usuarios tienen la oportunidad de
revisar el progreso del proyecto.
Desarrollo basado en prototipos.
● Este modelo pertenece a
los modelos de desarrollo
de software que serán
visibles para el cliente o el
usuario final.
● Se construye un prototipo
en poco tiempo.
● Este prototipo es evaluado
por el cliente para una
retroalimentación.
Las etapas del modelo son las siguientes:
● Comunicación.
● Plan rápido.
● Modelado, diseño rápido.
● Construcción del prototipo.
● Desarrollo, entrega y
retroalimentación.
● Entrega y desarrollo final.
Estas etapas se pueden solapar con las del
modelo del desarrollo en espiral, por lo
tanto, en cada ciclo, como resultado se
obtendrá un nuevo prototipo.
Modelo Incremental
● El modelo incremental fue
propuesto por Harlan Mills
en el año 1980. Surgió el
enfoque incremental de
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.
Las etapas del modelo son las siguientes:
● Análisis.
● Diseño.
● Código.
● Puebla.
Minimización del riesgo de falla en el proyecto
porque los errores se van corrigiendo
progresivamente.
El modelo incremental no es recomendable para
casos de sistemas de tiempo real, de alto nivel de
seguridad, de procesamiento distribuido y/o de
alto índice de riesgos.
Modelo Concurrente
Para que se utiliza el modelo de concurrencia?
Características del modelo concurrente
● Se puede expresar de manera
esquematizada
● Es apli a le a todo tipo de software
● Es dirigido por las necesidades del usuario
● Es aplicable a cliente /servidor
Etapas del modelo concurrente
VENTAJAS
● Excelente para trabajo en grupo
● Proporciona una imagen exacta
del estado actual del proyecto
DESVENTAJAS
● Sólo es aplicable a grupos de
trabajo
Modelo Espiral
Propuesto originalmente por
Boehm, es un modelo de proceso
de software evolutivo que conjuga
la naturaleza iterativa de
construcción de prototipos con los
aspectos controlados y
sistemáticos del modelo lineal
secuencial. Proporciona el
potencial para el desarrollo rápido
de versiones incrementales del
software.
Las etapas del modelo son las siguientes:
● Comunicación con el cliente
● Planificación.
● Análisis de riesgos.
● Ingeniería.
● Construcción y acción.
● Evaluación del cliente.
Es un enfoque realista del desarrollo de sistemas y
de software a gran escala.
Requiere una considerable habilidad para la
evaluación del riesgo.
DESARROLLO RÁPIDO DE APLICACIONES “DRA”
Es un modelo de proceso del desarrollo del software lineal secuencial que enfatiza un ciclo de desarrollo
extremadamente corto.
¿Qué información conduce el proceso de gestión?,¿Qué información se
genera?,¿Quién la genera?,¿A dónde va la información? ,¿Quién la proceso?.
Se definen las características (llamadas atributos) de cada uno de los objetos
y las relaciones entre estos objetos.
Las descripciones del proceso se crean para añadir, modificar, suprimir, o
recuperar un objeto de datos. Es la comunicación entre los objetos.
En lugar de crear software con lenguajes de programación de tercera generación, el proceso
DRA trabaja para volver a utilizar componentes de programas ya existentes (cuando es posible)
o a crear componentes reutilizables (cuando sea necesario).
Como el proceso DRA enfatiza la reutilización, ya se han comprobado muchos de los
componentes de los programas. Esto reduce tiempo de pruebas. Sin embargo, se deben
probar todos los componentes nuevos y se deben ejercitar todas las interfaces a fondo.
Metodología “Scrum”
Principios:
● Adaptabilidad.
● Orientado a las personas.
● Iterativo e incremental.
Basado:
● Individuo.
● Grupo.
Valores:
● Enfoque.
● Coraje.
● Compromiso.
● Respeto.
● Apertura.
Roles:
● Dueño del producto
○ Delinear el producto..
○ Gestiona el flujo de trabajo.
○ Intermediar entre cliente y
Scrum Team.
● Scrum Team
○ Entregar los incrementos del
producto siguiendo el Sprint.
● Scrum Master
○ Conoce y comparte el
conocimiento sobre Scrum.
○ Trabajo Conjunto al Dueño del
producto en el
mantenimiento.
Sprint:
Periodo fijo de tiempo (1 a 4 semanas)
Destinado para que el equipo Scrum
entregue incrementos del producto.
Actividades:
● Scrum Diario.
○ Revisar logros.
○ Definir objetivos diarios.
○ Revisar y gestionar
implementos.
○ Duración máx. 15 min.
● Sprint
○ Planificación: selecciona
○ Revisión
○ Retrospectiva
● Product Backlog
○ Ordenarlo.
○ Aumentar o disminuir
prioridades.
○ Dividir o ítems.
○ Estimar items.
Programación Extrema (XP)
● Metodología de desarrollo que se da máxima prioridad a la obtención de
resultados y reduce la burocracia que utiliza las metodologías tradicionales.
● Diseñada para entornos dinámicos.
● Pensada para equipos pequeños (hasta 10 programadores).
● Orientada fuertemente hacia la codificación.
● Énfasis en la comunicación informal, verbal.
● Creado por Kent Beck para la plantilla del proyecto C3 en Chrysler.
● Define cuatro variables para cualquier proyecto de software: costo, tiempo, calidad
y alcance
● Se trata de realizar ciclos de desarrollo cortos (llamados iteraciones), con
entregables funcionales al finalizar cada ciclo
Desarrollo de Software Adaptativo
Propuesto por Jim Highsmith en 1998
Técnica para construir software y sistemas complejos
Proporciona un marco para el desarrollo iterativo de sistemas grandes y
complejos
Define un ciclo de vida del ASD que incorpora tres fases:
● Especulación, se inicia el proyecto y se lleva a cabo la planeación
adaptativa del ciclo.
● Colaboración, las personas motivadas la usan de manera que multiplica
su talento y producción creativa
● Aprendizaje, conforme los miembros de un equipo ASD comienzan a
desarrollar los componentes que forman parte de un ciclo adaptativo

Webquest i 2019

  • 1.
    Modelos de Procesosdel Software Integrantes: Daniel Castillo Quispe Marco Vladimir Ordoñez Marca Voyheska Rocio Oliver Ferrufino Diego Elvim Aliaga Candia William Fernando Blanco Thompson Alain Marcelo Torrez Marín-Callau Edgar Escobar Mamani
  • 2.
    Un proceso desoftware detallado y completo suele denominarse "Metodología". Las metodologías se basan en una combinación de los modelos de proceso genéricos (cascada, evolutivo, incremental, etc.). Según Sommerville (2005) un Modelo de Proceso de Software es una descripción simplificada de un proceso de software Algunos ejemplos de estos tipos de modelos: ● Un modelo de flujo de trabajo. Muestra la secuencia de actividades en el proceso junto con sus entradas, salidas y dependencias. ● Un modelo de flujo de datos o de actividad. Representa el proceso como un conjunto de actividades, cada una de las cuales realiza alguna transformación en los datos. ● Un modelo de rol/acción. Representa los roles de las personas involucrada en el proceso del software y las actividades de las que son responsables.
  • 3.
    Modelo Clásico oCascada ● Presentada por Royce en 1970 ● Enfoque metodológico que ordena rigurosamente las etapas del proceso para el desarrollo de software, de tal forma que el inicio de cada etapa debe esperar a la finalización de la etapa anterior ● Al final de cada etapa, el modelo está diseñado para llevar a cabo una revisión final, que se encarga de determinar si el proyecto está listo para avanzar a la siguiente fase ● Tiene las siguientes características: ○ Cada fase empieza cuando se ha terminado la anterior. ○ Para pasar a la fase posterior es necesario haber logrado los objetivos de la previa. ○ Es útil como control de fechas de entregas. ○ Al final de cada fase el personal técnico y los usuarios tienen la oportunidad de revisar el progreso del proyecto.
  • 4.
    Desarrollo basado enprototipos. ● Este modelo pertenece a los modelos de desarrollo de software que serán visibles para el cliente o el usuario final. ● Se construye un prototipo en poco tiempo. ● Este prototipo es evaluado por el cliente para una retroalimentación. Las etapas del modelo son las siguientes: ● Comunicación. ● Plan rápido. ● Modelado, diseño rápido. ● Construcción del prototipo. ● Desarrollo, entrega y retroalimentación. ● Entrega y desarrollo final. Estas etapas se pueden solapar con las del modelo del desarrollo en espiral, por lo tanto, en cada ciclo, como resultado se obtendrá un nuevo prototipo.
  • 5.
    Modelo Incremental ● Elmodelo incremental fue propuesto por Harlan Mills en el año 1980. Surgió el enfoque incremental de 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. Las etapas del modelo son las siguientes: ● Análisis. ● Diseño. ● Código. ● Puebla. Minimización del riesgo de falla en el proyecto porque los errores se van corrigiendo progresivamente. El modelo incremental no es recomendable para casos de sistemas de tiempo real, de alto nivel de seguridad, de procesamiento distribuido y/o de alto índice de riesgos.
  • 6.
    Modelo Concurrente Para quese utiliza el modelo de concurrencia? Características del modelo concurrente ● Se puede expresar de manera esquematizada ● Es apli a le a todo tipo de software ● Es dirigido por las necesidades del usuario ● Es aplicable a cliente /servidor Etapas del modelo concurrente VENTAJAS ● Excelente para trabajo en grupo ● Proporciona una imagen exacta del estado actual del proyecto DESVENTAJAS ● Sólo es aplicable a grupos de trabajo
  • 7.
    Modelo Espiral Propuesto originalmentepor Boehm, es un modelo de proceso de software evolutivo que conjuga la naturaleza iterativa de construcción de prototipos con los aspectos controlados y sistemáticos del modelo lineal secuencial. Proporciona el potencial para el desarrollo rápido de versiones incrementales del software. Las etapas del modelo son las siguientes: ● Comunicación con el cliente ● Planificación. ● Análisis de riesgos. ● Ingeniería. ● Construcción y acción. ● Evaluación del cliente. Es un enfoque realista del desarrollo de sistemas y de software a gran escala. Requiere una considerable habilidad para la evaluación del riesgo.
  • 8.
    DESARROLLO RÁPIDO DEAPLICACIONES “DRA” Es un modelo de proceso del desarrollo del software lineal secuencial que enfatiza un ciclo de desarrollo extremadamente corto. ¿Qué información conduce el proceso de gestión?,¿Qué información se genera?,¿Quién la genera?,¿A dónde va la información? ,¿Quién la proceso?. Se definen las características (llamadas atributos) de cada uno de los objetos y las relaciones entre estos objetos. Las descripciones del proceso se crean para añadir, modificar, suprimir, o recuperar un objeto de datos. Es la comunicación entre los objetos. En lugar de crear software con lenguajes de programación de tercera generación, el proceso DRA trabaja para volver a utilizar componentes de programas ya existentes (cuando es posible) o a crear componentes reutilizables (cuando sea necesario). Como el proceso DRA enfatiza la reutilización, ya se han comprobado muchos de los componentes de los programas. Esto reduce tiempo de pruebas. Sin embargo, se deben probar todos los componentes nuevos y se deben ejercitar todas las interfaces a fondo.
  • 9.
    Metodología “Scrum” Principios: ● Adaptabilidad. ●Orientado a las personas. ● Iterativo e incremental. Basado: ● Individuo. ● Grupo. Valores: ● Enfoque. ● Coraje. ● Compromiso. ● Respeto. ● Apertura. Roles: ● Dueño del producto ○ Delinear el producto.. ○ Gestiona el flujo de trabajo. ○ Intermediar entre cliente y Scrum Team. ● Scrum Team ○ Entregar los incrementos del producto siguiendo el Sprint. ● Scrum Master ○ Conoce y comparte el conocimiento sobre Scrum. ○ Trabajo Conjunto al Dueño del producto en el mantenimiento. Sprint: Periodo fijo de tiempo (1 a 4 semanas) Destinado para que el equipo Scrum entregue incrementos del producto. Actividades: ● Scrum Diario. ○ Revisar logros. ○ Definir objetivos diarios. ○ Revisar y gestionar implementos. ○ Duración máx. 15 min. ● Sprint ○ Planificación: selecciona ○ Revisión ○ Retrospectiva ● Product Backlog ○ Ordenarlo. ○ Aumentar o disminuir prioridades. ○ Dividir o ítems. ○ Estimar items.
  • 10.
    Programación Extrema (XP) ●Metodología de desarrollo que se da máxima prioridad a la obtención de resultados y reduce la burocracia que utiliza las metodologías tradicionales. ● Diseñada para entornos dinámicos. ● Pensada para equipos pequeños (hasta 10 programadores). ● Orientada fuertemente hacia la codificación. ● Énfasis en la comunicación informal, verbal. ● Creado por Kent Beck para la plantilla del proyecto C3 en Chrysler. ● Define cuatro variables para cualquier proyecto de software: costo, tiempo, calidad y alcance ● Se trata de realizar ciclos de desarrollo cortos (llamados iteraciones), con entregables funcionales al finalizar cada ciclo
  • 11.
    Desarrollo de SoftwareAdaptativo Propuesto por Jim Highsmith en 1998 Técnica para construir software y sistemas complejos Proporciona un marco para el desarrollo iterativo de sistemas grandes y complejos Define un ciclo de vida del ASD que incorpora tres fases: ● Especulación, se inicia el proyecto y se lleva a cabo la planeación adaptativa del ciclo. ● Colaboración, las personas motivadas la usan de manera que multiplica su talento y producción creativa ● Aprendizaje, conforme los miembros de un equipo ASD comienzan a desarrollar los componentes que forman parte de un ciclo adaptativo