Introducción al RUP
Las siglas RUP en ingles
significa Rational Unified Process (Proceso Unificado de Rational) es un
producto del proceso de ingeniería de software que proporciona un enfoque
disciplinado para asignar tareas y responsabilidades dentro de una organización
del desarrollo. Su meta es asegurar la producción del software de alta calidad
que resuelve las necesidades de los usuarios dentro de un presupuesto y tiempo
establecidos.
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.
Dimensiones del RUP
El RUP tiene dos dimensiones:
Ø
El eje horizontal representa tiempo y demuestra
los aspectos del ciclo de vida del proceso.
Ø
El eje vertical representa las disciplinas, que
agrupan actividades definidas lógicamente por la naturaleza.
La primera dimensión representa
el aspecto dinámico del proceso y se expresa en términos de fases, de
iteraciones, y la finalización de las fases. La segunda dimensión representa el
aspecto estático del proceso: cómo se describe en términos de componentes de
proceso, las disciplinas, las actividades, los flujos de trabajo, los
artefactos, y los roles.
Características.
Se puede hacer mención de las
tres características esenciales que definen al RUP:
Ø Proceso
Dirigido por los Casos de Uso: Con esto se refiere a la utilización de los
Casos de Uso para el desenvolvimiento y desarrollo de las disciplinas con los
artefactos, roles y actividades necesarias. Los Casos de Uso son la base para
la implementación de las fases y disciplinas del RUP. Un Caso de Uso es una
secuencia de pasos a seguir para la realización de un fin o propósito, y se
relaciona directamente con los requerimientos, ya que un Caso de Uso es la
secuencia de pasos que conlleva la realización e implementación de un
Requerimiento planteado por el Cliente.
Ø Proceso
Iterativo e Incremental: Es el modelo utilizado por RUP para el desarrollo de
un proyecto de software. Este modelo plantea la implementación del proyecto a
realizar en Iteraciones, con lo cual se pueden definir objetivos por cumplir en
cada iteración y así poder ir completando todo el proyecto iteración por
iteración, con lo cual se tienen varias ventajas, entre ellas se puede
mencionar la de tener pequeños avances del proyectos que son entregables al
cliente el cual puede probar mientras se esta desarrollando otra iteración del
proyecto, con lo cual el proyecto va creciendo hasta completarlo en su
totalidad. Este proceso se explica mas adelante a detalle.
Ø Proceso
Centrado en la Arquitectura: Define la Arquitectura de un sistema, y una
arquitectura ejecutable construida como un prototipo evolutivo. Arquitectura de
un sistema es la organización o estructura de sus partes más relevantes. Una
arquitectura ejecutable es una implementación parcial del sistema, construida
para demostrar algunas funciones y propiedades. RUP establece refinamientos
sucesivos de una arquitectura ejecutable, construida como un prototipo evolutivo.
El ciclo de vida del software del
RUP se descompone en cuatro fases secuenciales.
En cada extremo de una fase se
realiza una evaluación (actividad: Revisión del ciclo de vida de la
finalización de fase) para determinar si los objetivos de la fase se han
cumplido. Una evaluación satisfactoria permite que el proyecto se mueva a la
próxima fase.
Fases
- Establece
oportunidad y alcance
- Identifica
las entidades externas o actores con las que se trata
- Identifica
los casos de uso
RUP comprende 2 aspectos importantes por los cuales
se establecen las disciplinas:
'Proceso': Las etapas de esta
sección son: (Revise nuevamente la gráfica)
- Modelado
de negocio
- Requisitos
- Análisis
y Diseño
- Implementación
- Pruebas
- Despliegue
Soporte: En esta parte nos encontramos
con las siguientes etapas:
- Gestión
del cambio y configuraciones
- Gestión
del proyecto
- Entorno
La estructura dinámica de RUP es la que permite que
éste sea un proceso de desarrollo fundamentalmente iterativo, y en esta parte
se ven inmersas las 4 fases descritas anteriormente:
- Inicio
(también llamado Incepción o Concepción).
- Elaboración.
- Desarrollo
(también llamado Implementación, Construcción).
- Cierre
(también llamado Transición).
Fase de Inicio: Esta fase tiene como propósito
definir y acordar el alcance del proyecto con los patrocinadores, identificar
los riesgos asociados al proyecto, proponer una visión muy general de la
arquitectura de software y producir el plan de las fases y el de iteraciones
posteriores.
Fase de elaboración: En la fase de elaboración se
seleccionan los casos de uso que permiten definir la arquitectura base del
sistema y se desarrollaran en esta fase, se realiza la especificación de los
casos de uso seleccionados y el primer análisis del dominio del problema, se
diseña la solución preliminar.
Fase de Desarrollo: El propósito de esta fase es
completar la funcionalidad del sistema, para ello se deben clarificar los
requisitos pendientes, administrar los cambios de acuerdo a las evaluaciones
realizados por los usuarios y se realizan las mejoras para el proyecto.
Fase de Cierre: (debe decir FASE DE TRANSICION) El
propósito de esta fase es asegurar que el software esté disponible para los
usuarios finales, ajustar los errores y defectos encontrados en las pruebas de
aceptación, capacitar a los usuarios y proveer el soporte técnico necesario. Se
debe verificar que el producto cumpla con las especificaciones entregadas por
las personas involucradas en el proyecto.
Artefactos
RUP en cada una de sus fases
(pertenecientes a la estructura dinámica) realiza una serie
de artefactos que sirven para comprender mejor tanto el análisis como
el diseño del sistema (entre otros). Estos artefactos (entre otros) son los
siguientes:
Inicio:
Ø Documento
Visión
Ø Especificación
de Requisitos
Elaboración:
Ø Diagramas
de caso de uso
Construcción:
Ø Documento
Arquitectura que trabaja con las siguientes vistas:
Vista Lógica
·
Diagrama de clases
·
Modelo E-R (Si el sistema así lo requiere)
Vista de Implementación
·
Diagrama de Secuencia
·
Diagrama de estados
·
Diagrama de Colaboración
Vista Conceptual
·
Modelo de dominio
Vista física
·
Mapa de comportamiento a nivel de hardware.