You are on page 1of 5

RUP(PROCESO UNIFICADO DE DESARROLLO)

RUP es un proceso de ingeniería de software: forma ordenada de asignar tareas y


responsabilidades en una organización de desarrollo. Es un proceso para el
desarrollo de un proyecto de un software que define claramente quien, cómo,
cuándo y qué debe hacerse en el proyecto.

Objetivo:
• Asegurar la producción de software de calidad dentro de plazos y
presupuestos predecibles.

Basado en 6 mejores prácticas de la industria de software.

• Desarrollo incremental.

• Administración de requisitos.

• Uso de arquitecturas basadas en componentes.

• Modelamiento visual

• Verificación continua de calidad.

• Control de cambios

FASES DE RUP
• Concepción (inception).
• Elaboración
• Construcción
• Transición

1. CONCEPCION: Especificación de la visión del producto final y su caso de


negocio, definiendo el alcance del proyecto. Se hace un plan de fases, se
identifican los principales casos de uso y se identifican los riesgos.
El objetivo de esta fase es establecer los requisitos de negocio que cubrirá
el sistema identificando todas las entidades que interactúan con el sistema
(personas, sistemas, etc.) y hacer una valoración de la viabilidad del
proyecto.
• Se establece la oportunidad y alcance del proyecto
• Se identifica 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.

1.1. PRODUCTOS DE LA CONCEPCIÓN:


• Documento de visión general.
✔ Requerimientos generales del proyecto
✔ Características principales
✔ Restricciones
• Modelo inicial de casos de uso (10 -20% listos).
• Glosario
• Caso de negocio
✔ Contexto
✔ Criterios de éxito
✔ Pronostico financiero
• Identificación inicial de riesgos.
• Plan de proyecto
• Uno o más prototipos.

1.2. ACTIVIDADES: Cada fase se completa con la realización de varias


iteraciones en las que se desarrollan una serie de actividades, que el
modelo RUP clasifica en 9 disciplinas que tienen más o menos
importancia en función de lo cerca que se esté o no de la finalización del
proyecto.

1.2.1. MODELADO DEL NEGOCIO: En este conjunto de actividades se


persigue el entendimiento de las necesidades de negocio. Documentos
de requisitos generales y de alto nivel, reglas del negocio, glosarios, etc.
ayudan a definir lo que el producto software deba hacer.
• Entender la estructura y la dinámica de la organización para la cual
el sistema va ser desarrollado.
• Entender el problema actual en la organización objetivo e identificar
potenciales mejoras.
• Asegurar que clientes, usuarios finales y desarrolladores tengan un
entendimiento común de la organización objetivo.

1.2.2. REQUISITOS: Traduce las necesidades del modelo de negocio a


requisitos de sistemas automatizables y que con carácter más técnico
(se emplean los casos de uso UML), persiguen obtener un
entendimiento más profundo del modelo de negocio por parte de los
integrantes del equipo de desarrollo.

• Establecer y mantener un acuerdo entre clientes y otros stakeholders


sobre lo que el sistema podría hacer.
• Proveer a los desarrolladores un mejor entendimiento de los requisitos
del sistema.
• Definir el ámbito del sistema.
• Proveer una base para estimar costos y tiempo de desarrollo del
sistema.
• Definir una interfaz de usuarios para el sistema, enfocada a las
necesidades y metas del usuario.

1.2.3. ANÁLISIS Y DISEÑO: Estas actividades determinan, a partir de los


requisitos la arquitectura del sistema más adecuada y el diseño
detallado necesario previo a las actividades de implementación.

• Transformar los requisitos al diseño del sistema.


• Desarrollar una arquitectura para el sistema.
• Adaptar el diseño para que sea consistente con el entorno de
implementación

1.2.4. IMPLEMENTACIÓN. Actividades de codificación del software que de acuerdo


al diseño, cumplen con los requisitos del sistema.

• Planificar qué subsistemas deben ser implementados y en que orden


deben ser integrados, formando el Plan de Integración.
• Cada implementador decide en que orden implementa los elementos del
subsistema.
• Si encuentra errores de diseño, los notifica.
• Se integra el sistema siguiendo el plan.
1.2.5. PRUEBAS: Comprobaciones hechas a todos los elementos que se
producen (documentos, diseños o código) para ver que cumplen con los
requisitos y con los estándares de calidad definidos para el proyecto.

• Encontrar y documentar defectos en la calidad del software.


• Generalmente asesora sobre la calidad del software percibida.
• Provee la validación de los supuestos realizados en el diseño y
especificación de requisitos por medio de demostraciones concretas.
• Verificar las funciones del producto de software según lo diseñado·
Verificar que los requisitos tengan su apropiada implementación.

1.2.6. DESPLIEGUE. Actividades que permiten tener el sistema instalado en


los entornos en que finalmente va a ser explotado.

• Probar el producto en su entorno de ejecución final.


• Empaquetar el software para su distribución.
• Distribuir el software.
• Instalar el software.
• Proveer asistencia y ayuda a los usuarios.
• Formar a los usuarios y al cuerpo de ventas
• Migrar el software existente o convertir bases de datos.

DURANTE TODO EL PROYECTO

1.2.7. GESTIÓN DE CONFIGURACIÓN. Gestión de los cambios y todos los


elementos que intervienen en el proceso de construcción. El control de
cambios permite mantener la integridad de todos los artefactos que se
crean en el proceso, así como de mantener información del proceso
evolutivo que han seguido.

1.2.8. GESTIÓN DEL PROYECTO. Actividades encaminadas a la gestión del


desarrollo en cuanto a planes, recursos, seguimiento y control y gestión
de riesgos. Se vigila el cumplimiento de los objetivos, gestión de riesgos
y restricciones para desarrollar un producto que sea acorde a los
requisitos de los clientes y los usuarios.

• Proveer un marco de trabajo para la gestión de proyectos de software


intensivos.
• Proveer guías prácticas realizar planeación, contratar personal, ejecutar y
monitorear el proyecto.
• Proveer un marco de trabajo para gestionar riesgos.

1.2.9. ENTORNO. Actividades que van encaminadas a dotar al proyecto de


recursos hardware y software para facilitar la puesta en marcha y
mantenimiento de los distintos entornos de desarrollo y pruebas o la
propia puesta en producción del sistema. La finalidad de esta actividad
es dar soporte al proyecto con las adecuadas herramientas, procesos y
métodos. Brinda una especificación de las herramientas que se van a
necesitar en cada momento, así como definir la instancia concreta del
proceso que se va a seguir.

En concreto las responsabilidades de este flujo de trabajo incluyen:

• Selección y adquisición de herramientas


• Establecer y configurar las herramientas para que se ajusten a la
organización.
• Configuración del proceso.
• Mejora del proceso.
• Servicios técnicos.