El RUP (Rational Unified Process) es una metodología de desarrollo de software orientada a objetos creada por IBM que utiliza UML (Lenguaje Unificado de Modelado) para modelar el sistema. RUP se centra en los requisitos, la arquitectura y los casos de uso, e involucra al cliente en iteraciones cortas para entregar valor temprano. Su objetivo es producir software de alta calidad a tiempo y dentro del presupuesto.
2. El antecedente más importante se ubica en 1967 con la Metodología Ericsson (Ericsson Approach ) elaborada por Ivar Jacobson, una aproximación de desarrollo basada en componentes, introdujo el concepto de Caso de Uso. Entre los años de 1987 a 1995 Jacobson fundó la compañía Objectory AB y lanza el proceso de desarrollo Objectory (abreviación de Object Factory), actualmente propiedad de IBM. Junto con el Lenguaje Unificado de Modelado UML, constituye la metodología estándar más utilizada para el análisis, diseño, implementación y documentación de sistemas orientados a objetos.
3. Es un proceso de ingeniería de software creado para llevar a las organizaciones desarrolladoras de software a alcanzar sus objetivos críticos, como el cumplimiento de requisitos dentro del tiempo y presupuestos establecido, y junto con el Lenguaje Unificado de Modelado UML, constituye la metodología estándar más utilizada para el análisis, implementación y documentación de sistemas orientados a objetos.
Esta metodología permite que todos los integrantes de un equipo de trabajo, conozcan y compartan el proceso de desarrollo, una base de conocimientos y los distintos modelos de cómo desarrollar el software utilizando un lenguaje modelado común: UML.
4. El principal objetivo del RUP es asegurar la producción de software de alta calidad que satisfaga las necesidades de sus usuarios finales dentro de un presupuesto y tiempo predecibles.
6. El RUP presenta 3 características esenciales de todo el proceso de desarrollo:
1. Dirigido por los casos de uso.
2. Centrado en la arquitectura.
3. Ciclo de vida interactivo.
8. • Adaptar el proceso
• Equilibrar las prioridades de los interesados
• Mostrar valores agregados interactivamente
• Colaboración entre equipos.
• Elevar el nivel de abstracción.
• Enfocarse en la calidad.
9. • Reconoce que las necesidades del usuario y sus requerimientos no se pueden definir completamente al principio
• Permite evaluar tempranamente los riesgos en lugar de descubrir problemas en la integración final del sistema.
• Reduce el costo del riesgo a los costos de un solo incremento
• Acelera el ritmo del esfuerzo de desarrollo en su totalidad debido a que los desarrolladores trabajan para obtener resultados claros a corto plazo.
• Distribuye la carga de trabajo a lo largo del tiempo del proyecto ya que todas las disciplinas colaboran en cada interacción.
• Facilita la reutilización del código teniendo en cuenta que se realizan revisiones en las primeras iteraciones lo cual además permite que se aprecien oportunidades de mejoras en el diseño.
10. • Pretende prever y tener todo el control de antemano.
• Modelo general trabajo adicional.
• Genera mucho costos.
• No recomendable para proyectos pequeños.
14. UML es un lenguaje visual para especificar, construir y documentar sistemas. (OMG – Object Management Group) Unified (UNIFICADO): -* El aporte de muchos métodos y notaciones. -*Independiente de implementaciones, plataformas y lenguajes.
Modeling (MODELADO): -*Los modelos son utilizados en todos las ingenierías.
Languaje (LENGUAJE): -*Si hay gente, requieren comunicarse. Si se tienen que comunicar, se tiene que entender. Para entenderse necesitan un lenguaje común.
15. UML define una notación que se expresa como diagrama que sirven para representar modelos/subsistemas o partes de ellos.
UML es un lenguaje de propósito general para el modelo orientado a objetos.
Define una estructura para ir del análisis al diseño y de éste a la implementación.
16.
17. Manejar problemas
Acoplamiento: modelo – artefacto
Creación de un lenguaje de modelado
Modelar todo tipo de sistemas de software
18. ELEMENTOS
PAQUETE
ELEMENTOS DE AGRUPACIÓN
ELEMENTOS ESTRUCTURALES
ELEMENTOS DE ANOTACÓN
ELEMENTOS DE COMPORTAMIENTO
NOTAS
24. Vista de UML: Arquitectura 4 + 1
5 Vistas
13 Diagramas
25. Diagrama de Clase
Diagrama de Componentes
Diagrama de Objetos
Diagrama de Estructura Compuesta
Diagrama de Despliegue
Diagrama de Paquetes
Diagrama de Estado
Diagrama de Actividades
Diagrama de Casos de Uso
Diagrama de Estructura
Diagrama de Comportamiento
Diagrama de Tiempos
Diagrama de Secuencia
Diagrama de Global de Interacción
Diagrama de Interacción
Diagrama de Comunicación
26. DIAGRAMA
DIAGRAMA DE ESTRUCTURA
DIAGRAMA DE COMPORTAMINETO
Diagrama de Estructura Compuesta
Diagrama de Actividad
Diagrama de Casos de Uso
Diagrama de Maquina de Estado
Diagrama de Interacción
Diagrama de Secuencia
Diagrama Global de Interacción
Diagrama de Comunicación
Diagrama de Tiempos
Diagrama de Clases
Diagrama de Componentes
Diagrama de Objetos
Diagrama de Despliegue
Diagrama de Paquetes
41. DISEÑO Y DOCUMENTACIÓN
MODIFICACIONES Y FÁCILES
COMUNICACIÓN ENTRE PROGRAMADORES
DESCUBRIMIENTO DE FALLAS
AHORRO DE TIEMPO
CÓDIGO REUTILIZABLE
42.
43. ERISSON: “....el modelamiento del SW es fundamental durante el desarrollo porque garantiza construcción de la arquitectura del SW, permite entenderla de manera completa y reduce los riesgos....”
IBM:
“permite tener el control de ciclo de vida completo de un proyecto...”
ORACLE:
“podemos representar los objetivos del negocio y tener todas las definiciones de la base de datos...”
MICROSOFT: “....reduce el costo de desarrollo, el tiempo y el riesgo de un proyecto de SW, incrementa la reutilización de componentes....”
HEWLETT PACKARD:
“...ayuda al equipo a entenderse y ver cual es su trabajo dentro del contexto de construcción del SW. Hace visible la comunicación entre cliente, gente de análisis y diseño y sus herramientas de desarrollo....”