METODOLOGÍAS DEL CICLO DE VIDA DEL SOFTWARE

Slides:



Advertisements
Presentaciones similares
EL PROCESO DE DESARROLLO DEL SOFTWARE
Advertisements

Ciclo de vida de desarrollo de software
Desarrollo en espiral.
CICLO DE VIDA DEL DESARROLLO DE SOFTWARE
También conocido como Diseño Lógico Rodrigo Salvatierra Alberú.
CICLO DE VIDA DE LOS SISTEMAS DE INFORMACIÓN
Modelos de Ciclo de Vida
PROCESO Y MODELOS EN LA INGENIERIA DE SOFTWARE
ANÁLISIS DE REQUERIMIENTOS
METODOLOGÍAS ÁGILES “PROCESO UNIFICADO ÁGIL (AUP)
Ciclos de vida del software
Modelos de Proceso del Software
CALIDAD DE SOFTWARE Alejando Márquez Alejando Vega Claudia Aguilar
INGENIERIA DEL SOFTWARE
VENTAJAS /DESVENTAJAS
Ingeniería de Software
Fase Inicial Grupo 6 – PIS – 2013.
Modelo de ciclo de vida en espiral
DISEÑO DE SOFTWARE 1ª. Parte
Las etapas de un proyecto
Metodología La metodología para el desarrollo de software es un modo sistemático de realizar, gestionar y administrar un proyecto para llevarlo a cabo.
Modelo Incremental DESCRIPCION
Ingenieria de software
Ciclo de Vida del Software Paradigmas de Desarrollo
Ingeniería de Requisitos
Gestión de Proyectos Informáticos Sesión N° 5 Ciclo de Vida de un Proyecto Roberto Jijena I.
Modelo de espiral Fue originalmente propuesto por Barry Boehm en Es una secuencia de actividades con retrospectiva de una actividad a otra, representado.
Modelos de desarrollo de Software
Técnicas de Programación
MODELO DE DESARROLLO DE SOFTWARE
Ingeniería de Software: Metodologías Agustín J. González ElO329: Diseño y Programación Orientados a Objeto Adaptado de:
Ingeniería del Software
Ingeniería de Requerimiento
INGENIERÍA DE SOFTWARE
Tema 1: Introducción a la Ingeniería de Software
CICLO DE VIDA Y NORMAALIZACION DE UN SISTEMA DE BASE DE DATOS
INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE
VISIÓN GENERAL DE LA IS Con independencia del modelo de proceso hay tres fases genéricas: Fase de definición Fase de desarrollo Fase de mantenimiento Cada.
Pruebas y La Vida del Ciclo de Desarrollo del Software
Diseño de Sistemas Herramientas para el Diseño de Sistemas.
Alexander Aristizabal Ángelo flores herrera
Capitulo 1 Roger S. Presman
Ciclo de vida de un sistema
Método iterativo Integrantes : Paola Ramón Armando 19 octubre 2011.
 Sara Isabel Osorio Alcaraz Ana Isabel Vallejo Grisales 10 Informática 1.
Guía metodológica para la gestión de proyectos de software en PyMEs que no son fábricas de software por medio de metodologías ágiles Tatiana Alejandra.
METODOLOGIAS DE DESARROLLO DE SOFTWARE
Introducción al proceso de verificación y validación.
Actividades en el Proceso de desarrollo de Software
Modelo Prescriptivos de proceso
Ingeniería del Software I
Estructurar tus ideas para hacerlas realidad
G ESTIÓN DE LA C ONFIGURACIÓN DEL S OFTWARE G ESTIÓN DE LA C ONFIGURACIÓN DEL S OFTWARE Daniel Eduardo Almeciga Angie Katterine Cruz O. Diego Fernando.
JHENNIFER SANCHEZ ORTIZ CRISTIAN CAMILO RIASCOS ALEJANDRO PINEDA SANCHEZ FERNANDO JAVIER REBELLON.
Ciclo de Vida del Software
Mejores Prácticas para el Desarrollo de Software Omar de Jesús Rosales Hernández.
Ingeniería en Informática F UNDAMENTOS DE C OMPUTACIÓN B ACHILLERATO EN I NGENIERÍA I NFORMÁTICA L IC. C ARLOS H. G UTIÉRREZ L EÓN.
Ing del Software Libre1 Ingeniería del Software Libre y Modelos de Calidad Instructora: Ing. Erika Veliz Correo Electrónico:
CONCEPTO DE CICLO DE VIDA 1 En los departamentos de Sistemas se debe definir un marco de referencia común que debe ser:  Pueda ser empleado por todos.
Fundamentos de Computación
Comenzando con las ideas de Barry Boehm y Scott Shultz, James Martin desarrolló el Rapid Application Development durante los años 1980 en IBM y finalmente.
Software de Comunicaciones
Modelo de procesos de software
Objetivos de la prueba Los objetivos principales de realizar una prueba son: Detectar un error. Tener un buen caso de prueba, es decir que tenga más probabilidad.
Integrantes: Mejía Zúñiga Yoselin Taco Apaza Pamela Ychuta Torres John.
MODELOS DE DESARROLLO Es una descripción de un proceso del software que se presenta desde una perspectiva particular. Por su naturaleza, los modelos.
NOTA: Para cambiar la imagen de esta dispositiva, seleccione la imagen y elimínela. A continuación haga clic en el icono Imágenes en el marcador de posición.
Verificación y Validación del Software
Sistemas de calidad en el desarrollo de software.
Transcripción de la presentación:

METODOLOGÍAS DEL CICLO DE VIDA DEL SOFTWARE

¿QUÉ ES UNA METODOLOGÍA DEL CICLO DE VIDA? Es un modo sistemático para realizar, gestionar y administrar un proyecto de software con el objetivo de obtener altas posibilidades de éxito. Una metodología de desarrollo revela: La división de un proyecto en etapas Acciones que corresponden a cada una de las etapas Entradas y salidas para cada una de las etapas Pautas para administrar el proyecto

NECESIDAD DE UNA METODOLOGÍA DEL CICLO DE VIDA Se requiere de una metodología de desarrollo de software porque: Se deben ajustar los sistemas informáticos a las exigencias del mercado atendiendo a un plan de trabajo. Se debe administrar y supervisar el proceso de desarrollo de software con el ánimo de retroalimentarlo constantemente. El software ahora es más complejo y esta característica requiere de pautas que faciliten el logro de objetivos. Se requiere de análisis, planificación, gestión de recursos y documentación para evitar el aumento en tiempo de desarrollo y mala calidad del producto final.

METODOLOGÍA DEL CICLO DE VIDA LINEAL Descompone la actividad global del proyecto en etapas que son realizadas linealmente, es decir, cada etapa se realiza una vez: a continuación de la etapa anterior y antes de la etapa siguiente. Las actividades de cada una de las etapas son independientes y no hay retroalimentación entre ellas, aunque pueden permitirse procesos de retroalimentación correctiva. Hay rigidez con respecto a lo que va a suceder en cada una de las etapas antes de comenzarlas, lo que permite reducir la posibilidad de errores durante la codificación y la necesidad de requerir información de los usuarios. Se destaca la sencillez de su gestión y administración en el desarrollo de programas pequeños. No es apto para desarrollos que suponen retroalimentación entre etapas por los costos que pueden presentarse al retomar una etapa anterior.

METODOLOGÍA DEL CICLO DE VIDA LINEAL Preanálisis Análisis Diseño Desarrollo Pruebas Implantación Mantenimiento Preanálisis Análisis Diseño Desarrollo Pruebas Implantación Mantenimiento Preanálisis Análisis Diseño Desarrollo Pruebas Implantación Mantenimiento

METODOLOGÍA DEL CICLO DE VIDA EN CASCADA Admite iteraciones Después de cada etapa se realiza una o varias revisiones para comprobar si se puede pasar a la siguiente. Es un modelo rígido, poco flexible y con muchas restricciones. Se destaca la sencillez de su planificación. Provee un producto con un elevado grado de calidad sin necesidad de un personal altamente calificado. Se debe contar con todos los requerimientos al comienzo del proyecto Si se han cometido errores y no se detectan en la fase siguiente, es costoso volver atrás para realizar la corrección. Los resultados no se observan hasta que no se encuentren las etapas finales del ciclo; por eso, cualquier error detectado trae retraso y aumento de costos. Es un ciclo adecuado para desarrollar software del cual se tienen los requerimientos desde el comienzo.

METODOLOGÍA DEL CICLO DE VIDA EN CASCADA Preanálisis Análisis Diseño Desarrollo Pruebas Implantación Mantenimiento

VENTAJAS Y DESVENTAJAS Excelente cuando se tiene un producto estable y se conoce la tecnología. Es un método muy estructurado que funciona bien con gente de poca experiencia. Provee estabilidad en los requerimientos. La planeación se puede hacer anticipadamente. Recomendado para elaboración de proyectos grandes. DESVENTAJAS. Tiene poca flexibilidad. Los proyectos en la práctica raramente siguen un flujo secuencial. Siempre es difícil para el cliente mostrar los requerimientos explícitamente y con mucha anticipación. El cliente debe tener paciencia. Es flexible y no motiva al cambio. Poco apropiado para aplicaciones para la toma de decisiones. Los usuarios tienen una participación limitada.

METODOLOGÍA DEL CICLO DE VIDA POR PROTOTIPOS Un prototipo es un producto parcial o provisional El objetivo de esta metodología de ciclo de vida es lograr un producto intermedio antes de realizar el producto final con el propósito de conocer como responderán las funcionalidades previstas para el producto final. Antes de adoptar esta metodología de ciclo de vida debe evaluarse si vale la pena adoptar el esfuerzo de crear un prototipo. Se utiliza en la elaboración de productos con innovaciones importantes o en el uso de tecnologías nuevas o poco probadas, en las que la incertidumbre sobre los resultados a obtener impiden el uso de una metodología secuencial. Es útil en actividades de migración de programas para adoptar sus nuevas funcionalidades. La ventaja de esta metodología radica en que no es necesario conocer las especificaciones o tecnología a utilizar. La desventaja radica en la dificultad de administración y en el alto costo.

METODOLOGÍA DEL CICLO DE VIDA POR PROTOTIPOS

CARACTERÍSTICAS Es un método menos formal de desarrollo. El prototipo es una técnica para comprender las especificaciones. Un prototipo puede ser eliminado. Un prototipo puede llegar a ser parte del producto final. Se caracteriza por ser un diseño rápido que conduce a la construcción de un prototipo, el cual es evaluado por el usuario para una retroalimentación; gracias a ésta se refinan los requisitos del software que se desarrollará. La iteració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.

VENTAJAS Y DESVENTAJAS Útiles cuando los requerimientos son cambiantes. Cuando no se conoce bien la aplicación. Cuando el usuario no se quiere comprometer con los requerimientos. Cuando se quiere probar una arquitectura o tecnología. Cuando se requiere rapidez en el desarrollo. DESVENTAJAS. No se conoce cuando se tendrá un producto aceptable. No se sabe cuantas iteraciones serán necesarias. Da una falsa ilusión al usuario sobre la velocidad del desarrollo. El prototipo deber ir acompañado de otro modelo pasa su desarrollo. Sus desventajas son que debido a que el usuario ve que el prototipo funciona piensa que este es el producto terminado y no entienden que recién se va a desarrollar el software.

METODOLOGÍA DEL CICLO DE VIDA EN ESPIRAL Puede considerarse una evolución del modelo por prototipos Se basa en una serie de ciclos repetitivos para ir ganando madurez en el producto final. Toma más en cuenta el concepto de riesgo que aparece debido a la incertidumbre o la ignorancia de los requerimientos proporcionados al principio del proyecto o que surgirán durante el desarrollo. A medida que avanza el espiral, se obtienen prototipos que van ganando la satisfacción del cliente. Consta de cuatro actividades que envuelven las etapas: planificación (relevamiento de requerimientos iniciales o luego de una iteración), análisis de riesgo (de acuerdo con el relevamiento de requerimientos se decide si se continua con el desarrollo), Implementación (se desarrolla un prototipo basado en los requerimientos) y evaluación (el cliente evalúa el prototipo).

METODOLOGÍA DEL CICLO DE VIDA EN ESPIRAL

Se caracteriza principalmente por: CARACTERÍSTICAS Se caracteriza principalmente por: 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 de sistema que sean factibles y mutuamente satisfactorias. El modelo espiral captura algunos principios básicos: Decidir qué problema se quiere resolver antes de resolverlo. Examinar tus múltiples alternativas de acción y elegir una de las más convenientes. Evaluar qué tienes hecho y qué tienes que haber aprendido después de hacer algo. No ser tan ingenuo para pensar que el sistema que estás construyendo será "EL" sistema que el cliente necesita. Conocer (comprender) los niveles de riesgo, que tendrás que tolerar.

El producto termina con todos los riesgos resueltos. VENTAJAS VENTAJAS. El producto avanza a pasos firmes solucionando el riesgo en cada iteración. El producto termina con todos los riesgos resueltos. Se pueden incluir otros métodos de desarrollo en las iteraciones. A medida que el costo aumenta, los riesgos se reducen. Se tienen puntos de control en cada iteración.

MODELO EVOLUTIVO La idea detrás de este modelo es el desarrollo de una implantación del sistema inicial, exponerla a los comentarios del usuario, refinarla en N versiones hasta que se desarrolle el sistema adecuado. En la Figura 14 se observa cómo las actividades concurrentes: especificación, desarrollo y validación, se realizan durante el desarrollo de las versiones hasta llegar al producto final. Una ventaja de este modelo es que se obtiene una rápida realimentación del usuario, ya que las actividades de especificación, desarrollo y pruebas se ejecutan en cada iteración. Este modelo es efectivo en proyectos pequeños (menos de 100.000 líneas de código) o medianos (hasta 500.000 líneas de código) con poco tiempo para su desarrollo y sin generar documentación para cada versión.

MODELO EVOLUTIVO

Existen dos tipos de desarrollo evolutivo: MODELO EVOLUTIVO Existen dos tipos de desarrollo evolutivo: Desarrollo Exploratorio: El objetivo de este enfoque es explorar con el usuario los requisitos hasta llegar a un sistema final. El desarrollo comienza con las partes que se tiene más claras. El sistema evoluciona conforme se añaden nuevas características propuestas por el usuario. Enfoque utilizando prototipos: El objetivo es entender los requisitos del usuario y trabajar para mejorar la calidad de los requisitos. A diferencia del desarrollo exploratorio, se comienza por definir los requisitos que no están claros para el usuario y se utiliza un prototipo para experimentar con ellos. El prototipo ayuda a terminar de definir estos requisitos.

VENTAJAS Y DESVENTAJAS La especificación puede desarrollarse de forma creciente. Los usuarios y desarrolladores logran un mejor entendimiento del sistema. Esto se refleja en una mejora de la calidad del software. Es más efectivo que el modelo de cascada, ya que cumple con las necesidades inmediatas del cliente. DESVENTAJAS. Proceso no Visible: Los administradores necesitan entregas para medir el progreso. Si el sistema se necesita desarrollar rápido, no es efectivo producir documentos que reflejen cada versión del sistema. Sistemas pobremente estructurados: Los cambios continuos pueden ser perjudiciales para la estructura del software haciendo costoso el mantenimiento. Se requieren técnicas y herramientas: Para el rápido desarrollo se necesitan herramientas que pueden ser incompatibles con otras o que poca gente sabe utilizar.

METODOLOGÍA DEL CICLO DE VIDA EN COMPONENTES Al igual que el modelo en espiral, esta metodología es evolutiva Concibe la iteración entre las etapas Configura aplicaciones desde componentes preparados de software llamados “clases”. La tecnología de objetos proporciona el marco de trabajo técnico para esta metodología. Enfatiza en la creación de clases que encapsulan tanto los datos como los algoritmos que se utilizan para manejarlos. Puntualiza en la reusabilidad del código

METODOLOGÍA DEL CICLO DE VIDA EN COMPONENTES

MODELO DESARROLLO RÁPIDO DE APLICACIONES (DRA) Es un proceso que comprende el desarrollo iterativo, la construcción de prototipos y el uso de herramientas CASE. Tradicionalmente, el desarrollo rápido de aplicaciones tiende a englobar también la usabilidad, utilidad y la rapidez de ejecución. El Desarrollo Rápido de Aplicaciones (DRA) es un modelo de proceso del desarrollo del software lineal secuencial que enfatiza un ciclo de desarrollo extremadamente corto. DRA es una adaptación a “Alta velocidad” en el que se logra el desarrollo rápido utilizando un enfoque de construcción basado en componentes. Si se comprenden bien los requisitos y se limita el ámbito del proyecto, el proceso DRA permite al equipo de desarrollo crear un “sistema completamente funcional” dentro de periodos cortos de tiempo.

MODELO DESARROLLO RÁPIDO DE APLICACIONES (DRA)

MODELO DESARROLLO RÁPIDO DE APLICACIONES (DRA) Cuando se utiliza principalmente para aplicaciones de sistemas de información, el enfoque DRA comprende las siguientes fases: Modelado de gestión: El flujo de información entre las funciones de gestión se modela de forma que responda a las siguientes preguntas: ¿Qué información conduce el proceso de gestión? ¿Qué información se genera? ¿Quién la genera? ¿A dónde va la información?. Modelado de datos: Se definen las características (llamadas atributos) de cada uno de los objetos y las relaciones entre estos objetos. Modelado de proceso: Las descripciones del proceso se crean para añadir, modificar, suprimir, o recuperar un objeto de datos. Es la comunicación entre los objetos. Generación de aplicaciones: El DRA asume la utilización de técnicas de cuarta generación. En lugar de crear software con lenguajes de programación de tercera generación, el proceso DRA trabaja para volver a utilizar componentes de programas ya existentes (cuando es posible) o a crear componentes reutilizables (cuando sea necesario). Pruebas de entrega: Como el proceso DRA enfatiza la reutilización, ya se han comprobado muchos de los componentes de los programas. Esto reduce tiempo de pruebas.

VENTAJAS Y DESVENTAJAS Comprar puede ahorrar dinero en comparación con construir. Los entregables pueden ser fácilmente trasladados a otra plataforma. Visibilidad temprana. Mayor flexibilidad. Menor codificación manual. Mayor involucramiento de los usuarios. Posiblemente menos fallas. Posiblemente menor costo. Ciclos de desarrollo más pequeños. Interfaz gráfica estándar. DESVENTAJAS Comprar puede ser más caro que construir. Costo de herramientas integradas y equipo necesario. Menos eficiente. Menor precisión científica. Prototipos pueden no escalar, un problema mayúsculo. Dependencia en componentes de terceros: funcionalidad de más o de menos, problemas legales.

MODELO INCREMENTAL Mills sugirió el enfoque incremental de desarrollo como una forma de reducir la repetición del trabajo en el proceso de desarrollo y dar oportunidad de retrasar la toma de decisiones en los requisitos hasta adquirir experiencia con el sistema. Es una combinación del Modelo de Cascada y Modelo Evolutivo. Reduce el rehacer trabajo durante el proceso de desarrollo y da oportunidad para retrasar las decisiones hasta tener experiencia en el sistema. Durante el desarrollo de cada incremento se puede utilizar el modelo de cascada o evolutivo, dependiendo del conocimiento que se tenga sobre los requisitos a implementar. Si se tiene un buen conocimiento, se puede optar por cascada, si es dudoso, evolutivo.

MODELO INCREMENTAL

VENTAJAS Y DESVENTAJAS Los clientes no esperan hasta el fin del desarrollo para utilizar el sistema. Pueden empezar a usarlo desde el primer incremento. Los clientes pueden aclarar los requisitos que no tengan claros conforme ven las entregas del sistema. Se disminuye el riesgo de fracaso de todo el proyecto, ya que se puede distribuir en cada incremento. Las partes más importantes del sistema son entregadas primero, por lo cual se realizan más pruebas en estos módulos y se disminuye el riesgo de fallos. La solución se va mejorando en forma progresiva a través de las múltiples iteraciones. DESVENTAJAS. Cada incremento debe ser pequeño para limitar el riesgo (menos de 20.000 líneas). Cada incremento debe aumentar la funcionalidad. Es difícil establecer las correspondencias de los requisitos contra los incrementos. Es difícil detectar las unidades o servicios genéricos para todo el sistema.

METODOLOGÍA Vs CICLO DE VIDA Una metodología puede seguir uno o varios modelos de ciclo de vida, es decir, el ciclo de vida indica qué es lo que hay que obtener a lo largo del desarrollo del proyecto pero no cómo hacerlo. La metodología indica cómo hay que obtener los distintos productos parciales y finales