GRUPO 5
NTEGRANTES:
Laura Choque Primo
Lemus Aruquipa Liz Fabiola
Mendoza Escobar Fernando
Oruño Mamani Danae
Quiñajo Quiñajo Edson Felix
Viveros Marca Pablo Augusto
MODELOS DE PROCESOS
DE SOFTWARE
DEFINICIÓN
• 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.
MODELOS DEL TIPO ITERATIVO
• 1.-Modelo en cascada
• Este modelo fue el primero en originarse propuesta por Winston W. Royce en 1970 y
posteriormente revisada por Barry Boehm en 1980 en Sommerville en 1985
Algunas desventajas:
–Se debe tener TODOS los requisitos en la
primera etapa no pudiéndose llevar a cabo los
requisitos que surjan una vez acabada la etapa
de especificación.
–Cada vez que se identifique algún error
cometido hay que volver a la etapa anterior y
rehacer el trabajo.
– No se tiene el producto software hasta el final
del proceso de desarrollo, por lo que el cliente
no verá los resultados hasta la última fase.
– Además la mayoría de errores producidos en
el análisis se descubren al final.
• 2.- Modelo orientado a prototipos
• Algunos autores consideran que esto es parte del ciclo de vida clásico (Boehm, 1988), es
también posible verlo como un método independiente.
• Es un modelo del comportamiento del sistema que puede ser usado para entenderlo
completamente o ciertos aspectos de él y así clarificar los requerimientos
• Las fases :
Las ventajas de un enfoque de desarrollo
orientado a prototipos están dadas por:
reducción de la incertidumbre y del riesgo,
reducción de tiempo y de costos, incrementos
en la aceptación del nuevo sistema, mejoras
en la administración de proyectos, mejoras en
la comunicación entre desarrolladores y
clientes, etc.
• 3.- Modelo DRA (Desarrollo Rápido de Aplicaciones)
• Es un modelo de proceso de software incremental que resalta un ciclo de desarrollo corto. Es
una adaptación de "alta velocidad" del modelo de cascada. El proceso de DRA permite que
un equipo de desarrollo cree un sistema completamente funcional dentro de un periodo muy
corto de 60 a 90 días.
El desarrollo rápido de aplicaciones o RAD (Rapid
Application Development) es un proceso de desarrollo de
software, desarrollado inicialmente por James Martin en
1980.
Desventajas:
Para proyectos en gran escala se requiere recursos
humanos suficientes como para crear el número suficiente
de equipos.
Debe haber un compromiso muy fuerte entre todas las
partes para completar el sistema en el tiempo necesario.
No es adecuado cuando los riesgos técnicos son muy alto.
MODELOS TIPO EVOLUTIVO
• El desarrollo evolutivo consta del desarrollo que luego de exponerse se va refinando de acuerdo de los
comentarios o nuevos requerimientos por parte del cliente o del usuario final. Las fases de especificación,
desarrollo y validación se entrelazan en vez de separarse.Existen dos tipos de desarrollo evolutivo: Desarrollo
exploratorio, trabajar con el cliente para explorar sus requerimientos y entregar un sistema final: y Prototipos
desechables, comprende los requerimientos del cliente y entonces desarrollar una definición mejorada de los
requerimientos para el sistema.
1. Modelo incremental
El desarrollo evolutivo permite que los requerimientos no estén totalmente especificados para comenzar con el
desarrollo del software, esto hace que el software desarrollado pueda estar mal estructurado y sea difícil de
mantener pero permite adaptarse a los cambios en los requisitos.
2.- Modelo en espiral
•Esta basado en el desarrollo iterativo. Se diferencia del modelo iterativo incremental en que más
que representarlo como una secuencia de actividades se representa como una espiral donde
cada ciclo en la espiral representa una fase del proceso del software. Así, por ejemplo, el ciclo
más interno podría referirse a la especificación de requerimientos y el siguiente ciclo al diseño
El riesgo es todo aquello que pueda ir
mal. Por ejemplo, si la intención es utilizar
un lenguaje de programación, un riesgo
posible es que los compiladores
disponibles no produzcan código objeto
eficiente. Los riesgos originan problemas
en el proyecto como por ejemplo, el
exceso de costes. Por lo tanto, la
disminución de los riesgos es una
actividad muy importante
• 3.- Modelo Espiral WINWIN (gana & gana)
• Una variante interesante del Modelo Espiral es el Modelo espiral Win-Win. El Modelo Espiral
previo (clásico) sugiere la comunicación con el cliente para fijar los requisitos, en que
simplemente se pregunta al cliente qué necesita y él proporciona la información para
continuar, sin embargo, esta es una situación que rara vez ocurre. Normalmente el cliente y
desarrollador entran en una negociación, se negocia coste frente a funcionalidad,
rendimiento, calidad, etc.
• Las mejores negociaciones se fuerzan en obtener «Victoria & Victoria» (Win & Win), es decir
que el cliente gane obteniendo el producto que lo satisfaga, y el desarrollador también gane
consiguiendo presupuesto y fecha de entrega realista. Evidentemente, este modelo requiere
fuertes habilidades de negociación.
MODELOS DEL TIPO ÁGIL
Los métodos ágiles no se deben de utilizar para el desarrollo de sistemas críticos
en los que es necesario generar un análisis detallado de todos los requerimientos
del sistema para así comprender mejor sus implicaciones de seguridad o de
protección. El crecimiento de los métodos ágiles y su penetración ocurre a un ritmo
pocas veces visto en la industria.
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
Modelo desarrollo XP (Extreme Programming)
es una metodología ágil centrada en potenciar las
relaciones interpersonales como clave para el
éxito en desarrollo de software, promoviendo el
trabajo en equipo, preocupándose por el
aprendizaje de los desarrolladores, y propiciando
un buen clima de trabajo.
Dynamic Systems
Development Method (DSDM)
Metodología ágil más veterana y
la que más se aproxima a los
métodos tradicionales, su
implantación incluso permitiría
alcanzar un nivel 2 de madurez
según CMMI.

Grupo 5-modelos-de-procesos-de-software

  • 1.
    GRUPO 5 NTEGRANTES: Laura ChoquePrimo Lemus Aruquipa Liz Fabiola Mendoza Escobar Fernando Oruño Mamani Danae Quiñajo Quiñajo Edson Felix Viveros Marca Pablo Augusto MODELOS DE PROCESOS DE SOFTWARE
  • 2.
    DEFINICIÓN • Un modelode 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.
  • 3.
    MODELOS DEL TIPOITERATIVO • 1.-Modelo en cascada • Este modelo fue el primero en originarse propuesta por Winston W. Royce en 1970 y posteriormente revisada por Barry Boehm en 1980 en Sommerville en 1985 Algunas desventajas: –Se debe tener TODOS los requisitos en la primera etapa no pudiéndose llevar a cabo los requisitos que surjan una vez acabada la etapa de especificación. –Cada vez que se identifique algún error cometido hay que volver a la etapa anterior y rehacer el trabajo. – No se tiene el producto software hasta el final del proceso de desarrollo, por lo que el cliente no verá los resultados hasta la última fase. – Además la mayoría de errores producidos en el análisis se descubren al final.
  • 4.
    • 2.- Modeloorientado a prototipos • Algunos autores consideran que esto es parte del ciclo de vida clásico (Boehm, 1988), es también posible verlo como un método independiente. • Es un modelo del comportamiento del sistema que puede ser usado para entenderlo completamente o ciertos aspectos de él y así clarificar los requerimientos • Las fases : Las ventajas de un enfoque de desarrollo orientado a prototipos están dadas por: reducción de la incertidumbre y del riesgo, reducción de tiempo y de costos, incrementos en la aceptación del nuevo sistema, mejoras en la administración de proyectos, mejoras en la comunicación entre desarrolladores y clientes, etc.
  • 5.
    • 3.- ModeloDRA (Desarrollo Rápido de Aplicaciones) • Es un modelo de proceso de software incremental que resalta un ciclo de desarrollo corto. Es una adaptación de "alta velocidad" del modelo de cascada. El proceso de DRA permite que un equipo de desarrollo cree un sistema completamente funcional dentro de un periodo muy corto de 60 a 90 días. El desarrollo rápido de aplicaciones o RAD (Rapid Application Development) es un proceso de desarrollo de software, desarrollado inicialmente por James Martin en 1980. Desventajas: Para proyectos en gran escala se requiere recursos humanos suficientes como para crear el número suficiente de equipos. Debe haber un compromiso muy fuerte entre todas las partes para completar el sistema en el tiempo necesario. No es adecuado cuando los riesgos técnicos son muy alto.
  • 6.
    MODELOS TIPO EVOLUTIVO •El desarrollo evolutivo consta del desarrollo que luego de exponerse se va refinando de acuerdo de los comentarios o nuevos requerimientos por parte del cliente o del usuario final. Las fases de especificación, desarrollo y validación se entrelazan en vez de separarse.Existen dos tipos de desarrollo evolutivo: Desarrollo exploratorio, trabajar con el cliente para explorar sus requerimientos y entregar un sistema final: y Prototipos desechables, comprende los requerimientos del cliente y entonces desarrollar una definición mejorada de los requerimientos para el sistema. 1. Modelo incremental El desarrollo evolutivo permite que los requerimientos no estén totalmente especificados para comenzar con el desarrollo del software, esto hace que el software desarrollado pueda estar mal estructurado y sea difícil de mantener pero permite adaptarse a los cambios en los requisitos.
  • 7.
    2.- Modelo enespiral •Esta basado en el desarrollo iterativo. Se diferencia del modelo iterativo incremental en que más que representarlo como una secuencia de actividades se representa como una espiral donde cada ciclo en la espiral representa una fase del proceso del software. Así, por ejemplo, el ciclo más interno podría referirse a la especificación de requerimientos y el siguiente ciclo al diseño El riesgo es todo aquello que pueda ir mal. Por ejemplo, si la intención es utilizar un lenguaje de programación, un riesgo posible es que los compiladores disponibles no produzcan código objeto eficiente. Los riesgos originan problemas en el proyecto como por ejemplo, el exceso de costes. Por lo tanto, la disminución de los riesgos es una actividad muy importante
  • 8.
    • 3.- ModeloEspiral WINWIN (gana & gana) • Una variante interesante del Modelo Espiral es el Modelo espiral Win-Win. El Modelo Espiral previo (clásico) sugiere la comunicación con el cliente para fijar los requisitos, en que simplemente se pregunta al cliente qué necesita y él proporciona la información para continuar, sin embargo, esta es una situación que rara vez ocurre. Normalmente el cliente y desarrollador entran en una negociación, se negocia coste frente a funcionalidad, rendimiento, calidad, etc. • Las mejores negociaciones se fuerzan en obtener «Victoria & Victoria» (Win & Win), es decir que el cliente gane obteniendo el producto que lo satisfaga, y el desarrollador también gane consiguiendo presupuesto y fecha de entrega realista. Evidentemente, este modelo requiere fuertes habilidades de negociación.
  • 9.
    MODELOS DEL TIPOÁGIL Los métodos ágiles no se deben de utilizar para el desarrollo de sistemas críticos en los que es necesario generar un análisis detallado de todos los requerimientos del sistema para así comprender mejor sus implicaciones de seguridad o de protección. El crecimiento de los métodos ágiles y su penetración ocurre a un ritmo pocas veces visto en la industria. 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
  • 10.
    Modelo desarrollo XP(Extreme Programming) es una metodología ágil centrada en potenciar las relaciones interpersonales como clave para el éxito en desarrollo de software, promoviendo el trabajo en equipo, preocupándose por el aprendizaje de los desarrolladores, y propiciando un buen clima de trabajo. Dynamic Systems Development Method (DSDM) Metodología ágil más veterana y la que más se aproxima a los métodos tradicionales, su implantación incluso permitiría alcanzar un nivel 2 de madurez según CMMI.