Tema 13: El Proceso Unificado de Desarrollo

Documentos relacionados
INGENIERIA DE SOFTWARE ING. FRANCISCO RODRIGUEZ

Proceso Unificado (Iterativo e incremental)

TEMA 4. PROCESO UNIFICADO

El Lenguaje Unificado de Modelado (UML)

UNT INGENIERIA INDUSTRIAL INGENIERIA DE SOFTWARE

UN EJEMPLO: EL PROCESO UNIFICADO DE DESARROLLO (2ª parte)

Rational Unified Process

Interacción Persona - Ordenador

octubre de 2007 Arquitectura de Software

Análisis y Diseño de Sistemas

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

1. Asignar Responsabilidades a componentes de software es la habilidad más importante del AOO. Porque:

INDICE CARTAS DESCRIPTIVAS S3

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

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

Procesos del software

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

El proceso de desarrollo. Angélica de Antonio,

UNIVERSIDAD RICARDO PALMA FACULTAD DE INGENIERIA EAP INGENIERIA INFORMATICA CICLO ACADEMICO 2003 II SILABO

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

Procesos y desarrollo de SW Proceso Unificado

CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES SYLLABUS DE INGENERIA DE SOFTWARE I

El proceso unificado en pocas palabras

PUD: Proceso de Desarrollo Unificado

Tema 4e: Proceso Unificado: Análisis

UMECIT Universidad Metropolitana de Educación, Ciencia y Tecnología

Ingeniería de Software: Parte 2

Sistemas de Información II. Análisis de Sistemas Orientado a Objetos

Sistemas de Información II. Introducción al Proceso Unificado de Desarrollo de Software. Autor: Ing. Silverio Bonilla 1

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

Ingeniería del Software II

UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS

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

Principios de la Tecnología de Objetos

SEMESTRE: CREDITOS: 3 Horas Presénciales: 3 Horas de Acompañamiento: 1 Total Horas Semanales 4 CODIGO: Sistemas de Información

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

El ciclo de vida de un sistema de información

CAPÍTULO III - UML Y LOS PROCESOS DE DESARROLLO DE SOFTWARE

Tema 1. Introducción a UML C H R I STO PHER E X P Ó S I TO I Z Q U I ERDO A I R A M E X P Ó S I TO M Á R Q UEZ I S R A E L LÓ P EZ P L ATA M A R Í A

Capítulo 5 Proceso Unificado Rational Aplicado

Universidad Tecnológica Nacional Facultad Regional San Francisco. Ingeniería en Sistemas de Información. Análisis de Sistemas

Contenido. Introducción. Buenas Prácticas. Buenas Prácticas. Introducción al RUP. Disciplina Requerimientos. Conclusiones. Desarrollo Iterativo

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

UML. (Unified Modeling Language) Lenguage Unificado de Modelado

RUP. Rational Unified Process

1. INTRODUCCIÓN AL UML...1

Metodología Métrica v. 3.0

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

Introducción a Rational Unified Process (RUP)

Tema 2: Especificación de Requisitos

Proceso de Testing Funcional Independiente

Introducción al desarrollo de sistemas de información. María Mora Administradora del Nodo GBIF Costa Rica

A. Goñi, J. Ibáñez, J. Iturrioz, J.A. Vadillo OCW 2013

Metodología Orientada a Objetos (OMT). Rumbaugh

Análisis y diseño de software

Programación Orientada a Objetos

TEMA 6: INTRODUCCIÓN A UML

Autor: Amhed Sinue Pérez Valdéz

El Proceso Unificado Rational para el Desarrollo de Software.

INGENIERÍA N DEL SOFTWARE

Procesos de la Dirección de Proyectos para un proyecto

Proceso de Desarrollo de SW

De Desempeño De Conocimiento SABERES ESENCIALES CONTENIDOS RUTA FORMATIVA Saber Conocer Nociones, Proposiciones, Conceptos Categorías

El Ciclo de Vida del Software

Rational Unified Process (RUP)

PLANIFICACIÓN DE INGENIERÍA DEL SOFTWARE

ANÁLISIS DE SISTEMAS. Prof. Eliz Mora

Capacitación adquirida por el alumno al finalizar este modulo

PROCESOS DE LA DIRECCIÓN DE PROYECTO I N G. C R U C E S H E R N A N D E Z G U E R R A U N I V E R S I D A D A L A S P E R U A N A S

Capítulo 2.- Marco Teórico

Introducción a la Orientación a Objetos

Procesos de la Dirección de Proyectos para un proyecto

Ingeniería a de Software CC51A

CICLO DE VIDA DEL SOFTWARE

PROCESO UNIFICADO. ARTEFACTOS DE LA FASE DE INICIO. Terminología clave del dominio.

Técnicas de Pruebas de

Guía práctica de estudio 09: UML

CIDE, SA. RIF: J NIT: MODELO FUNCIONAL

Construcción de un Modelo Conceptual para Gramáticas Formales y Máquinas Abstractas con UML usando Rational

Ingeniería del Software II

BUENAS PRACTICAS EN DESARROLLO DE SOFTWARE APUNTES DE UNA EXPERIENCIA

Procesos de la Dirección de Proyectos para un proyecto

1. Preparar al estudiante para desarrollar aplicaciones de software utilizando un enfoque orientado a objetos.

Unidad IV: Modelo de Diseño 4.1. Estrategias de diseño

Programación orientada a objetos Semestre 6 Fascículo No. 2

Fase de Pruebas Introducción.

Nombre de la asignatura: Análisis y modelado de sistemas de información

Sistemas de Información II. Diseño de Sistemas Orientado a Objetos

Ingeniería de Software

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

Adquisición de TIC - Código Abierto

I JORNADAS DE COMPUTACIÓN Y SISTEMAS Universidad Dr. José Gregorio Hernández Maracaibo

Ingeniería del Software. Pruebas. Pruebas en el PUD. Las pruebas del software. Diseño de casos de prueba. Pruebas de SI OO

PLANIFICACIÓN DE INGENIERÍA DEL SOFTWARE

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

Lenguaje de Modelamiento Unificado.

Temario. Requerimientos de Software. Requerimientos. Análisis de Requerimientos. Requerimientos Tipos de Requerimientos

Grado en Ingeniería Informática. Plan de proyecto. Desarrollo de Sistemas de Información Corporativos. Departamento de Informática

Implementación del paquete de recomendaciones para la mejora de procesos de una Fábrica de Software. Accenture 2006 Propietario y Confidencial

A continuación se describe con mayor detalle cada una de tales unidades:

Transcripción:

Tema 13: El Proceso Unificado de Desarrollo Verónica Bollati

Introducción El proceso unificado Principios básicos Las 4 p Índice Estructura del proceso unificado Flujos de trabajo principales Fases del desarrollo Otros aspectos Iteración genérica Planificación y evaluación

Introducción Realidad actual: sistemas más complejos y más grandes Objetivo: Desarrollo más rápido menor tiempo de salida al mercado Software de calidad Mejor adaptación del software a las necesidades del cliente Solución: un proceso de desarrollo que integre todas las facetas de un desarrollo software Dé una guía para ordenar las actividades del equipo Dirija las tareas de cada desarrollador por separado y del equipo como un todo Especifique los productos (artefactos) que hay que desarrollar Ofrezca criterios para controlar y medir los productos y actividades del proyecto

Introducción El proceso unificado Principios básicos Las 4 p Índice Estructura del proceso unificado Flujos de trabajo principales Fases del desarrollo Otros aspectos Iteración genérica Planificación y evaluación

El Proceso Unificado Unificación de tres metodologías de desarrollo basadas en el paradigma orientado a objetos OOSE (Object-Oriented Software Engineering) Ivar Jacobson Booch Grady Booch OMT (Object Modeling Technique) James Rumbaugh

El Proceso Unificado Unified Process (1999) vs. Rational Unified Process (2003) UP: define el proceso y un marco extensible para el desarrollo de software RUP (propietario: IBM / Rational): 6 disciplinas de ingeniería (flujos de trabajo) principales Elementos principales: roles (quién), productos (qué), tareas (cómo)

El Proceso Unificado Es un proceso de desarrollo software Def.: conjunto de actividades para transformar los requisitos de usuario en un sistema software Basado en componentes Principios: Dirigido por casos de uso Centrado en la arquitectura Iterativo e incremental Características Usa UML (Unified Modeling Language) como notación para los modelos del proceso de desarrollo Otros: enfocado a riesgos, impulsa la calidad, es configurable, etc. Las 4 P del proceso unificado: Proyecto Proceso Producto Personas

Principios del Proceso Unificado Dirigido por casos de uso Ideas: Cualquier interacción del sistema con el usuario es un caso de uso Actor: alguien o algo Def.: caso de uso Es una función del sistema que da a cada usuario un resultado útil Captura los requisitos funcionales Qué debe hacer el sistema para cada actor? Modelo de casos de uso

Principios del Proceso Unificado Dirigido por casos de uso Conducen el proceso de desarrollo: Los desarrolladores crean modelos de diseño e implementación que realizan los casos de uso Los encargados de pruebas aseguran que los componentes implementan los casos de uso Los casos de uso se especifican, se diseñan y sirven de base para construir los casos de prueba Se desarrollan junto a la arquitectura del sistema Ambos evolucionan en paralelo

Principios del Proceso Unificado Centrado en la Arquitectura Def.: D. Garlan and D. Perry (guest editorial to the IEEE Transactions on Software Engineering, April 1995): Incluye: Software architecture is "the structure of the components of a program/system, their interrelationships, and principles and guidelines governing their design and evolution over time Es una vista del diseño completo que hace visibles las características principales Más definiciones: http://www.bredemeyer.com/definiti.htm Aspectos estáticos Aspectos dinámicos Influencias: Plataforma, aspectos legales, componentes reusables disponibles, consideraciones de implementación El proceso ayuda a centrarse en los objetivos correctos: legibilidad, adaptabilidad, reutilización. Relación entre casos de uso y arquitectura Casos de uso Funcionalidad del sistema Arquitectura Forma

Principios del Proceso Unificado Centrado en la Arquitectura El arquitecto debe: Crear una arquitectura inicial, no específica de los casos de uso. Ejemplo: la plataforma Trabajar con un conjunto seleccionado de casos de uso que representan las tareas clave del sistema. Caso de uso subsistemas, clases y componentes Evolución a lo largo del proceso de desarrollo concepto de vista arquitectónica

Principios del Proceso Unificado Iterativo e incremental División del proyecto en hitos obtenidos como consecuencia de la repetición de iteraciones de trabajo Una iteración produce un incremento Cada fase e iteración se centra en disminuir algún riesgo y concluye con un hito bien definido Todas las iteraciones son planificadas y controladas Incrementa la efectividad Factores para la selección en una iteración: La iteración trata un grupo de casos que extienden la funcionalidad La iteración trata los riesgos más importantes Importante: un incremento no siempre es aditivo Elementos contemplados en cada iteración: Casos de uso relevantes Diseño guiado por arquitectura Actividades de implementación y verificación Beneficios

Principios del Proceso Unificado Iterativo e incremental Beneficios de la iteración controlada Reduce el coste riesgo a los costes asociados a un solo incremento Reduce el riesgo de no sacar al mercado el producto en el calendario previsto Identificación de riesgos en fases tempranas Acelera el ritmo del esfuerzo de desarrollo en su totalidad Se trabaja mas eficientemente para obtener resultados en corto plazo Permite refinar los requisitos en iteraciones sucesivas Las necesidades de los usuarios no pueden definirse completamente al principio

Principios del Proceso Unificado Ciclo de vida del software: La vida del PU Varios ciclos de desarrollo que concluyen con un producto evolucionado El paso a través de las 4 fases principales constituye un ciclo de desarrollo produce una generación del software Cada fase se subdivide en iteraciones Primera pasada desarrollo inicial Siguientes ciclos de evolución del sistema Entregas: código fuente, ejecutables, manuales y documentos Hitos por fases (milestones) Ciclos Entrega... Fases Iterac. Concepción Elaboración Construcción Transición Iter. Iter. Iter. 1 2.................. n

Principios del Proceso Unificado Otras características Soporta las técnicas orientadas a objetos: Los modelos definidos como artefactos del proceso son orientados a objetos Los modelos se basan en la definición de clases, objetos y las relaciones entre ellos Se utiliza UML como notación común Enfocado a riesgos: La gestión del riesgo está incluida en el proceso Los riesgos se identifican y se acometen al principio del proceso de desarrollo (a tiempo) Impulsa un control de la calidad: La evaluación de la calidad está contenida en el proceso (trazabilidad) Implica a todos los participantes mediante medidas y criterios objetivos No se trata como algo a posteriori o una actividad separada Es un proceso configurable: Puede adaptarse a proyectos de diferente envergadura (medianos-grandes) Se adapta a las necesidades de desarrollo de la organización

Principios del Proceso Unificado Las 4 P : Proyecto Elemento organizativo a través del cual se gestiona el desarrollo de SW. El resultado de un proyecto es una versión de un producto Varias iteraciones en cuatro fases Información sobre el sistema propuesto Información del dominio Planificar Plan de proyecto Plan de iteración Experiencia pasada

Principios del Proceso Unificado Las 4 P : Proceso Un proceso de IS es una definición del conjunto de actividades necesarias para transformar los requisitos de usuario en un producto Un proceso es una plantilla para crear proyectos FASES Workflow Elaboración Requisitos Análisis Planificación Anál. Riesgos Preparación Construcción Verificación Iteración en Fase de Elaboración Transición Diseño Implementación Prueba Iteración(es) Inicial(es) Iter. #1 Iter. #2 Iter. #3 Iter. #4 Iter. #5 Iter. #6 Iter. #7 (Adaptado de Jacobson, 1999)

Principios del Proceso Unificado Las 4 P : Producto Artefactos que se crean durante la vida del proyecto, como los modelos, código fuente, ejecutables, y documentación Especificado por Modelo de análisis Modelo de casos de uso El resultado de llevar a cabo un proceso SW dentro de un proyecto concreto Soportado por Distribuido por Implementado por Verificado por Modelo de pruebas Modelo de diseño Modelo de despliegue Modelo de implementación

Principios del Proceso Unificado Las 4 P : Personas Los principales autores de un Py de SW son los arquitectos, desarrolladores, ingenieros de prueba y el personal de gestión que les da soporte, además de los usuarios, clientes, y otros interesados Las personas son realmente seres humanos, a diferencia del termino abstracto trabajadores Analista de Sistemas Descubre Actores y Casos de Uso Estructura Modelo de Casos de Uso Planific a Test Diseñ a Test Evalu a Test Ingeniero de pruebas Especifica Casos de Uso Detalla un Caso de Uso Integra Sistem a Integrador de Sistemas Diseñador de Interface de Usuario Prototipo del Interfaz de Usuario Ejecuta Test de Integración Ingeniero de pruebas de integración Arquitecto Prioriza Casos de Uso Ingeniero de Casos de Uso Análisis de Arquitectu ra Analiza un Caso de Uso Diseño de Arquitectu ra Diseña un Caso de Uso Implementaci ón de Arquitectura Ejecuta test del sistema Ingeniero de pruebas de sistema Ingeniero de Componentes Analiza una Clase Analiza un Paquet e Diseña una clase Implemen Diseña un ta una Subsistem Implement clase a a Subsistem a Ejecuta Test Unitario Implement a Test

Índice Introducción El proceso unificado Principios básicos Las 4 p Estructura del proceso unificado Flujos de trabajo principales Fases del desarrollo Otros aspectos Iteración genérica Planificación y evaluación

Estructura del Proceso Unificado Fases e iteraciones Fase: intervalo de tiempo entre dos hitos importantes del proceso durante el cual se cumple un conjunto bien definido de objetivos, se completan artefactos y se toman decisiones sobre si pasar a la siguiente fase Cada ciclo está compuesto por 4 fases: Iniciación (inception): Establecer la visión, el alcance y el plan inicial del proyecto Elaboración (elaboration): Diseñar, implementar y probar una arquitectura correcta, y completar el plan del proyecto Construcción (construction): Desarrollar el sistema (construir la primera versión operativa) Transición (transition): Proporcionar el sistema a sus usuarios finales

Estructura del Proceso Unificado Fases e iteraciones Iteración: representa un ciclo de desarrollo completo, desde la captura de requisitos en el análisis hasta la implementación y pruebas, que produce una versión (interna o externa) de un producto ejecutable, que constituye un subconjunto del producto final en desarrollo Iteración genérica (similar al modelo en cascada): Planificación Flujos de trabajo fundamentales: requisitos, análisis, diseño, implementación y pruebas Evaluación Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, el énfasis se pone más en unos u otros flujos de trabajo El contenido varía para adaptarse al objetivo de cada fase

Índice Introducción El proceso unificado Principios básicos Las 4 p Estructura del proceso unificado Flujos de trabajo principales Fases del desarrollo Otros aspectos Iteración genérica Planificación y evaluación

Flujos de trabajo principales (Workflows) Workflow Requisitos Planificación Anál. Riesgos Preparación Elaboración FASES Construcción Verificación Transición Análisis Diseño Implementación Prueba Iteración(es) Inicial(es) Iter. #1 Iter. #2 Iter. #3 Iter. #4 Iter. #5 Iter. #6 Iter. #7 (Adaptado de Jacobson, 1999)

Flujos de Trabajo Principales Requisitos Captura de los requisitos del sistema Difícil: Los requisitos cambian Comprensión: lenguaje utilizado cliente El cliente debe ser capaz de leer y comprender el resultado de la captura Objetivo: guiar el desarrollo hacia el sistema correcto El resultado ayuda al jefe de proyecto a planificar las iteraciones y los recursos Pasos a seguir: Enumerar los requisitos candidatos lista de características Comprender el contexto del sistema modelo de negocio/dominio Capturar requisitos funcionales modelo de casos de uso Capturar requisitos no funcionales requisitos suplementarios o casos individuales

Flujos de Trabajo Principales Artefactos de requisitos Requisitos Modelo de casos de uso Diagramas de casos de uso: Flujos de eventos principales Caminos alternativos Descripciones textuales de los casos de uso Diagramas de estado para explicar los casos de uso complejos Descripción de la arquitectura Glosario Prototipo de la interfaz de usuario Actividades Encontrar actores y casos de uso Priorizar los casos de uso Detallar un caso de uso Prototipar la interfaz de usuario Estructurar el modelo de casos de uso Analista de sistemas Arquitecto Especificador de C.U. Diseñador de la interfaz Arquitecto

Flujos de Trabajo Principales Análisis Se trabaja con conceptos Especificación más precisa de los requisitos Se utiliza el lenguaje de desarrolladores Facilita comprensión, preparación, modificación y mantenimiento de requisitos Primera aproximación al modelo de diseño

Flujos de Trabajo Principales Análisis Modelo de Casos de Uso Lenguaje del cliente Vista externa del sistema Estructurado por casos de uso Contrato entre cliente-desarrolladores Redundancias, inconsistencias, etc. entre requisitos Captura la funcionalidad del sistema Define casos de uso Modelo de Análisis Lenguaje del desarrollador Vista interna del sistema Estructurado por clases y paquetes Usado por desarrolladores para entender el sistema No debería contener redundancias ni inconsistencias de requisitos Captura cómo realizar la funcionalidad del sistema Define realizaciones de casos de uso

Artefactos de análisis Modelo de análisis Flujos de Trabajo Principales Análisis Diagramas de colaboración: Flujos de eventos principales Caminos alternativos Descripciones textuales de las clases Descripción de la arquitectura Vista de la arquitectura del modelo de análisis Descomposición del modelo en paquetes Realización de los casos de uso en análisis Diagramas de clases del análisis Diagramas de interacción de objetos del análisis Una descripción textual del flujo de sucesos Clases y paquetes de análisis

Flujos de Trabajo Principales Análisis Actividades Análisis de la arquitectura Identificar paquetes de análisis Identificar clases de entidad Requisitos comunes Analizar (refinar) un caso de uso Arquitecto Ingeniero de CU Identificar clases de análisis Describir interacciones entre los objetos del análisis Capturar requisitos especiales sobre la realización del CU Analizar una clase Ingeniero de Componentes Identificar responsabilidades y atributos Identificar relaciones: asociación, agregación y generalización Capturar requisitos especiales sobre la realización del CU Analizar un paquete Ingeniero de Componentes

Flujos de Trabajo Principales Diseño Se modela el sistema para que dé soporte a los requisitos funcionales y no funcionales Objetivos: Profundizar los requisitos no funcionales y restricciones dependientes de la plataforma. Crear una entrada apropiada para la implementación Descomponer los trabajos de implementación en partes mas manejables y que permitan concurrencia. Capturar las interfaces entre los subsistemas. Es el centro de atención final de la fase de elaboración e iteraciones iniciales de la fase de construcción

Flujos de Trabajo Principales Diseño Artefactos de diseño Modelo de diseño Diagramas de secuencia Flujos de eventos principales Caminos alternativos Descripciones textuales de las clases Diagramas de transición de estados para el comportamiento interno de cada clase Modelo de despliegue Diagramas de despliegue: distribución física del sistema en nodos de computo Descripciones de los nodos y sus interrelaciones Descripción de la arquitectura Vista de la arquitectura del modelo de diseño Descomposición del modelo en subsistemas Realización de los casos de uso en diseño Diagramas de clases de realización en diseño Diagramas de interacción (clases, subsistemas, interfaces) Flujo de sucesos-diseño Requisitos de implementación

Actividades Flujos de Trabajo Principales Diseño Diseño de la arquitectura Arquitecto Identificar nodos y configuración Identificar subsistemas y clases Diseñar un caso de uso Ingeniero de CU Identificar clases de diseño y subsistemas Distribuir comportamiento del caso de uso Capturar requisitos de implementación Diseñar una clase Ingeniero de Componentes Identificar responsabilidades y atributos Capturar requisitos especiales sobre la realización del CU Diseñar un subsistema Ingeniero de Componentes

Flujos de Trabajo Principales Implementación Se implementa el sistema en términos de componentes: Ficheros de código fuente, scripts, ficheros de código binarios, ejecutables y similares Objetivos: Planificar las integraciones de sistema necesarias en cada iteración Distribuir el sistema asignando componentes ejecutables a nodos en el diagrama de despliegue Implementar las clases y subsistemas encontrados durante el diseño Probar los componentes individualmente, integrarlos (compilándolos y enlazándolos en uno o más ejecutables)

Flujos de Trabajo Principales Implementación Artefactos de implementación Modelo de implementación Diagramas de componentes Subsistemas de implementación y sus dependencias Componentes (fichero y ejecutables) y sus dependencias Interfaces Modelo de despliegue Diagrama de despliegue Nodos Descripción de la arquitectura Vista de la arquitectura del modelo de implementación Asignación de componentes ejecutables a nodos Plan de integración de construcciones

Flujos de Trabajo Principales Actividades Implementación Implementación de la arquitectura Integrar sistemas Implementar una clase Componentes Arquitecto Integrador de sistemas Ingeniero de Implementar un subsistema Ingeniero de Componentes Realizar prueba de unidad Componentes Ingeniero de

Flujos de Trabajo Principales Prueba Verificamos el resultado de la implementación probando cada construcción Objetivos: Planificar las pruebas necesarias para cada iteración Pruebas de sistema Pruebas de integración Diseñar e implementar las pruebas diseñando los casos de prueba Realizar las diferentes pruebas

Flujos de Trabajo Principales Artefactos de prueba Modelo de pruebas Prueba Casos de prueba Procedimientos de prueba Componentes de prueba Plan de prueba Defectos Evaluación de la prueba

Actividades Planificar prueba Diseñar prueba Flujos de Trabajo Principales Prueba Diseñador de pruebas Diseñador de pruebas Describir casos de prueba de cada construcción Identificar y estructurar los procedimientos de prueba Implementar prueba Ingeniero de componentes Realizar pruebas de integración Ingeniero de pruebas de integración Realizar prueba de sistema Diseñador de pruebas Evaluar prueba Diseñador de pruebas

Índice Introducción El proceso unificado Principios básicos Las 4 p Estructura del proceso unificado Flujos de trabajo principales Fases del desarrollo Otros aspectos Iteración genérica Planificación y evaluación

Fases del Proceso Unificado Workflow Requisitos Planificación Anál. Riesgos Preparación Elaboración FASES Construcción Verificación Transición Análisis Diseño Implementación Prueba Iteración(es) Inicial(es) Iter. #1 Iter. #2 Iter. #3 Iter. #4 Iter. #5 Iter. #6 Iter. #7 (Adaptado de Jacobson, 1999)

Fases del Proceso Unificado Inicial Propósito: establecer viabilidad Objetivo: Análisis del negocio: casos de uso fundamentales para el negocio Actividades: 1. Delimitar el ámbito (interfaces con otros sistemas) 2. Proponer una arquitectura especialmente en lo nuevo, arriesgado o difícil (expresada en función de algunos modelos) 3. Identificar riesgos críticos (los que afecten a la viabilidad) 4. Demostrar a usuarios y clientes un prototipo (exploratorio)

Propósito: factibilidad Objetivo: Fases del Proceso Unificado Elaboración Arquitectura estable para guiar el sistema Estimación de costes para fases siguientes con precisión Actividades: 1. Línea base de la arquitectura. Consiste en: modelos, descripción de la arquitectura e implementación ejecutable de la arquitectura. 2. Identificación de riesgos que pueden perturbar los planes y costes posteriores. 3. Especificar niveles para los atributos de calidad: fiabilidad y tiempo de respuesta. 4. Recopilar casos de uso para el 80% de los requisitos funcionales para planificar la fase de construcción. 5. Planificación: personal, coste.

Fases del Proceso Unificado Construcción Propósito: desarrollar el sistema Objetivo: Versión beta Actividades: 1. Terminar la identificación, descripción y realización de todos los casos de uso. 2. Finalizar el análisis, el diseño la implementación y pruebas. 3. Mantener la integridad de la arquitectura. 4. Monitorizar los riesgos críticos

Fases del Proceso Unificado Transición Propósito: puesta en funcionamiento del sistema en el entorno del cliente/usuario Objetivo: Producto final Actividades: 1. Preparar las actividades, por ejemplo, el lugar 2. Aconsejar sobre el entorno de funcionamiento 3. Manuales y documentos para la entrega 4. Ajustar el software al entorno del usuario 5. Corregir los defectos detectados en la versión beta Lecciones aprendidas Asuntos útiles para la versión siguiente

Índice Introducción El proceso unificado Principios básicos Las 4 p Estructura del proceso unificado Flujos de trabajo principales Fases del desarrollo Otros aspectos Iteración genérica Planificación y evaluación

Otros aspectos del Proceso Unificado Iteración genérica Incluye Planificación Flujos de trabajo fundamentales Requisitos Análisis Diseño Implementación Pruebas Evaluación El contenido varía para adaptarse al objetivo de cada fase

Establecer: Otros aspectos del Proceso Unificado Planificación (fases) Asignaciones de tiempo y fecha de entrega por cada fase (inestable hasta fin de elaboración) Hitos principales y criterios de aceptación Iteraciones por fase y qué se realiza en ellas Depende de la complejidad del sistema Plan de proyecto: Fechas y criterios de objetivos principales División de fases en iteraciones Pensar a largo plazo

Otros aspectos del Proceso Unificado Planificación (iteraciones) Se define: Planificación de la Iteración: cuánto tiempo, fecha de terminación, etc. Contenido de la Iteración: ya está esbozado en el plan del proyecto pero al comenzar cada iteración se debe detallar: Casos de uso Riesgos técnicos que se deben identificar en forma de casos de uso Cambios que han sufrido los requisitos o defectos encontrados Subsistemas que se deben implementar Personal El plan de la iteración siguiente se va detallando. El número de iteraciones de cada fase esta determinado por la complejidad del sistema.

Otros aspectos del Proceso Unificado Planificación / Evaluación Antes de cada iteración se han de planificar los criterios de evaluación para establecer la satisfacción de los objetivos de cada iteración (medidos u observados): Requisitos funcionales en casos de uso Requisitos no funcionales de esos requisitos funcionales Requisitos no funcionales sueltos Requisitos verificables (pruebas) Requisitos generales (prototipo) Productos intermedios para determinar el progreso del trabajo Al final de cada iteración se realiza la evaluación de la misma de acuerdo a los criterios inicialmente establecidos

Otros aspectos del Proceso Unificado Evaluación Jefe de proyecto: ha de crear un documento como resultado de la evaluación Objetivos: Evaluar iteraciones según criterios: presupuesto, tiempo, requisitos de calidad, resultados de las pruebas Reconsiderar el plan de la siguiente iteración Modificar el proceso Evaluar y modificar criterios Es frecuente no alcanzar los criterios prolongar el trabajo a la iteración siguiente: Modificar o extender el modelo de casos de uso Modificar o extender la arquitectura Modificar o extender los subsistemas desarrollados Buscar otros riesgos Incorporar ciertas habilidades al equipo Puede que solo falte tiempo

Otros aspectos del Proceso Unificado Evaluación A partir de la evaluación anterior, el jefe de proyecto: Determina si se puede pasar a la siguiente iteración Si hay que rehacer, decide cuándo, quién y cómo Planifica en detalle siguiente iteración Actualiza el plan de las iteraciones posteriores a la siguiente Actualiza la lista de riesgos y el plan del proyecto Evolución del conjunto de modelos

Bibliografía The unified software development process. Ivar Jacobson, Grady Booch, James Rumbaugh, Ed. Addison Wesley, 1999 El proceso unificado de desarrollo. Ivar Jacobson, Grady Booch, James Rumbaugh, Ed. Addison Wesley, 1999