EL PROCESO DE DESARROLLO DEL SOFTWARE

Slides:



Advertisements
Presentaciones similares
Ciclo de vida de desarrollo de software
Advertisements

Desarrollo en espiral.
Modelo en cascada. Consta de las siguientes fases:
CICLO DE VIDA DEL DESARROLLO DE SOFTWARE
CICLO DE VIDA DE LOS SISTEMAS DE INFORMACIÓN
Metodologías de desarrollo
Modelos de Ciclo de Vida
PROCESO Y MODELOS EN LA INGENIERIA DE SOFTWARE
ANÁLISIS DE REQUERIMIENTOS
Ciclos de vida del software
TECNOLOGICO DE ESTUDIOS SUPERIORES DE HUIXQUILUCAN
CALIDAD DE SOFTWARE Alejando Márquez Alejando Vega Claudia Aguilar
Ingeniería del Software
Administración de Procesos de Pruebas
 EL MODELO INCREMENTAL.:  EL MODELO EN ESPIRAL:  viene a suplir el problema de no poder retroceder en las fases de desarrollo del software.  : no.
INGENIERIA DEL SOFTWARE
ITERASOFT. OBJETIVOS DEL GRUPO Producir un sistema Manejador de Itinerarios de alta calidad y confiabilidad Realizar un proyecto bien administrado y productivo.
Ciclos de vida ágiles.  Es una metodología ágil que plantea: ◦ Iteraciones cortas ◦ Entregables periódicos ◦ Colaboración con el cliente full time ◦
Temas Unidad I – 1.1 Modelos Prescriptivos de Procesos Cascada
Modelo de ciclo de vida en espiral
DISEÑO DE SOFTWARE 1ª. Parte
Modelo Incremental DESCRIPCION
Ingenieria de software
Inspecciones de Software
Gestión de Proyectos Informáticos Sesión N° 5 Ciclo de Vida de un Proyecto Roberto Jijena I.
Aide Arcia Polanco Marcela Escobar Monroy Keilyn Gisela Echeverry Tatiana Lemus Melary Julieth Rivas Reyes Gloria Docente 10*2 INSTITUCION EDUCATIVA GABRIEL.
Planificación, Reingeniería y Plan de Proyecto
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 del Software
¿Cómo nos ayuda GeneXus a mejorar la calidad en el proceso de desarrollo de Software? Ing. Rosario Estévez Ing. Rafael Mon
INGENIERÍA DE SOFTWARE
Tema 1: Introducción a la Ingeniería de Software
Sistemas Basados en Conocimiento (Knowledge Based Systems) Lic. Mario G. Oloriz Agosto 2004.
Diseño de Software y su Proceso
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
Ing. Noretsys Rodríguez. Definición de Conceptos  Falla: Ocurre cuando un programa no se comporta de manera adecuada. Es una propiedad estadística de.
EQUIPO: 3 Hernández Estrada Oscar Josué Álvarez Jordán Sergio Rodríguez Marcos Fidel Sánchez Toledano Daniel Rea Duran Omar Belmont Muñoz Carlos Ciclo.
Ciclo de Vida del Software Paradigmas de Desarrollo
TECNOLOGICO DE ESTUDIOS SUPERIORES DE HUIXQUILUCAN INGENIERIA EN SISTEMAS COMPUTACIONALES 6º SEMESTRE TURNO MATUTINO FUNDAMENTOS DE DESARROLLO DE SISTEMAS.
Metodología de Desarrollo Unidad Educativa Bolívar Sebastián Torres 6° 18°
Alexander Aristizabal Ángelo flores herrera
Capitulo 1 Roger S. Presman
TIPOS DE AUDITORÍAS EN SISTEMAS DE INFORMACIÓN
METODOLOGIAS DE DESARROLLO DE SOFTWARE
Actividades en el Proceso de desarrollo de Software
Ingeniería del Software I
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.
Ciclo de Vida del Software
METODOLOGÍAS DEL CICLO DE VIDA DEL SOFTWARE
UNIVERSIDAD TECNICA DE MANABI ESTUDIANTE KARINA TOALA CATEDRATICO ING.RENE GARCIA TEMA CASCADA.
MÓDULO INTRODUCCIÓN AL CICLO DE VIDA DEL SOFTWARE
DESARROLLO DE SOFTWARE Cuando se va desarrollar un software intervienen muchas personas como lo es el cliente quien es el que tiene el problema en su.
Proceso de desarrollo de Software
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
RAPID APPLICATION DEVELOPMENT RAD. Proceso de RAD Involucrar en todos los aspectos al usuario en el desarrollo del sistema Uso continuo y repetitivo de.
Software de Comunicaciones
Modelo de procesos de software
Planificación de Sistemas de Información
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.
Es una metodología ágil diseñada para el desarrollo de software, basada en la calidad y el monitoreo constante del proyecto. Consiste esencialmente en.
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
Transcripción de la presentación:

EL PROCESO DE DESARROLLO DEL SOFTWARE No existe un proceso de software universal que sea efectivo para todos los contextos de proyectos de desarrollo.

ACTIVIDADES FUNDAMENTALES DE TODOS LOS PROCESO DE SOFTWARE Especificación de software Diseño e Implementación Validación Evolución

ALGUNOS MODELOS DE PROCESO DE SOFTWARE Codificar y corregir Modelo en cascada Desarrollo evolutivo Desarrollo formal de sistemas Desarrollo basado en reutilización Desarrollo incremental Desarrollo en espiral

CODIFICAR Y CORREGIR (CODE-AND-FIX) ETAPAS Codificar parte del software Corregir errores, agregar funcionalidad o nuevos elementos.

UTILIZACIÓN Desarrollo de software tarea unipersonal. El problema es claramente comprendido El programador es el usuario de la aplicación. La aplicación es simple según estándares actuales

DESVENTAJAS No se planifica ni se controla. Después de una serie de cambios: La estructura del código se hace más y más complicada Los cambios siguientes son más y más difíciles. Los resultados son menos confiables.

DESVENTAJAS El software no satisface las necesidades ni las expectativas del cliente. La calidad no es adecuada. Productos terminados fuera de plazo y presupuesto. Cambios estructurales del software son casi imposibles.

CASCADA Se popularizó en la década de los 70 y guía la mayor parte de la práctica actual. El proceso es una “cascada” de fases, donde el producto de una fase es la entrada de la siguiente. Cada fase se compone de una serie de actividades que deben realizarse en paralelo.

DESCRIPCIÓN Este modelo admite hacer iteraciones, durante las modificaciones en el mantenimiento se puede ver por ejemplo la necesidad de cambiar algo en el diseño, lo cual significa que se harán los cambios necesarios en la codificación y se tendrán que realizar de nuevo las pruebas, si se tiene que volver a una de las etapas anteriores al mantenimiento hay que recorrer de nuevo el resto de las etapas.

FASES MODELO CASCADA Cada fase tiene como resultado documentos que deben ser aprobados por el usuario.

Una fase no comienza hasta que termine la fase anterior y generalmente se incluye la corrección de los problemas encontrados en fases previas. En la práctica, este modelo no es lineal, e involucra varias iteraciones e interacción entre las distintas fases de desarrollo.

VENTAJAS La planificación es sencilla. La calidad del producto resultante es alta. Permite trabajar con personal poco cualificado. Con este modelo se tiene un seguimiento de todas las fases del proyecto y de su cumplimiento.

DESVENTAJAS Necesidad de tener todos los requisitos al principio. Si se han cometido errores en una fase es difícil volver atrás. No se tiene el producto hasta el final Si se comete un error en la fase de análisis no lo descubrimos hasta la entrega, gasto inútil de recursos.

DESVENTAJAS El cliente no verá resultados hasta el final, con lo que puede impacientarse . No se tienen indicadores fiables del progreso del trabajo Es comparativamente más lento que los demás y el coste es mayor también.

Tipos de proyectos para los que es adecuado Aquellos con todas las especificaciones desde el principio (reingeniería). Desarrollo de un tipo de producto que no es novedoso. Proyectos complejos que se entienden bien desde el principio.

VARIACIONES DEL MODELO EN CASCADA CICLO DE VIDA EN V Propuesto por Alan Davis, tiene las mismas fases que el cascada pero se considera el nivel de abstracción de cada una. Una fase además de utilizarse como entrada para la siguiente, sirve para validar o verificar otras fases posteriores.

Ciclo de vida en V

VARIACIONES DEL MODELO EN CASCADA CICLO DE VIDA TIPO SASHIMI Se permite un solapamiento entre fases. Por ejemplo, sin tener terminado del todo el diseño se comienza a implementar. Una ventaja es que no necesita generar tanta documentación debido a la continuidad del mismo personal entre fases.

DESVENTAJAS CICLO DE VIDA TIPO SASHIMI Más difícil controlar el progreso del proyecto debido a que los finales de fase ya no son un punto de referencia claro. Al hacer cosas en paralelo si hay problemas de comunicación pueden surgir inconsistencias

ESTRUCTURA Ciclo de vida tipo sashimi

CICLO DE VIDA TIPO SASHIMI ESTRUCTURA CICLO DE VIDA TIPO SASHIMI La fase de ``concepto'' consiste en definir los objetivos del proyecto, beneficios, tipo de tecnología. El diseño arquitectónico es el de alto nivel, el detallado el de bajo nivel.

VARIACIONES DEL MODELO EN CASCADA CICLO DE VIDA EN CASCADA CON SUBPROYECTOS Al realizar el diseño arquitectónico, el sistema se divide en varios subsistemas independientes entre sí, estos se pueden desarrollar por separado y en consecuencia en paralelo con los demás. Cada uno tendrá seguramente fechas de terminación distintas. Una vez terminados todos se integran y se prueba el sistema en conjunto. La ventaja es tener a más gente trabajando en paralelo de forma eficiente. El riesgo es que existan interdependencias entre los subproyectos

VARIACIONES DEL MODELO EN CASCADA CICLO DE VIDA EN CASCADA INCREMENTAL Se va creando el sistema añadiendo pequeñas funcionalidades. Cada uno de los pequeños incrementos es parecido a lo que ocurre dentro de la fase de mantenimiento. La ventaja es que no es necesario tener todos los requisitos en un principio. El inconveniente es que los errores en la detección de requisitos se encuentran tarde.

ESTRUCTURA Ciclo de vida en cascada incremental

VARIACIONES DEL MODELO EN CASCADA CICLO DE VIDA EN CASCADA CON REDUCCIÓN DE RIESGOS Uno de los problemas del ciclo de vida en cascada es que si se entienden mal los requisitos esto sólo se descubrirá cuando se entregue el producto. Para evitar este problema se puede hacer un desarrollo iterativo durante las fases de análisis y diseño global

DESARROLLO CICLO DE VIDA EN CASCADA CON REDUCCIÓN DE RIESGOS Preguntar al usuario. Hacer diseño global que se desprende del punto 1. Hacer un prototipo de interfaz de usuario, entrevistas con los usuarios, etc y volver con ello al punto 1 para identificar más requisitos o corregir malentendidos. El resto es igual al ciclo de vida en cascada.

DESARROLLO ITERATIVO INCREMENTAL 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.

DESARROLLO ITERATIVO INCREMENTAL Bajo este modelo se entrega software “por partes funcionales más pequeñas” , pero reutilizables, llamadas incrementos. Cada incremento se construye sobre aquel que ya fue entregado.

DESARROLLO ITERATIVO INCREMENTAL Este es un modelo del tipo evolutivo, donde se permiten y esperan probables cambios en los requisitos en tiempo de desarrollo; se admite margen para que el software pueda evolucionar. Aplicable cuando los requisitos son medianamente bien conocidos pero no son completamente estáticos y definidos.

DESARROLLO ITERATIVO INCREMENTAL La Descripción del Sistema es esencial para especificar y confeccionar los distintos incrementos hasta llegar al Producto global y final. Las actividades concurrentes (Especificación, Desarrollo y Validación) sintetizan el desarrollo pormenorizado de los incrementos, que se hará posteriormente.

DESARROLLO ITERATIVO INCREMENTAL 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.

VENTAJAS No se espera hasta el fin del desarrollo para utilizar el sistema. Se pueden aclarar requisitos conforme se entrega el 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.

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.