Ciclo de vida del Software



Documentos relacionados
Tema 2. Ingeniería del Software I feliu.trias@urjc.es

CICLO DE VIDA DEL SOFTWARE

CICLO DE VIDA DEL SOFTWARE. Una aproximación lógica a la adquisición, el suministro, el desarrollo, la explotación y el mantenimiento del software

Gestión y Desarrollo de Requisitos en Proyectos Software

Departamento de Informática Universidad de Valladolid Campus de Segovia TEMA 2: EL CICLO DE VIDA DEL SOFTWARE

JUSTIFICACIÓN DEL DESARROLLO DE UN SE

Gestión de Configuración del Software

SISTEMAS Y MANUALES DE LA CALIDAD

El Proceso Unificado de Desarrollo de Software

Elementos requeridos para crearlos (ejemplo: el compilador)

Universidad acional Experimental Del Táchira Decanato de Docencia Departamento de Ingeniería en Informática

Ciclo de vida y Metodologías para el desarrollo de SW Definición de la metodología

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

DE VIDA PARA EL DESARROLLO DE SISTEMAS

2 EL DOCUMENTO DE ESPECIFICACIONES

Cristian Blanco

Gestión de la Configuración

GESTION OPERATIVA. Niveles de gestión

Enginyeria del Software III

Mantenimiento de Sistemas de Información

Tema 1 Introducción a la Ingeniería de Software

Aseguramiento de la Calidad

12.1 Planificar las Compras y Adquisiciones

1.1 EL ESTUDIO TÉCNICO

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual

Modelos de Proceso Tradicionales

Propuesta Matriz de Actividades para un Ciclo de Vida de Explotación de Datos

Mantenimiento del Software

Metodología básica de gestión de proyectos. Octubre de 2003

DESARROLLO DE SOFTWARE DEFINICIÓN GENERAL DEL PROCESO GABY LORENA GUERRERO LEYDI ROCIO ERAZO PABLO FELIPE MIRANDA WALTER ALEXIS ANTE

INGENIERÍA DEL SOFTWARE

Sistemas de Gestión de Calidad. Control documental

DESARROLLO DE SOFTWARE CON CALIDAD PARA UNA EMPRESA

Unidades temáticas de Ingeniería del Software. Fases del proceso de desarrollo 4ª edición (2008)

LA LOGÍSTICA COMO FUENTE DE VENTAJAS COMPETITIVAS

SISTEMAS DE PLANEACIÓN DE RECURSOS EMPRESARIALES 2008

Figure 9-1: Phase C: Information Systems Architectures

Análisis y Diseño de Aplicaciones

Introducción. Definición de los presupuestos

Gestión de Proyectos Informáticos

Actividades para mejoras. Actividades donde se evalúa constantemente todo el proceso del proyecto para evitar errores y eficientar los procesos.

3. GESTIÓN DE CONFIGURACIÓN DE SOFTWARE

Implantación y Aceptación del Sistema

Norma ISO 14001: 2004

Norma ISO 14001: 2015

Proceso Unificado de Rational PROCESO UNIFICADO DE RATIONAL (RUP) El proceso de desarrollo de software tiene cuatro roles importantes:

5. Gestión de la Configuración del Software (GCS)

GUÍAS. Módulo de Diseño de software SABER PRO

INGENIERÍA DE SOFTWARE CICLOS DE VIDA Y METODOLOGIAS

Sede Escazú, Plaza Tempo

CMMI (Capability Maturity Model Integrated)

CS 230 Software Design (Engineering) 1

Estándares para planes de calidad de software. Escuela de Ingeniería de Sistemas y Computación Desarrollo de Software II Agosto Diciembre 2008

Qué es TypMan?

ITZOFT, una metodología de desarrollo de sistemas basada en el Proceso Unificado de Rational. Resumen

Plan de estudios ISTQB: Nivel Fundamentos

CAPÍTULO 2. MODELOS Y ESTÁNDARES DE CALIDAD DE SOFTWARE

Gestión de la configuración en el software (SCM) Ingeniería de software Eduardo Ferreira, Martín Solari

GUÍA METODOLÓGICA PARA LA REALIZACIÓN DE PROCEDIMIENTOS DOCUMENTADOS DE SISTEMAS DE GESTIÓN

Modelo para el Aseguramiento de Calidad en el Desarrollo de Software Libre

ISO 14000:2004. Presentación

Ciclo de vida y Requerimientos de software. Laboratorio de Programación

CONCEPTOS GENERALES DE LA GESTION DE PROYECTOS

MANUAL DE CALIDAD ISO 9001:2008

Figure 7-1: Phase A: Architecture Vision

Capítulo IV. Manejo de Problemas

SISTEMAS DE INFORMACIÓN I TEORÍA

GUIA SOBRE LOS REQUISITOS DE LA DOCUMENTACION DE ISO 9000:2000

Administración de Centros de Computo. ITIL. MSG.ING. DARWIN CERCADO B dcercado@primma.com.ec

Aplicaciones de Ingeniería de Software

COBIT o COBIT enfatiza el cumplimiento regulatorio, ayuda a las organizaciones a

LEGISLACION Y NORMATIVAS COMO FACTORES DETERMINANTES DE LA CALIDAD DEL SOFTWARE

PLANIFICACIÓN. PLANIFICACIÓN. OBJETIVOS, METAS Y PROGRAMAS PIG-07 HOTEL - RESTAURANTE. Fecha: Edición: 01 Página: 1/5.

Sistemas de Información Administrativo - Universidad Diego Portales. Cátedra : Sistemas de Información Administrativa S.I.A.

TECNOLOGICO DE ESTUDIOS SUPERIORES DE ECATEPEC CALIDAD DE SOFTWARE Guía para Examen Segundo Parcial Grupo 6501

Política de Seguridad y Salud Ocupacional. Recursos. Humanos. Abril 2006

Curso TURGALICIA SISTEMA DE GESTIÓN DE SEGURIDAD Y SALUD EN EL TRABAJO OHSAS 18001:2.007

Preguntas y respuestas (rebatibles) sobre metodologías de desarrollo de software

Tópicos Avanzados de Análisis y Diseño INGENIERIA DE SOFTWARE ING. MA. MARGARITA LABASTIDA ROLDÁN

El modelo de ciclo de vida cascada, captura algunos principios básicos:

CALIDAD DEL SOFTWARE TESTS DE EXAMEN ACTUALIZADO SEP TEMA 3 NORMALIZACIÓN Y CERTIFICACIÓN: NORMA ISO 9001:2000

Solución de una Intranet bajo software Open Source para el Gobierno Municipal del Cantón Bolívar [IOS-GMCB] Gobierno Municipal del Cantón Bolívar

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

Norma ISO 9001: Sistema de Gestión de la Calidad

Unidad 1. Fundamentos en Gestión de Riesgos

PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE

Estándar de Ingeniería de Software de la European Space Agency (ESA)

ISO 9000:2000. Roberto Aprili Justiniano Rodrigo Ramírez Pérez. Roberto Aprili, Rodrigo Ramírez

Metodologías de Desarrollo de Sistemas de Información

CONTROL DE DOCUMENTOS

Charlas para la Gestión del Mantenimiento Fernando Espinosa Fuentes


CONDICIONES GENERALES DEL SERVICIO PROCONSI S.L.

Planificación, Gestión y Desarrollo de Proyectos

MANEJO DE QUEJAS Y RECLAMOS

cilred.com CICLO DE VIDA DEL SOFTWARE & METODOLOGIAS DE DESARROLLO DE SOFTWARE ING. EDUARDO CRUZ ROMERO eduar14_cr@hotmail.com cilred.

ANEXO A - Plan de Proyecto EDT de la solución EDT GENERAL DEL PROYECTO1

QUÉ ES LA ISO 14000? DIFERENCIAS ENTRE ISO Y EMAS. 1 Para Mayor información

Introducción. Por lo que existe una creciente preocupación por lograr que los productos software cumplan con ciertos criterios de calidad.

Transcripción:

Tema 2: Ciclo de vida del Software Marcos López Sanz

Índice Qué es el ciclo de vida del Software? La norma 12207-2008 Modelos de desarrollo

Qué es el Ciclo de Vida del SW? Es una sucesión de etapas por las que pasa el software en su desarrollo, desde que se concibe la idea hasta que el software deja de utilizarse (obsolescencia) Cada etapa lleva asociada una serie de actividades y tareas que se deben realizar, y una serie de documentosque serán la salida de cada una de estas fases y que servirán de entrada a la fase siguiente

Qué es el Ciclo de Vida del SW? Según la norma ISO/IEC Standard 12207:2008: Software life-cycleprocessespropuesta por la ISO (International Organization for Standardization): Es un marco de referencia que contiene los procesos, las actividades y las tareas involucradas en el desarrollo, explotación y mantenimiento de un producto software, abarcando la vida del sistema desde la definición de requisitos hasta que se deja de utilizar http://www.iso.org/iso/home.htm

Qué es el Ciclo de Vida del SW? Qué es un proceso? Un proceso es un conjunto de actividades que se suceden siguiendo una ordenación temporal determinada Qué es una actividad? Una actividad es un conjunto de tareas Qué es una tarea? Una acciónque transforma unas entradas en unas salidas

Qué es el Ciclo de Vida del SW? Fases genéricas en el ciclo de vida del SW: Fase de definición. Tareas: Ingeniería de sistemas Planificación del proyecto del SW Análisis de los requisitos Fase de desarrollo. Tareas: Diseño del SW Generación de código Prueba del SW Fase de mantenimiento. Cambios: Corrección Adaptación Mejora Prevención

Índice Qué es el ciclo de vida del Software? La norma 12207-2008 Modelos de desarrollo

Los procesos del Ciclo de Vida del SW Norma ISO/IEC 12207-2008 Según esta norma las actividadesque se pueden llevar a cabo durante el ciclo de vida del SW se pueden agrupar en: 5 procesos principales 8 procesos de soporte 4 procesos de organización o generales

Los procesos del Ciclo de Vida del SW Norma ISO/IEC 12207-2008 Procesos principales Procesos de Soporte Adquisición Suministro Desarrollo Explotación Mantenimiento Documentación Gestión de la Config. Aseg. de la calidad Verificación Procesos generales Validación Revisión conjunta Gestión Mejora Infraestructura Formación Auditoría Resolución problemas

Los procesos del Ciclo de Vida del SW Norma ISO/IEC 12207-2008 Proceso de Desarrollo Actividad Actividad Actividad Actividad Actividad Actividad de de de de de de Análisis Diseño Codificación Pruebas Integración Implantación Cada una de estas actividades está compuesta por diferentes tareas

Norma ISO/IEC 12207-2008 Procesos Principales Adquisición: Actividades y tareas que el comprador, el cliente o el usuario realizan para adquirir un sistema, un servicio o un producto software: Preparación y publicación de ofertas Selección del suministrador de SW Suministro: Actividades y tareas del suministrador: Preparar contratos como respuesta a una petición de un comprador de un producto SW Identificar los recursos necesarios para llevar a cabo con éxito el desarrollo del producto SW

Norma ISO/IEC 12207-2008 Procesos Principales Desarrollo: Actividades y tareas enfocadas a la obtención de un producto Software Análisis Diseño Codificación Pruebas Integración Implantación Explotación: Explotación del SW y soporte operativo a los usuarios

Norma ISO/IEC 12207-2008 Procesos Principales Mantenimiento: Actividades que incluyen modificaciones del producto, tanto del código como de la documentación, debido a errores o a la necesidad de mejora o/y adaptación. Migración hacia un nuevo entorno operativo Retirada del producto

Norma ISO/IEC 12207-2008 Procesos de Soporte Procesos de soporte: dan soporte al resto de procesos y se aplican durante cualquier momento del ciclo de vida del SW Documentación: Registrar la información producida por un proceso o actividad del ciclo de vida: Diseñar, editar, distribuir y mantener los documentos producidos durante el desarrollo del SW Gestión de la Configuración: Actividades que controlan las modificaciones y versiones de los elementos. Registrar las peticiones de cambios e informar de los estados de éstos.

Norma ISO/IEC 12207-2008 Procesos de Soporte Aseguramiento de la calidad: Actividades para asegurar que los productos cumplen los requisitos especificados y se ajustan a los planes establecidos Verificación: Actividades para determinar el buen funcionamiento de un producto software Validación: Actividades para determinar si el producto cumple los requisitos previstos

Norma ISO/IEC 12207-2008 Procesos de Soporte Revisión conjunta: Actividades que permiten determinar el estado de los productos en una determinada actividad del ciclo de vida o en una cierta fase del proyecto. Puede ser una reunión conjunta con el cliente, el grupo de desarrollo y los clientes potenciales para revisar el trabajo hecho Auditorías: Actividades que permiten determinar en unos momentos determinados si se han conseguido los objetivos propuestos: requisitos, cumplimiento del contrato, etc.

Norma ISO/IEC 12207-2008 Procesos de Soporte Resolución de problemas: Actividades que permiten analizar y resolver los problemas o disconformidades con los requisitos o con el contrato, que hayan surgido durante el desarrollo, la explotación, el mantenimiento, o en cualquier otro momento. Disponer de un medio documental que permita asegurar que todos los problemas se han tratado

Norma ISO/IEC 12207-2008 Procesos Generales Procesos de soporte a la organización: gestión, formación del personal, mejora de los procesos, etc. Gestión: Actividades de planificación, seguimiento, control, revisión y evaluación. Infraestructura: Actividades para determinar la infraestructura necesaria para un proceso. Incluye HW, SW, instalaciones Mejora: Valorar, medir, controlar, evaluar y mejorar todos los procesos del ciclo de vida. Formación: Plan de formación para los empleados.

Índice Qué es el ciclo de vida del Software? La norma 12207-2008 Modelos de desarrollo 19 19

Qué es un modelo de desarrollo? Representación abstracta de un proceso del software Son estrategias de desarrollo que ayudan a organizar las diferentes etapas y actividades del ciclo de vida del software Modelos de ciclo de vida del software Estos modelos ayudan al control y a la coordinación del proyecto El modelo a utilizar depende del tipo de proyecto

Variantes Modelo en Cascada Modelo de Prototipos Modelo en Espiral Modelo Incremental Otros

Modelo en Cascada (Waterfall) También llamado ciclo de vida básico o modelo lineal-secuencial Divide el proceso de desarrollo en un conjunto de etapas secuenciales Una etapa no puede empezar hasta que no haya terminado la anterior Al final de cada fase, el personal de desarrollo y los usuarios revisanel progreso del proyecto En cada fase se genera todo un conjunto de documentos. Es un modelo dirigido por documentos Son los productos principales en cada etapa

Modelo en Cascada (Waterfall) Análisis y Definición de Requisitos Diseño de sistemas y software Implementación y pruebas (unitarias) Implementación y pruebas (sistema) Operación y mantenimiento Es el modelo más antiguo y más utilizado Ha sido la base de muchos otros modelos

Modelo en Cascada (Waterfall) Análisis y Especificación de Requisitos Diseño Visión profunda del problema desde el punto de vista de los desarrolladores y usuarios. Especifica la información sobre la cual el software se va a desarrollar. Permite describir cómo el software va a satisfacer los requerimientos Implementación Aquí es donde el Software a ser desarrollado se codifica Validación y verificación Etapa donde el software es probado para verificar que es consistente con las definiciones Mantenimiento Modificaciones al software producto de errores, adecuaciones, etc.

Modelo en Cascada (Waterfall) Desventajas: Definir todos los requisitos al inicio del proceso no es práctico ya que el cliente añade y modifica según le van surgiendo necesidades durante el proceso de desarrollo. El cliente nunca tiene claro lo que quiere! El cliente no ve el producto en funcionamiento hasta el final del proceso. La validación de los requisitos iniciales no se hace hasta el final. Poca o nula flexibilidad a cambios.

Modelo en Cascada (Waterfall) Cuándo es conveniente? (Ventajas): Cuando tenemos proyectos complejos pero que se entienden y quedan bien definidos desde un comienzo. Cuando el equipo de desarrollo no está muy cualificado o es aún inexperto porque la estructura de trabajo que propone es muy ordenada y ayuda a minimizar esfuerzo. Cuando realizamos una migración de software desde un entorno tecnológico obsoleto.

Modelo de Prototipos Un prototipoes una versión limitada del producto que permite a las partes responsables de su creación probarlo en situaciones reales y explorar su uso Con este modelo hay un acercamiento al cliente. Gracias al prototipo, el cliente puede hacerse una idea de cómo está evolucionando el producto y esto ayuda a refinar los requisitos del sistema Con los prototipos definimos de forma clara y concreta qué quiere el cliente los requisitos del sistema

Modelo de Prototipos Investigación Preliminar Definición del problema, efectos organizacionales. Estudio de factibilidad. Recolección y refinamiento de requisitos Especificación de requisitos y Prototipado Análisis y Especificación Diseño y Construcción Evaluación Modificación Diseño básico del Prototipo Construcción prototipo Verificación y requerimientos Modificación del Prototipo PRODUCTO DE INGENIERÍA Diseño Técnico Programación y Prueba Operación y Mantención Diseño detallado. Rediseño del Prototipo y documentación para programación y mantenimiento Las especificaciones del diseño técnico son implementadas y probadas Instalación del sistema y modificaciones posteriores

Modelo de Prototipos Desventajas: El diseño rápido del prototipo hace que los desarrolladores utilicen herramientas que faciliten la rápida generación de código, dejando a un lado aspectos de calidad (eficiencia, fiabilidad, mantenibilidad del código, etc.). Probablemente no se tendrá un código óptimo Exige disponer de las herramientas adecuadas

Modelo de Prototipos Cuándo es conveniente? (Ventajas): Se recomienda para clientes que quieren ver resultados a corto plazo Reduce costos y aumenta la probabilidad de éxito Cuando el cliente no sabe lo que quiere y los requisitos no están bien definidos desde el principio Reduce el riesgo de construir productos que no satisfagan las necesidades de los usuarios Cuando los requisitos evolucionan muy rápidamente. Para sistemas on-line donde es más importante la parte de la interfaz con el usuario que las funcionalidades del sistema. Se recomiendautilizar este modelo sólo para la especificación de requisitos. Mejor continuar el desarrollo utilizando otro modelo

Modelo en Espiral Es una combinación de los dos anteriores (Boehm 88) Es un modelo evolutivo del desarrollo, formado por un conjunto de vueltas de espiral En las primeras vueltas el SW es un modelo en papel, la especificación de un producto. Aún no funciona. En las sucesivas vueltas, se desarrolla un prototipo. En la últimas iteraciones se obtienen versiones completas del producto. Cada ciclo del espiral representa una fase del proyecto software 4 sectores por ciclo: Definición de Objetivos Evaluación y reducción de riesgos Desarrollo y Validación Planificación

Modelo en Espiral Con este modelo obtenemos el producto final a partir de piezas más pequeñas. El número de actividades a realizar se incrementa notablemente a medida que nos alejamos del centro de la espiral. Las primeras son menos costosas La evaluación después de cada fase permite cambios. Incorpora el factor Riesgo es un modelo orientado a riesgos Tiene como objetivo vital pensar en las cosas que pueden ir mal en el desarrollo del software y saber cómo resolverlas

Modelo en Espiral PLANIFICACIÓN Determine objetivos alternativas y restricciones EVALUACIÓN DEL CLIENTE Planea la siguiente fase REVISIÓN Plan de requerimientos Plan del ciclo de vida Plan de Desarrollo Plan de Integración y Prueba Análisis de Riesgos Análisis de Riesgos Análisis de Riesgos Análisis de Riesgos Proto tipo 1 Concepto de Operación Validación de Requerimientos Prototipo Prototipo 3 2 Requerimientos de SW Diseño V &V Prueba de Aceptación Servicio Simulaciones y modelos Prueba de Integración ANÁLISIS DE RIESGOS Evalúe alternativas, identifique y resuelva riesgos Prueba de Unidades Prototipo Operacional Diseño Diseño Detallado Codificación del Producto INGENIERÍA Desarrolla y verifica el siguiente nivel del producto

Modelo en Espiral -Fases Planificación Determinar los objetivos Determinar las alternativas de desarrollo Analizar las restricciones de cada alternativa Análisis de riesgos Ver todos los puntos que pueden fallar Evaluar las diferentes alternativas Determinar y resolver o minimizar los riesgos Identificación de los riesgos para cada alternativa, así como la manera de resolverlos

Modelo en Espiral -Fases Ingeniería Desarrollo del producto En cada iteración el proyecto se va completando Evaluación del cliente Revisión para ver si está de acuerdo, o no, con los resultados obtenidos. Si todo va bien, se pasa a la siguiente fase En la revisión participan todas las personas y organizaciones que tienen relación con el producto Se planifica la siguiente vuelta. Previsión de los recursos necesarios

Modelo en Espiral Desventajas: Es difícil establecer los hitos para determinar si podemos pasar a la siguiente vuelta de espiral La evaluación de riesgos es una tarea compleja Se necesitan expertos en evaluación de riesgos Es difícil convencer a los clientes que un modelo evolutivo es controlable No se aconseja para proyectos que tienen pocos riesgos. Demasiado coste En definitiva, no es un modelo muy real ni claro.

Modelo en Espiral Cuándo es conveniente? (Ventajas): Cuando tenemos proyectos complejos, donde el problema no está muy bien definido y conlleva una serie de riesgos Proyectos dinámicos Proyectos innovadores y ambiciosos

Modelo Incremental Es un tipo de modelo evolutivo es iterativo: permiten a los ingenieros desarrollar versiones cada vez más completas Combina elementos del modelo en cascada (aplicados repetidamente) con la filosofía interactiva de la construcción de prototipos Cada secuencia lineal produce un incremento las entregas de los incrementos se definen al principio del proceso software Cada entrega constituye un producto operacional Es útil cuando el personal o los recursos no están disponibles hasta cierto tiempo dentro del proceso de desarrollo Se adapta a entornos de alta incertidumbre El proceso no es visible, documentación costosa y difícil planificación

Modelo en Espiral vs. Incremental El modelo en espiral: es iterativo e incremental? Es iterativo (se realizan ciclos repetitivos), pero no necesariamente incremental. Para que un modelo se considere incremental los incrementos deben decidirse durante el análisis/elicitaciónde los requisitos y deben condicionar las iteraciones que se hacen, y no al revés. Es decir, durante las iteraciones del modelo de ciclo en espiral los incrementos, de producirse, se establecen en la planificación de la propia iteración, no a priori. Es más, el incremento lo constituyen los productos de la iteración, no conocidos hasta que no se obtienen realmente.

Otros Métodos formales (síntesis automática del Software) Desarrollo orientado a la reutilización (basado en componentes) DRA (Desarrollo Rápido de Aplicaciones) Espiral WINWIN Desarrollo concurrente Técnicas de 4ª generación Modelos para Desarrollo OO: Modelo de Agrupamiento Modelo fuente Modelo remolino Modelo Pinball, etc.