0% encontró este documento útil (0 votos)
58 vistas7 páginas

Guía RUP para Desarrollo de Software

RUP es un marco de trabajo para el desarrollo de software que se centra en casos de uso, arquitectura y un enfoque iterativo e incremental. Se basa en seis principios clave que incluyen la adaptación del proceso, la colaboración entre equipos y el enfoque en la calidad. RUP se estructura en fases y flujos de trabajo, definiendo roles específicos para gestionar el desarrollo y asegurar la calidad del producto final.

Cargado por

Melchorita
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
58 vistas7 páginas

Guía RUP para Desarrollo de Software

RUP es un marco de trabajo para el desarrollo de software que se centra en casos de uso, arquitectura y un enfoque iterativo e incremental. Se basa en seis principios clave que incluyen la adaptación del proceso, la colaboración entre equipos y el enfoque en la calidad. RUP se estructura en fases y flujos de trabajo, definiendo roles específicos para gestionar el desarrollo y asegurar la calidad del producto final.

Cargado por

Melchorita
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

METODOLOGIA RUP

RUP es un proceso o marco de trabajo para el desarrollo de un proyecto de software que


define claramente quién, cómo, cuándo y qué debe hacerse en el proyecto. Presenta tres
características esenciales:

• Dirigido por casos de uso: Orientan el proyecto a la importancia para el usuario y lo que éste
quiere.

• Centrado en la arquitectura: Relaciona la toma de decisiones que indican cómo tiene que
ser construido el sistema y en qué orden.

• Iterativo e incremental: Divide el proyecto en mini proyectos donde los casos de uso y la
arquitectura cumplen sus objetivos de manera más depurada.

Como filosofía RUP maneja seis principios claves:

• Adaptación del proceso. El proceso deberá adaptarse a las características propias de la


organización. El tamaño del mismo, así como las regulaciones que lo condicionen, influirán en
su diseño específico. También se deberá tener en cuenta el alcance del proyecto.

• Balancear prioridades. Los requisitos de los diversos inversores pueden ser diferentes,
contradictorios o disputarse recursos limitados. Debe encontrarse un balance que satisfaga los
deseos de todos.

• Colaboración entre equipos. El desarrollo de software no lo hace una única persona, sino
múltiples equipos. Debe haber una comunicación fluida para coordinar requisitos, desarrollo,
evaluaciones, planes, resultados, etc.

• Demostrar valor iterativamente. Los proyectos se entregan, aunque sea de un modo


interno, en iteraciones. En cada iteración se analiza la opinión de los inversores, la estabilidad y
calidad del producto, y se refina la dirección del proyecto así como, también, los riesgos
involucrados.

• Elevar el nivel de abstracción. Este principio dominante motiva el uso de conceptos


reutilizables, tales como patrón del software, lenguajes 4GL o esquemas (frameworks), por
nombrar algunos. Éstos se pueden acompañar por las representaciones visuales de la
arquitectura, por ejemplo con UML.

• Enfocarse en la calidad. El control de calidad no debe realizarse al final de cada iteración,


sino en todos los aspectos de la producción.
MEJORES PRÁCTICAS

Desarrollo iterativo

En función de la cada vez mayor complejidad solicitada para los sistemas de software, ya no es
posible trabajar secuencialmente, es decir, definir primero el problema completo; luego,
diseñar toda la solución, construir el software y, finalmente, testear el producto. Es necesario
un enfoque iterativo que permita una comprensión creciente del problema a través de
refinamientos sucesivos, llegando a una solución efectiva luego de múltiples iteraciones
acotadas en complejidad.

RUP utiliza y soporta este enfoque iterativo e incremental que ayuda a atacar los riesgos
mediante la producción de entregables ejecutables progresivos y frecuentes que permiten la
opinión e involucramiento del usuario.

A través de las iteraciones que generan entregables ejecutables, se logra detectar, en forma
temprana, los desajustes e inconsistencias entre los requisitos, el diseño, el desarrollo y la
implementación del sistema, manteniendo al team de desarrollo focalizado en producir
resultados.

• Administración de requisitos

Los requisitos son las condiciones o capacidades que el sistema debe conformar. La
administración de requisitos es un enfoque sistemático para hallar, documentar, organizar y
monitorear los requisitos cambiantes de un sistema.

La administración de requisitos permite:

a) que las comunicaciones estén basadas en requisitos claramente definidos;

b) que los requisitos puedan ser priorizados, filtrados y monitoreados;

c) que sea posible realizar evaluaciones objetivas de funcionalidad y performance;

d) que las inconsistencias se detecten fácilmente.

RUP describe como:

a) Obtener, organizar y documentar la funcionalidad y restricciones requeridas;


b) Documentar y monitorear las alternativas y decisiones.

Las nociones de casos de uso y de escenarios utilizadas en RUP han demostrado ser una
manera excelente de capturar los requisitos funcionales y asegurarse que dirigen el diseño, la
implementación y la prueba del sistema, logrando así que el sistema satisfaga las necesidades
del usuario.

• Arquitectura basada en componentes

El proceso de software debe focalizarse en el desarrollo temprano de una arquitectura robusta


ejecutable, antes de comprometer recursos para el desarrollo en gran escala. RUP describe
cómo diseñar una arquitectura flexible, que se acomode a los cambios, comprensible
intuitivamente y promueve una más efectiva reutilización de software. Soporta el desarrollo de

software basado en componentes: módulos no triviales que completan una función clara. RUP
provee un enfoque sistemático para definir una arquitectura utilizando componentes nuevos y
preexistentes.

• Modelamiento visual

RUP muestra cómo representar el software visualmente para capturar la estructura y


comportamiento de arquitecturas y componentes. Las abstracciones visuales ayudan a
comunicar diferentes aspectos del software; comprender los requisitos, ver cómo los
elementos del sistema se relacionan entre sí, mantener la consistencia entre diseño e
implementación y promover una comunicación precisa. El estándar UML (Lenguaje de
Modelado Unificado), creado por Rational Software, es el cimiento para un modelamiento
visual exitosa.

• Verificación continúa de la calidad

Es necesario evaluar la calidad de un sistema respecto de sus requisitos de funcionalidad,


confiabilidad y performance. La actividad fundamental es el testeo (testing), que permite
encontrar las fallas antes de la puesta en producción. RUP asiste en el planeamiento, diseño,
implementación, ejecución y evaluación de todos estos tipos de testeo (testing).

El aseguramiento de la calidad se construye dentro del proceso, en todas las actividades,


involucrando a todos los participantes, utilizando medidas y criterios objetivos, permitiendo así
detectar e identificar los defectos en forma temprana.

• Control de cambios

La capacidad de administrar los cambios es esencial en ambientes en los cuales el cambio es


inevitable. RUP describe como controlar, rastrear y monitorear los cambios para permitir un
desarrollo iterativo exitoso. Es también una guía para establecer espacios de trabajo seguros
para cada desarrollador, suministrando el aislamiento de los cambios hechos en otros
espacios de trabajo y controlando los cambios de todos los elementos de software (modelos,
código, documentos, etc.). Describe cómo automatizar la integración y administrar la
conformación de entregables.

Estructura de RUP
RUP es un proceso que puede describirse en dos dimensiones, tal como se muestra en la figura
1.11, a lo largo de dos ejes:

• El eje horizontal representa tiempo y muestra el aspecto dinámico del proceso expresado
en términos de ciclos, fases, iteraciones, y metas.

• El eje vertical representa el aspecto estático del proceso; está descrito en términos de
actividades, artefactos, trabajadores o roles y flujos de trabajo.

Fases

RUP divide el proceso en cuatro fases, dentro de las cuales se realizan varias iteraciones en
número variable según el proyecto y en las que se desarrolla en mayor o menor proporción los
distintos flujos de trabajo:

• Inicio: En esta primera fase se define el alcance y objetivos del proyecto.

• Elaboración: Se desarrolla el plan del proyecto, la especificación de características y la


arquitectura base del sistema.

• Construcción: Esta fase se concentra en la elaboración, de un producto totalmente operativo


y eficiente y el manual de usuario.

• Transición: Es la fase en la cual se instala el producto en el cliente y se entrena a los


usuarios.
Flujos de trabajo

Los flujos de trabajo son también conocidos como disciplinas. Consisten en una secuencia de
actividades que producen un resultado observable (artefacto) a cargo de algún miembro del
proyecto (rol).

Existen dos grupos de flujos de trabajo: de proceso y de apoyo, los cuales que se describirán a
continuación.

Flujos de trabajo del proceso

Orientados al desarrollo del software. Comprende:

• Modelado del negocio: Describe la estructura y la dinámica de la organización donde se va a


implantar el sistema que construyamos.

• Captura de requisitos: Establece exactamente lo que tiene que hacer el sistema, para ello, se
extrae los requisitos utilizando diferentes métodos.

• Análisis y diseño: Traduce los requisitos a una especificación que describe cómo
implementar el sistema creando, para ello, diferentes vistas arquitectónicas.

• Implementación: Tiene en cuenta el desarrollo de software, las pruebas unitarias y la


integración.

• Pruebas: Describe la ejecución de pruebas y las métricas para rastreo de defectos.

• Despliegue o implantación: Incluye actividades relacionadas con la entrega de la aplicación.

Flujos de trabajo de apoyo o de soporte

Orientados a la gestión del proyecto. Éstos son:

• Configuración y control de cambios: Mantiene la integridad de todos los artefactos que se


crean en el proyecto. También mantiene información del proceso evolutivo que se ha seguido.
• Gestión del proyecto: Es el arte de lograr un balance al gestionar objetivos, riesgos y
restricciones para desarrollar un producto que sea acorde a los requisitos de los clientes y los
usuarios.

• Entorno: Cubre la infraestructura necesaria para desarrollar un sistema.

Roles en RUP

Un rol define el comportamiento y responsabilidades de un individuo o de un grupo de


individuos trabajando juntos como un equipo. Un miembro del equipo de proyecto cumple,
normalmente, muchos roles. Las responsabilidades de un rol son tanto el llevar a cabo un
conjunto de actividades como el ser el dueño de un conjunto de artefactos. Existen muchos
roles específicos dentro de los roles genéricos RUP, tales como:

Analistas:

• Analista de procesos de negocio

• Diseñador del negocio

• Analista de sistema

• Especificador de requisitos

Desarrolladores:

• Arquitecto de software

• Diseñador

• Diseñador de interfaz de usuario

• Diseñador de cápsulas

• Diseñador de base de datos

• Implementador

• Integrador

Gestores:

• 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:

• Documentador técnico

• Administrador de sistema

• Especialista en herramientas

• Desarrollador de cursos

• Artista gráfico

Especialista en pruebas:

• Especialista en Pruebas

• Analista de pruebas

• Diseñador de pruebas

Otros roles:

• Stakeholders

• Revisor

• Coordinador de revisiones

• Revisor técnico

También podría gustarte