Los autores de RUP declaran
que el proceso de software propuesto por RUP tiene 3 características
principales: está dirigido por los Casos De Uso, está centrado en la
arquitectura y es iterativo e incremental.
En cada iteración se realizan
las actividades correspondientes a la mayoría o a todas las disciplinas.
Flujos de trabajo
Un flujo de trabajo es una relación de actividades que nos producen unos resultados observables. RUP determina los siguientes flujos de trabajo:
Modelado de negocio
Con este flujo de trabajo pretendemos
llegar a un mejor entendimiento de la organización donde se va a implantar el
producto. En esta disciplina se intenta comprender las necesidades del negocio,
describir su funcionamiento y los servicios que ofrece.
Describe como desarrollar una
visión de la nueva organización, basado en esta visión se definen procesos,
roles y responsabilidades de la organización por medio de un modelo de Casos de
Uso del negocio y un Modelo de Objetos del Negocio.
Requerimientos
·
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 la planeación de los
contenidos técnicos de las iteraciones. 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.
Análisis y diseño
Aquí se le da forma a los
requisitos para implementarlos en el sistema. Se desarrolla una arquitectura
para el sistema y se adapta el diseño para que sea consistente con el entorno
de implementación, diseñando para el rendimiento.
El análisis consiste en
obtener una visión del sistema que se preocupa de ver qué hace (tomando en
cuenta los requisitos funcionales), y el diseño es un refinamiento del análisis
que tiene en cuenta los requisitos no funcionales, en definitiva, cómo cumple
el sistema sus objetivos.
Implementación
Consiste en convertir el
diseño en código fuente utilizando los mecanismos lingüísticos de un lenguaje
de programación, establecer y seguir un estándar de codificación, definir la
organización del código en términos de implementación e implementar clases y
objetos en términos de componentes. El producto final de este flujo de trabajo
es un sistema ejecutable.
La estructura de todos los
elementos implementados forma el modelo de implementación. La integración debe
ser incremental, es decir, en cada momento sólo se añade un elemento. De este
modo es más fácil localizar fallos y los componentes se prueban más a fondo.
Pruebas
En este apartado se evalúa la calidad del producto que se está desarrollando, y es importante recalcar que no se debe hacer solo al final del proceso de desarrollo, si no que constantemente se debe integrar a todas las etapas.
Entre las actividades realizadas en este flujo están:
- Encontrar errores y corregirlos.
- Validar que el producto funcione tal como fue
diseñado.
- Verificar que los requerimientos hayan sido implementados.
Transición
Consiste en la producción
exitosa del producto desarrollado y su distribución a los usuarios. Entre las
actividades realizadas tenemos:
- -
Probar el producto en su entorno de ejecución
final.
- -
Empaquetar el software para su distribución.
- -
Proveer asistencia y apoyo a los usuarios.
- -
Formar al usuario y al cuerpo de ventas.
- - Migrar el software existente o convertir bases de datos.
Configuración y control de
cambios
Aquí el objetivo es mantener
íntegros todos los artefactos creados en el proceso. También se mantiene la
información del proceso evolutivo que se ha seguido.
Gestión del proyecto
En este flujo de trabajo se gestionan
objetivos, riesgos y restricciones de forma equilibrados para desarrollar un
producto que sea acorde a los requisitos de los clientes y los usuarios.
Sus objetivos se resumen en
proveer un marco de trabajo para la gestión de proyectos y otro para riesgo,
así como proveer guías prácticas para monitores el proyecto.
Ambiente
En este flujo se brindan las herramientas,
procesos y métodos necesarios para ajustarse a la organización.
También se configura y mejora
el proceso, así como se dan servicios técnicos.
Roles.
Como bien la mayoría sabe, un
rol define qué hará y cómo actuará una persona, Un individuo puede tener varios
roles o un rol puede ser de varias personas.
RUP define grupos de roles,
agrupados por participación en actividades relacionadas. Estos grupos son:
Analistas (investigan el
hardware y el software que forman parte de los sistemas informáticos de una
organización, además de las formas en que se utilizan los sistemas):
·
Analista de procesos de negocio.
·
Diseñador del negocio.
·
Analista de sistema.
· Especificador de requisitos.
Desarrolladores (especialistas en informática que son capaces de concebir y elaborar sistemas informáticos):
·
Arquitecto de software.
·
Diseñador de interfaz de usuario.
·
Diseñador de cápsulas.
·
Diseñador de base de datos.
·
Implementador.
·
Integrador.
Gestores (encargados de los trámites y los procesos que pueden llevarse a cabo en una empresa):
·
Jefe de proyecto.
·
Jefe de control de cambios.
·
Jefe de configuración.
·
Jefe de pruebas.
·
Jefe de despliegue.
·
Ingeniero de procesos.
·
Revisor de gestión del proyecto.
·
Gestor de pruebas.
Apoyo (brindan asistencia o soporte a la empresa o a los empleados acerca de cuestiones relacionadas con el mantenimiento de hardware, redes y sistemas):
·
Documentador técnico.
·
Administrador de sistema.
·
Especialista en herramientas.
·
Desarrollador de cursos.
Especialistas en pruebas (planifican
y llevan a cabo pruebas de software de los ordenadores para comprobar si
funcionan correctamente):
·
Especialista en Pruebas (tester).
·
Analista de pruebas.
· Diseñador de pruebas.
·
Stakeholders.
·
Revisor.
·
Coordinación de revisiones.
·
Revisor técnico.
·
Cualquier rol.
Relación con otros modelos de desarrollo de software.
Otra relación que podemos encontrar, es que las etapas (que son inicio, elaboración, construcción y transición), a pesar de variar un poco, siguen la misma estructura básica que otros modelos.
Una gran diferencia que hace resaltar a este modelo del resto, es la documentación masiva de las actividades realizadas durante el proceso, y esto es gracias a la presentación de artefactos, los cuales se encargan de evidenciar de forma muy específica las acciones realizadas durante las etapas de desarrollo.
Otra pequeña distinción de este modelo respecto a los demás, es la cantidad de roles que se pueden asignar, ya que aquí la variedad es muy elevada. Lo anterior resalta aún más la complejidad y detalle con la que trabaja está metodología.
Este modelo es muy completo, ya que, si ponemos atención a sus etapas, vemos que son diversas, lo cual permite que se abarque prácticamente todo lo que se debe de revisar a la hora de desarrollar un proyecto. Otro aspecto que me hace considerar al modelo RUP muy completo son sus artefactos, los cuales son productos de los distintos procesos realizados por los responsables de determinadas áreas. Estos artefactos ayudan a tener una mejor claridad de lo que se hace en cada etapa, así como documentarlo. Al igual que pasa con las etapas, en este modelo existen artefactos en abundancia, por lo que el proceso es mucho más organizado que otros.
Bibliografía:
Torossi, G. (s. f.). El
Proceso Unificado de Desarrollo de Software. http://dsc.itmorelia.edu.mx/~jcolivares/courses/pm10a/rup.pdf
Niño, N., Metzner, C. (11 de
mayo de 2016). El Proceso de Desarrollo RUP-GDIS. https://www.sctc.org.ve/memorias/SCTC2016/SCTC2016-p002-011.pdf
UNAM. (s. f.). Proceso
Unificado Rational Aplicado. http://www.ptolomeo.unam.mx:8080/xmlui/bitstream/handle/132.248.52.100/175/A8%20Capítulo%205.pdf?sequence=8


Comentarios
Publicar un comentario