SlideShare una empresa de Scribd logo
1 de 37
Paradigmas para el desarrollo 
de software 
Marco Guerrero 
Edith Carreño 
Luis Zapatero 
Ingeniería en Informática. 
UNIDEG Juventino Rosas
Introducción 
Desde el principio de los tiempos, el ser humano –en busca de 
una sociedad organizada- ha creado “paradigmas”. 
Un “paradigma” no es más que un conjunto de compromisos 
compartidos dentro de los cuales yacen supuestos que permiten 
crear un marco conceptual a partir del cual se le da cierto 
sentido y significado al mundo. 
Por ello, también dentro del mundo de la informática existen 
modelos y estipulaciones a seguir si deseamos desarrollar 
software funcional y practico.
Modelos para el desarrollo de software 
• Si se quiere hacer algo 
correctamente, es necesario 
que se sigan reglas y 
estipulaciones para hacerlo. Es 
por ello que el “Paradigma 
para el desarrollo de software” 
nace de la agrupación de las 
ideas de la gente sobre el 
cómo construir programas y 
sobre cómo combinarlos en 
grandes sistemas de software.
«La crisis del software» 
• El termino «crisis del software» fue creado 
durante la primer conferencia sobre la 
ingeniería de software de la NATO en 
1967. 
• Durante las primeras décadas de la 
«ciencia de las computadoras» nos 
enfrentábamos con la dificultad de escribir 
programas útiles y eficientes en un rango 
de tiempo definido.
«La crisis del software» 
Las causas del la «crisis del software» fueron 
ligadas a la complejidad del desarrollo de 
hardware y software. 
Esta crisis se manifestó de diferentes maneras: 
• Los proyectos requerían de mayor presupuesto y tiempo 
de lo establecido. 
• El software no cumplía los requisitos, pues era 
ineficiente y de baja calidad. 
• Era difícil darle mantenimiento al software y el código 
era complicado de entender.
Modelos para el desarrollo de software 
Es por ello que podemos 
decir que el “Paradigma 
para el desarrollo de 
software” es un modelo 
para afrontar problemas 
que comparten 
características comunes.
Modelos para el desarrollo de software 
Existen varios paradigmas. La 
tarea del ingeniero es ver cuál es 
el que se adecua a su problema a 
resolver. En caso de no encontrar 
uno exacto, el ingeniero puede 
combinarlos entre ellos.
Modelos para el desarrollo de software 
Existen varios modelos principales para el desarrollo de 
software. 
• Modelo cascada 
• Modelo Incremental 
• Modelo de desarrollo concurrente 
• Modelo espiral 
• Modelo de ensamblaje de componentes
Modelo cascada 
Propuesto por Royce en 1970. 
Es el paradigma más antiguo, 
por lo que fue el más utilizado 
durante la creación del modelo 
estructurado.
Modelo cascada 
Aplicación 
Es necesario completar cada nivel 
antes de iniciar la siguiente actividad
Modelo cascada 
Revisiones del ciclo de vida 
Las «revisiones de ciclo de vida» deben de ser utilizadas para evaluar el 
progreso y determinar si debe o no proceder a la siguiente fase de 
desarrollo de software.
Modelo cascada 
Sistemas precedentes 
Para algunas categorías de sistemas intensivos de software, el paradigma 
de cascada puede ser una buena opción. 
• Este tipo de sistemas están los “sistemas precedentes” 
• Un “sistema precedente” está caracterizado por: 
• Arquitectura del sistema y un diseño de software maduro y capaz de 
cumplir los requisitos. 
• Equipos de sistemas de ingeniería y de desarrollo de software que 
tengan buena comunicación y que tengan experiencia previa con 
sistemas similares.
Ventajas 
• Formaliza un marco para las fases de desarrollo de software 
• Hace hincapié por adelantado en los requisitos de software 
estables y en las actividades de diseño 
• Produce los requisitos de software y documentación de diseño 
durante las primeras fases 
• Es un modelo de un solo paso y por lo tanto puede ser rápido 
y de bajo costo cuando se utiliza en las condiciones adecuadas
Desventajas 
• Su mayor ventaja también es su desventaja. Si algo ha salido 
mal, no se puede volver atrás. 
• Muchas veces el cliente no sabe lo que quiere, lo que puede 
traer confusión y malentendidos al equipo, pues ya no se 
pueden hacer cambios avanzado el proceso. 
• Pequeños errores que surgen al estar terminado el software 
causa grandes problemas.
Modelo Incremental 
• El paradigma de desarrollo de software incremental implica el 
desarrollo de software en 'piezas' o incrementos. Por ello – a 
diferencia del modelo cascada – no necesita una secuencia 
lineal.
Modelo Incremental 
• La idea principal está en el razonamiento en que algunas áreas 
presentan problemas únicos a analizar, pero otras no, 
entonces ¿Por qué retrasar el desarrollo de estas áreas? 
• El proyecto se desarrolla características básicas y sencillas 
primero, después avanza a las más complicadas poco a poco 
hasta completar el modelo completo. 
• La desventaja está en que los errores se detectan tarde y es 
costoso corregirlos.
Ventajas 
• Permite que el cliente se involucre mas en el desarrollo. 
• El cliente se sentirá agradecido de la entrega temprana de 
partes operativas del software. 
• El desarrollo del software es mas veloz en comparación con el 
modelo de cascada. 
• En caso de que se detecte un error en el sistema, puede 
corregirse.
Desventajas 
• Es difícil calcular el coste total del proyecto. 
• Los errores en los requisitos se detectan tarde. 
• Requiere metas claras para conocer el estado del proyecto. 
• Este modelo no se recomienda para casos de sistemas de 
tiempo real, de alto nivel de seguridad de procesamiento 
distribuido y/o de alto índice de riesgos.
Modelo espiral 
• Desarrollado en la década de 1980. 
• El modelo espiral hace hincapié en prototipos 
impulsados por riesgo. 
• El análisis de riesgo se utiliza para identificar a los 
candidatos de alto riesgo para la creación de prototipos. La 
retroalimentación de los resultados de la creación de 
prototipos controlados se evalúa y el conocimiento 
obtenido se utiliza para mitigar los riesgos.
Modelo espiral 
• Este proceso impulsado riesgo continúa hasta que se 
comprendan los principales riesgos del desarrollo de software.
Modelo espiral 
Sistemas sin precedentes 
• Es un sistema para el que no existen ejemplos de diseño y los 
requisitos y los riesgos todavía no se conocen. 
• El modelo en espiral para el desarrollo de software es 
especialmente apropiado para sistemas sin precedentes 
(como en el departamento de defensa de Estados Unidos).
Ventajas 
• Permite que se desarrolle un prototipo y que después el 
sistema base se idealice sobre el mismo. 
• Se adapta a cualquier numero de cambios durante cualquier 
fase del proceso. 
• Dado que el desarrollo del sistema se hace en pequeños 
fragmentos, la estimación de costos es sencilla. 
• Conforme el desarrollo se acerca al final, la experiencia del 
cliente con el sistema crece, por lo que se pueden analizar las 
necesidades del mismo a detalle.
Desventajas 
• El desarrollo del sistema es tardado. 
• Es un modelo costoso. 
• Requiere experiencia para la identificación de riesgos.
Modelo por prototipos 
La idea principal detrás de este 
modelo es que en lugar de 
congelar un proyecto mientras se 
trata de asentar los 
requerimientos; se desarrolla un 
prototipo con los puntos que se 
tienen hasta el momento. Esto 
permite comprender mas a 
fondo los requerimientos y 
necesidades.
Modelo por prototipos 
El cliente –al usar el prototipo-adquiere 
un entendimiento 
mayor del sistema, pues «puede 
sentirlo» y verlo en acción. 
Poco a poco, el sistema va 
tomando forma. 
Por ello, a este modelo también 
se le llama «evolutivo».
Ventajas 
• Perfecto cuando los usuarios estan embueltos en el desarrollo. 
Pues permite adaptarlo a necesidades en las cuales no se 
habia pensado. 
• Aumenta el entendimiento que los usuarios tienen por el 
sistema mientras el desarrollo avanza. 
• Funcionalidades olvidadas pueden ser identificadas 
facilmente.
Desventajas 
• Por su estilo, el sistema puede aumentar de tamaño hasta 
superar los planes originales. 
• Puede llegar a ser mas tardado que otros modelos. 
• Es mas complicado llevar un orden a comparación de otros 
modelos.
Modelo de ensamblaje de componentes 
Incorpora características del 
modelo espiral. 
Es evolutivo por naturaleza, ya 
que se identifican las clases 
orientadas a objetos candidatas, 
esto se hace examinando los 
datos que se manejan por la 
aplicación (por medio de un 
algoritmo), las cuales –en un 
futuro- pueden ser reutilizadas
Modelo de ensamblaje de componentes
Ventajas 
• El análisis de riesgo se hace de forma explicita y clara. 
• Une los mejores elementos de varios modelos. 
• Reduce los riesgos del proyecto. 
• Incorpora objetivos de calidad. 
• Integra el desarrollo con el mantenimiento.
Desventajas 
• Genera mucho tiempo en el desarrollo del sistema. 
• Modelo costoso. 
• Genera mucho trabajo adicional. Cuando un sistema falla, se 
pierde tiempo y presupuesto dentro de la empresa.
Modelo de desarrollo concurrente 
• Es un modelo de tipo de red donde todas las personas actúan 
simultáneamente desarrollando una serie de actividades 
técnicas importantes, tareas y estados asociados a ellas. 
• Una gran ventaja es que proporciona una imagen actualizada 
del proyecto, pues no se restringe a una secuencia de sucesos. 
También es excelente para proyectos en los que se conforman 
grupos de trabajo independientes.
Modelo de desarrollo concurrente
Ventajas 
• Excelente para proyectos donde se conforman grupos de 
trabajos independientes. 
• Proporciona una imagen exacta del estado actual de un 
proyecto.
Desventajas 
• Si no existen grupos de trabajo, no se puede trabajar este 
método. 
• Si se cuenta con un solo grupo de trabajo incompetente, todo 
el proyecto peligrara.
Conclusiones 
El avance se da a partir de expandir nuestros horizontes; de 
aceptar ideas nuevas 
El análisis correcto de los problemas que se tienen en frente es 
la tarea de cualquier ingeniero que quiera tener éxito. Esto solo 
puede ser alcanzado teniendo los conocimientos necesarios y 
las ganas de aplicarlos. 
Por algo existen los paradigmas en el desarrollo de software. 
Han sido probados y funcionan.
Fuentes 
• http://www.sites.upiicsa.ipn.mx/polilibros/portal/Polilibros/P_proceso/ANALISIS_Y_DISEnO_DE_SISTEMAS/IngenieriaDeSoft 
ware/CIS/UNIDAD%20I/1.5.htm 
• http://revistavirtual.ucn.edu.co/index.php/RevistaUCN/article/viewFile/62/129 
• http://asignaturasunimetaingeluzespita.bligoo.com/media/users/22/1135477/files/303935/Modelo_de_desarrollo_concurr 
ente.pdf 
• http://ldc.usb.ve/~vtheok/cursos/ci3711/apuntes/99-01-14/Info/Modelo%20de%20Ensamblaje.htm 
• http://paradigmasiut.blogspot.mx/2013/04/metodologia-de-desarrollo-de-software.html 
• http://www.paradigmas.mx/que-es-un-paradigma/ 
• http://proyectosinformaticoscht2009.wordpress.com/antes-de-empezar/marco-teorico/paradigmas-de-desarrollo-de-software/ 
• http://216.54.19.111/~mountaintop/sam101/scopage_dir/l5_acqstrat/l5_t3sdp.html 
• http://ingenieraupoliana.blogspot.mx/2010/10/modelo-de-desarrollo-concurrente.html 
• http://ingenieraupoliana.blogspot.mx/2010/10/modelo-de-desarrollo-basado-en.html 
• http://es.wikipedia.org/wiki/Desarrollo_en_espiral 
• http://quecomputadoracomprar.com/ventajas-y-desventajas-del-modelo-en-espiral/ 
• http://ingenieraupoliana.blogspot.mx/2010/10/modelo-incremental.html 
• http://en.wikipedia.org/wiki/Software_crisis 
• http://istqbexamcertification.com/what-is-prototype-model-advantages-disadvantages-and-when-to-use-it/ 
• Y material presente en la plataforma.

Más contenido relacionado

La actualidad más candente

Modelos Prescriptivos del Desarrollo del Sistema de Información
Modelos Prescriptivos del Desarrollo del Sistema de InformaciónModelos Prescriptivos del Desarrollo del Sistema de Información
Modelos Prescriptivos del Desarrollo del Sistema de InformaciónIsaias Toledo
 
Modelos en la ingeniería de software
Modelos en la ingeniería de softwareModelos en la ingeniería de software
Modelos en la ingeniería de softwareMarco Aurelio
 
Grupo 5-modelos-de-procesos-de-software
Grupo 5-modelos-de-procesos-de-softwareGrupo 5-modelos-de-procesos-de-software
Grupo 5-modelos-de-procesos-de-softwarePrimoLaura
 
Modelos del ciclo de vida del software
Modelos del ciclo de vida del softwareModelos del ciclo de vida del software
Modelos del ciclo de vida del softwareAbner Torres
 
medolos tradicionales de desarrollo de software ( cascada - espiral)
medolos tradicionales de desarrollo de software ( cascada - espiral)medolos tradicionales de desarrollo de software ( cascada - espiral)
medolos tradicionales de desarrollo de software ( cascada - espiral)Cristhian Aguilar
 
Modelos de Ing de soft
Modelos de Ing de softModelos de Ing de soft
Modelos de Ing de softJazmin Cr
 
Métodos y Modelos de Proyectos
Métodos y Modelos de ProyectosMétodos y Modelos de Proyectos
Métodos y Modelos de Proyectoseivanqs
 
5 ciclos de vida del software(fixed)
5   ciclos de vida del software(fixed)5   ciclos de vida del software(fixed)
5 ciclos de vida del software(fixed)rockrlos
 
metodologia de prototipos
metodologia de prototiposmetodologia de prototipos
metodologia de prototiposKeiner Valerio
 
Proceso ( software )
Proceso ( software )Proceso ( software )
Proceso ( software )em3marquez
 
359287107 cuadro-comparativo-de-los-ciclos-de-vida
359287107 cuadro-comparativo-de-los-ciclos-de-vida359287107 cuadro-comparativo-de-los-ciclos-de-vida
359287107 cuadro-comparativo-de-los-ciclos-de-vidaOscare Coy
 

La actualidad más candente (20)

Modelos Prescriptivos del Desarrollo del Sistema de Información
Modelos Prescriptivos del Desarrollo del Sistema de InformaciónModelos Prescriptivos del Desarrollo del Sistema de Información
Modelos Prescriptivos del Desarrollo del Sistema de Información
 
Modelos en la ingeniería de software
Modelos en la ingeniería de softwareModelos en la ingeniería de software
Modelos en la ingeniería de software
 
Grupo 5-modelos-de-procesos-de-software
Grupo 5-modelos-de-procesos-de-softwareGrupo 5-modelos-de-procesos-de-software
Grupo 5-modelos-de-procesos-de-software
 
2 modelos de la ingenieria de software
2  modelos de la ingenieria de software2  modelos de la ingenieria de software
2 modelos de la ingenieria de software
 
Modelos de Desarrollo de Software - INF162 - 2017
Modelos de Desarrollo de Software - INF162 - 2017Modelos de Desarrollo de Software - INF162 - 2017
Modelos de Desarrollo de Software - INF162 - 2017
 
Ingeniería de software modelo incremental
Ingeniería de software  modelo incrementalIngeniería de software  modelo incremental
Ingeniería de software modelo incremental
 
Modelos del ciclo de vida del software
Modelos del ciclo de vida del softwareModelos del ciclo de vida del software
Modelos del ciclo de vida del software
 
medolos tradicionales de desarrollo de software ( cascada - espiral)
medolos tradicionales de desarrollo de software ( cascada - espiral)medolos tradicionales de desarrollo de software ( cascada - espiral)
medolos tradicionales de desarrollo de software ( cascada - espiral)
 
Modelos de Ing de soft
Modelos de Ing de softModelos de Ing de soft
Modelos de Ing de soft
 
Procesos del Software
Procesos del SoftwareProcesos del Software
Procesos del Software
 
Modelos de proceso evolutivo
Modelos de proceso evolutivoModelos de proceso evolutivo
Modelos de proceso evolutivo
 
Modelo evolutivo
Modelo evolutivoModelo evolutivo
Modelo evolutivo
 
Tipos de ciclo de vida
Tipos de ciclo de vidaTipos de ciclo de vida
Tipos de ciclo de vida
 
Métodos y Modelos de Proyectos
Métodos y Modelos de ProyectosMétodos y Modelos de Proyectos
Métodos y Modelos de Proyectos
 
5 ciclos de vida del software(fixed)
5   ciclos de vida del software(fixed)5   ciclos de vida del software(fixed)
5 ciclos de vida del software(fixed)
 
metodologia de prototipos
metodologia de prototiposmetodologia de prototipos
metodologia de prototipos
 
Unidad 2. Metodologías de Desarrollo
Unidad 2. Metodologías de DesarrolloUnidad 2. Metodologías de Desarrollo
Unidad 2. Metodologías de Desarrollo
 
prueva
pruevaprueva
prueva
 
Proceso ( software )
Proceso ( software )Proceso ( software )
Proceso ( software )
 
359287107 cuadro-comparativo-de-los-ciclos-de-vida
359287107 cuadro-comparativo-de-los-ciclos-de-vida359287107 cuadro-comparativo-de-los-ciclos-de-vida
359287107 cuadro-comparativo-de-los-ciclos-de-vida
 

Destacado

Proceso de desarrollo del software
Proceso de desarrollo del softwareProceso de desarrollo del software
Proceso de desarrollo del softwareoscar uriarte
 
Modelos para hacer proyectos
Modelos para hacer proyectosModelos para hacer proyectos
Modelos para hacer proyectosSolangela Mira
 
PLAN DE DESARROLLO PROFESIONAL
PLAN DE DESARROLLO PROFESIONALPLAN DE DESARROLLO PROFESIONAL
PLAN DE DESARROLLO PROFESIONALLima - Perú
 
Tendencias actuales del desarrollo de software
Tendencias actuales del desarrollo de softwareTendencias actuales del desarrollo de software
Tendencias actuales del desarrollo de softwareCoordinador Ordoñez
 
Conclusiones de Unidad 1 - Sistemas Operativos.
Conclusiones de Unidad 1 - Sistemas Operativos.Conclusiones de Unidad 1 - Sistemas Operativos.
Conclusiones de Unidad 1 - Sistemas Operativos.Martin Pacheco Chávez
 
PARADIGMA IMPERATIVO
PARADIGMA IMPERATIVOPARADIGMA IMPERATIVO
PARADIGMA IMPERATIVOFredy Olaya
 
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 softwareMoises Medina
 
Metricas Ingenieria De Software
Metricas Ingenieria De SoftwareMetricas Ingenieria De Software
Metricas Ingenieria De SoftwareRicardo
 
Modelos de desarrollo de software
Modelos de desarrollo de softwareModelos de desarrollo de software
Modelos de desarrollo de softwarekellypt1
 
modelos del proceso del software
 modelos del proceso del software  modelos del proceso del software
modelos del proceso del software Brihany Rossell
 
curriculo nacional actualizado 2017
curriculo nacional actualizado 2017 curriculo nacional actualizado 2017
curriculo nacional actualizado 2017 Lima - Perú
 
Ingeniería de software Definicion,inicion,importancia y utilidad
Ingeniería de software Definicion,inicion,importancia y utilidadIngeniería de software Definicion,inicion,importancia y utilidad
Ingeniería de software Definicion,inicion,importancia y utilidadXKWDX
 
Diccionario de datos
Diccionario de datosDiccionario de datos
Diccionario de datosJorge Garcia
 

Destacado (16)

Proceso de desarrollo del software
Proceso de desarrollo del softwareProceso de desarrollo del software
Proceso de desarrollo del software
 
Modelos de desarrollo de un software
Modelos de desarrollo de un softwareModelos de desarrollo de un software
Modelos de desarrollo de un 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
 
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.
 
PARADIGMA IMPERATIVO
PARADIGMA IMPERATIVOPARADIGMA IMPERATIVO
PARADIGMA IMPERATIVO
 
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
 
Señales
SeñalesSeñales
Señales
 
Plan de desarrollo software
Plan de desarrollo softwarePlan de desarrollo software
Plan de desarrollo software
 
Metricas Ingenieria De Software
Metricas Ingenieria De SoftwareMetricas Ingenieria De Software
Metricas Ingenieria De Software
 
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
 
curriculo nacional actualizado 2017
curriculo nacional actualizado 2017 curriculo nacional actualizado 2017
curriculo nacional actualizado 2017
 
Ingeniería de software Definicion,inicion,importancia y utilidad
Ingeniería de software Definicion,inicion,importancia y utilidadIngeniería de software Definicion,inicion,importancia y utilidad
Ingeniería de software Definicion,inicion,importancia y utilidad
 
Diccionario de datos
Diccionario de datosDiccionario de datos
Diccionario de datos
 

Similar a ParadigmasDesarrolloSoftware

Cuadro comparativo
Cuadro comparativoCuadro comparativo
Cuadro comparativojorge paez
 
Modelos de proceso del software
Modelos de proceso del softwareModelos de proceso del software
Modelos de proceso del softwareDiego Llusco
 
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 )Hendrick Rodriguez
 
Modelos de desarrollo de software
Modelos de desarrollo de softwareModelos de desarrollo de software
Modelos de desarrollo de softwareLuiscolmenares46
 
MODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWAREMODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWAREMicky Jerzy
 
MODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWAREMODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWAREMicky Jerzy
 
Modelos de desarrollo del software
Modelos de desarrollo del softwareModelos de desarrollo del software
Modelos de desarrollo del softwareMiguelDiaz369
 
Modelos de desarrollo del software.
Modelos de desarrollo del software.Modelos de desarrollo del software.
Modelos de desarrollo del software.MiguelDiaz369
 
Especializacion karla florez
Especializacion karla florezEspecializacion karla florez
Especializacion karla florezkarlitaflorez
 
04 modelosdeprocesodesoftware isi
04 modelosdeprocesodesoftware isi04 modelosdeprocesodesoftware isi
04 modelosdeprocesodesoftware isiChristian Bueno
 
Trabajo de sistemas de software
Trabajo de sistemas de softwareTrabajo de sistemas de software
Trabajo de sistemas de softwareJhonJairoPerez
 
03 unidad i modelos de ing soft
03 unidad i   modelos de ing soft03 unidad i   modelos de ing soft
03 unidad i modelos de ing softvictdiazm
 
Investigación de modelos
Investigación de modelos Investigación de modelos
Investigación de modelos bren1995
 

Similar a ParadigmasDesarrolloSoftware (20)

Paradigmas
ParadigmasParadigmas
Paradigmas
 
Cuadro comparativo
Cuadro comparativoCuadro comparativo
Cuadro comparativo
 
Presentacion grupo8
Presentacion grupo8Presentacion grupo8
Presentacion grupo8
 
Modelos de proceso del software
Modelos de proceso del softwareModelos de proceso del software
Modelos de proceso del software
 
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 )
 
Modelos de desarrollo de software
Modelos de desarrollo de softwareModelos de desarrollo de software
Modelos de desarrollo de software
 
secme-17394.pdf
secme-17394.pdfsecme-17394.pdf
secme-17394.pdf
 
MODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWAREMODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWARE
 
MODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWAREMODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWARE
 
Grupo82018
Grupo82018Grupo82018
Grupo82018
 
Modelos de desarrollo del software
Modelos de desarrollo del softwareModelos de desarrollo del software
Modelos de desarrollo del software
 
Doc grupo2-webquest
Doc grupo2-webquestDoc grupo2-webquest
Doc grupo2-webquest
 
Modelos de desarrollo del software.
Modelos de desarrollo del software.Modelos de desarrollo del software.
Modelos de desarrollo del software.
 
Especializacion karla florez
Especializacion karla florezEspecializacion karla florez
Especializacion karla florez
 
04 modelosdeprocesodesoftware isi
04 modelosdeprocesodesoftware isi04 modelosdeprocesodesoftware isi
04 modelosdeprocesodesoftware isi
 
Trabajo de sistemas de software
Trabajo de sistemas de softwareTrabajo de sistemas de software
Trabajo de sistemas de software
 
Modelos de software
Modelos de softwareModelos de software
Modelos de software
 
03 unidad i modelos de ing soft
03 unidad i   modelos de ing soft03 unidad i   modelos de ing soft
03 unidad i modelos de ing soft
 
Presentacion grupo9
Presentacion grupo9Presentacion grupo9
Presentacion grupo9
 
Investigación de modelos
Investigación de modelos Investigación de modelos
Investigación de modelos
 

ParadigmasDesarrolloSoftware

  • 1. Paradigmas para el desarrollo de software Marco Guerrero Edith Carreño Luis Zapatero Ingeniería en Informática. UNIDEG Juventino Rosas
  • 2. Introducción Desde el principio de los tiempos, el ser humano –en busca de una sociedad organizada- ha creado “paradigmas”. Un “paradigma” no es más que un conjunto de compromisos compartidos dentro de los cuales yacen supuestos que permiten crear un marco conceptual a partir del cual se le da cierto sentido y significado al mundo. Por ello, también dentro del mundo de la informática existen modelos y estipulaciones a seguir si deseamos desarrollar software funcional y practico.
  • 3. Modelos para el desarrollo de software • Si se quiere hacer algo correctamente, es necesario que se sigan reglas y estipulaciones para hacerlo. Es por ello que el “Paradigma para el desarrollo de software” nace de la agrupación de las ideas de la gente sobre el cómo construir programas y sobre cómo combinarlos en grandes sistemas de software.
  • 4. «La crisis del software» • El termino «crisis del software» fue creado durante la primer conferencia sobre la ingeniería de software de la NATO en 1967. • Durante las primeras décadas de la «ciencia de las computadoras» nos enfrentábamos con la dificultad de escribir programas útiles y eficientes en un rango de tiempo definido.
  • 5. «La crisis del software» Las causas del la «crisis del software» fueron ligadas a la complejidad del desarrollo de hardware y software. Esta crisis se manifestó de diferentes maneras: • Los proyectos requerían de mayor presupuesto y tiempo de lo establecido. • El software no cumplía los requisitos, pues era ineficiente y de baja calidad. • Era difícil darle mantenimiento al software y el código era complicado de entender.
  • 6. Modelos para el desarrollo de software Es por ello que podemos decir que el “Paradigma para el desarrollo de software” es un modelo para afrontar problemas que comparten características comunes.
  • 7. Modelos para el desarrollo de software Existen varios paradigmas. La tarea del ingeniero es ver cuál es el que se adecua a su problema a resolver. En caso de no encontrar uno exacto, el ingeniero puede combinarlos entre ellos.
  • 8. Modelos para el desarrollo de software Existen varios modelos principales para el desarrollo de software. • Modelo cascada • Modelo Incremental • Modelo de desarrollo concurrente • Modelo espiral • Modelo de ensamblaje de componentes
  • 9. Modelo cascada Propuesto por Royce en 1970. Es el paradigma más antiguo, por lo que fue el más utilizado durante la creación del modelo estructurado.
  • 10. Modelo cascada Aplicación Es necesario completar cada nivel antes de iniciar la siguiente actividad
  • 11. Modelo cascada Revisiones del ciclo de vida Las «revisiones de ciclo de vida» deben de ser utilizadas para evaluar el progreso y determinar si debe o no proceder a la siguiente fase de desarrollo de software.
  • 12. Modelo cascada Sistemas precedentes Para algunas categorías de sistemas intensivos de software, el paradigma de cascada puede ser una buena opción. • Este tipo de sistemas están los “sistemas precedentes” • Un “sistema precedente” está caracterizado por: • Arquitectura del sistema y un diseño de software maduro y capaz de cumplir los requisitos. • Equipos de sistemas de ingeniería y de desarrollo de software que tengan buena comunicación y que tengan experiencia previa con sistemas similares.
  • 13. Ventajas • Formaliza un marco para las fases de desarrollo de software • Hace hincapié por adelantado en los requisitos de software estables y en las actividades de diseño • Produce los requisitos de software y documentación de diseño durante las primeras fases • Es un modelo de un solo paso y por lo tanto puede ser rápido y de bajo costo cuando se utiliza en las condiciones adecuadas
  • 14. Desventajas • Su mayor ventaja también es su desventaja. Si algo ha salido mal, no se puede volver atrás. • Muchas veces el cliente no sabe lo que quiere, lo que puede traer confusión y malentendidos al equipo, pues ya no se pueden hacer cambios avanzado el proceso. • Pequeños errores que surgen al estar terminado el software causa grandes problemas.
  • 15. Modelo Incremental • El paradigma de desarrollo de software incremental implica el desarrollo de software en 'piezas' o incrementos. Por ello – a diferencia del modelo cascada – no necesita una secuencia lineal.
  • 16. Modelo Incremental • La idea principal está en el razonamiento en que algunas áreas presentan problemas únicos a analizar, pero otras no, entonces ¿Por qué retrasar el desarrollo de estas áreas? • El proyecto se desarrolla características básicas y sencillas primero, después avanza a las más complicadas poco a poco hasta completar el modelo completo. • La desventaja está en que los errores se detectan tarde y es costoso corregirlos.
  • 17. Ventajas • Permite que el cliente se involucre mas en el desarrollo. • El cliente se sentirá agradecido de la entrega temprana de partes operativas del software. • El desarrollo del software es mas veloz en comparación con el modelo de cascada. • En caso de que se detecte un error en el sistema, puede corregirse.
  • 18. Desventajas • Es difícil calcular el coste total del proyecto. • Los errores en los requisitos se detectan tarde. • Requiere metas claras para conocer el estado del proyecto. • Este modelo no se recomienda para casos de sistemas de tiempo real, de alto nivel de seguridad de procesamiento distribuido y/o de alto índice de riesgos.
  • 19. Modelo espiral • Desarrollado en la década de 1980. • El modelo espiral hace hincapié en prototipos impulsados por riesgo. • El análisis de riesgo se utiliza para identificar a los candidatos de alto riesgo para la creación de prototipos. La retroalimentación de los resultados de la creación de prototipos controlados se evalúa y el conocimiento obtenido se utiliza para mitigar los riesgos.
  • 20. Modelo espiral • Este proceso impulsado riesgo continúa hasta que se comprendan los principales riesgos del desarrollo de software.
  • 21. Modelo espiral Sistemas sin precedentes • Es un sistema para el que no existen ejemplos de diseño y los requisitos y los riesgos todavía no se conocen. • El modelo en espiral para el desarrollo de software es especialmente apropiado para sistemas sin precedentes (como en el departamento de defensa de Estados Unidos).
  • 22. Ventajas • Permite que se desarrolle un prototipo y que después el sistema base se idealice sobre el mismo. • Se adapta a cualquier numero de cambios durante cualquier fase del proceso. • Dado que el desarrollo del sistema se hace en pequeños fragmentos, la estimación de costos es sencilla. • Conforme el desarrollo se acerca al final, la experiencia del cliente con el sistema crece, por lo que se pueden analizar las necesidades del mismo a detalle.
  • 23. Desventajas • El desarrollo del sistema es tardado. • Es un modelo costoso. • Requiere experiencia para la identificación de riesgos.
  • 24. Modelo por prototipos La idea principal detrás de este modelo es que en lugar de congelar un proyecto mientras se trata de asentar los requerimientos; se desarrolla un prototipo con los puntos que se tienen hasta el momento. Esto permite comprender mas a fondo los requerimientos y necesidades.
  • 25. Modelo por prototipos El cliente –al usar el prototipo-adquiere un entendimiento mayor del sistema, pues «puede sentirlo» y verlo en acción. Poco a poco, el sistema va tomando forma. Por ello, a este modelo también se le llama «evolutivo».
  • 26. Ventajas • Perfecto cuando los usuarios estan embueltos en el desarrollo. Pues permite adaptarlo a necesidades en las cuales no se habia pensado. • Aumenta el entendimiento que los usuarios tienen por el sistema mientras el desarrollo avanza. • Funcionalidades olvidadas pueden ser identificadas facilmente.
  • 27. Desventajas • Por su estilo, el sistema puede aumentar de tamaño hasta superar los planes originales. • Puede llegar a ser mas tardado que otros modelos. • Es mas complicado llevar un orden a comparación de otros modelos.
  • 28. Modelo de ensamblaje de componentes Incorpora características del modelo espiral. Es evolutivo por naturaleza, ya que se identifican las clases orientadas a objetos candidatas, esto se hace examinando los datos que se manejan por la aplicación (por medio de un algoritmo), las cuales –en un futuro- pueden ser reutilizadas
  • 29. Modelo de ensamblaje de componentes
  • 30. Ventajas • El análisis de riesgo se hace de forma explicita y clara. • Une los mejores elementos de varios modelos. • Reduce los riesgos del proyecto. • Incorpora objetivos de calidad. • Integra el desarrollo con el mantenimiento.
  • 31. Desventajas • Genera mucho tiempo en el desarrollo del sistema. • Modelo costoso. • Genera mucho trabajo adicional. Cuando un sistema falla, se pierde tiempo y presupuesto dentro de la empresa.
  • 32. Modelo de desarrollo concurrente • Es un modelo de tipo de red donde todas las personas actúan simultáneamente desarrollando una serie de actividades técnicas importantes, tareas y estados asociados a ellas. • Una gran ventaja es que proporciona una imagen actualizada del proyecto, pues no se restringe a una secuencia de sucesos. También es excelente para proyectos en los que se conforman grupos de trabajo independientes.
  • 33. Modelo de desarrollo concurrente
  • 34. Ventajas • Excelente para proyectos donde se conforman grupos de trabajos independientes. • Proporciona una imagen exacta del estado actual de un proyecto.
  • 35. Desventajas • Si no existen grupos de trabajo, no se puede trabajar este método. • Si se cuenta con un solo grupo de trabajo incompetente, todo el proyecto peligrara.
  • 36. Conclusiones El avance se da a partir de expandir nuestros horizontes; de aceptar ideas nuevas El análisis correcto de los problemas que se tienen en frente es la tarea de cualquier ingeniero que quiera tener éxito. Esto solo puede ser alcanzado teniendo los conocimientos necesarios y las ganas de aplicarlos. Por algo existen los paradigmas en el desarrollo de software. Han sido probados y funcionan.
  • 37. Fuentes • http://www.sites.upiicsa.ipn.mx/polilibros/portal/Polilibros/P_proceso/ANALISIS_Y_DISEnO_DE_SISTEMAS/IngenieriaDeSoft ware/CIS/UNIDAD%20I/1.5.htm • http://revistavirtual.ucn.edu.co/index.php/RevistaUCN/article/viewFile/62/129 • http://asignaturasunimetaingeluzespita.bligoo.com/media/users/22/1135477/files/303935/Modelo_de_desarrollo_concurr ente.pdf • http://ldc.usb.ve/~vtheok/cursos/ci3711/apuntes/99-01-14/Info/Modelo%20de%20Ensamblaje.htm • http://paradigmasiut.blogspot.mx/2013/04/metodologia-de-desarrollo-de-software.html • http://www.paradigmas.mx/que-es-un-paradigma/ • http://proyectosinformaticoscht2009.wordpress.com/antes-de-empezar/marco-teorico/paradigmas-de-desarrollo-de-software/ • http://216.54.19.111/~mountaintop/sam101/scopage_dir/l5_acqstrat/l5_t3sdp.html • http://ingenieraupoliana.blogspot.mx/2010/10/modelo-de-desarrollo-concurrente.html • http://ingenieraupoliana.blogspot.mx/2010/10/modelo-de-desarrollo-basado-en.html • http://es.wikipedia.org/wiki/Desarrollo_en_espiral • http://quecomputadoracomprar.com/ventajas-y-desventajas-del-modelo-en-espiral/ • http://ingenieraupoliana.blogspot.mx/2010/10/modelo-incremental.html • http://en.wikipedia.org/wiki/Software_crisis • http://istqbexamcertification.com/what-is-prototype-model-advantages-disadvantages-and-when-to-use-it/ • Y material presente en la plataforma.