20
Universidad de oriente Núcleo de Monagas Departamento de Ingeniería de sistemas Curso Especial de Grado Maturín/ Monagas/ Venezuela Profesor: Ing. Jonathan Vásquez Equipo ASP.NET: Ronald Cortez Carlos Castro Maturín, Abril del 2015 MODELOS DE CICLO DE VIDA EN EL DESARROLLO DE SOFTWARE

Modelos de ciclo de vida en el desarrollo de software

Embed Size (px)

Citation preview

Universidad de orienteNúcleo de Monagas

Departamento de Ingeniería de sistemasCurso Especial de Grado

Maturín/ Monagas/ Venezuela

Profesor: Ing. Jonathan Vásquez

Equipo ASP.NET:Ronald CortezCarlos Castro

Maturín, Abril del 2015

MODELOS DE CICLO DE VIDA EN EL DESARROLLO DE SOFTWARE

Reglas

Hacer silencio Apagar teléfonos

Preguntas al final

Contenido

INTRODUCCIÓN1.1Procesos de software1.2Qué es un modelo de desarrollo de Software1.2.1El modelo en cascada.1.2.2Desarrollo evolutivo.1.3Iteración de procesos1.4Métodos de desarrollo ágil de Software1.4.1Programación Extrema

Un proceso del software es un conjunto de actividades que conducen a la creación de un producto software. Estas actividades pueden consistir en el desarrollo de software desde cero en un lenguaje de programación estándar como Java o C. Sin embargo, cada vez más, se desarrolla nuevo software ampliando y modificando los sistemas existentes y configurando e integrando software comercial o componentes del sistema. (Sommerville, 2005)

Proceso de software

Proceso de software

1) Investigación Preliminar:La solicitud para recibir ayuda de un sistema de información

puede originarse por varias razones: sin importar cuales sean estas, el proceso se inicia siempre con la petición de una persona.

2) Determinación de los requerimientos del sistema:Los analistas, al trabajar con los empleados y

administradores, deben estudiar los procesos de una empresa para dar respuesta a las siguientes preguntas clave:¿Qué es lo que hace? ¿Cómo se hace?¿Con que frecuencia se presenta?¿Qué tan grande es el volumen de transacciones o decisiones?¿Cuál es el grado de eficiencia con el que se efectúan las tareas?¿Existe algún problema? ¿Qué tan serio es? ¿Cuál es la causa que lo origina?

Proceso de software

3) Diseño del sistema:

4) Desarrollo del software:Los encargados de desarrollar software pueden

instalar software comprobando a terceros o escribir programas diseñados a la medida del solicitante.

Proceso de software

5) Prueba de sistemas:Se alimentan como entradas conjunto de datos de prueba para su procesamiento y

después se examinan los resultados.

6) Implantación y evaluación:La implantación es el proceso de verificar e instalar nuevo equipo, entrenar a los

usuarios, instalar la aplicación y construir todos los archivos de datos necesarios para utilizarla. Una vez instaladas, las aplicaciones se emplean durante muchos años. Sin embargo, las organizaciones y los usuarios cambian con el paso del tiempo, incluso el ambiente es diferente con el paso de las semanas y los meses.

Según (Jortiz, 2011) Un modelo de desarrollo es una representación abstracta de un proceso de software, cada modelo representa el proceso de desarrollo de software de una manera en particular. A pesar de estar definidos claramente, no representan necesariamente la realidad de cómo se debe desarrollar el software, sino que establece un enfoque común. Un modelo puede ser modificado y adaptado de acuerdo a las necesidades del software en desarrollo.

Modelo de desarrollo de Software

Los procesos utilizados

para el desarrollo de software se

pueden dividir en dos grandes

vertientes:

• Modelos convencionales

(prescriptivos de proceso).

• Desarrollo ágil.

Modelo de desarrollo de Software

Los modelos convencionales en esencia son más estrictos o rígidos que los de desarrollo ágil, pero nos da mayor seguridad cuando se desea desarrollar un software de alta calidad.

●Modelo en cascada

●Modelo de proceso incremental

●Modelo de desarrollo rápido de aplicaciones (DRA)

●Modelos de procesos evolutivos

●Modelos especificados de procesos

●Modelo de desarrollo iterativos

Modelos Convencionales (prescriptivos de proceso).

Modelo de desarrollo de Software

El modelo de cascada original, publicada por Winston W. Royce en 1970, En este tipo de modelo las fases se desarrollan de forma lineal ó secuencial. Es ideal cuando se desea realizar adaptaciones o mejoras bien definidas a software ya existentes, en caso de que sea nuevo se hace imprescindible que se tengan los requerimientos bien claros y definidos.

debido a las diversas ventajas que este enfoque hacia el diseño de software y la aplicación presentada, pronto se hizo muy popular en el mundo de desarrollo de software.

Modelo en cascada

¿Quienes intervienen en el uso del Software?,

¿Qué restricciones tendrá el software?

Modelo en cascada

Ventajas

• No hace falta mencionar, es un modelo lineal y, por supuesto, los modelos lineales son las más simples a ser implementadas.

• La cantidad de recursos necesarios para implementar este modelo es mínimo.

• Una gran ventaja del modelo de cascada es que la documentación se produce en cada etapa del desarrollo del modelo de cascada. Esto hace que la comprensión del producto diseñar procedimiento más sencillo.

• Después de cada etapa importante de la codificación de software, las pruebas se realizan para comprobar el correcto funcionamiento del código.

Desventaja

• No se puede volver atrás, si la fase de diseño ha ido mal, las cosas pueden ser muy complicado en la fase de ejecución.

• La mayor desventaja del modelo de cascada es que hasta la etapa final del ciclo de desarrollo se ha completado, un modelo de trabajo del software no está en las manos del cliente. Por lo tanto, es difícil en condiciones de mencionar si lo que se ha diseñado es exactamente lo que había pedido

Modelo evolutivo

Características:• Gestionan bien la naturaleza evolutiva del software• Son iterativos: construyen versiones de softwarecada vez más completas

Se adaptan bien:

• Los cambios de requisitos del producto• Fechas de entrega estrictas poco realistas• Especificaciones parciales del producto

Modelo evolutivo VENTAJAS•ES INTERACTIVO -Con cada incremento se entrega al cliente un producto operacional , que puede evaluarlo•PERSONAL - Permite variar el personal asignado a cada interacción •GESTION RIESGOS TECNICOS - Por ejemplo disponibilidad de hardware especifico

INCONVENIENTES •La primera interacción puede plantear los mismos problemas que un modelo lineal secuencial

Modelo IterativoEl modelo en espiral del proceso del software fue originalmente propuesto por Boehm (Boehm, 1988). Más que representar el proceso del software como una secuencia de actividades con retrospectiva de una actividad a otra, se representa como una espiral. Cada ciclo en la espiral representa una fase del proceso del software. Así. el ciclo más interno podría referirse a la viabilidad del sistema, el siguiente ciclo a la definición de requerimientos, el siguiente ciclo al diseño del sistema, y así sucesivamente.

Modelos ágiles

Los modelos de desarrollo ágil combina una

filosofía y un conjunto de directrices de

desarrollo.

• Busca la satisfacción del cliente.

• Entrega temprana de software incremental.

• Utilizan métodos informales.

• Simplicidad general del desarrollo.

• La comunicación entre los desarrolladores

y los clientes durante el desarrollo del

proyecto es activa y continua.

●Programación extrema (XP)

●Desarrollo adaptativo del software (DAS)

●Modelo de desarrollo de sistemas dinámicos (MDSD).

●Modelo Scrum.

●Desarrollo conducido por características (DCC).

●Proceso unificado de Rational.

Modelos de Desarrollo Ágil.

Modelos ágiles

Modelos ágiles

¿QUÉ ES PROGRAMACIÓN EXTREMA O XP? •  Metodología liviana de desarrollo de software•  Conjunto de practicas y reglas empleadas para

desarrollar software• Basada en diferentes ideas acerca de cómo enfrentar

ambientes muy cambiantes• Originada en el proyecto C3 para Chrysler• En vez de planificar, analizar y diseñar para el futuro

distante, hacer todo esto un poco cada vez, a través de todo el proceso de desarrollo

Ventajas:  • Programación organizada.• Menor taza de errores.• Satisfacción del

programador. Desventajas: • Es recomendable emplearlo

solo en proyectos a corto plazo.

•  Altas comisiones en caso de fallar.

Modelos ágiles

Referencias

arcgis.com. (07 de Noviembre de 2012). Obtenido de http://help.arcgis.com/es/arcgisdesktop/10.0/help/002z/002z0000000q000000.htm

Chávez , V. M., & Olivares, J. C. (S.P). Monografias. Obtenido de http://www.monografias.com/trabajos13/metomt/metomt.shtml

Jortiz. (12 de Mayo de 2011). Blogger. Obtenido de http://tema3isoftware.blogspot.com/p/modelos-de-desarrollo-tecnicas-y.html

Kioskea. (25 de Marzo de 2015). Kioskea. Obtenido de http://es.kioskea.net/contents/223-ciclo-de-vida-del-software

Sommerville, I. (2005). Ingeniería De Software Septima Edicion . Madrid: Pearson Educación.

Wikipedia. (4 de Abril de 2015). Wikipedia. Obtenido de http://es.wikipedia.org/w/index.php?title=Desarrollo_%C3%A1gil_de_software&action=history