SlideShare una empresa de Scribd logo
1 de 15
Modelos de Desarrollo de
Software
Modelos de Desarrollo de Software
Contenido
• Información general: Modelos de Desarrollo de
Software
- Modelo en cascada
- Modelo de construcción de prototipos
- Modelo incremental
- Modelo en espiral
- Modelos ágiles
• Cuadro Comparativo
• Análisis
Modelos de Desarrollo de Software
¿Modelos básicos de procesos?
...modelos de procesos muy generales (algunas
veces llamados paradigmas de
proceso) ... Esto es, vemos el marco de trabajo
del proceso, pero no los detalles de
actividades específicas. Estos modelos generales
no son descripciones definitivas
de los procesos del software. Más bien, son
abstracciones de los procesos que se
pueden usar para explicar diferentes enfoques del
desarrollo de software...
Ian Sommerville
Modelos de Desarrollo de Software
Modelo en Cascada
Este es el más básico de todos los modelos, y sirve como bloque de construcción para los
demás modelos de ciclo de vida. La visión del modelo cascada del desarrollo de software es
muy simple; dice que el desarrollo de software puede ser a través de una secuencia simple de
fases. Cada fase tiene un conjunto de metas bien definidas, y las actividades dentro de una fase
contribuyen a la satisfacción de metas de esa fase o quizás a una sub-secuencia de metas de la
fase. Las flechas muestran el flujo de información entre las fases. La flecha de avance muestra
el flujo normal. Las flechas hacia atrás representan la retroalimentación.
Modelos de Desarrollo de Software
Modelo en Cascada
En esta fase se analizan las
necesidades de los usuarios
finales del software para
determinar qué objetivos debe
cubrir.
Descompone y organiza el sistema en
elementos que puedan elaborarse por
separado, aprovechando las ventajas
del desarrollo en equipo.Es la fase en donde se implementa
el código fuente, haciendo uso de
prototipos así como de pruebas y
ensayos para corregir errores.
Es la fase en donde el usuario final ejecuta
el sistema, para ello el o los
programadores ya realizaron exhaustivas
pruebas para comprobar que el sistema no
falle.
MantenimientoMantenimiento
Una de las etapas más críticas, ya que se destina un
75 % de los recursos, es el mantenimiento del
software ya que al utilizarlo como usuario final puede
ser que no cumpla con todas nuestras expectativas.
Modelos de Desarrollo de Software
Modelo de Construcción de Prototipos
El prototipado de requerimientos es la creación de una implementación parcial de un sistema,
para el propósito explícito de aprender sobre los requerimientos del sistema. Un prototipo es
construido de una manera rápida tal como sea posible. Esto es dado a los usuarios, clientes o
representantes de ellos, posibilitando que ellos experimenten con el prototipo. Estos individuos
luego proveen la retroalimentación sobre lo que a ellos les gustó y no les gustó acerca del
prototipo proporcionado, quienes capturan en la documentación actual de la especificación de
requerimientos la información entregada por los usuarios para el desarrollo del sistema real. El
prototipado puede ser usado como parte de la fase de requerimientos (determinar
requerimientos) o justo antes de la fase de requerimientos (como predecesor de requerimientos).
En otro caso, el prototipado puede servir su papel inmediatamente antes de algún o todo el
desarrollo incremental en modelos incremental o evolutivo.
Modelos de Desarrollo de Software
Modelo de Construcción de Prototipos
El Modelo de prototipos, en Ingeniería de
software, pertenece a los modelos de
desarrollo evolutivo. El prototipo debe ser
construido en poco tiempo, usando los
programas adecuados y no se debe utilizar
muchos recursos.
El diseño rápido se centra en una
representación de aquellos aspectos del
software que serán visibles para el cliente o el
usuario final. Este diseño conduce a la
construcción de un prototipo, el cual es
evaluado por el cliente para una
retroalimentación; gracias a ésta se refinan los
requisitos del software que se desarrollará. La
interacción ocurre cuando el prototipo se ajusta
para satisfacer las necesidades del cliente.
Esto permite que al mismo tiempo el
desarrollador entienda mejor lo que se debe
hacer y el cliente vea resultados a corto plazo.
Etapas
Plan rápido.
Modelado, diseño rápido
Construcción del Prototipo
Desarrollo, entrega y retroalimentación
Comunicación
Entrega del desarrollo final
Modelos de Desarrollo de Software
Modelo Incremental
Los riesgos asociados con el desarrollo de sistemas largos y complejos son enormes. Una forma
de reducir los riesgos es construir sólo una parte del sistema, reservando otros aspectos para
niveles posteriores. El desarrollo incremental es el proceso de construcción siempre
incrementando subconjuntos de requerimientos del sistema. Típicamente, un documento de
requerimientos es escrito al capturar todos los requerimientos para el sistema completo.
Note que el desarrollo incremental es 100% compatible con el modelo cascada. El desarrollo
incremental no demanda una forma específica de observar el desarrollo de algún otro incremento.
Así, el modelo cascada puede ser usado para administrar cada esfuerzo de desarrollo, como se
muestra en la figura.
Modelos de Desarrollo de Software
Modelo Incremental
El modelo de desarrollo incremental provee algunos beneficios significativos para los proyectos:
•Construir un sistema pequeño es siempre menos riesgoso que construir un sistema grande.
•Al ir desarrollando parte de las funcionalidades, es más fácil determinar si los requerimientos planeados
para los niveles subsiguientes son correctos.
•Si un error importante es realizado, sólo la última iteración necesita ser descartada.
•Reduciendo el tiempo de desarrollo de un sistema (en este caso en incremento del sistema) decrecen las
probabilidades que esos requerimientos de usuarios puedan cambiar durante el desarrollo.
•Si un error importante es realizado, el incremento previo puede ser usado.
•Los errores de desarrollo realizados en un incremento, pueden ser arreglados antes del comienzo del
próximo incremento.
Modelos de Desarrollo de Software
Modelo en Espiral
Este es un modelo de proceso de software
evolutivo, el cual enlaza la naturaleza iterativa de
la construcción de prototipos, pero conservado
aquellas propiedades del modelo en cascada.
El modelo en espiral fue desarrollado por
Boehm, quien lo describe así:
El modelo de desarrollo en espiral es un
generador de modelo de proceso guiado por el
riesgo que se emplea para conducir sistemas
intensivos de ingeniería de software concurrente
y a la vez con muchos usuarios.
Modelos de Desarrollo de Software
Modelo en Espiral
Si el resultado no es el adecuado o se necesita implementar mejoras o funcionalidades:
Se planificaran los siguientes pasos y se comienza un nuevo ciclo de la espiral. La espiral tiene
una forma de caracola y se dice que mantiene dos dimensiones, la radial y la angular:
Angular: Indica el avance del proyecto del software dentro de un ciclo.
Radial: Indica el aumento del coste del proyecto, ya que con cada nueva iteración se pasa más
tiempo desarrollando.
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 y Verificar: Programar y probar el
software.
Tareas
Para cada ciclo habrá cuatro actividades:
-Determinar Objetivos.
-Análisis del riesgo.
-Desarrollar y probar.
-Planificación.
Modelos de Desarrollo de Software
Modelos Ágiles
El desarrollo ágil de software envuelve
un enfoque para la toma de decisiones
en los proyectos de software, que se
refiere a métodos de ingeniería del
software basados en el desarrollo
iterativo e incremental, donde los
requisitos y soluciones evolucionan
con el tiempo según la necesidad del
proyecto. Así el trabajo es realizado
mediante la colaboración de equipos
auto-organizados y multidisciplinarios,
inmersos en un proceso compartido de
toma de decisiones a corto plazo.
Cada iteración del ciclo de vida incluye: planificación, análisis de requisitos, diseño,
codificación, pruebas y documentación. Teniendo gran importancia el concepto de
"Finalizado" (Done), ya que el objetivo de cada iteración no es agregar toda la
funcionalidad para justificar el lanzamiento del producto al mercado, sino incrementar
el valor por medio de "software que funciona" (sin errores).
Modelos de Desarrollo de Software
Características de Modelos Ágiles
1) El desarrollo del plan: Determinar rápidamente el alcance de la siguiente iteración / entrega en base a las prioridades
del negocio (cliente) y los estimados técnicos. Estar dispuestos a cambiar el plan a medida que es necesario.
2) Liberar mucho, en incrementos pequeños: Poner el sistema en producción los más rápido posible (el mínimo
necesario) y desarrollar las siguientes versiones con el ciclo lo mas corto posible.
3)Diseño simple: Mantener el diseño lo más simple posible (KISS: Keep it Simple Stup$%#id), concentrarse en el
presente y no en el futuro (YAGNI: You ain't going to need it)
4) Pruebas unitarias continuas: Sirven para evitar que los programadores se equivoquen, para evitar las “parcelas” de
código y para validar constantemente la aplicación. Los clientes también pueden escribir pruebas para validar / demostrar
ciertas características del sistema.
5) Programación en parejas: Todo el código a ponerse en producción es escrito en parejas. ¿Sabe usted por que?
6) Propiedad colectiva: Nadie es dueño de ninguna clase, de ningún artefacto, de ninguna parte del código.
7) Integración continua: Las características del sistema se desarrollan y se integran a diario. Luego se corren las pruebas
y se verifica que la aplicación corra correctamente.
8) 40 horas a la semana: Nadie. ¡NADIE! Trabaja horas extra. ¿Sabe usted porque?
9) El cliente involucrado en el ambiente de desarrollo: El cliente (o un representante) es un miembro más del equipo de
desarrollo.
10)Estándares de codificación: Se definen estándares adecuados de codificación y se respetan. Sobre todo aquellos que
enfatizan la “auto-documentación” y adecuada documentación del código.
Modelos de Desarrollo de Software
Cuadro
Comparativo Modelo en Cascada Modelo Incremental Modelo en Espiral
Ventajas
Permite a los administradores,
avanzar en el desarrollo, aunque
en una escala muy bruta.
El modelo proporciona todas las
ventajas del modelo en cascada
realimentado, reduciendo sus
desventajas sólo al ámbito de cada
incremento.
Al ser un modelo de Ciclo de
Vida orientado al riesgo se
dice que uno de los aspectos
fundamentales de su éxito
radica en que el equipo que lo
aplique sea capaz de detectar
y catalogar correctamente
dicho riesgo.
Desventajas
Los cambios introducidos durante el
desarrollo pueden confundir al
equipo profesional en las etapas
tempranas del proyecto. Si los
cambios se producen en etapa
madura (codificación o prueba)
pueden ser catastróficos para un
proyecto grande.
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.
Requiere mucha experiencia y
habilidad para la evaluación
de los riesgos, lo cual es
requisito para el éxito del
proyecto. Es difícil convencer
a los grandes clientes que se
podrá controlar este enfoque
evolutivo.
Crítica
Este es un modelo en el cual se
debe usar cuando todos los
requerimientos han sido
establecidos claramente de
entrada.
En este modelo se debe especificar
con precisión todo lo que el sistema
va a hacer antes de desarrollarlo. Lo
cual lo hace manejable y disminuiría
los costos.
Este modelo es útil para
grandes proyectos pero no ha
sido utilizado tanto como el
lineal secuencial o el de
prototipos.
Características
Planear un proyecto antes de
embarcarse en él. Definir el
comportamiento externo
deseado del sistema antes de
diseñar su arquitectura interna.
Documentar los resultados de
cada actividad. Diseñar un
sistema antes de codificarlo.
Testear un sistema después de
construirlo.
Construir un sistema pequeño es
siempre menos riesgoso. Al ir
desarrollando parte de las
funcionalidades, es más fácil
determinar si los requerimientos para
los niveles subsiguientes son
correctos. Si un error importante es
realizado, sólo la última iteración
necesita ser descartada.
Un enfoque cíclico para el
crecimiento incremental del
grado de definición e
implementación de un
sistema, mientras que
disminuye su grado de riesgo.
Un conjunto de puntos de
fijación para asegurar el
compromiso del usuario con
soluciones.
Modelos de Desarrollo de Software
Análisis
Para el desarrollo de software utilizaría preferiblemente el
Modelo de Construcción de Prototipos, ya que con este
modelo podremos saber de manera mas precisa el producto
que necesita el cliente y al obtener la retroalimentación dada
por este, se mejorara el software de tal manera que el cliente
quede totalmente satisfecho con el producto final.
De igual manera también trabajaría con el Modelo
Incremental, por la posibilidad de crear software mas
complejos y por el hecho de trabajar en sub-categorías que
mejoraran el funcionamiento de las mismas.
Radel Fuentes
C.I.: 20503510

Más contenido relacionado

La actualidad más candente

Introducción a la Ingenieria de Software
Introducción a la Ingenieria de SoftwareIntroducción a la Ingenieria de Software
Introducción a la Ingenieria de Software
Sorey García
 
Evaluacion de arquitecturas
Evaluacion de arquitecturasEvaluacion de arquitecturas
Evaluacion de arquitecturas
Samis Ambrocio
 
Atributos de calidad en el desarrollo de software
Atributos de calidad en el desarrollo de softwareAtributos de calidad en el desarrollo de software
Atributos de calidad en el desarrollo de software
Gustavo Cuen
 
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
Xochitl Saucedo Muñoz
 

La actualidad más candente (20)

Rational rose
Rational roseRational rose
Rational rose
 
Introducción a la Ingenieria de Software
Introducción a la Ingenieria de SoftwareIntroducción a la Ingenieria de Software
Introducción a la Ingenieria de Software
 
Buenas Prácticas en Gestión de Servicios de TI
Buenas Prácticas en Gestión de Servicios de TIBuenas Prácticas en Gestión de Servicios de TI
Buenas Prácticas en Gestión de Servicios de TI
 
Evaluacion de arquitecturas
Evaluacion de arquitecturasEvaluacion de arquitecturas
Evaluacion de arquitecturas
 
Modelos de procesos de Software
Modelos de procesos de SoftwareModelos de procesos de Software
Modelos de procesos de Software
 
Pruebas de software
Pruebas de softwarePruebas de software
Pruebas de software
 
Ejemplo rup
Ejemplo rupEjemplo rup
Ejemplo rup
 
Procesos De Ingenieria Del Software
Procesos De Ingenieria Del SoftwareProcesos De Ingenieria Del Software
Procesos De Ingenieria Del Software
 
metodologia de prototipos
metodologia de prototiposmetodologia de prototipos
metodologia de prototipos
 
Gestión de proyectos de software - Tema 3: Planificación del proyecto
Gestión de proyectos de software - Tema 3: Planificación del proyectoGestión de proyectos de software - Tema 3: Planificación del proyecto
Gestión de proyectos de software - Tema 3: Planificación del proyecto
 
Estimación de Proyectos de Software
Estimación de Proyectos de SoftwareEstimación de Proyectos de Software
Estimación de Proyectos de Software
 
Calidad de software
Calidad de softwareCalidad de software
Calidad de software
 
Atributos de calidad en el desarrollo de software
Atributos de calidad en el desarrollo de softwareAtributos de calidad en el desarrollo de software
Atributos de calidad en el desarrollo de software
 
Mobile D (programacion dispositivos moviles)
Mobile D (programacion dispositivos moviles)Mobile D (programacion dispositivos moviles)
Mobile D (programacion dispositivos moviles)
 
Tipos de pruebas de software
Tipos de pruebas de softwareTipos de pruebas de software
Tipos de pruebas de software
 
5. Métodos de Prueba de Software
5. Métodos de Prueba de Software5. Métodos de Prueba de Software
5. Métodos de Prueba de Software
 
Metodologia rup
Metodologia rupMetodologia rup
Metodologia rup
 
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
 
Metodologias xp
Metodologias xpMetodologias xp
Metodologias xp
 
Taller de Programación Distribuida
Taller de Programación DistribuidaTaller de Programación Distribuida
Taller de Programación Distribuida
 

Destacado

Modelos para el desarrollo de software V3
Modelos para el desarrollo de software V3Modelos para el desarrollo de software V3
Modelos para el desarrollo de software V3
Marco Guerrero
 
Modelos para hacer proyectos
Modelos para hacer proyectosModelos para hacer proyectos
Modelos para hacer proyectos
Solangela Mira
 
modelos del proceso del software
 modelos del proceso del software  modelos del proceso del software
modelos del proceso del software
Brihany Rossell
 

Destacado (20)

Modelos para el desarrollo de software V3
Modelos para el desarrollo de software V3Modelos para el desarrollo de software V3
Modelos para el desarrollo de software V3
 
Proyecto Innovate mc donald
Proyecto Innovate mc donaldProyecto Innovate mc donald
Proyecto Innovate mc donald
 
Proceso de desarrollo del software
Proceso de desarrollo del softwareProceso de desarrollo del software
Proceso de desarrollo del software
 
diapositivas
diapositivasdiapositivas
diapositivas
 
Sesion5 requerimientos de software
Sesion5 requerimientos de softwareSesion5 requerimientos de software
Sesion5 requerimientos de software
 
Modelos para hacer proyectos
Modelos para hacer proyectosModelos para hacer proyectos
Modelos para hacer proyectos
 
PLAN DE DESARROLLO PROFESIONAL
PLAN DE DESARROLLO PROFESIONALPLAN DE DESARROLLO PROFESIONAL
PLAN DE DESARROLLO PROFESIONAL
 
Modelo incremental
Modelo incrementalModelo incremental
Modelo incremental
 
Tendencias actuales del desarrollo de software
Tendencias actuales del desarrollo de softwareTendencias actuales del desarrollo de software
Tendencias actuales del desarrollo de software
 
Conclusiones de Unidad 1 - Sistemas Operativos.
Conclusiones de Unidad 1 - Sistemas Operativos.Conclusiones de Unidad 1 - Sistemas Operativos.
Conclusiones de Unidad 1 - Sistemas Operativos.
 
Sesión 3: Modelos prescriptivos de proceso
Sesión 3: Modelos prescriptivos de procesoSesión 3: Modelos prescriptivos de proceso
Sesión 3: Modelos prescriptivos de proceso
 
4. Desarrollo ágil de software
4. Desarrollo ágil de software4. Desarrollo ágil de software
4. Desarrollo ágil de software
 
Ingeniería inversa y reingeniería de software
Ingeniería inversa y reingeniería de softwareIngeniería inversa y reingeniería de software
Ingeniería inversa y reingeniería de software
 
Modelo de desarrollo de software
Modelo de desarrollo de softwareModelo de desarrollo de software
Modelo de desarrollo de software
 
Metodologias agiles
Metodologias agilesMetodologias agiles
Metodologias agiles
 
Señales
SeñalesSeñales
Señales
 
Plan de desarrollo software
Plan de desarrollo softwarePlan de desarrollo software
Plan de desarrollo software
 
Modelos de software ventajas y desventajas
Modelos de software ventajas y desventajasModelos de software ventajas y desventajas
Modelos de software ventajas y desventajas
 
Modelos de desarrollo de software
Modelos de desarrollo de softwareModelos de desarrollo de software
Modelos de desarrollo de software
 
modelos del proceso del software
 modelos del proceso del software  modelos del proceso del software
modelos del proceso del software
 

Similar a Modelos de desarrollo de software

Unidad 4 Modelos de Procesos del Software
Unidad 4 Modelos de Procesos del SoftwareUnidad 4 Modelos de Procesos del Software
Unidad 4 Modelos de Procesos del Software
rezzaca
 
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
Andhy H Palma
 
MODELO DE DESARRROLLO DE SOFTWARE
MODELO DE DESARRROLLO DE SOFTWAREMODELO DE DESARRROLLO DE SOFTWARE
MODELO DE DESARRROLLO DE SOFTWARE
Jesus Yepez
 
Metodología de desarrollo de software
Metodología de desarrollo de softwareMetodología de desarrollo de software
Metodología de desarrollo de software
Abner Garcia
 

Similar a Modelos de desarrollo de software (20)

Modelos del software
Modelos del softwareModelos del software
Modelos del software
 
Jhostin vasquez modelos de software
Jhostin vasquez   modelos de softwareJhostin vasquez   modelos de software
Jhostin vasquez modelos de software
 
Modelos de proceso del software
Modelos de proceso del softwareModelos de proceso del software
Modelos de proceso del software
 
Modelos de Ing de soft
Modelos de Ing de softModelos de Ing de soft
Modelos de Ing de soft
 
Act18
Act18Act18
Act18
 
Unidad 4 Modelos de Procesos del Software
Unidad 4 Modelos de Procesos del SoftwareUnidad 4 Modelos de Procesos del Software
Unidad 4 Modelos de Procesos del Software
 
Modelos de Desarrollo del Software
Modelos de Desarrollo del SoftwareModelos de Desarrollo del Software
Modelos de Desarrollo del Software
 
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
 
Modelos
ModelosModelos
Modelos
 
Investigación de modelos
Investigación de modelos Investigación de modelos
Investigación de modelos
 
(Inmer)La Ingenieria de Software
(Inmer)La Ingenieria de Software(Inmer)La Ingenieria de Software
(Inmer)La Ingenieria de Software
 
MODELO DE DESARRROLLO DE SOFTWARE
MODELO DE DESARRROLLO DE SOFTWAREMODELO DE DESARRROLLO DE SOFTWARE
MODELO DE DESARRROLLO DE SOFTWARE
 
Metodología de desarrollo de software
Metodología de desarrollo de softwareMetodología de desarrollo de software
Metodología de desarrollo de software
 
ciclo_de_vida_software
ciclo_de_vida_softwareciclo_de_vida_software
ciclo_de_vida_software
 
prueva
pruevaprueva
prueva
 
Los modelos de desarrollo de software (hendrick rodriguez )
Los modelos de desarrollo de software (hendrick rodriguez )Los modelos de desarrollo de software (hendrick rodriguez )
Los modelos de desarrollo de software (hendrick rodriguez )
 
SDLC.pptx
SDLC.pptxSDLC.pptx
SDLC.pptx
 
Modelos de desarrollo de software
Modelos de desarrollo de softwareModelos de desarrollo de software
Modelos de desarrollo de software
 

Último

Anclaje Grupo 5..pptx de todo tipo de anclaje
Anclaje Grupo 5..pptx de todo tipo de anclajeAnclaje Grupo 5..pptx de todo tipo de anclaje
Anclaje Grupo 5..pptx de todo tipo de anclaje
klebersky23
 
Reporte de incidencia delictiva Silao marzo 2024
Reporte de incidencia delictiva Silao marzo 2024Reporte de incidencia delictiva Silao marzo 2024
Reporte de incidencia delictiva Silao marzo 2024
OBSERVATORIOREGIONAL
 
METODOLOGÍA 5S - PRESENTACION DE INICIO DEL PROYECTO
METODOLOGÍA 5S - PRESENTACION DE INICIO DEL PROYECTOMETODOLOGÍA 5S - PRESENTACION DE INICIO DEL PROYECTO
METODOLOGÍA 5S - PRESENTACION DE INICIO DEL PROYECTO
JoselynGoeTmara
 
REPORTE DE HOMICIDIO DOLOSO IRAPUATO ABRIL 2024
REPORTE DE HOMICIDIO DOLOSO IRAPUATO ABRIL 2024REPORTE DE HOMICIDIO DOLOSO IRAPUATO ABRIL 2024
REPORTE DE HOMICIDIO DOLOSO IRAPUATO ABRIL 2024
IrapuatoCmovamos
 

Último (20)

5558423-peru-evolucion-de-la-pobreza-monetaria-2014-2023(2).pdf
5558423-peru-evolucion-de-la-pobreza-monetaria-2014-2023(2).pdf5558423-peru-evolucion-de-la-pobreza-monetaria-2014-2023(2).pdf
5558423-peru-evolucion-de-la-pobreza-monetaria-2014-2023(2).pdf
 
Anclaje Grupo 5..pptx de todo tipo de anclaje
Anclaje Grupo 5..pptx de todo tipo de anclajeAnclaje Grupo 5..pptx de todo tipo de anclaje
Anclaje Grupo 5..pptx de todo tipo de anclaje
 
4° UNIDAD DE APRENDIZAJE 2 MAYO 2024.docx
4°  UNIDAD DE APRENDIZAJE 2 MAYO  2024.docx4°  UNIDAD DE APRENDIZAJE 2 MAYO  2024.docx
4° UNIDAD DE APRENDIZAJE 2 MAYO 2024.docx
 
CUADRO COMPARATIVO DE ARCHIVOS Y CARPETAS.pptx
CUADRO COMPARATIVO DE ARCHIVOS Y CARPETAS.pptxCUADRO COMPARATIVO DE ARCHIVOS Y CARPETAS.pptx
CUADRO COMPARATIVO DE ARCHIVOS Y CARPETAS.pptx
 
AMNIOS Y CORDON UMBILICAL en el 3 embarazo (1).docx
AMNIOS Y CORDON UMBILICAL en el 3 embarazo (1).docxAMNIOS Y CORDON UMBILICAL en el 3 embarazo (1).docx
AMNIOS Y CORDON UMBILICAL en el 3 embarazo (1).docx
 
data lista de ingresantes de la universidad de ucayali 2024.pdf
data lista de ingresantes de la universidad de ucayali 2024.pdfdata lista de ingresantes de la universidad de ucayali 2024.pdf
data lista de ingresantes de la universidad de ucayali 2024.pdf
 
Reporte de incidencia delictiva Silao marzo 2024
Reporte de incidencia delictiva Silao marzo 2024Reporte de incidencia delictiva Silao marzo 2024
Reporte de incidencia delictiva Silao marzo 2024
 
MARCO TEORICO, SEMINARIO DE INVESTIGACION,
MARCO TEORICO, SEMINARIO DE INVESTIGACION,MARCO TEORICO, SEMINARIO DE INVESTIGACION,
MARCO TEORICO, SEMINARIO DE INVESTIGACION,
 
METODOLOGÍA 5S - PRESENTACION DE INICIO DEL PROYECTO
METODOLOGÍA 5S - PRESENTACION DE INICIO DEL PROYECTOMETODOLOGÍA 5S - PRESENTACION DE INICIO DEL PROYECTO
METODOLOGÍA 5S - PRESENTACION DE INICIO DEL PROYECTO
 
Unidad 6 estadística 2011 TABLA DE FRECUENCIA
Unidad 6 estadística 2011  TABLA DE FRECUENCIAUnidad 6 estadística 2011  TABLA DE FRECUENCIA
Unidad 6 estadística 2011 TABLA DE FRECUENCIA
 
Las familias más ricas de África en el año (2024).pdf
Las familias más ricas de África en el año (2024).pdfLas familias más ricas de África en el año (2024).pdf
Las familias más ricas de África en el año (2024).pdf
 
PRESENTACION SOBRE LA HOJA DE CALCULO ⠀⠀
PRESENTACION SOBRE LA HOJA DE CALCULO ⠀⠀PRESENTACION SOBRE LA HOJA DE CALCULO ⠀⠀
PRESENTACION SOBRE LA HOJA DE CALCULO ⠀⠀
 
Asignatura-Optativa-Sociologia-CS-3BGU.pdf
Asignatura-Optativa-Sociologia-CS-3BGU.pdfAsignatura-Optativa-Sociologia-CS-3BGU.pdf
Asignatura-Optativa-Sociologia-CS-3BGU.pdf
 
Crecimiento del PIB real revisado sexenios neoliberales y nueva era del sober...
Crecimiento del PIB real revisado sexenios neoliberales y nueva era del sober...Crecimiento del PIB real revisado sexenios neoliberales y nueva era del sober...
Crecimiento del PIB real revisado sexenios neoliberales y nueva era del sober...
 
Las familias más ricas del medio oriente (2024).pdf
Las familias más ricas del medio oriente (2024).pdfLas familias más ricas del medio oriente (2024).pdf
Las familias más ricas del medio oriente (2024).pdf
 
procedimiento paran la planificación en los centros educativos tipo v(multig...
procedimiento  paran la planificación en los centros educativos tipo v(multig...procedimiento  paran la planificación en los centros educativos tipo v(multig...
procedimiento paran la planificación en los centros educativos tipo v(multig...
 
Alfredo Gabriel Rodriguez Yajure Tarea#1
Alfredo Gabriel Rodriguez Yajure Tarea#1Alfredo Gabriel Rodriguez Yajure Tarea#1
Alfredo Gabriel Rodriguez Yajure Tarea#1
 
REPORTE DE HOMICIDIO DOLOSO IRAPUATO ABRIL 2024
REPORTE DE HOMICIDIO DOLOSO IRAPUATO ABRIL 2024REPORTE DE HOMICIDIO DOLOSO IRAPUATO ABRIL 2024
REPORTE DE HOMICIDIO DOLOSO IRAPUATO ABRIL 2024
 
Principales Retos Demográficos de Puerto Rico
Principales Retos Demográficos de Puerto RicoPrincipales Retos Demográficos de Puerto Rico
Principales Retos Demográficos de Puerto Rico
 
SEMANA II - EQUIPOS, INSTRUMENTOS Y MATERIALES TOPOGRAFICOS.pdf
SEMANA II - EQUIPOS, INSTRUMENTOS Y MATERIALES TOPOGRAFICOS.pdfSEMANA II - EQUIPOS, INSTRUMENTOS Y MATERIALES TOPOGRAFICOS.pdf
SEMANA II - EQUIPOS, INSTRUMENTOS Y MATERIALES TOPOGRAFICOS.pdf
 

Modelos de desarrollo de software

  • 1. Modelos de Desarrollo de Software
  • 2. Modelos de Desarrollo de Software Contenido • Información general: Modelos de Desarrollo de Software - Modelo en cascada - Modelo de construcción de prototipos - Modelo incremental - Modelo en espiral - Modelos ágiles • Cuadro Comparativo • Análisis
  • 3. Modelos de Desarrollo de Software ¿Modelos básicos de procesos? ...modelos de procesos muy generales (algunas veces llamados paradigmas de proceso) ... Esto es, vemos el marco de trabajo del proceso, pero no los detalles de actividades específicas. Estos modelos generales no son descripciones definitivas de los procesos del software. Más bien, son abstracciones de los procesos que se pueden usar para explicar diferentes enfoques del desarrollo de software... Ian Sommerville
  • 4. Modelos de Desarrollo de Software Modelo en Cascada Este es el más básico de todos los modelos, y sirve como bloque de construcción para los demás modelos de ciclo de vida. La visión del modelo cascada del desarrollo de software es muy simple; dice que el desarrollo de software puede ser a través de una secuencia simple de fases. Cada fase tiene un conjunto de metas bien definidas, y las actividades dentro de una fase contribuyen a la satisfacción de metas de esa fase o quizás a una sub-secuencia de metas de la fase. Las flechas muestran el flujo de información entre las fases. La flecha de avance muestra el flujo normal. Las flechas hacia atrás representan la retroalimentación.
  • 5. Modelos de Desarrollo de Software Modelo en Cascada En esta fase se analizan las necesidades de los usuarios finales del software para determinar qué objetivos debe cubrir. Descompone y organiza el sistema en elementos que puedan elaborarse por separado, aprovechando las ventajas del desarrollo en equipo.Es la fase en donde se implementa el código fuente, haciendo uso de prototipos así como de pruebas y ensayos para corregir errores. Es la fase en donde el usuario final ejecuta el sistema, para ello el o los programadores ya realizaron exhaustivas pruebas para comprobar que el sistema no falle. MantenimientoMantenimiento Una de las etapas más críticas, ya que se destina un 75 % de los recursos, es el mantenimiento del software ya que al utilizarlo como usuario final puede ser que no cumpla con todas nuestras expectativas.
  • 6. Modelos de Desarrollo de Software Modelo de Construcción de Prototipos El prototipado de requerimientos es la creación de una implementación parcial de un sistema, para el propósito explícito de aprender sobre los requerimientos del sistema. Un prototipo es construido de una manera rápida tal como sea posible. Esto es dado a los usuarios, clientes o representantes de ellos, posibilitando que ellos experimenten con el prototipo. Estos individuos luego proveen la retroalimentación sobre lo que a ellos les gustó y no les gustó acerca del prototipo proporcionado, quienes capturan en la documentación actual de la especificación de requerimientos la información entregada por los usuarios para el desarrollo del sistema real. El prototipado puede ser usado como parte de la fase de requerimientos (determinar requerimientos) o justo antes de la fase de requerimientos (como predecesor de requerimientos). En otro caso, el prototipado puede servir su papel inmediatamente antes de algún o todo el desarrollo incremental en modelos incremental o evolutivo.
  • 7. Modelos de Desarrollo de Software Modelo de Construcción de Prototipos El Modelo de prototipos, en Ingeniería de software, pertenece a los modelos de desarrollo evolutivo. El prototipo debe ser construido en poco tiempo, usando los programas adecuados y no se debe utilizar muchos recursos. El diseño rápido se centra en una representación de aquellos aspectos del software que serán visibles para el cliente o el usuario final. Este diseño conduce a la construcción de un prototipo, el cual es evaluado por el cliente para una retroalimentación; gracias a ésta se refinan los requisitos del software que se desarrollará. La interacción ocurre cuando el prototipo se ajusta para satisfacer las necesidades del cliente. Esto permite que al mismo tiempo el desarrollador entienda mejor lo que se debe hacer y el cliente vea resultados a corto plazo. Etapas Plan rápido. Modelado, diseño rápido Construcción del Prototipo Desarrollo, entrega y retroalimentación Comunicación Entrega del desarrollo final
  • 8. Modelos de Desarrollo de Software Modelo Incremental Los riesgos asociados con el desarrollo de sistemas largos y complejos son enormes. Una forma de reducir los riesgos es construir sólo una parte del sistema, reservando otros aspectos para niveles posteriores. El desarrollo incremental es el proceso de construcción siempre incrementando subconjuntos de requerimientos del sistema. Típicamente, un documento de requerimientos es escrito al capturar todos los requerimientos para el sistema completo. Note que el desarrollo incremental es 100% compatible con el modelo cascada. El desarrollo incremental no demanda una forma específica de observar el desarrollo de algún otro incremento. Así, el modelo cascada puede ser usado para administrar cada esfuerzo de desarrollo, como se muestra en la figura.
  • 9. Modelos de Desarrollo de Software Modelo Incremental El modelo de desarrollo incremental provee algunos beneficios significativos para los proyectos: •Construir un sistema pequeño es siempre menos riesgoso que construir un sistema grande. •Al ir desarrollando parte de las funcionalidades, es más fácil determinar si los requerimientos planeados para los niveles subsiguientes son correctos. •Si un error importante es realizado, sólo la última iteración necesita ser descartada. •Reduciendo el tiempo de desarrollo de un sistema (en este caso en incremento del sistema) decrecen las probabilidades que esos requerimientos de usuarios puedan cambiar durante el desarrollo. •Si un error importante es realizado, el incremento previo puede ser usado. •Los errores de desarrollo realizados en un incremento, pueden ser arreglados antes del comienzo del próximo incremento.
  • 10. Modelos de Desarrollo de Software Modelo en Espiral Este es un modelo de proceso de software evolutivo, el cual enlaza la naturaleza iterativa de la construcción de prototipos, pero conservado aquellas propiedades del modelo en cascada. El modelo en espiral fue desarrollado por Boehm, quien lo describe así: El modelo de desarrollo en espiral es un generador de modelo de proceso guiado por el riesgo que se emplea para conducir sistemas intensivos de ingeniería de software concurrente y a la vez con muchos usuarios.
  • 11. Modelos de Desarrollo de Software Modelo en Espiral Si el resultado no es el adecuado o se necesita implementar mejoras o funcionalidades: Se planificaran los siguientes pasos y se comienza un nuevo ciclo de la espiral. La espiral tiene una forma de caracola y se dice que mantiene dos dimensiones, la radial y la angular: Angular: Indica el avance del proyecto del software dentro de un ciclo. Radial: Indica el aumento del coste del proyecto, ya que con cada nueva iteración se pasa más tiempo desarrollando. 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 y Verificar: Programar y probar el software. Tareas Para cada ciclo habrá cuatro actividades: -Determinar Objetivos. -Análisis del riesgo. -Desarrollar y probar. -Planificación.
  • 12. Modelos de Desarrollo de Software Modelos Ágiles El desarrollo ágil de software envuelve un enfoque para la toma de decisiones en los proyectos de software, que se refiere a métodos de ingeniería del software basados en el desarrollo iterativo e incremental, donde los requisitos y soluciones evolucionan con el tiempo según la necesidad del proyecto. Así el trabajo es realizado mediante la colaboración de equipos auto-organizados y multidisciplinarios, inmersos en un proceso compartido de toma de decisiones a corto plazo. Cada iteración del ciclo de vida incluye: planificación, análisis de requisitos, diseño, codificación, pruebas y documentación. Teniendo gran importancia el concepto de "Finalizado" (Done), ya que el objetivo de cada iteración no es agregar toda la funcionalidad para justificar el lanzamiento del producto al mercado, sino incrementar el valor por medio de "software que funciona" (sin errores).
  • 13. Modelos de Desarrollo de Software Características de Modelos Ágiles 1) El desarrollo del plan: Determinar rápidamente el alcance de la siguiente iteración / entrega en base a las prioridades del negocio (cliente) y los estimados técnicos. Estar dispuestos a cambiar el plan a medida que es necesario. 2) Liberar mucho, en incrementos pequeños: Poner el sistema en producción los más rápido posible (el mínimo necesario) y desarrollar las siguientes versiones con el ciclo lo mas corto posible. 3)Diseño simple: Mantener el diseño lo más simple posible (KISS: Keep it Simple Stup$%#id), concentrarse en el presente y no en el futuro (YAGNI: You ain't going to need it) 4) Pruebas unitarias continuas: Sirven para evitar que los programadores se equivoquen, para evitar las “parcelas” de código y para validar constantemente la aplicación. Los clientes también pueden escribir pruebas para validar / demostrar ciertas características del sistema. 5) Programación en parejas: Todo el código a ponerse en producción es escrito en parejas. ¿Sabe usted por que? 6) Propiedad colectiva: Nadie es dueño de ninguna clase, de ningún artefacto, de ninguna parte del código. 7) Integración continua: Las características del sistema se desarrollan y se integran a diario. Luego se corren las pruebas y se verifica que la aplicación corra correctamente. 8) 40 horas a la semana: Nadie. ¡NADIE! Trabaja horas extra. ¿Sabe usted porque? 9) El cliente involucrado en el ambiente de desarrollo: El cliente (o un representante) es un miembro más del equipo de desarrollo. 10)Estándares de codificación: Se definen estándares adecuados de codificación y se respetan. Sobre todo aquellos que enfatizan la “auto-documentación” y adecuada documentación del código.
  • 14. Modelos de Desarrollo de Software Cuadro Comparativo Modelo en Cascada Modelo Incremental Modelo en Espiral Ventajas Permite a los administradores, avanzar en el desarrollo, aunque en una escala muy bruta. El modelo proporciona todas las ventajas del modelo en cascada realimentado, reduciendo sus desventajas sólo al ámbito de cada incremento. Al ser un modelo de Ciclo de Vida orientado al riesgo se dice que uno de los aspectos fundamentales de su éxito radica en que el equipo que lo aplique sea capaz de detectar y catalogar correctamente dicho riesgo. Desventajas Los cambios introducidos durante el desarrollo pueden confundir al equipo profesional en las etapas tempranas del proyecto. Si los cambios se producen en etapa madura (codificación o prueba) pueden ser catastróficos para un proyecto grande. 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. Requiere mucha experiencia y habilidad para la evaluación de los riesgos, lo cual es requisito para el éxito del proyecto. Es difícil convencer a los grandes clientes que se podrá controlar este enfoque evolutivo. Crítica Este es un modelo en el cual se debe usar cuando todos los requerimientos han sido establecidos claramente de entrada. En este modelo se debe especificar con precisión todo lo que el sistema va a hacer antes de desarrollarlo. Lo cual lo hace manejable y disminuiría los costos. Este modelo es útil para grandes proyectos pero no ha sido utilizado tanto como el lineal secuencial o el de prototipos. Características Planear un proyecto antes de embarcarse en él. Definir el comportamiento externo deseado del sistema antes de diseñar su arquitectura interna. Documentar los resultados de cada actividad. Diseñar un sistema antes de codificarlo. Testear un sistema después de construirlo. Construir un sistema pequeño es siempre menos riesgoso. Al ir desarrollando parte de las funcionalidades, es más fácil determinar si los requerimientos para los niveles subsiguientes son correctos. Si un error importante es realizado, sólo la última iteración necesita ser descartada. Un enfoque cíclico para el crecimiento incremental del grado de definición e implementación de un sistema, mientras que disminuye su grado de riesgo. Un conjunto de puntos de fijación para asegurar el compromiso del usuario con soluciones.
  • 15. Modelos de Desarrollo de Software Análisis Para el desarrollo de software utilizaría preferiblemente el Modelo de Construcción de Prototipos, ya que con este modelo podremos saber de manera mas precisa el producto que necesita el cliente y al obtener la retroalimentación dada por este, se mejorara el software de tal manera que el cliente quede totalmente satisfecho con el producto final. De igual manera también trabajaría con el Modelo Incremental, por la posibilidad de crear software mas complejos y por el hecho de trabajar en sub-categorías que mejoraran el funcionamiento de las mismas. Radel Fuentes C.I.: 20503510

Notas del editor

  1. Los alumnos se deben familiarizar con los siguientes principios básicos de Visio antes de realizar el curso: cómo acercar y alejar, agregar formas a la página, mover formas arrastrando el mouse y conectar formas. [Notas para el instructor: Para obtener más detalles sobre la personalización de esta plantilla, vea la última diapositiva. Además, puede buscar texto adicional sobre las lecciones en el panel de notas de algunas diapositivas. Dado que esta presentación contiene animaciones en Macromedia Flash, al guardar la plantilla puede que aparezca un mensaje de advertencia relativo a la información personal. A menos que agregue información a las propiedades del propio archivo Flash, esta advertencia no se aplica a esta presentación. Haga clic en Aceptar en el mensaje.]
  2. Entre los ejemplos de tipos de diagramas, se incluyen los diagramas de flujo, los organigramas, los mapas de carreteras, los calendarios de proyecto y los diseños de oficinas.
  3. Ejemplos de formas con detalles Las formas pueden representar las calles y los edificios de un mapa. Pueden representar simbólicamente el equipo informático de un diagrama de red. Incluso hay formas de mobiliario para planos de plantas de oficina. ¿Parece exagerado? Pues hay muchísimas más.
  4. La imagen muestra algunos ejemplos de formas 1D. Ejemplo de conexión de dos formas: en un diagrama de procesos de negocio, puede conectar dos departamentos con una línea o una flecha.
  5. Lo siguiente: formas 2D.
  6. Las formas que se muestran en esta imagen son todas ellas formas 2D. Muchas formas 2D también tienen un controlador de rotación verde.
  7. Para muchas personas, “1D” describe una forma con una dimensión y “2D”, una forma con dos dimensiones. Estas son definiciones familiares de 1D y 2D. Sin embargo, como puede ver en estos ejemplos, las definiciones de Visio dependen del comportamiento de las formas, no de su aspecto.
  8. Sugerencia: los controladores no son el único indicio de que una forma tenga un comportamiento interactivo especial. Pueden encontrarse algunos comportamientos especiales haciendo clic con el botón secundario en ella.