SlideShare uma empresa Scribd logo
1 de 36
ING.Wilfredo Montero M.
 “Una aproximación lógica a la adquisición, el
suministro, el desarrollo, la explotación y el
mantenimiento del software”
IEEE 1074
 “Un marco de referencia que contiene los
procesos, las actividades y las tareas
involucradas en el desarrollo, la explotación y el
mantenimiento de un producto de software,
abarcando la vida del sistema desde la definición
de los requisitos hasta la finalización de su uso”
ISO 12207-1
FABREGAS:
1- Requerimientos
2- Análisis/Diseño
3- Construcción
4- Pruebas
5- Producción/Mantenimiento
SENN:
1- Investigación Preliminar
2- Determ. de Requerimientos.
3- Diseño del Sistema
4- Desarrollo del Software
5- Prueba del Sistema
6- Implantación y Evaluación
PRESSMAN:
1- Análisis
2- Diseño
3- Codificación
4- Prueba
5- Mantenimiento
EN GENERAL USAREMOS:
1- Análisis
2- Diseño
3- Implementación
4- Mantenimiento
• Implantación Ascendente
• Las fases deben sucederse de manera Secuencial
• El usuario no ve resultados, sino hasta el final
• El usuario o el ambiente pueden cambiar las
especificaciones originales del sistema.
• Presenta numerosos problemas Analista-Usuario
• Manejable como proyecto
EL USUARIO:
FASE 1
FASE 2
FASE 3
FASE N
FASE N + 1
?El usuario
y
su
Sistema
Definitivo.
Esto no es lo
que yo
esperaba...
Y al final del ciclo de Desarrollo del
sistema.....
¿ Será que no supe
explicarles mis
requerimientos ?
Y al final del ciclo de Desarrollo del
sistema.....
Tal vez ellos
no me
entendieron...
?
Y al final del ciclo de Desarrollo del
sistema.....
No siempre se definen los requerimientos
en forma:
Completa
Correcta y
Consistente
Sr. Usuario:
Tiene que leerse
esto, esto, esto...
A veces resulta difícil para
el usuario, revisar todas las
especificaciones
Analista
Sistemas II.
ANALISIS
IMPLEMENTACION
DISEÑO
MANTENIMIENTO
Sistemas II.
1. ANALISIS:
1.1. Estudio Preliminar
1.2. Levantamiento de Información
1.3. Definición del Problema
1.4. Elaboración del Modelo Funcional del Sistema actual
1.5. Determinación de Requerimientos
1.6. Descripción y Evaluación de Alternativas
1.7. Aprobación de alternativas
Sistemas II.
2.DISEÑO
2.1. Elaborar Modelo Funcional del Sistema Propuesto
2.2. Diseño Lógico
2.3. Elaboración y Presentación del prototipo del Sistema
2.4. Aprobación del Sistema Propuesto
Sistemas II.
3. IMPLEMENTACION
3.1. Desarrollo del Software
3.2. Prueba del Sistema
3.3. Puesta en Marcha
¿ Qué significa poner en
Marcha un Sistema ?
Sistemas II.
PUESTA EN MARCHA:
Actividad de traslado de una aplicación probada a un ambiente de producción
- Acondicionamiento de locales
- Organización del Cliente
- Entregar aplicación probada
- Elaborar datos en Vivo
- Adiestramiento
- Carga de datos en vivo
- Entrega de documentación
- Asignar Responsabilidades
- Determinar FIN de la instalación
 Este, aunque es más comúnmente conocido como
modelo en cascada es también llamado «modelo
clásico», «modelo tradicional» o «modelo lineal
secuencial».
 CRITICAS
 No refleja realmente el proceso de desarrollo
del software
 Se tarda mucho tiempo en pasar por todo el
ciclo
 Perpetua el fracaso de la industria del software
en su comunicación con el usuario final
 El mantenimiento se realiza en el código fuente
 Las revisiones de proyectos de gran
complejidad son muy difíciles
 Impone una estructura de gestión de proyectos
 Los procesos iterativos pueden ayudar a desvelar
metas del diseño en el caso de clientes que no saben
cómo definir lo que quieren.
 Observaciones:
 Se evitan proyectos largos y se entrega “Algo de
valor” a los usuarios con cierta frecuencia
 El usuario se involucra más
 Difícil de evaluar el coste total
 Difícil de aplicar a sistemas transaccionales que
tienden a ser integrados y a operar como un todo
 Requiere gestores experimentados
 Los errores en los requisitos se detectan tarde.
 El resultado puede ser muy positivo.
 Consiste en iterar en la fase de análisis tantas veces como
sea necesario, mostrando prototipos al usuario para que
pueda indicarnos de forma mas eficiente los requisitos del
sistema.
 Observaciones:
 No modifica el flujo del ciclo de vida
 Reduce el riesgo de construir productos que
no satisfagan las necesidades de los usuarios
 Reduce costos y aumenta la probabilidad de éxito
 Exige disponer de las herramientas adecuadas
 No presenta calidad ni robustez
 Una vez identificados todos los requisitos
mediante el prototipo, se construye el producto
de ingeniería.
 PARA QUE SEA EFECTIVO:
 Debe ser un sistema con el que se pueda
experimentar
 Debe ser comparativamente barato (< 10%)
 Debe desarrollarse rápidamente
 Énfasis en la interfaz de usuario
 Equipo de desarrollo reducido
 Herramientas y lenguajes adecuados
“El prototipado es un medio excelente para recoger el
‘feedback’ (realimentación) del usuario final”
 PELIGROS DEL PROTOTIPO
 El cliente ve funcionando lo que para él es la
primera versión del prototipo que ha sido
construido con “plastilina y alambres”, y puede
desilusionarse al decirle que el sistema aun no ha
sido construido.
 El desarrollador puede caer en la tentación de
ampliar el prototipo para construir el sistema
final sin tener en cuenta los compromisos de
calidad y de mantenimiento que tiene con el
cliente.
 Proporciona potencial para desarrollo rápido de versiones
incrementales. En el modelo Espiral el software se construye
en una serie de versiones incrementales. En las primeras
iteraciones la versión incremental podría ser un modelo en
papel o bien un prototipo.
En cada vuelta o iteración hay que tener en cuenta:
 Los Objetivos: qué necesidad debe cubrir el producto.
 Alternativas: las diferentes formas de conseguir los
objetivos de forma exitosa, desde diferentes puntos de vista
como pueden ser:
 Características: experiencia del personal, requisitos a
cumplir, etc.
 Formas de gestión del sistema.
 Riesgo asumido con cada alternativa.
 Desarrollar yVerificar: Programar y probar el software.
 Observaciones
 Trata de mejorar los ciclos de vida clásicos y prototipos.
 Permite acomodar otros modelos
 Incorpora objetivos de calidad y gestión de riesgos
 Elimina errores y alternativas no atractivas al comienzo
 Permite iteraciones, vuelta atrás y finalizaciones rápidas
 Cada ciclo empieza identificando:
▪ Los objetivos de la porción correspondiente
▪ Las alternativas
▪ Restricciones
 Cada ciclo se completa con una revisión que incluye todo
el ciclo anterior y el plan para el siguiente.
 Reconocimiento explícito de las diferentes
alternativas.
 Identificación de riesgos para cada alternativa
desde el comienzo.
 Al dividir el proyecto en ciclos, al final de cada
uno existe un acuerdo para los cambios que
hay que realizar en el sistema.
 El modelo se adapta a cualquier tipo de
actividad adicional.
 Principios
 Existen similitudes entre distintos sistemas de un mismo dominio
de aplicación
 El software puede representarse como una combinación de módulos
 Diseñar aplicaciones = especificar módulos + interrelaciones
 Los sistemas nuevos se pueden caracterizar por diferencias respecto a
los antiguos
 Reduce tiempos y costes de desarrollo
 Aumenta la fiabilidad
 Dificultad para reconocer los componentes potencialmente reutilizables
 Dificultad de catalogación y recuperación
 Problemas de motivación
 Problemas de gestión de configuración.
 Se define el sistema utilizando un lenguaje
formal.
 La implementación es automática, asistida por
el ordenador.
 La documentación se genera de forma
automática.
 El mantenimiento se realiza “por
sustitución” no mediante “parches”.
 Dificultad en la participación del usuario.
 Diseños poco optimizados.

Mais conteúdo relacionado

Mais procurados

Ejemplo plan de desarrollo de software rup
Ejemplo plan de desarrollo de software rupEjemplo plan de desarrollo de software rup
Ejemplo plan de desarrollo de software rupXochitl Saucedo Muñoz
 
modelos del proceso del software
 modelos del proceso del software  modelos del proceso del software
modelos del proceso del software Brihany Rossell
 
2 2 estilos arquitectonicos
2 2 estilos arquitectonicos2 2 estilos arquitectonicos
2 2 estilos arquitectonicoslandeta_p
 
Modelos de ciclo de vida del software
Modelos de ciclo de vida del softwareModelos de ciclo de vida del software
Modelos de ciclo de vida del softwareIEO Santo Tomás
 
Planificacion de proyecto de software
Planificacion de proyecto de softwarePlanificacion de proyecto de software
Planificacion de proyecto de softwareGeorgy Jose Sanchez
 
metodologia de prototipos
metodologia de prototiposmetodologia de prototipos
metodologia de prototiposKeiner Valerio
 
Ingeniería de requisitos e ingeniería de requerimientos
Ingeniería de requisitos e ingeniería de requerimientosIngeniería de requisitos e ingeniería de requerimientos
Ingeniería de requisitos e ingeniería de requerimientosCesar Prado
 
Tema N° 5 Ingeniería de Requisitos y los Requisitos del Software
Tema N° 5 Ingeniería de Requisitos y los Requisitos del SoftwareTema N° 5 Ingeniería de Requisitos y los Requisitos del Software
Tema N° 5 Ingeniería de Requisitos y los Requisitos del SoftwareSaraEAlcntaraR
 
Metodologia rup
Metodologia rupMetodologia rup
Metodologia rupmireya2022
 
Modelo espiral win win
Modelo espiral win winModelo espiral win win
Modelo espiral win winkhinkhe
 
Fundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrollo
Fundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrolloFundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrollo
Fundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrolloJosé Antonio Sandoval Acosta
 
Proyecto de software
Proyecto de softwareProyecto de software
Proyecto de softwaremonik1002
 
Técnicas para la Obtención de Requerimientos
Técnicas para la Obtención de RequerimientosTécnicas para la Obtención de Requerimientos
Técnicas para la Obtención de RequerimientosJuan Carlos Olivares Rojas
 
Calidad De Software
Calidad De SoftwareCalidad De Software
Calidad De SoftwareJimmy Campo
 

Mais procurados (20)

Modelo espiral
Modelo espiralModelo espiral
Modelo espiral
 
Ejemplo plan de desarrollo de software rup
Ejemplo plan de desarrollo de software rupEjemplo plan de desarrollo de software rup
Ejemplo plan de desarrollo de software rup
 
Modelo evolutivo
Modelo evolutivoModelo evolutivo
Modelo evolutivo
 
modelos del proceso del software
 modelos del proceso del software  modelos del proceso del software
modelos del proceso del software
 
Principios diseño del software
Principios diseño del software Principios diseño del software
Principios diseño del software
 
2 2 estilos arquitectonicos
2 2 estilos arquitectonicos2 2 estilos arquitectonicos
2 2 estilos arquitectonicos
 
Modelos de ciclo de vida del software
Modelos de ciclo de vida del softwareModelos de ciclo de vida del software
Modelos de ciclo de vida del software
 
Ingeniería de software modelo incremental
Ingeniería de software  modelo incrementalIngeniería de software  modelo incremental
Ingeniería de software modelo incremental
 
Planificacion de proyecto de software
Planificacion de proyecto de softwarePlanificacion de proyecto de software
Planificacion de proyecto de software
 
metodologia de prototipos
metodologia de prototiposmetodologia de prototipos
metodologia de prototipos
 
Ingeniería de requisitos e ingeniería de requerimientos
Ingeniería de requisitos e ingeniería de requerimientosIngeniería de requisitos e ingeniería de requerimientos
Ingeniería de requisitos e ingeniería de requerimientos
 
Tema N° 5 Ingeniería de Requisitos y los Requisitos del Software
Tema N° 5 Ingeniería de Requisitos y los Requisitos del SoftwareTema N° 5 Ingeniería de Requisitos y los Requisitos del Software
Tema N° 5 Ingeniería de Requisitos y los Requisitos del Software
 
Ejemplo rup
Ejemplo rupEjemplo rup
Ejemplo rup
 
Metodologia rup
Metodologia rupMetodologia rup
Metodologia rup
 
Modelo espiral win win
Modelo espiral win winModelo espiral win win
Modelo espiral win win
 
Fundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrollo
Fundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrolloFundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrollo
Fundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrollo
 
Proyecto de software
Proyecto de softwareProyecto de software
Proyecto de software
 
Técnicas para la Obtención de Requerimientos
Técnicas para la Obtención de RequerimientosTécnicas para la Obtención de Requerimientos
Técnicas para la Obtención de Requerimientos
 
Modelo evolutivo
Modelo evolutivoModelo evolutivo
Modelo evolutivo
 
Calidad De Software
Calidad De SoftwareCalidad De Software
Calidad De Software
 

Semelhante a Ciclo Vida del Software

Ciclo vida DESARROLLO DE SOFTWARE
Ciclo vida DESARROLLO DE SOFTWARECiclo vida DESARROLLO DE SOFTWARE
Ciclo vida DESARROLLO DE SOFTWAREJ Martin Luzon
 
Los 7 pasos del desarrollo de sistemas informaticos
Los 7 pasos del desarrollo de sistemas informaticosLos 7 pasos del desarrollo de sistemas informaticos
Los 7 pasos del desarrollo de sistemas informaticosFranklin Tenelema
 
T2 infoiii-s
T2 infoiii-sT2 infoiii-s
T2 infoiii-shome
 
Modelo Descrptivos Del Proceso Del Sofware
Modelo Descrptivos  Del  Proceso Del SofwareModelo Descrptivos  Del  Proceso Del Sofware
Modelo Descrptivos Del Proceso Del Sofwareluisfe
 
Modelo de desarrollo del software
Modelo de desarrollo del softwareModelo de desarrollo del software
Modelo de desarrollo del softwareRazielLira
 
Investigación de modelos
Investigación de modelos Investigación de modelos
Investigación de modelos bren1995
 
Ciclo Vida Sw
Ciclo Vida SwCiclo Vida Sw
Ciclo Vida Swmsc080277
 
Modelos de Ing de soft
Modelos de Ing de softModelos de Ing de soft
Modelos de Ing de softJazmin Cr
 
Ciclosdevidadelsoftware 120724112952-phpapp02gt
Ciclosdevidadelsoftware 120724112952-phpapp02gtCiclosdevidadelsoftware 120724112952-phpapp02gt
Ciclosdevidadelsoftware 120724112952-phpapp02gtDoris Aguagallo
 
2.- Introducción y Tipos de sistemas de información (2).ppt
2.- Introducción y Tipos de sistemas de información (2).ppt2.- Introducción y Tipos de sistemas de información (2).ppt
2.- Introducción y Tipos de sistemas de información (2).pptMatasEnriqueFarasPea
 
Trabajo de sistemas de software
Trabajo de sistemas de softwareTrabajo de sistemas de software
Trabajo de sistemas de softwareJhonJairoPerez
 
Unidad 3 los modelos de procesos de software
Unidad 3 los modelos de procesos de softwareUnidad 3 los modelos de procesos de software
Unidad 3 los modelos de procesos de softwareAndhy H Palma
 
Unidad 3 los modelos de procesos de software
Unidad 3 los modelos de procesos de softwareUnidad 3 los modelos de procesos de software
Unidad 3 los modelos de procesos de softwareAndhy H Palma
 
1. ciclo de_vida_de_software
1. ciclo de_vida_de_software1. ciclo de_vida_de_software
1. ciclo de_vida_de_softwareMiguel Castro
 
Modelo de cascadaa
Modelo de cascadaaModelo de cascadaa
Modelo de cascadaamendez45
 

Semelhante a Ciclo Vida del Software (20)

Ciclo vida DESARROLLO DE SOFTWARE
Ciclo vida DESARROLLO DE SOFTWARECiclo vida DESARROLLO DE SOFTWARE
Ciclo vida DESARROLLO DE SOFTWARE
 
Los 7 pasos del desarrollo de sistemas informaticos
Los 7 pasos del desarrollo de sistemas informaticosLos 7 pasos del desarrollo de sistemas informaticos
Los 7 pasos del desarrollo de sistemas informaticos
 
Apuntes
ApuntesApuntes
Apuntes
 
T2 infoiii-s
T2 infoiii-sT2 infoiii-s
T2 infoiii-s
 
T2 infoiii-s
T2 infoiii-sT2 infoiii-s
T2 infoiii-s
 
Modelo Descrptivos Del Proceso Del Sofware
Modelo Descrptivos  Del  Proceso Del SofwareModelo Descrptivos  Del  Proceso Del Sofware
Modelo Descrptivos Del Proceso Del Sofware
 
Modelo de desarrollo del software
Modelo de desarrollo del softwareModelo de desarrollo del software
Modelo de desarrollo del software
 
Prototipos
PrototiposPrototipos
Prototipos
 
prueva
pruevaprueva
prueva
 
Investigación de modelos
Investigación de modelos Investigación de modelos
Investigación de modelos
 
Programacion
ProgramacionProgramacion
Programacion
 
Ciclo Vida Sw
Ciclo Vida SwCiclo Vida Sw
Ciclo Vida Sw
 
Modelos de Ing de soft
Modelos de Ing de softModelos de Ing de soft
Modelos de Ing de soft
 
Ciclosdevidadelsoftware 120724112952-phpapp02gt
Ciclosdevidadelsoftware 120724112952-phpapp02gtCiclosdevidadelsoftware 120724112952-phpapp02gt
Ciclosdevidadelsoftware 120724112952-phpapp02gt
 
2.- Introducción y Tipos de sistemas de información (2).ppt
2.- Introducción y Tipos de sistemas de información (2).ppt2.- Introducción y Tipos de sistemas de información (2).ppt
2.- Introducción y Tipos de sistemas de información (2).ppt
 
Trabajo de sistemas de software
Trabajo de sistemas de softwareTrabajo de sistemas de software
Trabajo de sistemas de software
 
Unidad 3 los modelos de procesos de software
Unidad 3 los modelos de procesos de softwareUnidad 3 los modelos de procesos de software
Unidad 3 los modelos de procesos de software
 
Unidad 3 los modelos de procesos de software
Unidad 3 los modelos de procesos de softwareUnidad 3 los modelos de procesos de software
Unidad 3 los modelos de procesos de software
 
1. ciclo de_vida_de_software
1. ciclo de_vida_de_software1. ciclo de_vida_de_software
1. ciclo de_vida_de_software
 
Modelo de cascadaa
Modelo de cascadaaModelo de cascadaa
Modelo de cascadaa
 

Mais de Wilfredo Mogollón

Técnicas e instrumentos para la recopilación de información
Técnicas e instrumentos para la recopilación de informaciónTécnicas e instrumentos para la recopilación de información
Técnicas e instrumentos para la recopilación de informaciónWilfredo Mogollón
 
Ingeniería de software y el paradigma orientado a objetos
Ingeniería de software y el paradigma orientado a objetosIngeniería de software y el paradigma orientado a objetos
Ingeniería de software y el paradigma orientado a objetosWilfredo Mogollón
 
Metodologías de desarrollo de software
Metodologías de desarrollo de softwareMetodologías de desarrollo de software
Metodologías de desarrollo de softwareWilfredo Mogollón
 
Introducción al Análisis Orientado a Objetos
Introducción al Análisis Orientado a ObjetosIntroducción al Análisis Orientado a Objetos
Introducción al Análisis Orientado a ObjetosWilfredo Mogollón
 

Mais de Wilfredo Mogollón (8)

Modelo de requerimientos
Modelo de requerimientosModelo de requerimientos
Modelo de requerimientos
 
Modelado del negocio
Modelado del negocioModelado del negocio
Modelado del negocio
 
Técnicas e instrumentos para la recopilación de información
Técnicas e instrumentos para la recopilación de informaciónTécnicas e instrumentos para la recopilación de información
Técnicas e instrumentos para la recopilación de información
 
Programación extrema (xp)
Programación extrema (xp)Programación extrema (xp)
Programación extrema (xp)
 
Ingeniería de software y el paradigma orientado a objetos
Ingeniería de software y el paradigma orientado a objetosIngeniería de software y el paradigma orientado a objetos
Ingeniería de software y el paradigma orientado a objetos
 
Metodologías de desarrollo de software
Metodologías de desarrollo de softwareMetodologías de desarrollo de software
Metodologías de desarrollo de software
 
Los sistemas información
Los sistemas informaciónLos sistemas información
Los sistemas información
 
Introducción al Análisis Orientado a Objetos
Introducción al Análisis Orientado a ObjetosIntroducción al Análisis Orientado a Objetos
Introducción al Análisis Orientado a Objetos
 

Ciclo Vida del Software

  • 2.  “Una aproximación lógica a la adquisición, el suministro, el desarrollo, la explotación y el mantenimiento del software” IEEE 1074  “Un marco de referencia que contiene los procesos, las actividades y las tareas involucradas en el desarrollo, la explotación y el mantenimiento de un producto de software, abarcando la vida del sistema desde la definición de los requisitos hasta la finalización de su uso” ISO 12207-1
  • 3.
  • 4. FABREGAS: 1- Requerimientos 2- Análisis/Diseño 3- Construcción 4- Pruebas 5- Producción/Mantenimiento SENN: 1- Investigación Preliminar 2- Determ. de Requerimientos. 3- Diseño del Sistema 4- Desarrollo del Software 5- Prueba del Sistema 6- Implantación y Evaluación PRESSMAN: 1- Análisis 2- Diseño 3- Codificación 4- Prueba 5- Mantenimiento EN GENERAL USAREMOS: 1- Análisis 2- Diseño 3- Implementación 4- Mantenimiento
  • 5.
  • 6. • Implantación Ascendente • Las fases deben sucederse de manera Secuencial • El usuario no ve resultados, sino hasta el final • El usuario o el ambiente pueden cambiar las especificaciones originales del sistema. • Presenta numerosos problemas Analista-Usuario • Manejable como proyecto
  • 7. EL USUARIO: FASE 1 FASE 2 FASE 3 FASE N FASE N + 1
  • 9. Esto no es lo que yo esperaba...
  • 10. Y al final del ciclo de Desarrollo del sistema..... ¿ Será que no supe explicarles mis requerimientos ?
  • 11. Y al final del ciclo de Desarrollo del sistema..... Tal vez ellos no me entendieron...
  • 12. ? Y al final del ciclo de Desarrollo del sistema.....
  • 13. No siempre se definen los requerimientos en forma: Completa Correcta y Consistente
  • 14. Sr. Usuario: Tiene que leerse esto, esto, esto... A veces resulta difícil para el usuario, revisar todas las especificaciones Analista
  • 16. Sistemas II. 1. ANALISIS: 1.1. Estudio Preliminar 1.2. Levantamiento de Información 1.3. Definición del Problema 1.4. Elaboración del Modelo Funcional del Sistema actual 1.5. Determinación de Requerimientos 1.6. Descripción y Evaluación de Alternativas 1.7. Aprobación de alternativas
  • 17. Sistemas II. 2.DISEÑO 2.1. Elaborar Modelo Funcional del Sistema Propuesto 2.2. Diseño Lógico 2.3. Elaboración y Presentación del prototipo del Sistema 2.4. Aprobación del Sistema Propuesto
  • 18. Sistemas II. 3. IMPLEMENTACION 3.1. Desarrollo del Software 3.2. Prueba del Sistema 3.3. Puesta en Marcha ¿ Qué significa poner en Marcha un Sistema ?
  • 19. Sistemas II. PUESTA EN MARCHA: Actividad de traslado de una aplicación probada a un ambiente de producción - Acondicionamiento de locales - Organización del Cliente - Entregar aplicación probada - Elaborar datos en Vivo - Adiestramiento - Carga de datos en vivo - Entrega de documentación - Asignar Responsabilidades - Determinar FIN de la instalación
  • 20.
  • 21.  Este, aunque es más comúnmente conocido como modelo en cascada es también llamado «modelo clásico», «modelo tradicional» o «modelo lineal secuencial».
  • 22.  CRITICAS  No refleja realmente el proceso de desarrollo del software  Se tarda mucho tiempo en pasar por todo el ciclo  Perpetua el fracaso de la industria del software en su comunicación con el usuario final  El mantenimiento se realiza en el código fuente  Las revisiones de proyectos de gran complejidad son muy difíciles  Impone una estructura de gestión de proyectos
  • 23.  Los procesos iterativos pueden ayudar a desvelar metas del diseño en el caso de clientes que no saben cómo definir lo que quieren.
  • 24.  Observaciones:  Se evitan proyectos largos y se entrega “Algo de valor” a los usuarios con cierta frecuencia  El usuario se involucra más  Difícil de evaluar el coste total  Difícil de aplicar a sistemas transaccionales que tienden a ser integrados y a operar como un todo  Requiere gestores experimentados  Los errores en los requisitos se detectan tarde.  El resultado puede ser muy positivo.
  • 25.  Consiste en iterar en la fase de análisis tantas veces como sea necesario, mostrando prototipos al usuario para que pueda indicarnos de forma mas eficiente los requisitos del sistema.
  • 26.  Observaciones:  No modifica el flujo del ciclo de vida  Reduce el riesgo de construir productos que no satisfagan las necesidades de los usuarios  Reduce costos y aumenta la probabilidad de éxito  Exige disponer de las herramientas adecuadas  No presenta calidad ni robustez  Una vez identificados todos los requisitos mediante el prototipo, se construye el producto de ingeniería.
  • 27.  PARA QUE SEA EFECTIVO:  Debe ser un sistema con el que se pueda experimentar  Debe ser comparativamente barato (< 10%)  Debe desarrollarse rápidamente  Énfasis en la interfaz de usuario  Equipo de desarrollo reducido  Herramientas y lenguajes adecuados “El prototipado es un medio excelente para recoger el ‘feedback’ (realimentación) del usuario final”
  • 28.  PELIGROS DEL PROTOTIPO  El cliente ve funcionando lo que para él es la primera versión del prototipo que ha sido construido con “plastilina y alambres”, y puede desilusionarse al decirle que el sistema aun no ha sido construido.  El desarrollador puede caer en la tentación de ampliar el prototipo para construir el sistema final sin tener en cuenta los compromisos de calidad y de mantenimiento que tiene con el cliente.
  • 29.  Proporciona potencial para desarrollo rápido de versiones incrementales. En el modelo Espiral el software se construye en una serie de versiones incrementales. En las primeras iteraciones la versión incremental podría ser un modelo en papel o bien un prototipo.
  • 30. En cada vuelta o iteración hay que tener en cuenta:  Los Objetivos: qué necesidad debe cubrir el producto.  Alternativas: las diferentes formas de conseguir los objetivos de forma exitosa, desde diferentes puntos de vista como pueden ser:  Características: experiencia del personal, requisitos a cumplir, etc.  Formas de gestión del sistema.  Riesgo asumido con cada alternativa.  Desarrollar yVerificar: Programar y probar el software.
  • 31.  Observaciones  Trata de mejorar los ciclos de vida clásicos y prototipos.  Permite acomodar otros modelos  Incorpora objetivos de calidad y gestión de riesgos  Elimina errores y alternativas no atractivas al comienzo  Permite iteraciones, vuelta atrás y finalizaciones rápidas  Cada ciclo empieza identificando: ▪ Los objetivos de la porción correspondiente ▪ Las alternativas ▪ Restricciones  Cada ciclo se completa con una revisión que incluye todo el ciclo anterior y el plan para el siguiente.
  • 32.  Reconocimiento explícito de las diferentes alternativas.  Identificación de riesgos para cada alternativa desde el comienzo.  Al dividir el proyecto en ciclos, al final de cada uno existe un acuerdo para los cambios que hay que realizar en el sistema.  El modelo se adapta a cualquier tipo de actividad adicional.
  • 33.
  • 34.  Principios  Existen similitudes entre distintos sistemas de un mismo dominio de aplicación  El software puede representarse como una combinación de módulos  Diseñar aplicaciones = especificar módulos + interrelaciones  Los sistemas nuevos se pueden caracterizar por diferencias respecto a los antiguos  Reduce tiempos y costes de desarrollo  Aumenta la fiabilidad  Dificultad para reconocer los componentes potencialmente reutilizables  Dificultad de catalogación y recuperación  Problemas de motivación  Problemas de gestión de configuración.
  • 35.
  • 36.  Se define el sistema utilizando un lenguaje formal.  La implementación es automática, asistida por el ordenador.  La documentación se genera de forma automática.  El mantenimiento se realiza “por sustitución” no mediante “parches”.  Dificultad en la participación del usuario.  Diseños poco optimizados.