SlideShare ist ein Scribd-Unternehmen logo
1 von 27
Downloaden Sie, um offline zu lesen
2.Modelos del Proceso
Ramiro Estigarribia Canese
Proceso de Aprendizaje
El desarrollo es un proceso de aprendizaje humano:
➔ Es un diálogo entre personas, en el que el
conocimiento se convierte en software.
➔ Se genera interacción entre usuarios, diseñadores y
herramientas en evolución.
➔ Es un proceso que se repite y en el que la
herramienta que evoluciona sirve por sí misma como
medio para la comunicación: con cada nueva ronda
del diálogo se genera más conocimiento útil.
¿Qué es un proceso del SW?
➔ Es una estructura para las actividades, acciones y
tareas que se requieren a fin de construir software
de alta calidad.
➔ El resultado es la reunión de conocimiento
recabado, depurado y organizado.
Actividades Estructurales
Una estructura general para la ingeniería de software
define cinco actividades estructurales:
1. Comunicación.
2. Planeación.
3. Modelado.
4. Construcción.
5. Despliegue.
Además, a lo largo del proceso se aplica: seguimiento
del proyecto, administración de riesgos,
aseguramiento de la calidad, configuración, revisiones
técnicas, entre otras.
Flujo del Proceso:
Lineal vs Iterativo
➔ Un flujo de proceso lineal ejecuta cada una
de las cinco actividades en secuencia.
➔ Un flujo de proceso iterativo puede repetir las
actividades antes de pasar a la siguiente.
Flujo del Proceso Evolutivo
➔ Un flujo de proceso evolutivo realiza las actividades
en forma “circular”.
➔ A través de las cinco actividades, cada circuito lleva
a una versión más completa del software.
Flujo del Proceso Paralelo.
Un flujo de proceso paralelo ejecuta una o más
actividades en paralelo con otras.
Patrones de SW.
Los mejores diseñadores en cualquier campo tienen
una habilidad extraña para reconocer patrones que
caracterizan un problema, y asociarlos a una solución.
Un ingeniero del software debe observar cada
oportunidad en la que puedan reutilizar patrones de
diseño existentes, en vez
de crear otros nuevos.
¿Qué es un patrón de SW?
➔ Son la base para la búsqueda de soluciones a
problemas comunes del desarrollo de software.
➔ Proporcionan elementos reusables.
➔ Estos deben ser utilizados sólo si poseemos el mismo
problema o similar que el patrón pueda solucionar.
Patrones del Proceso.
➔ Cada equipo de software se enfrenta a problemas
conforme avanza el proyecto.
➔ Si se demostrara que existen soluciones fáciles
para dichos problemas, sería útil para el equipo
abordarlos y resolverlos rápidamente.
➔ Un patrón del proceso: describe un problema, y
sugiere una o más soluciones para el mismo.
➔ Al combinar patrones, un equipo resuelve
problemas y construye el proceso que mejor
satisfaga las necesidades.
Modelo en Cascada.
➔ Tenemos la tendencia de pensar que el orden
es el estado ideal de la naturaleza.
➔ El modelo de la cascada, sugiere un enfoque
secuencial, que comienza con la especificación de
los requerimientos y avanza hasta concluir con el
software terminado .
➔ El progreso fluye de arriba hacía abajo, como una
cascada.
Modelo en Cascada
Modelo en Cascada
Desventajas
➔ Es raro que un proyecto real sigan el flujo
secuencial propuesto por el modelo.
➔ A menudo, es difícil para el cliente enunciar al
principio todos los requerimientos.
➔ El cliente debe tener paciencia:
No se tendrá una versión funcional hasta que el
proyecto está avanzado.
El Modelo Incremental.
➔ En muchas situaciones existe una necesidad
de dar rápidamente cierta funcionalidad de software
a los usuarios y aumentarla en las entregas
posteriores.
➔ En tales casos, se elige un modelo de proceso
diseñado para producir el software en incrementos.
“El modelo incremental aplica secuencias lineales
en forma escalonada a medida que avanza el
calendario de actividades”.
El Modelo Incremental.
Cada secuencia lineal produce “incrementos” de
software susceptibles de entregarse. (versiones)
Ejemplo: Un procesador de textos:
➔ En el primer incremento tendrá las funciones
básicas de administración de archivos y edición
➔ En el segundo dará herramientas más sofisticadas
de edición y producción de documentos
➔ En el tercero habrá separación de palabras y
revisión de la ortografía.
Modelos Evolutivos.
➔ El software, como todos los sistemas
complejos, evolucionan en el tiempo.
➔ Los plazos apretados del mercado hacen que sea
imposible la terminación de un software perfecto.
➔ Muchas veces la competencia obliga a lanzar una
versión funcional.
➔ En esta situación se necesita un modelo diseñado
para adaptarse a un producto que evoluciona con
el tiempo.
RoadMap Ubuntu 10.04
El Prototipo.
➔ Es frecuente que un cliente defina algunos
objetivos, pero sin estar seguro de los detalles del
sistema.
➔ En estas situaciones, el paradigma de hacer
prototipos ofrece un enfoque efectivo.
Ventajas:
1. Ayuda a mejorar la comprensión de lo que hay que
elaborar cuando los requerimientos no están claros.
2. Permite acelerar el proceso a partir de un prototipo
funcional.
El Prototipo.
➔ El prototipo permite tener el primer contacto con el
producto.
➔ La mayoría de los prototipos se construyen para
ser desechados una vez que el producto esté listo.
➔ En cambio otros pueden ser evolutivos: finalmente
se transforman en el sistema final.
➔ En muchas ocasiones trae beneficios: los usuarios
y desarrolladores interactúan y conocen mejor al
proyecto a crear.
El Prototipo. Desventajas.
➔ Los usuarios ven una versión funcional del
software, sin darse cuenta que no se tuvieron en
cuenta las recomendaciones de calidad,
rendimiento, mantenimiento, etc.
➔ El prototipo puede no satisfacer al cliente: es una
situación que debe ser manejada con
profesionalismo de forma a entender que el
producto final será distinto.
El modelo espiral.
➔ Las actividades se ordenan en una espiral, en la
que cada bucle representa un conjunto de
actividades.
➔ Consiste en una serie de ciclos que se repiten en
forma de espiral, comenzando desde el centro.
➔ Permite hacer un desarrollo rápido de versiones.
El modelo espiral.
Desventajas.
El modelo espiral puede adaptarse para aplicarse a
lo largo de toda la vida del software.
Al igual que otros paradigmas, no es perfecto, y
posee desventajas:
1. Incertidumbre en el número de vueltas necesarias.
2. Es difícil convencer a los clientes.
3. Demanda mucha experiencia en la evaluación del
riesgo y se basa en ella para llegar al éxito.
4. Habrá problemas si algún riesgo importante no se
descubre y administra a tiempo.
Ingeniería del Software
Basada en Componentes
➔ Los programadores han reutilizado ideas,
abstracciones y procesos desde los comienzos.
➔ Hoy en día, los sistemas complejos y de alta
calidad basados en computadora se deben
construir en períodos cortos, situación que se
mitiga con un enfoque de reutilización más
organizado.
¿Qué es la ISBC?
Es un proceso que se centra en el diseño y
construcción de sistemas utilizando componentes
de software reutilizables.
Objetivos de la ISBC:
➔ Desarrollar sistemas a partir de componentes ya
construidos en el pasado.
➔ Desarrollar nuevos componentes como entidades
reusables.
➔ Mantener y evolucionar el sistema a partir de la
adaptación y reemplazo de sus componentes.
Resumen y Conclusiones
➔ El desarrollo es un proceso de aprendizaje
humano, en donde las personas se comunican y
transforman el conocimiento en software.
➔ Un proceso del SW es una estructura para las
actividades, acciones y tareas que se requieren a
fin de construir software de alta calidad.
➔ El software de una empresa, y todos los sistemas
complejos, tienden a evolucionar en el tiempo.

Weitere ähnliche Inhalte

Was ist angesagt?

DESARROLLO DE PROTOTIPOS
DESARROLLO DE PROTOTIPOSDESARROLLO DE PROTOTIPOS
DESARROLLO DE PROTOTIPOS
UDEC
 
GESTION DE PROCESOS Sistemas Operativos
GESTION DE PROCESOS Sistemas OperativosGESTION DE PROCESOS Sistemas Operativos
GESTION DE PROCESOS Sistemas Operativos
adriel91
 

Was ist angesagt? (20)

Ingeniería de software modelo incremental
Ingeniería de software  modelo incrementalIngeniería de software  modelo incremental
Ingeniería de software modelo incremental
 
Optimizacion de la busqueda de discos
Optimizacion de la busqueda de discosOptimizacion de la busqueda de discos
Optimizacion de la busqueda de discos
 
Modelo v
Modelo vModelo v
Modelo v
 
Modelo incremental
Modelo incrementalModelo incremental
Modelo incremental
 
Modelo de prototipo
Modelo de prototipoModelo de prototipo
Modelo de prototipo
 
Sistemas operativos por estructura
Sistemas operativos por estructuraSistemas operativos por estructura
Sistemas operativos por estructura
 
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negociosFundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
 
Gestion-de-memoria
 Gestion-de-memoria Gestion-de-memoria
Gestion-de-memoria
 
Metodologías de Desarrollo de Software Tradicionales y Emergentes
Metodologías de Desarrollo de Software Tradicionales y EmergentesMetodologías de Desarrollo de Software Tradicionales y Emergentes
Metodologías de Desarrollo de Software Tradicionales y Emergentes
 
PRESENTACIÓN RUP
PRESENTACIÓN RUPPRESENTACIÓN RUP
PRESENTACIÓN RUP
 
Metodologia rup
Metodologia rupMetodologia rup
Metodologia rup
 
Expresiones regulares
Expresiones regularesExpresiones regulares
Expresiones regulares
 
Modelos de desarrollo del software
Modelos de desarrollo del softwareModelos de desarrollo del software
Modelos de desarrollo del software
 
Fundamentos de ingenieria del software (2)
Fundamentos de ingenieria del software (2)Fundamentos de ingenieria del software (2)
Fundamentos de ingenieria del software (2)
 
DESARROLLO DE PROTOTIPOS
DESARROLLO DE PROTOTIPOSDESARROLLO DE PROTOTIPOS
DESARROLLO DE PROTOTIPOS
 
GESTION DE PROCESOS Sistemas Operativos
GESTION DE PROCESOS Sistemas OperativosGESTION DE PROCESOS Sistemas Operativos
GESTION DE PROCESOS Sistemas Operativos
 
Procesos Ligeros: Hilos o Hebras
Procesos Ligeros: Hilos o HebrasProcesos Ligeros: Hilos o Hebras
Procesos Ligeros: Hilos o Hebras
 
Ciclo Vida del Software
Ciclo Vida del SoftwareCiclo Vida del Software
Ciclo Vida del Software
 
Factores de calidad del software
Factores de calidad del softwareFactores de calidad del software
Factores de calidad del software
 
Estándares para el Modelado de Procesos de Negocios
Estándares para el Modelado de Procesos de NegociosEstándares para el Modelado de Procesos de Negocios
Estándares para el Modelado de Procesos de Negocios
 

Andere mochten auch (6)

Video 5 base de datos
Video 5  base de datosVideo 5  base de datos
Video 5 base de datos
 
Modelos (UML)
Modelos (UML)Modelos (UML)
Modelos (UML)
 
Video 2 herencia y polimorfismo
Video 2 herencia y polimorfismoVideo 2 herencia y polimorfismo
Video 2 herencia y polimorfismo
 
Video 1 metodos y arreglos
Video 1 metodos y arreglosVideo 1 metodos y arreglos
Video 1 metodos y arreglos
 
Subprocesamiento Mùltiple
Subprocesamiento MùltipleSubprocesamiento Mùltiple
Subprocesamiento Mùltiple
 
Video 3 interfaz grafica java
Video 3 interfaz grafica javaVideo 3 interfaz grafica java
Video 3 interfaz grafica java
 

Ähnlich wie 2.modelos del proceso

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
 
MODELO DE DESARRROLLO DE SOFTWARE
MODELO DE DESARRROLLO DE SOFTWAREMODELO DE DESARRROLLO DE SOFTWARE
MODELO DE DESARRROLLO DE SOFTWARE
Jesus Yepez
 

Ähnlich wie 2.modelos del proceso (20)

2.procesos de desarrollo de software
2.procesos de desarrollo de software2.procesos de desarrollo de software
2.procesos de desarrollo de software
 
Modelos del software
Modelos del softwareModelos del software
Modelos del software
 
Modelos de proceso del software
Modelos de proceso del softwareModelos de proceso del software
Modelos de proceso del software
 
Modelo Descrptivos Del Proceso Del Sofware
Modelo Descrptivos  Del  Proceso Del SofwareModelo Descrptivos  Del  Proceso Del Sofware
Modelo Descrptivos Del Proceso Del Sofware
 
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
 
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 )
 
prueva
pruevaprueva
prueva
 
Modelos de proceso evolutivo
Modelos de proceso evolutivoModelos de proceso evolutivo
Modelos de proceso evolutivo
 
Presentacion grupo8
Presentacion grupo8Presentacion grupo8
Presentacion grupo8
 
Paradigmas
ParadigmasParadigmas
Paradigmas
 
Modelos de proceso de software
Modelos de proceso de softwareModelos de proceso de software
Modelos de proceso de software
 
Acti deaprendizaje equipo_software1
Acti deaprendizaje equipo_software1Acti deaprendizaje equipo_software1
Acti deaprendizaje equipo_software1
 
Ciclo de Vida del Software (Para SAIA)
Ciclo de Vida del Software (Para SAIA)Ciclo de Vida del Software (Para SAIA)
Ciclo de Vida del Software (Para SAIA)
 
Modelos de ciclo de vida en el desarrollo de software
Modelos de ciclo de vida en el desarrollo de softwareModelos de ciclo de vida en el desarrollo de software
Modelos de ciclo de vida en el desarrollo de software
 
Trabajo de sistemas de software
Trabajo de sistemas de softwareTrabajo de sistemas de software
Trabajo de sistemas de software
 
Métodos de la ingeniería
Métodos de la ingenieríaMétodos de la ingeniería
Métodos de la ingeniería
 
Modelos de desarrollo de software
Modelos de desarrollo de softwareModelos de desarrollo de software
Modelos de desarrollo de software
 
MODELO DE DESARRROLLO DE SOFTWARE
MODELO DE DESARRROLLO DE SOFTWAREMODELO DE DESARRROLLO DE SOFTWARE
MODELO DE DESARRROLLO DE SOFTWARE
 
Metodología tradicional
Metodología tradicionalMetodología tradicional
Metodología tradicional
 
Grupo82018
Grupo82018Grupo82018
Grupo82018
 

Mehr von Ramiro Estigarribia Canese

Mehr von Ramiro Estigarribia Canese (20)

8.Flujo, Comportamiento, Patrones y WebApps.pdf
8.Flujo, Comportamiento, Patrones y WebApps.pdf8.Flujo, Comportamiento, Patrones y WebApps.pdf
8.Flujo, Comportamiento, Patrones y WebApps.pdf
 
Principios que Guían la Práctica
Principios que Guían la PrácticaPrincipios que Guían la Práctica
Principios que Guían la Práctica
 
CSS - Hojas de Estilo en Cascada.pdf
CSS -  Hojas de Estilo en Cascada.pdfCSS -  Hojas de Estilo en Cascada.pdf
CSS - Hojas de Estilo en Cascada.pdf
 
Python conceptos básicos
Python   conceptos básicosPython   conceptos básicos
Python conceptos básicos
 
Diseño de WebApps
Diseño de WebAppsDiseño de WebApps
Diseño de WebApps
 
Diseño basado en patrones
Diseño basado en patronesDiseño basado en patrones
Diseño basado en patrones
 
Servicios web
Servicios webServicios web
Servicios web
 
Especificaciones de los procesadores
Especificaciones de los procesadoresEspecificaciones de los procesadores
Especificaciones de los procesadores
 
Lenguaje de programación awk
Lenguaje de programación awkLenguaje de programación awk
Lenguaje de programación awk
 
Bases de datos con PHP y PDO
Bases de datos con PHP y PDOBases de datos con PHP y PDO
Bases de datos con PHP y PDO
 
Bases de datos con PHP y Mysqli
Bases de datos con PHP y MysqliBases de datos con PHP y Mysqli
Bases de datos con PHP y Mysqli
 
Interfaz de usuario
Interfaz de usuarioInterfaz de usuario
Interfaz de usuario
 
Variables del sistema en php
Variables del sistema en phpVariables del sistema en php
Variables del sistema en php
 
Funciones en php
Funciones en phpFunciones en php
Funciones en php
 
Bootstrap menues, contenedores y formularios
Bootstrap   menues, contenedores y formulariosBootstrap   menues, contenedores y formularios
Bootstrap menues, contenedores y formularios
 
Estructuras de control en bash
Estructuras de control en bashEstructuras de control en bash
Estructuras de control en bash
 
Visual studio code
Visual studio codeVisual studio code
Visual studio code
 
Diseño de software
Diseño de softwareDiseño de software
Diseño de software
 
Herramienta cacti
Herramienta cactiHerramienta cacti
Herramienta cacti
 
Monitoreo de datacenter
Monitoreo de datacenterMonitoreo de datacenter
Monitoreo de datacenter
 

Kürzlich hochgeladen

EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
FagnerLisboa3
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
AnnimoUno1
 

Kürzlich hochgeladen (15)

Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
presentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxpresentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptx
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Presentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilPresentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmeril
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 

2.modelos del proceso

  • 1. 2.Modelos del Proceso Ramiro Estigarribia Canese
  • 2. Proceso de Aprendizaje El desarrollo es un proceso de aprendizaje humano: ➔ Es un diálogo entre personas, en el que el conocimiento se convierte en software. ➔ Se genera interacción entre usuarios, diseñadores y herramientas en evolución. ➔ Es un proceso que se repite y en el que la herramienta que evoluciona sirve por sí misma como medio para la comunicación: con cada nueva ronda del diálogo se genera más conocimiento útil.
  • 3. ¿Qué es un proceso del SW? ➔ Es una estructura para las actividades, acciones y tareas que se requieren a fin de construir software de alta calidad. ➔ El resultado es la reunión de conocimiento recabado, depurado y organizado.
  • 4. Actividades Estructurales Una estructura general para la ingeniería de software define cinco actividades estructurales: 1. Comunicación. 2. Planeación. 3. Modelado. 4. Construcción. 5. Despliegue. Además, a lo largo del proceso se aplica: seguimiento del proyecto, administración de riesgos, aseguramiento de la calidad, configuración, revisiones técnicas, entre otras.
  • 5. Flujo del Proceso: Lineal vs Iterativo ➔ Un flujo de proceso lineal ejecuta cada una de las cinco actividades en secuencia. ➔ Un flujo de proceso iterativo puede repetir las actividades antes de pasar a la siguiente.
  • 6. Flujo del Proceso Evolutivo ➔ Un flujo de proceso evolutivo realiza las actividades en forma “circular”. ➔ A través de las cinco actividades, cada circuito lleva a una versión más completa del software.
  • 7. Flujo del Proceso Paralelo. Un flujo de proceso paralelo ejecuta una o más actividades en paralelo con otras.
  • 8. Patrones de SW. Los mejores diseñadores en cualquier campo tienen una habilidad extraña para reconocer patrones que caracterizan un problema, y asociarlos a una solución. Un ingeniero del software debe observar cada oportunidad en la que puedan reutilizar patrones de diseño existentes, en vez de crear otros nuevos.
  • 9. ¿Qué es un patrón de SW? ➔ Son la base para la búsqueda de soluciones a problemas comunes del desarrollo de software. ➔ Proporcionan elementos reusables. ➔ Estos deben ser utilizados sólo si poseemos el mismo problema o similar que el patrón pueda solucionar.
  • 10. Patrones del Proceso. ➔ Cada equipo de software se enfrenta a problemas conforme avanza el proyecto. ➔ Si se demostrara que existen soluciones fáciles para dichos problemas, sería útil para el equipo abordarlos y resolverlos rápidamente. ➔ Un patrón del proceso: describe un problema, y sugiere una o más soluciones para el mismo. ➔ Al combinar patrones, un equipo resuelve problemas y construye el proceso que mejor satisfaga las necesidades.
  • 11. Modelo en Cascada. ➔ Tenemos la tendencia de pensar que el orden es el estado ideal de la naturaleza. ➔ El modelo de la cascada, sugiere un enfoque secuencial, que comienza con la especificación de los requerimientos y avanza hasta concluir con el software terminado . ➔ El progreso fluye de arriba hacía abajo, como una cascada.
  • 13. Modelo en Cascada Desventajas ➔ Es raro que un proyecto real sigan el flujo secuencial propuesto por el modelo. ➔ A menudo, es difícil para el cliente enunciar al principio todos los requerimientos. ➔ El cliente debe tener paciencia: No se tendrá una versión funcional hasta que el proyecto está avanzado.
  • 14. El Modelo Incremental. ➔ En muchas situaciones existe una necesidad de dar rápidamente cierta funcionalidad de software a los usuarios y aumentarla en las entregas posteriores. ➔ En tales casos, se elige un modelo de proceso diseñado para producir el software en incrementos. “El modelo incremental aplica secuencias lineales en forma escalonada a medida que avanza el calendario de actividades”.
  • 15. El Modelo Incremental. Cada secuencia lineal produce “incrementos” de software susceptibles de entregarse. (versiones) Ejemplo: Un procesador de textos: ➔ En el primer incremento tendrá las funciones básicas de administración de archivos y edición ➔ En el segundo dará herramientas más sofisticadas de edición y producción de documentos ➔ En el tercero habrá separación de palabras y revisión de la ortografía.
  • 16.
  • 17. Modelos Evolutivos. ➔ El software, como todos los sistemas complejos, evolucionan en el tiempo. ➔ Los plazos apretados del mercado hacen que sea imposible la terminación de un software perfecto. ➔ Muchas veces la competencia obliga a lanzar una versión funcional. ➔ En esta situación se necesita un modelo diseñado para adaptarse a un producto que evoluciona con el tiempo.
  • 19. El Prototipo. ➔ Es frecuente que un cliente defina algunos objetivos, pero sin estar seguro de los detalles del sistema. ➔ En estas situaciones, el paradigma de hacer prototipos ofrece un enfoque efectivo. Ventajas: 1. Ayuda a mejorar la comprensión de lo que hay que elaborar cuando los requerimientos no están claros. 2. Permite acelerar el proceso a partir de un prototipo funcional.
  • 20. El Prototipo. ➔ El prototipo permite tener el primer contacto con el producto. ➔ La mayoría de los prototipos se construyen para ser desechados una vez que el producto esté listo. ➔ En cambio otros pueden ser evolutivos: finalmente se transforman en el sistema final. ➔ En muchas ocasiones trae beneficios: los usuarios y desarrolladores interactúan y conocen mejor al proyecto a crear.
  • 21. El Prototipo. Desventajas. ➔ Los usuarios ven una versión funcional del software, sin darse cuenta que no se tuvieron en cuenta las recomendaciones de calidad, rendimiento, mantenimiento, etc. ➔ El prototipo puede no satisfacer al cliente: es una situación que debe ser manejada con profesionalismo de forma a entender que el producto final será distinto.
  • 22. El modelo espiral. ➔ Las actividades se ordenan en una espiral, en la que cada bucle representa un conjunto de actividades. ➔ Consiste en una serie de ciclos que se repiten en forma de espiral, comenzando desde el centro. ➔ Permite hacer un desarrollo rápido de versiones.
  • 23.
  • 24. El modelo espiral. Desventajas. El modelo espiral puede adaptarse para aplicarse a lo largo de toda la vida del software. Al igual que otros paradigmas, no es perfecto, y posee desventajas: 1. Incertidumbre en el número de vueltas necesarias. 2. Es difícil convencer a los clientes. 3. Demanda mucha experiencia en la evaluación del riesgo y se basa en ella para llegar al éxito. 4. Habrá problemas si algún riesgo importante no se descubre y administra a tiempo.
  • 25. Ingeniería del Software Basada en Componentes ➔ Los programadores han reutilizado ideas, abstracciones y procesos desde los comienzos. ➔ Hoy en día, los sistemas complejos y de alta calidad basados en computadora se deben construir en períodos cortos, situación que se mitiga con un enfoque de reutilización más organizado.
  • 26. ¿Qué es la ISBC? Es un proceso que se centra en el diseño y construcción de sistemas utilizando componentes de software reutilizables. Objetivos de la ISBC: ➔ Desarrollar sistemas a partir de componentes ya construidos en el pasado. ➔ Desarrollar nuevos componentes como entidades reusables. ➔ Mantener y evolucionar el sistema a partir de la adaptación y reemplazo de sus componentes.
  • 27. Resumen y Conclusiones ➔ El desarrollo es un proceso de aprendizaje humano, en donde las personas se comunican y transforman el conocimiento en software. ➔ Un proceso del SW es una estructura para las actividades, acciones y tareas que se requieren a fin de construir software de alta calidad. ➔ El software de una empresa, y todos los sistemas complejos, tienden a evolucionar en el tiempo.