SlideShare una empresa de Scribd logo
Luis A. Guerrero Universidad de Chile Departamento de Ciencias de la Computación CC61J - Taller de UML Basado en material de la profesora Cecilia Bastarrica
¿Qué es RUP? 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. Requisitos del usuario Sistema de software Proceso de desarrollo de software
¿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? Rational Unified Process 5.0 Rational Objectory Process 4.1 Rational Objectory Process 4.0 Rational  Approach Objectory  Process Pruebas de rendimiento y carga (Performance Awareness) Ingeniería de Negocios Diseño OO de IU Ingeniería de Datos (Vigortech) UML 1.2 Proceso SQA (SQA Inc.) UML 1.0 Administración de  Configuración y Cambios (Pure-Atria) Escuela de  Requerimientos (Requisite Inc.) OMT Booch UML 0.8 1998 1997 1996 1995 Ericsson  method 1967 1987
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
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
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 Productos:
Inicio Elaboración Construcción Transición Objetivos del  Ciclo de Vida 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: Inicio Hito:
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
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:
Fases de RUP: Elaboración Modelo de casos de uso (80% completo) con descripciones detalladas. Otros requerimientos no funcio-nales 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. Productos:
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? Concepción Elaboración Construcción Transición Arquitectura de  Ciclo de Vida Fases de RUP: Elaboración Hito:
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
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 Productos:
Fases de RUP: Construcció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? Concepción Elaboración Construcción Transición Capacidad Operacional Hito:
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
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 Fases de RUP: Transición Objetivos:
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 Definiciones 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
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. Artefactos
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. Flujos de trabajo Análisis de Arquitectura Diseño de Arquitectura Describir Concurrencia Describir Distribución Análisis de Casos de Uso Diseño de Casos de Uso Análisis de Objetos Diseño de Objetos Revisar el Análisis Revisar el Diseño Revisar la Arquitectura Revisor de Diseño Diseñador Diseñador de Casos de Uso Arquitecto
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.
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 Los casos de uso describen la funcionalidad. Los requerimientos no funcionales se incluyen en una especificación complementaria. Requerimientos
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. Análisis y diseño
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 Implementación
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. Pruebas
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. Distribución
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 proyectos
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 Administración de configuración y cambios
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. Ambiente

Más contenido relacionado

PPTX
MODELO DE PROCESOS DEL SOFTWARE
PPTX
Metodologia rup
PDF
Metodologia del rup
PDF
6 Curso de POO en Java - clases y objetos
PPTX
Modelos de Procesos del Software
PPTX
2 2 estilos arquitectonicos
PPTX
11. modelos según roger s
PPTX
Ventajas y desventajas de moprosoft
MODELO DE PROCESOS DEL SOFTWARE
Metodologia rup
Metodologia del rup
6 Curso de POO en Java - clases y objetos
Modelos de Procesos del Software
2 2 estilos arquitectonicos
11. modelos según roger s
Ventajas y desventajas de moprosoft

La actualidad más candente (20)

DOCX
control de concurrencia
PPTX
Modelo de desarrollo concurrente
PDF
Paradigmas de programacion
PDF
Modelo espiral win win
PDF
Cuadro comparativo modelos para el desarrollo de software
PPTX
Modelo V
PDF
tipos de pruebas.
PDF
Graficacion por Computadora
DOC
Modelo componentes
DOC
Formato ieee830
PPTX
Modelo incremental
PPTX
Metodologia cascada pura
PDF
Estilos y Patrones Aplicables a la Arquitectura de Software
PDF
Tabla comparativa- metodologías de desarrollo
PPTX
Modelos de Procesos de Software
PPT
Metodologias De Desarrollo De Software
ODT
Modelo en cascada
PPTX
Cuadro comparativo
PPTX
Metodologia Incremental
PPTX
2. El proceso del software
control de concurrencia
Modelo de desarrollo concurrente
Paradigmas de programacion
Modelo espiral win win
Cuadro comparativo modelos para el desarrollo de software
Modelo V
tipos de pruebas.
Graficacion por Computadora
Modelo componentes
Formato ieee830
Modelo incremental
Metodologia cascada pura
Estilos y Patrones Aplicables a la Arquitectura de Software
Tabla comparativa- metodologías de desarrollo
Modelos de Procesos de Software
Metodologias De Desarrollo De Software
Modelo en cascada
Cuadro comparativo
Metodologia Incremental
2. El proceso del software
Publicidad

Destacado (20)

PPTX
Metodología RUP
PPTX
Metodologia rup
PPTX
Rup presentacion
DOCX
Metodologia rup
PPTX
METODOLOGIA RUP
PDF
Metodologia rup
PPT
Ejemplo rup
DOCX
Fase de inicio
DOCX
Metodologia rup
PPTX
Caracteristicas basicas de los equipos de computo
DOCX
Rup fase 3-version
PPTX
Metodologia rup-udo-monagas
XLS
Layout interfases
PPT
Rup disciplinas
PDF
UML - MANUAL DE REFERENCIA
PPTX
Rup entrega final
PPT
Elementos Básicos De Una Computadora
PPT
Portal Compras Públicas del Ecuador_INCOP
Metodología RUP
Metodologia rup
Rup presentacion
Metodologia rup
METODOLOGIA RUP
Metodologia rup
Ejemplo rup
Fase de inicio
Metodologia rup
Caracteristicas basicas de los equipos de computo
Rup fase 3-version
Metodologia rup-udo-monagas
Layout interfases
Rup disciplinas
UML - MANUAL DE REFERENCIA
Rup entrega final
Elementos Básicos De Una Computadora
Portal Compras Públicas del Ecuador_INCOP
Publicidad

Similar a Rup (20)

PPT
4.1 Proceso Unificado De Rational
PPT
Exposicion RUP
PPTX
METODOLOGIA RUP.pptx
PPTX
METODOLOGIA RUP PARA DESARROLLO TEMA 3.pptx
PPTX
Rup entrega final
PPTX
PPTX
Metodologias rup
PPTX
PDF
PDF
Rup jenny mallqui
PDF
Qué es rup
PDF
Wagneher franck mallma nuñez
PDF
Wagneher franck mallma nuñez
PDF
Qué+es+ru..
PDF
Quesrup 120217232753-phpapp02
PPTX
Metodología rup
PDF
Principios del RUP
4.1 Proceso Unificado De Rational
Exposicion RUP
METODOLOGIA RUP.pptx
METODOLOGIA RUP PARA DESARROLLO TEMA 3.pptx
Rup entrega final
Metodologias rup
Rup jenny mallqui
Qué es rup
Wagneher franck mallma nuñez
Wagneher franck mallma nuñez
Qué+es+ru..
Quesrup 120217232753-phpapp02
Metodología rup
Principios del RUP

Más de AlexHernandez99 (16)

PPT
Lh Ch Sr02
PPT
Lh Ca02 esp
PPT
Lh Ch08 Stp
PPT
Lh Ch02 Stp
PPT
Lh Ch01 Stp
PDF
Tvd Modulo 4
PPT
Cocyt Fomix
PPT
Comision De Innovacion
PPTX
Curso 1 de Grupo Caliente
DOC
Spectrum Of Education Technologies1.1
DOC
Spectrum Of Education Technologies
PPT
Cultura De Innovacion Lineamientos42607
DOC
Hacia Una Cultura De Innovacion Regional1.5doc
DOC
Propuesta Curso Innovacion
DOC
Convocatoria
PPT
Comision De Innovacion 1.0
Lh Ch Sr02
Lh Ca02 esp
Lh Ch08 Stp
Lh Ch02 Stp
Lh Ch01 Stp
Tvd Modulo 4
Cocyt Fomix
Comision De Innovacion
Curso 1 de Grupo Caliente
Spectrum Of Education Technologies1.1
Spectrum Of Education Technologies
Cultura De Innovacion Lineamientos42607
Hacia Una Cultura De Innovacion Regional1.5doc
Propuesta Curso Innovacion
Convocatoria
Comision De Innovacion 1.0

Último (20)

DOCX
Zarate Quispe Alex aldayir aplicaciones de internet .docx
PDF
CyberOps Associate - Cisco Networking Academy
PPTX
RAP02 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
PPT
Que son las redes de computadores y sus partes
PPTX
Propuesta BKP servidores con Acronis1.pptx
PPTX
REDES INFORMATICAS REDES INFORMATICAS.pptx
PDF
clase auditoria informatica 2025.........
PDF
taller de informática - LEY DE OHM
PPT
introduccion a las_web en el 2025_mejoras.ppt
PDF
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN
PPTX
COMO AYUDAN LAS TIC EN LA EDUCACION SUPERIOR.pptx
PDF
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.
PPTX
historia_web de la creacion de un navegador_presentacion.pptx
PPTX
Acronis Cyber Protect Cloud para Ciber Proteccion y Ciber Seguridad LATAM - A...
PPTX
Power Point Nicolás Carrasco (disertación Roblox).pptx
PDF
Influencia-del-uso-de-redes-sociales.pdf
PPT
El-Gobierno-Electrónico-En-El-Estado-Bolivia
PDF
SAP Transportation Management para LSP, TM140 Col18
PDF
Liceo departamental MICRO BIT (1) 2.pdfbbbnn
PPTX
sa-cs-82-powerpoint-hardware-y-software_ver_4.pptx
Zarate Quispe Alex aldayir aplicaciones de internet .docx
CyberOps Associate - Cisco Networking Academy
RAP02 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
Que son las redes de computadores y sus partes
Propuesta BKP servidores con Acronis1.pptx
REDES INFORMATICAS REDES INFORMATICAS.pptx
clase auditoria informatica 2025.........
taller de informática - LEY DE OHM
introduccion a las_web en el 2025_mejoras.ppt
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN
COMO AYUDAN LAS TIC EN LA EDUCACION SUPERIOR.pptx
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.
historia_web de la creacion de un navegador_presentacion.pptx
Acronis Cyber Protect Cloud para Ciber Proteccion y Ciber Seguridad LATAM - A...
Power Point Nicolás Carrasco (disertación Roblox).pptx
Influencia-del-uso-de-redes-sociales.pdf
El-Gobierno-Electrónico-En-El-Estado-Bolivia
SAP Transportation Management para LSP, TM140 Col18
Liceo departamental MICRO BIT (1) 2.pdfbbbnn
sa-cs-82-powerpoint-hardware-y-software_ver_4.pptx

Rup

  • 1. Luis A. Guerrero Universidad de Chile Departamento de Ciencias de la Computación CC61J - Taller de UML Basado en material de la profesora Cecilia Bastarrica
  • 2. ¿Qué es RUP? 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. Requisitos del usuario Sistema de software Proceso de desarrollo de software
  • 3. ¿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.
  • 4. ¿Qué es RUP? Rational Unified Process 5.0 Rational Objectory Process 4.1 Rational Objectory Process 4.0 Rational Approach Objectory Process Pruebas de rendimiento y carga (Performance Awareness) Ingeniería de Negocios Diseño OO de IU Ingeniería de Datos (Vigortech) UML 1.2 Proceso SQA (SQA Inc.) UML 1.0 Administración de Configuración y Cambios (Pure-Atria) Escuela de Requerimientos (Requisite Inc.) OMT Booch UML 0.8 1998 1997 1996 1995 Ericsson method 1967 1987
  • 5. 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
  • 6. 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.
  • 7. 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.
  • 8. 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.
  • 9. 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.
  • 10. 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.
  • 11. 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.
  • 12. 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.
  • 14. 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
  • 15. 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 Productos:
  • 16. Inicio Elaboración Construcción Transición Objetivos del Ciclo de Vida 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: Inicio Hito:
  • 17. 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
  • 18. 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:
  • 19. Fases de RUP: Elaboración Modelo de casos de uso (80% completo) con descripciones detalladas. Otros requerimientos no funcio-nales 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. Productos:
  • 20. 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? Concepción Elaboración Construcción Transición Arquitectura de Ciclo de Vida Fases de RUP: Elaboración Hito:
  • 21. 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
  • 22. 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 Productos:
  • 23. Fases de RUP: Construcció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? Concepción Elaboración Construcción Transición Capacidad Operacional Hito:
  • 24. 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
  • 25. 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 Fases de RUP: Transición Objetivos:
  • 26. 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
  • 27. Actividades Definiciones 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
  • 29. 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. Artefactos
  • 30. 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. Flujos de trabajo Análisis de Arquitectura Diseño de Arquitectura Describir Concurrencia Describir Distribución Análisis de Casos de Uso Diseño de Casos de Uso Análisis de Objetos Diseño de Objetos Revisar el Análisis Revisar el Diseño Revisar la Arquitectura Revisor de Diseño Diseñador Diseñador de Casos de Uso Arquitecto
  • 31. Flujos de trabajo esenciales Flujos de Trabajo de Ingeniería Flujos de Trabajo de Apoyo
  • 32. 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.
  • 33. 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 Los casos de uso describen la funcionalidad. Los requerimientos no funcionales se incluyen en una especificación complementaria. Requerimientos
  • 34. 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. Análisis y diseño
  • 35. 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 Implementación
  • 36. 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. Pruebas
  • 37. 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. Distribución
  • 38. 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 proyectos
  • 39. 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 Administración de configuración y cambios
  • 40. 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. Ambiente