Metodología RUP
Metodología RUP
Metodología RUP
Introducción
¿Qué es una metodología?
Es un conjunto de métodos, principios y reglas que permiten enfrentar de manera sistemática el
desarrollo de un programa que resuelve un problema algorítmico. Estas metodologías
generalmente se estructuran como una secuencia de pasos que parten de la definición del
problema y culminan con un programa que lo resuelve.
Rational Unified Process (RUP)
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.
Características principales
El RUP contiene tres características principales:
Los casos de uso no son sólo una herramienta para especificar los requisitos
del sistema, sino que también guían su diseño, implementación y prueba. Los
casos de uso constituyen un elemento integrador y una guía del trabajo.
En el caso de RUP, además de utilizar los casos de uso para guiar el proceso,
se presta especial atención al establecimiento temprano de una buena
arquitectura que no se vea fuertemente impactada ante cambios posteriores
durante la construcción y el mantenimiento.
Existe una interacción entre los casos de uso y la arquitectura, los casos de
uso deben encajar en la arquitectura cuando se llevan a cabo y la arquitectura
debe permitir el desarrollo de todos los casos de uso requeridos, actualmente y
en el futuro.
La arquitectura dentro de RUP se representa en varias vistas. Todas las vistas
juntas forman el llamado modelo 4+1 de la arquitectura. Según Kruchten
Philippe (1998) “el cual recibe este nombre porque lo forman las vistas lógica,
de implementación, de proceso y de despliegue, más la de casos de uso que
es la que da cohesión a todas”.
RUP divide el proceso en cuatro fases, dentro de las cuales se realizan varias
iteraciones (que son una cantidad variable) según el proyecto, y en las que se
hace un mayor o menor hincapié en los distintas actividades.
Las primeras iteraciones (en las fases de Inicio y Elaboración) se enfocan hacia
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
“baseline” (base de referencia) de la arquitectura.
Fases
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 para
determinar si los objetivos de la fase se han cumplido. Una vez que la
evaluación obtiene los resultados deseados, se procede a la siguiente fase.
Planeando las fases
El ciclo de vida consiste en una serie de ciclos, cada uno de los cuales produce
una nueva versión del producto, cada ciclo está compuesto por fases y cada
fase está compuesta por un número de iteraciones.
2.- Elaboración
Tanto la funcionalidad como el dominio del problema se estudian a
profundidad. Se define una arquitectura básica y se planifica el proyecto
considerando recursos disponibles.
3.- Construcción
El producto se desarrolla a través de iteraciones donde cada iteración involucra
tareas de análisis, diseño e implementación Las fases de concepción y
elaboración sólo dieron una arquitectura básica que es refinada aquí de
manera incremental conforme se construye (se permiten cambios en la
estructura). Gran parte del trabajo es programación y pruebas, se documenta
tanto el sistema construido como el manejo del mismo En esta fase se hace
una documentación junto con el producto.
4.- Transición
Se libera el producto y se entrega al usuario para un uso real. Se incluyen
tareas de mercadotecnia, empaquetado atractivo, instalación, configuración,
entrenamiento, soporte, mantenimiento, etc.
Disciplinas
Las disciplinas son los flujos del trabajo, los cuales son una secuencia de
pasos para la culminación de cada disciplina, estas disciplinas se dividen en
dos grupos: las primarias y las de apoyo. Las primarias son las necesarias para
la realización de un proyecto de software, aunque para proyectos no muy
grandes se pueden omitir algunas; entre ellas se tienen: modelado del negocio,
requerimientos, análisis y diseño, implementación, pruebas y despliegue. Las
de apoyo son las que complementan y brindan mejoras a las primarias y
especifican otras características en la realización de un proyecto de software;
entre estas se tienen: entorno, gestión del proyecto, gestión de configuración y
cambios.
Requerimientos
Sus objetivos son: establecer lo que el sistema debe hacer, se definen los
límites del sistema, y una interfaz de usuario. También realiza una estimación
del costo y tiempo de desarrollo.
Análisis y diseño
Define la arquitectura del sistema y tiene como objetivos trasladar requisitos en
especificaciones de implementación, al decir análisis se refiere a transformar
CU (casos de uso) en clases, y al decir diseño se refiere a refinar el análisis
para poder implementar los diagramas de clases de análisis de cada CU, los
diagramas de colaboración de cada CU, el de clases de diseño de cada CU, el
de secuencia de diseño de CU, el de estados de las clases, etc.
Implementación
Tiene como objetivos implementar las clases de diseño como componentes,
asignar los componentes a los nodos, probar los componentes individualmente
(pruebas unitarias) e integrar los componentes en un sistema ejecutable.
Pruebas
Verificar la integración de los componentes (prueba de integración), verificar
que todos los requisitos han sido implementados (pruebas del sistema),
asegurar que los defectos detectados han sido resueltos antes de la
distribución.
Despliegue
Sus objetivos son asegurar que el producto está preparado para el cliente, para
proceder a su entrega y recepción por el cliente. En esta disciplina se realizan
las actividades de probar el software en su entorno final (Prueba Beta),
empaquetarlo, distribuirlo e instalarlo, así como la tarea de enseñar al usuario.
Gestión y configuración de cambios
Éste es esencial para controlar el número de artefactos producidos por la
cantidad de personal que trabajan en un proyecto conjuntamente. Los controles
sobre los cambios son de mucha ayuda ya que evitan confusiones costosas,
como la compostura de algo que ya se había arreglado.
Entorno
Esta disciplina se enfoca sobre las actividades necesarias para configurar el
proceso que engloba el desarrollo de un proyecto y describe las actividades
requeridas para el desarrollo de las pautas que apoyan un proyecto.
Su propósito es proveer a la organización que desarrollará el software, un
ambiente en el cual basarse, el cual provee procesos y herramientas para
poder desarrollar el software.
Actores o roles
Son los personajes encargados de la realización de las actividades definidas
dentro de los flujos de trabajo de cada una de las disciplinas del RUP
Analistas
- Analista del Proceso del Negocio.
- Diseñador del Negocio.
- Revisor del Modelo del Negocio.
- Revisor de Requerimientos.
- Analista del Sistema.
- Especificador de Casos de Uso.
- Diseñador de Interfaz del Usuario.
Desarrolladores
- Arquitecto.
- Revisor de la Arquitectura.
- Diseñador de Cápsulas.
- Revisor del Código y Revisor del Diseño.
- Diseñador de la Base de Datos.
- Diseñador.
- Implementador y un Integrador.
Probadores Profesionales
- Diseñador de Pruebas.
- Probador.
Encargados
- Encargado de Control del Cambio.
- Encargado de la Configuración.
- Encargado del Despliegue.
- Ingeniero de Procesos.
- Encargado de Proyecto.
- Revisor de Proyecto.
Otros
- Cualquier trabajador.
- Artista Gráfico.
- Stakeholder.
- Administrador del Sistema.
- Escritor técnico.
- Especialista de Herramientas.
Artefactos
Los artefactos son el resultado parcial o final que es producido y usado por los
actores durante el proyecto. Son las entradas y salidas de las actividades,
realizadas por los actores, los cuales utilizan y van produciendo estos
artefactos para tener guías. Un artefacto puede ser un documento, un modelo o
un elemento de modelo.
Conjunto de artefactos:
1.- Modelado del negocio
Capturan y presentan el contexto del negocio del sistema. Los artefactos del
modelado del negocio sirven como entrada y como referencia para los
requisitos del sistema.
2.- Requerimientos
Capturan y presentan la información usada en definir las capacidades
requeridas del sistema.
4.- Implementación
Capturan y presentan la realización de la solución presentada en el análisis y
diseño del sistema.
5.- Pruebas
Los artefactos desarrollados como productos de las actividades de prueba y de
la evaluación son agrupadas por el actor responsable, con el cual se lleva un
conjunto de documentos de información sobre las pruebas realizadas y las
metodologías de pruebas aplicadas.
6.- Despliegue
Capturan y presentan la información relacionada con la transitividad del
sistema, presentada en la implementación en el ambiente de la producción.
Desventajas de la metodología:
No capturar un caso de uso a tiempo puede causar una reconstrucción parcial
de la arquitectura.
Ventajas de la metodología:
Es el proceso de desarrollo más general de los existentes actualmente.
Es una forma disciplinada de asignar tareas y responsabilidades en una
empresa de desarrollo (quién hace qué, cuándo y cómo).
Reutilización
https://www.ibm.com/developerworks/rational/library/content/03July/1000/1251/
1251_bestpractices_TP026B.pdf
http://yaqui.mxl.uabc.mx/~molguin/as/RUP.htm
http://www.monografias.com/trabajos-pdf4/metodologia-rup-una-
puno/metodologia-rup-una-puno.pdf
http://www.virtual.unal.edu.co/cursos/ingenieria/2001839/modulo1/cap_07/lecci
on_1.htm