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

Documentos relacionados
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

Rational Unified Process

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

INGENIERIA DE SOFTWARE ING. FRANCISCO RODRIGUEZ

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

Ingeniería de Software: Metodologías

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

octubre de 2007 Arquitectura de Software

Ingeniería de Requisitos

Ingeniería de Software: Metodologías

TEMA 4. PROCESO UNIFICADO

Procesos de Software

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

Ingeniería de Software: Metodologías

ANEXO TECNICO. Fábrica de Software

UNT INGENIERIA INDUSTRIAL INGENIERIA DE SOFTWARE

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

Procesos del software

CICLO DE VIDA DEL SOFTWARE

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

Personas. Tecnología. Producto. Proceso

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

Técnicas de Pruebas de

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

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

CICLOS DE VIDA Y METODOLOGIAS

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

MODELO INTEGRAL PARA EL DESARROLLO AVANZADO DE SOLUCIONES

Interacción Persona - Ordenador

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

Tema 9: Método de Craig Larman

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

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

INDICE CARTAS DESCRIPTIVAS S3

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

Tema 4g: Proceso Unificado: Implementación

Uso de Metodología ICONIX

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

SISTEMAS DE INFORMACIÓN II TEORÍA

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

Figure 14-1: Phase F: Migration Planning

El Ciclo de Vida del Software

MANUAL DE TALLERES INGENIERÍA DE SOFTWARE

METODOLOGÍAS ÁGILES. Proceso Unificado Ágil (AUP) Ingeniería del Software II Análisis de Sistemas

ANÁLISIS DE SISTEMAS. Prof. Eliz Mora

Procesos de la Dirección de Proyectos para un proyecto

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

BUENAS PRACTICAS EN DESARROLLO DE SOFTWARE APUNTES DE UNA EXPERIENCIA

Proceso de Desarrollo de SW

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

Proceso Unificado (Iterativo e incremental)

Programación Orientada a Objetos

Modelos de desarrollo de sistemas

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

Aseguramiento de Calidad en el Desarrollo de Software Libre

Procesos de la Dirección de Proyectos para un proyecto

Sistemas de Información II. Modelo del Negocio

Procesos de la Dirección de Proyectos para un proyecto

Obligatoria asignatura Programa elaborado por:

Tema 4c: El Proceso Unificado de Desarrollo

UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL CARRERA DE INGENIERÍA DE SOFTWARE

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

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

Ingeniería del Software de Gestión

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

Procesos y desarrollo de SW Proceso Unificado

Capítulo 5 Proceso Unificado Rational Aplicado

Caso de Uso. Herramienta de relevamiento. domingo, 28 de octubre de 12

Figure 17-1: ADM Architecture Requirements Management

Metodología propia del ERP de SAP

Applying UML and paterns (Capítulos 8, 9 y 10)

EXAV Plan de Proyecto Versión 2.1 Historia de revisiones

Adquisición de TIC - Código Abierto

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

SIGPRE Sistema de Gestión Presupuestaria

Análisis y desarrollo de sistemas de información.

INGENIERIA DE SOFTWARE. Microsoft Solution Framework

Tema 13: El Proceso Unificado de Desarrollo

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

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

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

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

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

Este dominio consta de 13 procesos que se describen a continuación.

12/08/2017. Casos de uso. Casos de uso. Casos de uso. Casos de uso

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

SISTEMA PARA GESTIÓN DE PERSONAL DE LA EMPRESA AVÍCOLA REPROAVI CÍA. LTDA. CAPÍTULO II

CICLO DE VIDA 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:

Tests de examen de CDGSI ACTUALIZADO FEB TEMA 5 DESARROLLO E IMPLANTACIÓN DE SISTEMAS DE INFORMACIÓN

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

Proceso de Testing Funcional Independiente

Diagramas De Casos De Uso

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

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

Diplomado Análisis de negocio, preparación para Certificación

SÍLABO DE INGENIERÍA DE SOFTWARE

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

Transcripción:

Qué es RUP? Requisitos del usuario Proceso de desarrollo de software Sistema de software RUP es un proceso de desarrollo de software: Forma disciplinada de asignar tareas y responsabilidades en una empresa de desarrollo (quién hace qué, cuándo y cómo). Objetivos: Asegurar la producción de software de calidad dentro de plazos y presupuestos predecibles. Dirigido por casos de uso, centrado en la arquitectura, iterativo (mini-proyectos) e incremental (versiones). Es también un producto: Desarrollado y mantenido por Rational. Actualizado constantemente para tener en cuenta las mejores prácticas de acuerdo con la experiencia.

Qué es RUP? Aumenta la productividad de los desarrolladores mediante acceso a: Base de conocimiento, plantillas y herramientas. Se centra en la producción y mantenimiento de modelos del sistema más que en producir documentos. RUP es una guía de cómo usar UML de la forma más efectiva. Existen herramientas de apoyo a todo el proceso: Modelamiento visual, programación, pruebas, etc.

Qué es RUP? 1998 1997 Pruebas de rendimiento y carga (Performance Awareness) Ingeniería de Negocios Administración de Configuración y Cambios (Pure-Atria) Escuela de Requerimientos (Requisite Inc.) Rational Unified Process 5.0 Rational Objectory Process 4.1 Diseño OO de IU Ingeniería de Datos (Vigortech) UML 1.2 Proceso SQA (SQA Inc.) UML 1.0 1996 OMT Booch Rational Objectory Process 4.0 UML 0.8 1995 1987 1967 Rational Approach Objectory Process Ericsson method

Las mejores prácticas RUP pretende implementar las mejores prácticas actuales en ingeniería de software: Desarrollo iterativo del software Administración de requerimientos Uso de arquitecturas basadas en componentes Modelamiento visual del software Verificación de la calidad del software Control de cambios

Desarrollo iterativo El software moderno es complejo y novedoso. No es realista usar un modelo lineal de desarrollo como el de cascada. Un proceso iterativo permite una comprensión creciente de los requerimientos a la vez que se va haciendo crecer el sistema. RUP sigue un modelo iterativo que aborda las tareas más riesgosas primero. Con esto se logra reducir los riesgos del proyecto y tener un subsistema ejecutable tempranamente.

Administración de requerimientos RUP describe cómo: Obtener los requerimientos Organizarlos Documentar requerimientos de funcionalidad y restricciones Rastrear y documentar decisiones Captar y comunicar requerimientos del negocio Los casos de uso y los escenarios indicados por el proceso han probado ser una buena forma de captar requerimientos y guiar el diseño, la implementación y las pruebas.

Arquitecturas basadas en componentes El proceso se basa en diseñar tempranamente una arquitectura base ejecutable. La arquitectura debe ser: Flexible Fácil de modificar Intuitivamente comprensible Promueve la reutilización de componentes RUP apoya el desarrollo basado en componentes, tanto nuevos como preexistentes.

Modelamiento visual Modelamiento visual de la estructura y el comportamiento de la arquitectura y los componentes. Bloques de construcción: Ocultan detalles Permiten la comunicación en el equipo de desarrollo Permiten analizar la consistencia: entre las componentes entre diseño e implementación UML es la base del modelamiento visual de RUP.

Verificación de cualidades No sólo la funcionalidad es esencial, también el rendimiento y la confiabilidad. RUP ayuda a planificar, diseñar, implementar, ejecutar y evaluar pruebas que verifiquen estas cualidades. El aseguramiento de la calidad es parte del proceso de desarrollo y no la responsabilidad de un grupo independiente.

Control de cambios Los cambios son inevitables, pero es necesario evaluar si éstos son necesarios y rastrear su impacto. RUP indica como controlar, rastrear y monitorear los cambios dentro del proceso iterativo de desarrollo.

Ciclos y fases RUP divide el proceso de desarrollo en ciclos, teniendo un producto al final de cada ciclo. Cada ciclo se divide en cuatro Fases: Inicio Elaboración Construcción Transición Cada fase concluye con un hito bien definido donde deben tomarse ciertas decisiones.

Fases de RUP

Fases de RUP: Inicio Se establece la oportunidad y alcance el proyecto. Se identifican todas las entidades externas con las que se trata (actores) y se define la interacción a un alto nivel de abstracción: Identificar todos los casos de uso Describir algunos en detalle La oportunidad del negocio incluye: Criterios de éxito Identificación de riesgos Estimación de recursos necesarios Plan de las fases incluyendo hitos

Fases de RUP: Inicio Productos: Un documento de visión general: Requerimientos generales del proyecto Características principales Restricciones Modelo inicial de casos de uso (10% a 20 % listos). Glosario. Caso de negocio: Contexto Criterios de éxito Pronóstico financiero Identificación inicial de riesgos. Plan de proyecto. Uno o más prototipos.

Fases de RUP: Inicio Hito: Objetivos del Ciclo de Vida Inicio Elaboración Construcción Transición Las partes interesadas deben acordar el alcance y la estimación de tiempo y costo. Comprensión de los requerimientos plasmados en casos de uso.

Fases de RUP: Elaboración Objetivos: Analizar el dominio del problema Establecer una arquitectura base sólida Desarrollar un plan de proyecto Eliminar los elementos de mayor riesgo para el desarrollo exitoso del proyecto Visión de una milla de amplitud y una pulgada de profundidad porque las decisiones de arquitectura requieren una visión global del sistema.

Fases de RUP: Elaboración Productos: Es la parte más crítica del proceso: Al final toda la ingeniería dura está hecha Se puede decidir si vale la pena seguir adelante A partir de aquí la arquitectura, los requerimientos y los planes de desarrollo son estables. Ya hay menos riesgos y se puede planificar el resto del proyecto con menor incertidumbre. Se construye una arquitectura ejecutable que contemple: Los casos de uso críticos Los riesgos identificados

Fases de RUP: Elaboración Productos: Modelo de casos de uso (80% completo) con descripciones detalladas. Otros requerimientos no funcionales o no asociados a casos de uso. Descripción de la Arquitectura del Software. Un prototipo ejecutable de la arquitectura. Lista revisada de riesgos y del caso de negocio. Plan de desarrollo para el resto del proyecto. Un manual de usuario preliminar.

Fases de RUP: Elaboración Hito: Arquitectura de Ciclo de Vida Concepción Elaboración Construcción Transición Condiciones de éxito de la elaboración: Es estable la visión del producto? Es estable la arquitectura? Las pruebas de ejecución demuestran que los riesgos han sido abordados y resueltos? Es el plan del proyecto algo realista? Están de acuerdo con el plan todas las personas involucradas?

Fases de RUP: Construcción En esta fase todas las componentes restantes se desarrollan e incorporan al producto. Todo es probado en profundidad. El énfasis está en la producción eficiente y no ya en la creación intelectual. Puede hacerse construcción en paralelo, pero esto exige una planificación detallada y una arquitectura muy estable.

Fases de RUP: Construcción Productos: El producto de software integrado y corriendo en la plataforma adecuada. Manuales de usuario. Una descripción del release actual.

Fases de RUP: Construcción Hito: Capacidad Operacional Concepción Elaboración Construcción Transición Se obtiene un producto Beta que debe decidirse si puede ponerse en ejecución sin mayores riesgos. Condiciones de éxito: El producto está maduro y estable para instalarlo en el ambiente del cliente? Están los interesados listos para recibirlo?

Fases de RUP: Transición El objetivo es traspasar el software desarrollado a la comunidad de usuarios. Una vez instalado surgirán nuevos elementos que implicarán nuevos desarrollos (ciclos). Incluye: Pruebas Beta para validar el producto con las expectativas del cliente Ejecución paralela con sistemas antiguos Conversión de datos Entrenamiento de usuarios Distribuir el producto

Fases de RUP: Transición Objetivos: Obtener autosuficiencia de parte de los usuarios. Concordancia en los logros del producto de parte de las personas involucradas. Lograr el concenso cuanto antes para liberar el producto al mercado. Concepción Elaboración Construcción Transición Producto

Definiciones Trabajador Un trabajador define el comportamiento y las responsabilidades de un individuo. Es como un sombrero que la persona usa durante el proyecto: Una persona puede tener varios sombreros Es el rol que desempeña en un momento dado Responsabilidades: Hacer una serie de actividades Ser el responsable de una serie de artefactos

Definiciones Actividades Una actividad es una unidad de trabajo que se asigna a un trabajador. Ej.: Crear o modificar un artefacto Una actividad lleva entre un par de horas y un par de días, involucra un solo trabajador y un número pequeño de artefactos. Las actividades se consideran en la planificación y evaluación del progreso del proyecto. Ejemplos: Planificar una iteración - Administrador de proyecto Encontrar actores y casos de uso - Analista Revisar el diseño - Revisor de diseño Ejecutar pruebas de performance - Ing. de pruebas de performance

Asignación de actividades Recurso Trabajador Actividad Pablo Diseñador Diseño de Objetos María Autor de Casos de Uso Detallar un Caso de Uso José Diseñador de Casos de Uso Diseñar un Caso de Uso Silvia Revisor de Diseño Revisar el Diseño Eduardo Arquitecto Análisis de Arquitectura Diseño de Arquitectura

Artefactos Elementos de información producidos, modificados o usados por el proceso. Son los productos tangibles del proyecto. Son usados por los trabajadores para realizar nuevas actividades y son el resultado de esas actividades. Ejemplos: Un modelo, como el modelo de casos de uso o el modelo de diseño. Un elemento del modelo, como una clase o un caso de uso. Un documento tal como el Caso del Negocio o la Arquitectura del Software. Código fuente. Código ejecutable.

Flujos de trabajo Una lista de actividades, trabajadores y artefactos constituye un proceso. Un flujo de trabajo es una secuencia de actividades que produce un resultado valioso. No siempre es posible representar flujos de trabajo. Arquitecto Diseñador de Casos de Uso Diseñador Análisis de Arquitectura Análisis de Casos de Uso Diseño de Arquitectura Análisis de Objetos Describir Concurrencia Diseño de Casos de Uso Diseño de Objetos Describir Distribución Revisor de Diseño Revisar el Análisis Revisar el Diseño Revisar la Arquitectura

Flujos de trabajo esenciales Flujos de Trabajo de Ingeniería Flujos de Trabajo de Apoyo

Flujos de trabajo Existen habitualmente problemas de comunicación entre ingenieros de software e ingenieros de negocios. RUP proporciona un lenguaje y proceso común para estos dos ámbitos. Para el modelamiento del negocio se usan business use cases (casos de uso del negocio): La forma en que el software dará apoyo al negocio.

Requerimientos Los desarrolladores y clientes deben acordar qué es lo que el sistema debe hacer: Relevar requerimientos Documentar funcionalidad y restricciones Documentar decisiones Identificar actores Identificar casos de uso Cliente Reciclar Imprimir Informe Administrar Depósito Los casos de uso describen la funcionalidad. Los requerimientos no funcionales se incluyen en una especificación complementaria. Operador

Análisis y diseño Descripción de cómo se implementará el sistema: un plano Debe: Ejecutar las tareas y funciones descritas en los casos de uso Satisfacer todos los requerimientos Flexible a cambios El diseño se centra en la noción de arquitectura. Diseñar y validar la arquitectura es una tarea esencial. El modelo de diseño consta de Clases estructuradas en paquetes Diseños de subsistemas con interfaces definidas (componentes) Forma de colaboración entre las clases.

Implementación Propósito: Definir la organización del código Implementar clases y objetos en forma de componentes (fuente, ejecutables, etc.) Probar las componentes desarrolladas Integrar las componentes en un sistema ejecutable

Pruebas Propósito: Verificar la interacción entre los objetos Verificar la integración apropiada de componentes Verificar que se satisfacen los requerimientos Identificar los defectos y corregirlos antes de la instalación RUP describe como planear y ejecutar estas pruebas. RUP propone probar las componentes desde el principio: Confiabilidad, funcionalidad y performance Las pruebas de regresión son importantes en desarrollos iterativos. Rational tiene herramientas para automatizar algunas pruebas.

Distribución Producir un producto y hacerlo llegar a sus usuarios finales. Incluye varias actividades: Producir un release Empaquetar el software Distribuir el software Instalar el software Apoyar a los usuarios A veces también incluye: Realizar pruebas beta Migración de datos Aceptación formal La mayor parte de la distribución ocurre durante la transición. Este es uno de los flujos de trabajo menos documentados en RUP.

Administración de proyectos Es el arte de balancear objetivos contrarios, manejar riesgos y producir software que satisface a clientes y usuarios. Existen pocos proyectos realmente exitosos. RUP incluye: Un framework para manejo de proyectos de software Guías para planificación, provisión de personal, ejecución y monitoreo de planes Un framework para manejar riesgos

Administración de configuración y cambios Forma de controlar los artefactos producidos por las personas que trabajan en el proyecto. Algunos problemas habituales: Actualizaciones simultáneas Múltiples versiones RUP da guías para: Desarrollos en paralelo Automatizar la construcción Administrar defectos

Ambiente Ambiente y herramientas de desarrollo que harán posible llevar a cabo el proyecto. RUP guía en la configuración de un ambiente de proceso apropiado a cada proyecto.