Metodologı́a RUP
∗1 †2 ‡3
Pedro Higuera , Diana Uscategui , and Diego Lizarazo
1
Universidad Distrital Franciso José de Caldas
Resumo
L a Metodologı́a RUP (Rational Unified Process) es un proceso de la Ingenierı́a de Software que proporciona
un enfoque para asignar responsabilidades dentro de una organización o grupo de desarrollo. Esta Metodologı́a
ayuda a mejorar la productividad y hace que todos compartan el mismo proceso de cómo desarrollar un software.
Palabras Clave− Metodologı́a, RUP, Enfoque, Ingenierı́a
Estructura
1 Presentación 1
2 Propósito 1
3 Objetivos del RUP 2
3.1 Beneficios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
4 Caracterı́sticas de la Metodologı́a 3
4.1 Principales Elementos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
4.2 Caracterı́sticas Principales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
4.3 Caracterı́sticas del ciclo de vida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
5 Descripción del Modelo 4
5.1 Estructura del proceso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
5.2 Estructura Dinámica del proceso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
5.3 Estructura Estática del Proceso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
6 Consideraciones 5
1. Presentación
os orı́genes de la Metodologı́a RUP se remontan a 1995, momento en el cual la compañı́a Rational Software
L compra a Objectory AB, empresa de Ivar Jacobson el cual era conocido por haber implementado los casos de uso
a los métodos de desarrollo orientado a objetos. Gracias a la unión de estas dos empresas nace el Rational Objectory
Process, lo que se conoce hoy como el Rational Unified Process la cual fue puesta en mercado en 1998 y es usada
hasta el dı́a de hoy.
Dentro de las Metodologı́as de desarrollo de software, la Metodologı́a RUP es una de las Metodologı́as más usadas
para el análisis, implementación y documentación de sistemas orientados a objetos, esto le permite ser usado para una
gran variedad de sistemas, en diferentes áreas de aplicación y proyectos. En este artı́culo se presentará la Metodologı́a
RUP, su propósito, estructura, funcionamiento y casos de estudio que ilustran de forma simple como puede ser usado.
2. Propósito
El propósito de dicha Metodologı́a es mejorar la productividad de un equipo de trabajo o empresa, ya que permite
que cualquier miembro del grupo sin importar su cargo o responsabilidad pueda acceder a la misma base de datos
incluyendo sus conocimientos, ya sea que trabaje en el área de modelamiento, análisis, pruebas, etc.
Los procesos RUP estiman tareas y horarios del plan midiendo la velocidad de iteraciones respecto a sus estimaciones
originales.
∗ pahiguerag@[Link]
† duscateguit@[Link]
‡ dalizarazoj@[Link]
1
Figure 1: Propósito del RUP [4]
3. Objetivos del RUP
Los objetivos de RUP son proporcionar un marco de trabajo para gestionar proyectos de software; generar guı́as
prácticas para planificar, gestionar el personal, ejecutar, realizar y seguir proyectos. Además de esto proporciona un
marco para gestionar riesgos.
Lo que no alcanza a cubrir son aspectos como el reclutamiento y formación de personal, la gestión de presupuestos
o la gestión de contratos.
Está enfocado hacia el desarrollo iterativo, gestionando y planificando el proyecto a través del ciclo de vida mientras
se monitoriza el progreso del proyecto iterativo obteniendo métricas.
3.1 Beneficios
Siendo el resultado de varios años de desarrollo y uso práctico en el que se han unificado técnicas de desarrollo desde
1998, el RUP ofrece varios beneficios y ventajas a comparación de otras Metodologı́as de software, algunos de sus
beneficios son:
• Coste del riesgo a un solo incremento.
• Reduce el riesgo de no sacar el producto en el calendario previsto
• Acelera el ritmo de desarrollo.
• Se adapta mejor a las necesidades del cliente.
• Reduce la complejidad del mantenimiento
• Promueve la reusabilidad
Algunos de los aspectos que diferencian al RUP de otras Metodologı́as es que los casos de uso no son solo una
herramienta para especificar los requerimientos del proyecto, sino que también ayudan a desarrollar su diseño,
implementación y su prueba, lo cual lo convierte en un elemento clave el cual integra las partes del trabajo.
Otro de los aspectos diferenciadores, es que promueve el desarrollo de una arquitectura que no se vea afectada
fuertemente a largo plazo por los inconvenientes y cambios repentinos durante la construcción del proyecto.
2
4. Caracterı́sticas de la Metodologı́a
La Metodologı́a RUP está basada en 6 principios fundamentales:
• Adaptar el proceso
• Equilibrar prioridades
• Demostrar valor iterativamente
• Colaboración entre equipos
• Enfocarse en la calidad
• Elevar el nivel de abstracción
4.1 Principales Elementos
• Roles ¿Quien?: Define las responsabilidades y comportamiento de un individuo o grupo de individuos, sistema
automatizado o maquina conformando un equipo para realizar actividades.
• Actividades ¿Cómo?: Tarea que tiene claro un propósito, la realiza un individuo con rol y manipula elementos
• Artefactos ¿Qué?: Productos tangibles del proyecto que son producidos, modificados y usados por las
actividades, estos pueden ser modelos, elementos dentro del modelo, código fuente o ejecutable.
• Flujo de actividades ¿Cuándo?: Secuencia de actividades realizadas por roles produciendo resultado de valor
observable.
4.2 Caracterı́sticas Principales
• Dirigido por Casos de Uso: Los Casos de uno sirven como técnica para capturar los requisitos que pesan
como importancia para el usuario y que ası́ mismo le agregan un valor añadido a estos. Es válido aclarar que
no solo sirven como una herramienta para especificar los requisitos funcionales que se requieren implementar
en el sistema, sino que también puede guiar su diseño, implementación y prueba.
También, a parte de crear el diseño, sirven como hilo conductor para establecer una conexión entre los artefactos
generados por diversas actividades del proceso de desarrollo
• Centrado en la Arquitectura: Cuando nos referimos a Arquitectura de un Sistema, estamos hablando de la
organización de sus partes más importantes, permitiendo tener una visión con una perspectiva clara y común
del sistema completo entre desarrolladores y usuarios, ası́ permitiendo controlar su desarrollo.
Además de los Casos de Uso, es necesario tener una buena consistencia en cuanto a que no se vea fuertemente
impactada en posteriores cambios durante la construcción, por lo tanto cada producto tendrá tanto su función
(Funcionalidad reflejada en los casos de uso ) como su forma (Proporcionada por la arquitectura).
Es válido mencionar que existe una interacción entre los Casos de Uso en tanto deben encajar con la Arquitectura,
permitiendo el desarrollo de todos aquellos sus requeridos, generando ası́ un trabajo en paralelo y evolución
simultánea entre aquellas 2 caracterı́sticas mencionadas anteriormente.
• Iterativo e Incremental: Cuando hablamos de Interactivo e Incremental, hacemos referencias a un equilibrio
entre la forma y la función, como lo mencionamos anteriormente.
Ahora, para obtener un equilibrio entre los Casos de Uso y la Arquitectura a lo largo del proceso, se divide el
trabajo en partes mas pequeñas o ”mini proyectos”, ası́ cada uno de estos se podrá ver como una iteración que
aborda una parte de la funcionalidad total y que puede realizarse por medio de una cascada, de la siguiente
forma:
Requisitos – Análisis – Diseño –Implementación – Pruebas –
De lo anterior, se genera un incremento en tanto al crecimiento en el producto.
3
4.3 Caracterı́sticas del ciclo de vida
Como se mencionará en la Descripción del Modelo, existen 4 etapas fundamentales para el desarrollar una Metodologı́a
RUP, que son: Concepción, Elaboración, Construcción y Transición.
Ahora, existen ciertas caracterı́sticas para que el Ciclo de Vida se lleve con éxito:
• Las primera iteraciones se enfocan en la comprensión del problema y la tecnologı́a, la delimitación del ámbito
del proyecto, la eliminación de los riesgos crı́ticos, y al establecimiento de una lı́nea base de la Arquitectura.
• En la fase de Concepción, las iteraciones hacen mayor énfasis en actividades de modelado del negocio y de
requisitos.
• En la fase de Elaboración, las iteraciones se enfocan en desarrollo de la lı́nea base de la arquitectura, abarcando
flujos de trabajo de requisitos, modelo de negocio, análisis y diseño.
• En la fase de Construcción, se lleva a cabo la construcción del producto por medio de una serie de iteraciones,
donde en cada uno se toma un determinado número de Caso de Uso, se refina su análisis y diseño y después
se procede a realizar la implementación y pruebas, con ello se pueden seguir realizando interacciones hasta
obtener una nueva versión del producto.
• En la fase de Transición, se pretende garantizar que se tiene un producto preparado para su entrega a la
comunidad de usuarios
5. Descripción del Modelo
5.1 Estructura del proceso
El proceso se describe en dos dimensiones o ejes:
• Eje Horizontal: Representa el tiempo y es considerado el eje de los aspectos dinámicos del proceso, este nos
indica las caracterı́sticas del ciclo de vida del proceso expresándolo en términos de fases, iteraciones e hitos.
• Eje vertical: Representa los aspectos estáticos del proceso, es decir lo describe en términos de componentes
de proceso, disciplinas, flujos de trabajo, actividades, artefactos y roles.
5.2 Estructura Dinámica del proceso
RUP repite una serie de ciclos que constituyen a la vida de un producto, cada ciclo es el desarrollo en la vida de un
producto donde cada uno de consta de cuatro fases:
1. Concepción: O también denominado como Inicio, tiene como objetivo realizar el modelamiento del proyecto
y el análisis de requerimientos, esta fase no culmina con una versión ejecutable pero permite definir la visión,
los objetivos, los interesados y el alcance de este tanto funcional como técnico obteniendo como resultado los
casos de uso necesarios, los factores de riesgo, una arquitectura candidata y las estimaciones de agenda ası́
como el coste de los recursos.
2. Elaboración: Tiene como objetivo analizar el dominio del problema, realizar el análisis de los casos de uso
presentados en la primera fase para obtener todos los casos y actores identificados desarrollados en su totalidad.
De igual forma se debe construir un prototipo de la arquitectura que pueda evolucionar en sucesivas iteraciones
y soportar la visión con un coste razonable.
En esta fase se debe tratar el proyecto con una profundidad mı́nima y se debe enfocar en los puntos crı́ticos de
la arquitectura y los riesgos importantes; en caso de no lograrlo se debe replantear el proyecto.
3. Construcción: Tiene como objetivo principal alcanzar la capacidad operacional del producto o proyecto de
forma incremental por medio de las iteraciones sucesivas, en las cuales se deben incorporar progresivamente
los casos de uso de acuerdo a los casos de uso, se deben implementar todos los componentes, caracterı́sticas y
requisitos para obtener modelos completos y una arquitectura integra que permita realizar una versión aceptable
del producto, la cual debe poderse entregar al usuario para realizar pruebas.
4. Transición: Tiene como objetivo realizar una versión de prueba del proyecto por medio de los usuarios
finales para obtener un producto final que cumpla los requisitos esperados y que funcione correctamente para
esto se hacen nuevas versiones de desarrollo, se completa la documentación y descripción de la arquitectura
completamente corregida y se realizan tareas de ajuste, configuración, instalación y facilidad de uso del producto.
Cada fase concluye con un hito, es decir un tiempo en el cual se deben tomar decisiones criticas y alcanzar las metas
u objetivos antes de ir a la siguiente fase, la duración y esfuerzo en cada una de estas es variable dependiendo de las
caracterı́sticas del proyecto.
4
5.3 Estructura Estática del Proceso
Las actividades de esta Metodologı́a se agrupan en grupos lógicos definiéndose 9 flujos de trabajo principales, estos
se dividen en dos grupos:
1. FLUJOS DE INGENIERÍA
(a) Modelamiento del Negocio: Identifica quienes participan y las actividades que requieren automatización
describiendo los procesos del proyecto.
(b) Requerimientos: Define lo que el sistema debe hacer, identificando las restricciones y las funcionalidades
requeridas.
(c) Análisis y Diseño: Describe como realizar el sistema a partir de la funcionalidad y las restricciones
(requerimientos), indicando con precisión que se debe programar.
(d) Implementación: Define los nodos que se usaran, organiza las clases y objetivos en componentes y la
estructura de capas de la aplicación.
(e) Pruebas: O también denominado como Testing, busca los defectos o errores a lo largo del ciclo de vida.
(f) Organización: Produce reléase del producto y realiza actividades como empaque, instalación y asistencia
a usuarios para entregar el software a usuarios finales.
2. FLUJOS DE APOYO
(a) Administración y Gestión del Cambio: Describe el control de los elementos desarrollados por los
integrantes del equipo del proyecto en cuanto a utilización o actualización concurrente de elementos o
versiones.
(b) Administración del Proyecto: Se dan las actividades para la producción de un producto que satisfaga
las necesidades del cliente.
6. Consideraciones
† RUP es una Metodologı́a de ingenierı́a de software que provee un enfoque disciplinario asignando tareas, es un
marco de trabajo personalizable el cual puede adaptarse fácilmente a la forma de trabajo de una empresa ya
sea pequeña o grande y ser modificado de acuerdo a las necesidades de esta y sus proyectos.
† Para contar con un enfoque ordenado de tareas, proyectos y responsabilidades dentro de un grupo de trabajo, es
necesaria la aplicación de alguna Metodologı́a con la cual se pueda administrar de manera facil dichos procesos;
como por ejemplo la Metodologı́a RUP.
Referentes
[1] Bolaños Sandro, Coloso, Licencia Universitaria.
[2] Maida, Esteban Gabriel; Pacienzia, Julián. Metodologı́as de Desarrollo de Software, Tesis de Licenciatura en
Sistemas y Computación. Facultad de Quı́mica e Ingenierı́a “Fray Rogelio Bacon”. Universidad Católica Argentina,
2015.
[Link]
[3] Reyes Campuzano, Oscar; Salazar Ordoñez Heydi. Estudio de la Metodologı́a RUP en los Sistemas Académicos:
UNEMI, Tesis de Licenciatura en Sistemas y Computación. Facultad ciencias de la Ingenierı́a. Universidad Estatal
del Milagro, 2017.
[4] ADRM Proceso unificado (RUP)
[Link] 1 proceso [Link]
[5] Departament d’Informàtica, Matemàtica Aplicada i Estadı́stica. Rational Unified Process (RUP). Enginyeria del
Software II. Universitat de Girona
[Link] sellares/EINF-ES2/Present1011/[Link]
[6] International Technical Support Organization. The IBM Rational Unified Process for System z. 2017.
[Link]
[7] EcuRed Proceso Unificado de Desarrollo, [Link] unificado de desarrollo