El Ciclo de Vida del Software

Documentos relacionados
El Ciclo de Vida del Software

El Ciclo de Vida del Software

Conceptos Básicos de Ingeniería del Software

Departamento de Lenguajes y Sistemas Informáticos. Ciclo de vida del software

Metodología Métrica v. 3.0

METRICA VERSION MÉTRICA versión 3. Metodología de Planificación, Desarrollo y Mantenimiento de Sistemas de Información

CICLO DE VIDA DEL SOFTWARE

Modelos de desarrollo de sistemas

Ingeniería en Desarrollo de Software 3 er semestre. Programa de la asignatura: Introducción a la ingeniería de software

Procesos de Software

Ingeniería de Software: Metodologías

Generalidades de la metodología de desarrollo

Tema 2. El Ciclo de Vida del Software (ISG1-ITIG)

INGENIERÍA DE SOFTWARE I CICLO DE VIDA ING. VÍCTOR ANCAJIMA MIÑÁN

Ingeniería de Software: Metodologías

Implementacion y prueba de unidades. Figura 2.1. El ciclo de vida del software. 1

MODELOS PRESCRIPTIVOS

Ciclos, Procesos y Metodologías de Desarrollo de Software. Análisis y Diseño de Sistemas de Información UNIDAD 2

MODULO III. Análisis y Diseño de Sistemas de Información INF-162 III. RUP. 3.1 Introducción. Facilitador: Miguel Cotaña 26 de Abril

SCRUM Introducción a la Técnica y Aplicación. Edwin Meza Flores Luis Espetia Aroni Manuel Alcázar Holguin Abril Saire Peralta Giovanni Cabrera Málaga

Cuadro de Mando para la gestión ágil, caso de implantación en departamento de B.I. Alexandre Maravilla Girbés Junio 2016

Procesos del software

Ingeniería de Software: Y eso qué es?

Seminario sobre metodologías ágiles extreme Programming (XP)

Fuente: Ian Sommerville. Ingeniería del Software, Séptima Edición

Unidad V. UML. Tema I. Conceptos Básicos Tema II. Definición de UML. Vocabulario Tema III. Elementos UML Tema IV. Diagramas.

Rational Unified Process

Diplomado Ingeniería de Software para Aplicaciones de Negocio

Desarrollo Rápido de Software. Objetivos

PROCESOS PARA LA INGENIERÍA DE SOFTWARE. Facultad de Estadística e Informática

PARTE 1. MÉTODOLOGÍAS ÁGILES: NATURALEZA ADAPTATIVA Y SU ORIENTACIÓN A LA GENTE.

ANÁLISIS DE SISTEMAS. Prof. Eliz Mora

06/10/2009. Qué es el Ciclo de Vida del SW? La norma Modelos de desarrollo

Ingeniería de Software

El Proceso de Ingeniería Web. Rogelio Ferreira Escutia

octubre de 2007 Arquitectura de Software

I. GESTIÓN DE PROYECTOS

Modelos de Procesos de desarrollo de Software I NGENIERIA D E S O F T WA R E P R I MAVERA

Desarrollo ágil basado en pruebas de aceptación

Introducción a la Ingeniería de Software. Tema 2: Modelos de Proceso

Ingeniería de Sistemas. Objetivos. Que es un Sistema? Tópicos. Ingeniería de Software y Sistemas. Problemas con la Ingeniería de Sistemas

PROCESOS PARA LA INGENIERÍA DE SOFTWARE. Facultad de Estadística e Informática

INGENIERIA DE SOFTWARE ING. FRANCISCO RODRIGUEZ

Proceso Unificado de Desarrollo de Software. 13 de sep de 2006

MODELOS COMUNES PARA DESARROLLO DE SOFTWARE MODELO LINEAL SECUENCIAL

Construcción ágil de la Usabilidad

Tema II Ciclo de Vida del Software

TEMA 4. PROCESO UNIFICADO

Pruebas de Software. Escuela de Ingeniería de Sistemas y Computación Desarrollo de Software II Agosto Diciembre 2008

Ingeniería del Software Ingeniería del Software de Gestión. Tema 3 Metodologías de Desarrollo de Software

Tema 4g: Proceso Unificado: Implementación

9/9/2009. Introducción. Introducción. Introducción. Métodos Secuenciales. Métodos Secuenciales. Pruebas y La Vida del Ciclo de Desarrollo del Software

El Proceso. Capítulo 2 Roger Pressman, 5 a Edición. El Proceso de Desarrollo de Software

INGENIERÍA DE SOFTWARE

ANEXO TECNICO. Fábrica de Software

INGENIERIA DE SOFTWARE. Microsoft Solution Framework

Diseño e implementación de un modelo de simulación para el Gobierno de las TI basado en ITIL v3, MOF y CMMI for Services

PLANIFICACIÓN DE INGENIERÍA DEL SOFTWARE

Propuesta Metodológica para Desarrollo Ágil de Software

Mantenimiento de Software

Proceso Unificado (Iterativo e incremental)

Índice. Introducción... 19

Tema 9: Método de Craig Larman

CICLOS DE VIDA Y METODOLOGIAS

Clasificación de las Herramientas CASE

Qué es RUP? RUP es un proceso de desarrollo de software: Objetivos: Es también un producto:

ALLSOFT S.A. de C.V. Monterrey, N.L.

Grado de Ingeniería Informática. Consultor: Juan José Cuadrado Gallego Alumno: Isabel Guerra Monclova

BUENAS PRACTICAS EN DESARROLLO DE SOFTWARE APUNTES DE UNA EXPERIENCIA

DESARROLLO DE UN SISTEMA COMPUTARIZADO PARA GESTIONAR Y CONTROLAR LA ORDEN DE VUELO EN LA EMPRESA DE TRANSPORTE AÉREO TAME

Ingeniería de Software. Ingeniería de Requisitos Clase 4

Introducción. SCRUM OpenUp. Análisis mediante caso de estudio: Introducción

Método de Desarrollo de Sistemas Dinámicos (DSDM)

Modelos de Procesos: Prescriptivo

Transcripción:

26/09/2013 El Ciclo de Vida del Software Grupo de Ingeniería del Software y Bases de Datos Departamento de Lenguajes y Sistemas Informáticos Universidad de Sevilla septiembre 2013 Objetivos de este tema Conocer el concepto de del. Conocer los ciclos de vida más habituales. Conocer cómo plantean el las propuestas metodológicas más relevantes. 1 IISSI 1

26/09/2013 Qué es el del? Un marco de referencia que contiene los procesos, las actividades y las tareas involucradas en el desarrollo, la explotación y el mantenimiento de un producto, abarcando la vida del sistema desde la definición hasta la finalización de su uso (ISO 12207). 2 Qué es el del? El de un proyecto especifica el enfoque general del desarrollo, indicando los procesos, actividades y tareas que se van a realizar y en qué orden, y los productos que se van a generar, los que se van a entregar al cliente y en qué orden se van a entregar. 3 IISSI 2

26/09/2013 Ciclo de vida (en cascada) Cada fase comienza cuando termina la anterior. Asume que se conocen todos los requisitos. Se tarda mucho en disponer del. Es mejor que no seguir ningún. Es el más fácil de planificar, es el ciclo ideal. Mantenimiento 4 Por qué evolutivo? Cuanto mayor es un proyecto, menor es la probabilidad de éxito (informe CHAOS). Obtener todos los requisitos al comienzo es prácticamente imposible, las necesidades de clientes y usuarios evolucionan durante el desarrollo. Ciclos requisitos-desarrollo-evaluación El resultado de la evaluación permite evolucionar hacia la siguiente versión. Versiones Dr. Barry Boehm Creador del modelo espiral Evaluación 5 IISSI 3

26/09/2013 Ciclo de vida incremental (I) Repetición de varios ciclos de vida en cascada. Se suele aplicar a desarrollos de gran tamaño. Al final de cada ciclo se entrega una versión parcial del incrementada con cierta funcionalidad nueva respecto a las anteriores. 1 1 2 1 2 3 Versión 1 Funcionalidad 1 Versión 2 Funcionalidad 2 Versión 3 Funcionalidad 3 6 Ciclo de vida incremental (II) Los ciclos se repiten hasta obtener un producto completo. Los usuarios disponen antes del, aunque no sea completo y pueden sugerir mejoras (nuevos requisitos). 1 1 2 1 2 3 Versión 1 Funcionalidad 1 Versión 2 Funcionalidad 2 Versión 3 Funcionalidad 3 7 IISSI 4

26/09/2013 Ciclo de vida iterativo (I) Repetición de varios ciclos de vida en cascada. Se suele aplicar a desarrollos en los que los requisitos no están claros. Al final de cada ciclo se entrega una versión completa del mejorada respecto a la anterior. Versión 1 Versión 2 Versión 3 Iteración 1 Iteración 2 Iteración 3 8 Ciclo de vida iterativo (II) Las primeras versiones pueden ser prototipos que se desechan posteriormente. Los ciclos se repiten hasta obtener un producto satisfactorio. Los usuarios deben evaluar el producto en cada iteración y proponer mejoras. Versión 1 Versión 2 Versión 3 Iteración 1 Iteración 2 Iteración 3 9 IISSI 5

26/09/2013 Sobre los prototipos... Su uso no es exclusivo del iterativo. Se pueden usar como una herramienta para obtener y validar los requisitos de clientes y usuarios en cualquier. Lo habitual es usar prototipos de interfaz de usuario, que pueden reutilizarse (ejecutables) o desecharse (usualmente en papel, denominados mockups). 10 Sobre los prototipos... Siempre se debe evaluar si el esfuerzo de desarrollo del prototipo merece la pena. Es fundamental la implicación de los usuarios. Siempre se debe tener en cuenta que el prototipo no es el producto final, ya que su calidad no suele ser la necesaria. Otro tipo de prototipos, los funcionales, se utilizan para evaluar diferentes algoritmos antes de tomar decisiones de diseño. 11 IISSI 6

26/09/2013 Ciclo de vida en los métodos Son ciclos de vida con iteraciones de corta duración (2 semanas a 2 meses) para favorecer la comunicación con clientes y usuarios. En cada iteración se incorporan nuevas peticiones de clientes y usuarios (requisitos). Versión 1 Versión 2 Versión 3 Iteración 1 Iteración 2 Iteración 3 12 El manifiesto ágil de 2001... 13 IISSI 7

26/09/2013 El manifiesto ágil de 2001... Individuos e interacciones sobre procesos y herramientas Software que funcione sobre documentación detallada Colaboración con el cliente sobre negociación de contratos Respuesta al cambio sobre seguimiento de un plan 14 Individuos e interacciones sobre procesos y herramientas La gente es el principal factor de éxito de un proyecto. Es más importante construir un buen equipo que construir el entorno. Muchas veces se comete el error de construir primero el entorno y esperar que el equipo se adapte automáticamente. Es mejor crear el equipo y que éste configure su propio entorno de desarrollo en base a sus necesidades. 15 IISSI 8

26/09/2013 Software que funcione sobre documentación detallada La regla a seguir es no producir documentos a menos que sean necesarios de forma inmediata para tomar un decisión importante. Estos documentos deben ser cortos y centrarse en lo fundamental. 16 Colaboración con el cliente frente a negociación de contratos Se propone que exista una interacción constante entre el cliente y el equipo de desarrollo. Esta colaboración entre ambos será la que marque la marcha del proyecto y asegure su éxito. 17 IISSI 9

26/09/2013 Respuesta al cambio sobre seguimiento de un plan La habilidad de responder a los cambios que puedan surgir a los largo del proyecto (cambios en los requisitos, en la tecnología, en el equipo, etc.) determina también el éxito o fracaso del mismo. Por lo tanto, la planificación no debe ser estricta sino flexible y abierta. 18 Desarrollo ágil vs. desarrollo tradicional Ágil Basadas en heurísticas provenientes de prácticas de producción de código Especialmente preparados para cambios durante el proyecto Impuesta internamente menos controlado, con pocos principios El contrato es flexible El cliente es parte del equipo de desarrollo Equipos pequeños y/o en contacto físico Pocos artefactos Pocos roles Menor énfasis en la arquitectura Tradicional Basadas en normas provenientes de estándares seguidos por el entorno de desarrollo Presenta cierta resistencia al cambio Impuesta externamente muy controlado, con numerosas políticas y normas Contrato prefijado El cliente interactúa formalmente en reuniones Grupos grandes y/o distribuidos Numerosos artefactos Numerosos roles Arquitectura y modelos fundamentales 19 IISSI 10

26/09/2013 Técnicas de apoyo para los métodos Refactorización (refactoring) Mejoras sobre el código fuente sin cambiar su funcionalidad. automáticas programadas en lugar de realizadas a mano. Integración continua Automatización de la compilación y ejecución de pruebas automáticas. Gestión de configuración Especialmente diseñada para apoyar la interacción y la integración continua. 20 Metodología Scrum Metodología ágil más usada actualmente. Se basa en iteraciones de 30 días, sprints : Producen código potencialmente entregable. No se admiten cambios ni de requisitos ni de miembros del equipo de desarrollo 21 IISSI 11

26/09/2013 Metodología Scrum Agile meeting: reuniones cortas y frecuentes donde cada miembro del equipo expone: Qué ha hecho desde la última reunión Qué problemas ha tenido Qué va a desarrollar hasta la próxima reunión Backlog: lista priorizada de tareas Reemplaza a los diagramas de Gantt Backlogs de producto y backlogs de iteración 22 Modelo de procesos de Scrum 23 IISSI 12

26/09/2013 Ciclo de vida del iterativo e incremental propuesto por los creadores de UML. Define 6 fases: inicio, elaboración, construcción, transición, producción y retirada. 24 Ciclo de vida del En cada fase del desarrollo se producen una o más iteraciones y se obtiene una versión evaluable del. Desarrollo 25 IISSI 13

26/09/2013 Ciclo de vida en Metodología oficial de las Administraciones Públicas en España. permite aplicar diferentes ciclos de vida. Sus procesos básicos son: Plan de Sistemas de Información (PSI) Desarrollo de Sistemas de Información Estudio de Viabilidad del Sistema (EVS) del Sistema de Información (ASI) del Sistema de Información (DSI) Construcción del Sistema de Información (CSI) Implantación y Aceptación del Sistema (IAS) Mantenimiento de Sistemas de Información (MSI) 26 Ciclo de vida en También incluye procesos de apoyo Gestión de proyectos Seguridad Gestión de la Configuración Aseguramiento de la Calidad Puede descargarse desde http://administracionelectronica.gob.es 27 IISSI 14

26/09/2013 El modelo en V Asocia un tipo de pruebas a cada producto de cada fase según su nivel de abstracción. de Cliente Software Arquitectura validan validan validan de Sistema de Integración de Aceptación Componentes validan Unitarias 28 Ingeniería A veces es necesario mantener sistemas heredados (legacy systems) de los que no se dispone de documentación. Consiste en analizar el resultado de una fase del desarrollo de para obtener el resultado de la anterior, normalmente analizar el código para obtener el diseño. 29 IISSI 15

26/09/2013 Reingeniería La reingeniería utiliza la información obtenida por la ingeniería para aplicar cualquier tipo de mantenimiento. El mantenimiento preventivo del efecto 2000 ha sido el mayor esfuerzo de ingeniería y reingeniería en la historia de la Ingeniería del Software hasta la fecha. 30 IISSI 16