Se ha denunciado esta presentación.
Se está descargando tu SlideShare. ×

Modelos para el desarrollo de software V3

Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Cargando en…3
×

Eche un vistazo a continuación

1 de 37 Anuncio

Más Contenido Relacionado

Presentaciones para usted (20)

A los espectadores también les gustó (16)

Anuncio

Similares a Modelos para el desarrollo de software V3 (20)

Modelos para el desarrollo de software V3

  1. 1. Paradigmas para el desarrollo de software Marco Guerrero Edith Carreño Luis Zapatero Ingeniería en Informática. UNIDEG Juventino Rosas
  2. 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. 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. 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. 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. 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. 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. 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. 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. 10. Modelo cascada Aplicación Es necesario completar cada nivel antes de iniciar la siguiente actividad
  11. 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. 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. 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. 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. 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. 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. 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. 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. 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. 20. Modelo espiral • Este proceso impulsado riesgo continúa hasta que se comprendan los principales riesgos del desarrollo de software.
  21. 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. 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. 23. Desventajas • El desarrollo del sistema es tardado. • Es un modelo costoso. • Requiere experiencia para la identificación de riesgos.
  24. 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. 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. 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. 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. 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. 29. Modelo de ensamblaje de componentes
  30. 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. 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. 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. 33. Modelo de desarrollo concurrente
  34. 34. Ventajas • Excelente para proyectos donde se conforman grupos de trabajos independientes. • Proporciona una imagen exacta del estado actual de un proyecto.
  35. 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. 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. 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.

×