CICLOS DE VIDA Y METODOLOGIAS

Documentos relacionados
INGENIERÍA DE SOFTWARE CICLOS DE VIDA Y METODOLOGIAS

Ingeniería de Software: Metodologías

Personas. Tecnología. Producto. Proceso

Ingeniería de Software: Metodologías

QUÉ SON EL ANÁLISIS Y EL DISEÑO?

Ingeniería de Software: Metodologías

Ingeniería de Software I

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

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

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

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

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

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

Procesos del software

Modelos de Procesos para el Desarrollo de Software Orientado a Objetos. Jonas A. Montilva, Ph.D.

Marcos López Sanz Ingeniería del Software de Gestión. Introducción El proceso unificado Principios básicos Las 4 p

Proceso Unificado (Iterativo e incremental)

Tema 4c: El Proceso Unificado de Desarrollo

TÉCNICO SUPERIOR UNIVERSITARIO EN TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS.

SILABO DEL CURSO PRUEBAS DE SOFTWARE

Ingeniería de Requisitos

Verificación y Validación (Proceso V&V) Asegurar que el sistema de software cumpla las necesidades del usuario

Adquisición de TIC - Código Abierto

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA)

Personas. Tecnología. Producto. Proceso

Rational Unified Process

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

Ciclos desde su nacimiento hasta su muerte. Nacimiento. Muerte

PLANTILLA DE LA GUIA DIDACTICA DE LA ASIGNATURA

TEMA 4. PROCESO UNIFICADO

ANEXO TECNICO. Fábrica de Software

CICLO DE VIDA DEL SOFTWARE

Tema 13: El Proceso Unificado de Desarrollo

Pontificia Universidad Javeriana Ingeniería de Software. Profesora: Olga Roa. Cali

PROGRAMA DE CURSO. Horas de Trabajo Personal Horas de Cátedra

METODOLOGIA DE DIRECCION DE PROYECTOS. Ministerio de Agricultura y Desarrollo Rural Jorge Rodriguez Gerente de Proyectos OTICs Marzo 10 de 2016

Tema 9: Método de Craig Larman

Interacción Persona - Ordenador

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

ADMINISTRACIÓN DE PROYECTOS DE TI

Ingeniería de requerimientos de software: Análisis. Dpto. de Ingeniería de Sistemas y Computación Universidad de los Andes

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

Perfil Profesional en formato de la SETEC

INGENIERIA DE SOFTWARE ING. FRANCISCO RODRIGUEZ

PROGRAMA DE CURSO. Metodologías de Diseño y Programación. Nombre en Inglés. Design and Programming Methodologies.

Técnicas de Pruebas de

Curso Aseguramiento de la Calidad De los Procesos y Productos de Software

Tema 4g: Proceso Unificado: Implementación

octubre de 2007 Arquitectura de Software

INGENIERÍA N DEL SOFTWARE

Instrucción 1 Criterios, Convenciones y recomendaciones para utilizar este instructivo

Programa Educativo: PROGRAMA DE ESTUDIO Área de Formación : Horas teóricas: Horas prácticas: Total de Horas: Total de créditos:

Obligatoria asignatura Programa elaborado por:

Presentación de la Asignatura.

Gerencia de Proyectos

Metodología propia del ERP de SAP

CLASE 2: INTRODUCCIÓN A LA ING. DE SOFTWARE. MODELOS DE PROCESOS. MEJORES PRÁCTICAS. USB Ing. De Software. Prof. I. C. Martínez

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

Oscar Alberto, Custodio Izquierdo Carlos Arturo, Hernández Torruco José Fecha de elaboración: 28 de Mayo de 2010 Fecha de última actualización:

RUP Vs. XP. Sandra Lorena Anaya

Ingeniería del Software II

Crear diagramas basados en UML para la representación de la solución a un problema mediante el Paradigma Orientado a Objetos.

UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA DIRECCION GENERAL DE ASUNTOS ACADEMICOS PROGRAMA DE ASIGNATURA POR COMPETENCIAS I. DATOS DE IDENTIFICACIÓN

PROTOCOLO. Fechas Mes/año Clave Semestre 6

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

Microsoft Dynamics Sure Step Fundamentos

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

MANUAL DE ORGANIZACIÓN. DIRECCIÓN GENERAL Fecha: JUN 15 DESCRIPCIÓN Y PERFIL DE PUESTOS

Tema II Ciclo de Vida del Software

Procesos de Software

MANUAL DE ORGANIZACIÓN. DIRECCIÓN GENERAL Fecha: JUN 15 DESCRIPCIÓN Y PERFIL DE PUESTOS

Un nivel puede ser el resultado de una actividad de valoración

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA)

Figure 13-1: Phase E: Opportunities & Solutions

UNIVERSIDAD TECNOLÓGICA DE PEREIRA FUNDAMENTOS DE LA METODOLOGIA RUP RATIONAL UNIFIED PROCESS JUAN PABLO GOMEZ GALLEGO ING JORGE GALVES

ORGANIZACIÓN DOCENTE del curso

Ingeniería de requerimientos de software: Elicitation. Dpto. de Ingeniería de Sistemas y Computación Universidad de los Andes

ISO mejorar la capacidad y madurez (evaluación) de los procesos

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE ESTUDIOS SUPERIORES ACATLÁN HORAS SEMANA

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

Instituto Tecnológico Superior De Acatlán de Osorio. Portafolio de evidencias

Los modelos de proceso que se discuten en este capítulo son:

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

DOCUMENTO BANCÓLDEX INDICE REQUERIMIENTOS ESPECIFICOS SOLUCION REQUERIDA... 2

ISO/IEC Introducción

CICLO DE VIDA DEL SOFTWARE

UNIVERSIDAD AUTONOMA DE BAJA CALIFORNIA

NOMBRE DEL ROL OBJETIVO DEL ROL RESPONSABILIDADES

1.1 Conceptualización de UML

FACULTAD DE INGENIERÍAS Y ARQUITECTURA ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS E INFORMÁTICA

SILABO DEL CURSO DISEÑO DE SOFTWARE 1. DATOS GENERALES

PROGRAMA EDUCATIVO INGENIERÍA EN COMPUTACIÓN UNIDAD DE APRENDIZAJE TEORÍA DE SISTEMAS MATERIAL: DESARROLLO DE SOFTWARE

Capítulo 11 Líder del equipo

Introducción a Rational Unified Process (RUP)

El Ciclo de Vida del Software

PROGRAMA ANALÍTICO DE ASIGNATURA

Transcripción:

INGENIERÍA DE SOFTWARE CICLOS DE VIDA Y METODOLOGIAS Rubby Casallas, Andrés Yie Departamento de Sistemas y Computación Facultad de Ingeniería Universidad de los Andes

Agenda Contexto Ciclos de vida: Modelo en Cascada Modelo en V Modelo en Espiral Modelo Unified Process IEEE 1074

Contexto El desarrollo de un sistema de software está enmarcado por los recursos, el tiempo y un conjunto de requerimientos. Tiempo Recursos Requerimientos Sistema

Contexto Para lograrlo debe existir una planeación y un seguimiento a ésta. Una planeación está conformada por actividades, recursos y tiempo Esas actividades se llevan a cabo dentro de un proceso definido

Proceso de construcción de software El conjunto completo de actividades de ingeniería de software necesarias para transformar los requerimientos del usuario en software. [Humphrey]

Ciclos de Vida El proceso que se sigue para construir, entregar y hacer evolucionar el software, desde la concepción de una idea hasta la entrega y el retiro del sistema. Representa todas las actividades y artefactos (productos intermedios) necesarios para desarrollar una aplicación

Ciclos de Vida Permiten manejar la complejidad de un proyecto de desarrollo Vistas complementarias: Vistas complementarias: Las actividades Los entregables (artefactos)

Actividades de un Ciclo de Vida Implícita o Explícitamente todos los modelos de ciclo de vida cuentan por lo menos con las siguientes actividades REQUERIMIENTOS DISEÑO IMPLEMENTACIÓN PRUEBAS MANTENIMIENTO

Modelo en Cascada Modelo orientado en las actividades Prescribe una ejecución secuencial de un subconjunto de los procesos de desarrollo y de administración Es el modelo mas antiguo, propuesto por Winston Royce en1970.

Modelo en Cascada LANZAMIENTO REQUERIMIENTOS DISEÑO IMPLEMENTACION PRUEBAS INSTALACION MANTENIMIENTO

Modelo en Cascada - Fortalezas Fácil entendimiento e implementación Ampliamente utilizado y conocido ( En teoría ) Refuerza buenos hábitos: definir antes que diseñar, diseñar antes que codificar Identifica entregables e hitos. Orientado a documentos. Funciona bien en productos maduros y equipos débiles

Modelo en Cascada - Debilidades No aprovecha la iteración, ni el desarrollo exploratorio Espera requerimientos definidos completamente al inicio del proyecto. (IREAL!!!) Dificultar para integrar administración del riesgo El software es entregado tarde en el proyecto. Esto hace que se detecten errores graves muy tarde. Hacer cambios es difícil y costoso.

Modelo en V Busca hacer la actividad de pruebas más efectiva y productiva Los planes (y casos de prueba) se van elaborando a medida que se avanza en el desarrollo del proyecto

Modelo en V Definición de requerimientos Análisis de requerimientos Pre. Pruebas Aceptación Diseño arquitectura Diseño detallado Pre. Pruebas Integración Pre. Pruebas Sistema Programación Pre. Pruebas Unitarias Pruebas Unitarias Pruebas Integración Pruebas Sistema Pruebas Aceptación

Modelo en Espiral Propuesto por Bohem en 1987 Modelo centrado en la actividades Basado en las mismas actividades del modelo de cascada Introduce: manejo de riesgos y creación de prototipos Las actividades son organizadas en ciclos

Modelo en Espiral Un ciclo corresponde a la construcción de un producto intermedio Las fases de cada ciclo son: Identificar alternativas, restricciones y objetivos Administrar Riesgos Desarrollar y validar un prototipo Planear la siguiente fase

Modelo en Espiral Cycles 1. Concept Operation 2. Software Requirements 3. Software Product Design 4. Detailed Design 5. Code 6. Unit Test 7. Integration and Test 8. Acceptance Test & Implementation Determine objectives, alternatives, & constraints Risk analysis Risk analysis Requirements Concept of plan operation Software System Requirements Product Detailed Design Design DevelopmentRequirements plan validation P2 Code Evaluate alternatives, identify & resolv e risks Risk analysis P1 Prototype3 Prototype2 Prototype1 Plan next phase Integration Design plan validation Acceptance Test Integration & Test Unit Test Develop & verify next level produc

Unified Process Model Presentado por Booch, Jacobson y Rumbaugh en 1999 Consiste en varios ciclos. Al final de cada uno, un producto es entregado al cliente Cada ciclo consiste de cuatro fases: Inception Elaboration Construction Transition Cada fase puede tener varias iteraciones Una iteración construye un conjunto de casos de uso relacionados o mitiga algún riesgo de los identificados

Unified Process Model Inicio del Proyecto ELABORACION Diseño CONSTRUCCION Define Casos de uso Análisis Construcción y V&V INICIO Incrementos = un caso de uso Iteración = un caso de uso refinado con toda la funcionalidad Liberación TRANSICION Versión 1, Versión 2,...

Unified Process Model Inicio Elaboración Construcción Transición Requerimientos & Casos de Uso Diseño Desarrollo de aplicaciones V&V Tiempo por iteración

DESARROLLO ITERATIVO Y EL PROCESO UNIFICADO

Team Software Process TSP

IEEE 1074 Procesos de ciclo de vida de software Establecer un marco común para desarrollar modelos de ciclo de vida Proceso: conjunto de actividades para alcanzar un Propósito El estándar define 17 procesos organizados en grupos de procesos Cada proceso está compuesto de actividades

Grupos de Proceso 1. Modelamiento del Ciclo de Vida Selección de un ciclo de vida 2. Administración del Proyecto Iniciación del Proyecto Monitoreo y Control del Proyecto Administración de la calidad del SW 3. Pre-desarrollo Exploración del concepto Asignación de Recursos 4. Desarrollo Requerimientos Diseño Implementación 5. Pos-desarrollo Instalación Operación y Soporte Mantenimiento Retiro 6. Procesos Integrales Verificación y Validación Administración de la configuración Documentación Entrenamiento

1. Modelamiento del ciclo de vida Responsable: Gerente del proyecto Personalizar las actividades de IEEE1074 a los requerimientos del proyecto y de la empresa Seleccionar el ciclo de vida: Cascada Modelo en V Spiral Rational Unified Process Team Software Process Extreme Programming Sawtooth (Diente de tiburón) Prototipos

2. Administración del proyecto Procesos Iniciar el proyecto Supervisar y controlar el proyecto Administración de la calidad

2. Administración del proyecto Iniciar el Proyecto Responsable: Gerente del proyecto Entregable: Plan de Administración del proyecto de software (SPMP) Propósito: Establecer la correspondencia entre las actividades y el modelo del ciclo de vida del software Asignar recursos al proyecto Establecer del ambiente del proceso Realizar la planeación de la administración del proyecto

2. Administración del proyecto Iniciar el Proyecto Inicio del proyecto en general es: Definir el plan de tareas Definir el cronograma Definir el presupuesto Definir la organización del proyecto Definir el ambiente del proyecto Estándares Comunicación Procedimientos de reunión y reporte Metodología de desarrollo Herramientas de desarrollo

2. Administración del proyecto - Supervisión y control del proyecto Responsable: Gerente del proyecto Entregable: Plan de Administración del proyecto de software (SPMP) actualizado Propósito: Analizar riesgos Realizar planeación de contingencias Administrar el proyecto Conservar registros Implementar el modelo de reporte de problemas

2. Administración del proyecto Admin. de la calidad Responsable: Equipo de administración de calidad Entregable: Plan de Administración de la calidad Propósito: Planear la administración de la calidad del software Definir métricas Administrar la calidad del software Identificar las necesidad de mejora de calidad

Grupos de Proceso 1. Modelamiento del Ciclo de Vida Selección de un ciclo de vida 2. Administración del Proyecto Iniciación del Proyecto Monitoreo y Control del Proyecto Administración de la calidad del SW 3. Pre-desarrollo Exploración del concepto Identificación del sistema 4. Desarrollo Requerimientos Diseño Implementación 5. Pos-desarrollo Instalación Operación y Soporte Mantenimiento Retiro 6. Procesos Integrales Verificación y Validación Administración de la configuración Documentación Entrenamiento

3. Predesarrollo Administración o marketing y el cliente identifican una idea o una necesidad Nuevo esfuerzo de desarrollo Cambio de interfaz de un sistema existente Reemplazo de software de un proceso de negocios existente Procesos Exploración del concepto Asignación del sistema

3. Predesarrollo - Exploración del concepto Responsable: Administración y Cliente Entregable: Enunciado del problema Propósito: Producir el enunciado del problema ( Statement of needs ) Identificar ideas o necesidades Formular enfoques potenciales Realizar estudios de factibilidad Planear la transición del sistemas Refinar y finalizar la idea o necesidad

3. Predesarrollo Identificación del sistema Responsable: Administración, Cliente, Arquitecto de software Entregable: Enunciado del problema y Documento de arquitectura Propósito: Establecer la arquitectura inicial Base para la comunicación entre los miembros Identificar Hardware Software Requerimientos funcionales

Grupos de Proceso 1. Modelamiento del Ciclo de Vida Selección de un ciclo de vida 2. Administración del Proyecto Iniciación del Proyecto Monitoreo y Control del Proyecto Administración de la calidad del SW 3. Pre-desarrollo Exploración del concepto Identificación del sistema 4. Desarrollo Requerimientos Diseño Implementación 5. Pos-desarrollo Instalación Operación y Soporte Mantenimiento Retiro 6. Procesos Integrales Verificación y Validación Administración de la configuración Documentación Entrenamiento

4. Desarrollo - Requerimientos Responsable: Equipo de desarrollo y cliente Entregable: Documento de requerimientos Propósito: Definir y desarrollar los requerimientos de software Definir los requerimientos de la interfaz Establecer la prioridad e integrar los requerimientos de software

4. Desarrollo - Requerimientos Responsable: Equipo de desarrollo Entregable: Documentos de diseño Propósito: Producir una representación del sistema coherente y bien organizada Descomponer en subsistemas Asignar los requerimiento a los sistemas de hardware y software Describir de las condiciones de frontera Seleccionar de componentes pre- existentes Definir los objetivos de diseño

4. Desarrollo - Implementación Responsable: Equipo de desarrollo Entregable: Código, Pruebas Propósito: Construir la solución Crear datos de pruebas Crear código fuente Crear código objeto Crear la documentación operativa Planear la integración Realizar la integración

Grupos de Proceso 1. Modelamiento del Ciclo de Vida Selección de un ciclo de vida 2. Administración del Proyecto Iniciación del Proyecto Monitoreo y Control del Proyecto Administración de la calidad del SW 3. Pre-desarrollo Exploración del concepto Identificación del sistema 4. Desarrollo Requerimientos Diseño Implementación 5. Pos-desarrollo Instalación Operación y Soporte Mantenimiento Retiro 6. Procesos Integrales Verificación y Validación Administración de la configuración Documentación Entrenamiento

5. Posdesarrollo - Instalación Responsable: Administración y cliente Entregable: Sistema Propósito: Planear la instalación Distribuir el software Instalar el software Aceptar el software en el ambiente operacional

5. Posdesarrollo - Operación y soporte Responsable: Administración y cliente Propósito: Operar el sistema Proporcionar asistencia técnica y consultoría Mantener la bitácora de peticiones del clientes

5. Posdesarrollo - Mantenimiento Responsable: Administración y equipo de desarrollo Propósito: Mantener el sistema adecuado a los cambios en los requerimientos, nuevas necesidades, nuevas tecnologías.

5. Posdesarrollo - Retiro Notificar a los usuarios Realizar operaciones paralelas Retirar el sistemas

Grupos de Proceso 1. Modelamiento del Ciclo de Vida Selección de un ciclo de vida 2. Administración del Proyecto Iniciación del Proyecto Monitoreo y Control del Proyecto Administración de la calidad del SW 3. Pre-desarrollo Exploración del concepto Identificación del sistema 4. Desarrollo Requerimientos Diseño Implementación 5. Pos-desarrollo Instalación Operación y Soporte Mantenimiento Retiro 6. Procesos Integrales Verificación y Validación Administración de la configuración Documentación Entrenamiento

6. Procesos integrales - Verificación y validación Propósito: Planear la verificación y validación: inspecciones, revisiones, auditorias, pruebas Ejecutar las tareas de verificación y validación Recopilar y analizar datos de medidas Planear las pruebas Desarrollar los requerimientos de las pruebas Ejecutar las pruebas

6. Procesos integrales - Administración de la configuración del software Propósito: Planear la administración de la configuración Desarrollar la identificación de la configuración Realizar el control de cambios

6. Procesos integrales - Documentación Planear la documentación Implementar la documentación Producir y distribuir la documentación

6. Procesos integrales - Entrenamiento Planear el programa de entrenamiento Desarrollar los materiales de entrenamiento Validar el programa de entrenamiento Implementar el programa de entrenamiento

Referencias [Bernd Bruegge, Dutoit Allen. Object-Oriented Software Engineering: Using UML, Patterns, and Java, 2004, Prentice Hall, segunda edición. Capítulo 15 http://standards.ieee.org/catalog/olis/arch_se.html