El proceso unificado racional ( RUP ) es un marco de proceso de desarrollo de software iterativo creado por Rational Software Corporation, una división de IBM desde 2003. [1] RUP no es un proceso prescriptivo concreto único, sino más bien un marco de proceso adaptable , destinado a ser Diseñado por las organizaciones de desarrollo y los equipos de proyectos de software que seleccionarán los elementos del proceso que sean apropiados para sus necesidades. RUP es una implementación específica del Proceso Unificado .
Rational Software desarrolló originalmente el proceso unificado racional como un producto de proceso de software. El producto incluye una base de conocimientos con hipervínculos con artefactos de muestra y descripciones detalladas para muchos tipos diferentes de actividades. RUP está incluido en el producto IBM Rational Method Composer (RMC) que permite la personalización del proceso.
A Philippe Kruchten , un experimentado representante técnico de Rational, se le asignó la tarea de dirigir el equipo original de RUP.
Estas versiones iniciales combinaron la amplia experiencia de campo de la organización Rational Software en la creación de sistemas orientados a objetos (denominados por el personal de campo de Rational como Enfoque Racional) con la orientación de Objectory sobre prácticas tales como casos de uso, e incorporaron un amplio contenido de la Tecnología de Modelado de Objetos (OMT) de Jim Rumbaugh. ) enfoque para el modelado, el método Booch de Grady Booch y el recientemente lanzado UML 0.8. [2] [3]
Para ayudar a que esta creciente base de conocimientos sea más accesible, a Philippe Kruchten se le encomendó la tarea de elaborar un marco de proceso explícito para la ingeniería de software moderna. Este esfuerzo empleó el mecanismo de entrega de procesos basado en HTML desarrollado por Objetory. El "Proceso Unificado de Rational" (RUP) resultante completó un trípode estratégico para Rational:
Esta guía se amplió en versiones posteriores con conocimientos basados en la experiencia de empresas que Rational había adquirido.
En 1997, se agregaron al enfoque una disciplina de requisitos y pruebas; gran parte del material adicional provino del método del Colegio de Requisitos desarrollado por Dean Leffingwell et al. en Requisite, Inc., y el método SQA Process desarrollado en SQA Inc., ambas compañías fueron adquiridas por Rational Software.
En 1998, Rational Software añadió dos nuevas disciplinas:
Estas adiciones conducen a un conjunto general de principios que fueron definidos por Rational y articulados dentro de RUP como las seis mejores prácticas para la ingeniería de software moderna:
Estas mejores prácticas estaban estrechamente alineadas con la línea de productos de Rational y ambas impulsaron el desarrollo continuo de los productos de Rational, además de ser utilizadas por los equipos de campo de Rational para ayudar a los clientes a mejorar la calidad y la previsibilidad de sus esfuerzos de desarrollo de software.
Se incluyeron técnicas adicionales que incluyen pruebas de rendimiento, diseño de interfaz de usuario, ingeniería de datos y una actualización para reflejar los cambios en UML 1.1.
En 1999, se introdujo una disciplina de gestión de proyectos, así como técnicas para soportar el desarrollo de software en tiempo real y actualizaciones para reflejar UML 1.3. Además, el primer libro que describe el proceso, The Unified Software Development Process ( ISBN 0-201-57169-2 ) de Ivar Jacobson , Grady Booch y James Rumbaugh , se publicó en el mismo año.
Entre 2000 y 2003, una serie de cambios introdujeron orientación a partir de la experiencia de campo actual de Rational con desarrollo iterativo, además de soporte de herramientas para implementar instancias de RUP y para personalizar el marco de trabajo de RUP. Estos cambios incluyeron:
IBM adquirió Rational Software en febrero de 2003.
En 2006, IBM creó un subconjunto de RUP diseñado para la entrega de proyectos ágiles , lanzado como un método OpenSource llamado OpenUP a través del sitio web de Eclipse . [5]
RUP se basa en un conjunto de componentes básicos y elementos de contenido, que describen lo que se va a producir, las habilidades necesarias y la explicación paso a paso que describe cómo se deben lograr objetivos de desarrollo específicos. Los principales componentes básicos, o elementos de contenido, son los siguientes:
Dentro de cada iteración, las tareas se clasifican en nueve disciplinas:
El RUP ha determinado un ciclo de vida del proyecto que consta de cuatro fases. Estas fases permiten que el proceso se presente a un alto nivel de manera similar a como se podría presentar un proyecto estilo 'cascada', aunque en esencia la clave del proceso radica en las iteraciones de desarrollo que se encuentran dentro de todas las fases. . Además, cada fase tiene un objetivo clave y un hito al final que denota el objetivo que se está logrando. La visualización de las fases y disciplinas de RUP a lo largo del tiempo se conoce como gráfico de jorobas de RUP .
El objetivo principal es definir el alcance del sistema de manera adecuada como base para validar los costos y presupuestos iniciales. En esta fase se establece el caso de negocio que incluye el contexto empresarial, los factores de éxito (ingresos esperados, reconocimiento del mercado, etc.) y la previsión financiera. Para complementar el caso de negocio, se genera un modelo de caso de uso básico, un plan de proyecto, una evaluación de riesgos inicial y una descripción del proyecto (los requisitos centrales del proyecto, las limitaciones y las características clave). Una vez completados, el proyecto se compara con los siguientes criterios:
Si el proyecto no supera este hito, llamado objetivo del ciclo de vida, puede cancelarse o repetirse después de ser rediseñado para cumplir mejor con los criterios.
El objetivo principal es mitigar los elementos de riesgo clave identificados mediante el análisis hasta el final de esta fase. La fase de elaboración es donde el proyecto empieza a tomar forma. En esta fase se realiza el análisis del dominio del problema y la arquitectura del proyecto adquiere su forma básica.
El resultado de la fase de elaboración es:
Esta fase debe superar los criterios de hitos de la arquitectura del ciclo de vida respondiendo las siguientes preguntas:
Si el proyecto no puede superar este hito, todavía hay tiempo para cancelarlo o rediseñarlo. Sin embargo, después de salir de esta fase, el proyecto pasa a ser una operación de alto riesgo donde los cambios son mucho más difíciles y perjudiciales cuando se realizan.
El análisis de dominio clave para la elaboración es la arquitectura del sistema.
El objetivo principal es construir el sistema de software. En esta fase, el foco principal está en el desarrollo de componentes y otras características del sistema. Esta es la fase en la que tiene lugar la mayor parte de la codificación. En proyectos más grandes, se pueden desarrollar varias iteraciones de construcción en un esfuerzo por dividir los casos de uso en segmentos manejables para producir prototipos demostrables.
El objetivo principal es "transmitir" el sistema desde el desarrollo a la producción, haciéndolo disponible y comprendido por el usuario final. Las actividades de esta fase incluyen capacitar a los usuarios finales y a los mantenedores y realizar pruebas beta del sistema para validarlo según las expectativas de los usuarios finales. El sistema también pasa por una fase de evaluación, cualquier desarrollador que no esté produciendo el trabajo requerido es reemplazado o eliminado. El producto también se compara con el nivel de calidad establecido en la fase inicial.
Si se cumplen todos los objetivos, se alcanza el hito del lanzamiento del producto y finaliza el ciclo de desarrollo.
El producto IBM Rational Method Composer es una herramienta para crear, configurar, visualizar y publicar procesos. Consulte IBM Rational Method Composer y un proyecto de marco de procesos Eclipse (EPF) de versión de código abierto para obtener más detalles.
En enero de 2007 se lanzó el nuevo examen de certificación RUP para IBM Certified Solution Designer - Rational Unified Process 7.0, que reemplaza la versión anterior del curso llamado IBM Rational Certified Specialist - Rational Unified Process . [6] El nuevo examen no solo evaluará los conocimientos relacionados con el contenido de RUP sino también con los elementos de la estructura del proceso. [7]
Para aprobar el nuevo examen de certificación RUP, una persona debe realizar la Prueba 839 de IBM : Rational Unified Process v7.0 . Tiene 75 minutos para realizar el examen de 52 preguntas. La puntuación aprobatoria es del 62%. [8]
Se definen seis mejores prácticas de ingeniería de software para proyectos de software para minimizar fallas y aumentar la productividad. Estos son: [9] [10]