Sunteți pe pagina 1din 16

See

discussions, stats, and author profiles for this publication at: https://www.researchgate.net/publication/268005509

Gua a Rational Unified Process

Technical Report January 2000

CITATIONS READS

0 173

2 authors, including:

Raul Martinez
Oracle Corporation
35 PUBLICATIONS 84 CITATIONS

SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Providing QoS over high performance networks View project

All content following this page was uploaded by Raul Martinez on 21 April 2017.

The user has requested enhancement of the downloaded file.


Gua a Rational Unified Process
Alejandro Martnez y Ral Martnez
Escuela Politcnica Superior de Albacete Universidad de Castilla la Mancha
e-mail: alexmv@ono.com, m_m_raul@ono.com

Resumen 2. Bases tericas


El Proceso Unificado de Rational es un
Este trabajo consiste en una introduccin al proceso de ingeniera del software. Proporciona
Proceso Unificado de Rational (RUP). Primero un acercamiento disciplinado a la asignacin de
se ve en que principios se basa, luego se trata tareas y responsabilidades en una organizacin
su estructura desde dos puntos de vista: las de desarrollo. Su proposito es asegurar la
cuatro fases y los nueve flujos de trabajo. Para produccin de software de alta calidad que se
terminar se llega a las conclusiones. ajuste a las necesidades de sus usuarios finales
con unos costos y calendario predecibles. [1]
1. Introduccin En definit iva el RUP es una metodologa de
esarrollo de software que intenta integrar todos
Este documento es una pequea gua al Proceso los aspestos a tener en cuenta durante todo el
Unificado de Rational. En ningn caso esto ser ciclo de vida del software, con el objetivo de
suficiente para entender completamente el hacer abarcables tanto pequeos como grandes
RUP, los autores recomendamos proyectos software. Ademas Rational
encarecidamente leer [1] y otros libros y proporciona herramientas para todos los pasos
documentos que tratan el tema con mayor del desarrollo asi como documentacin en linea
profundidad. para sus clientes.
Entonces, para qu vale este documento? En Las caractersticas principales de RUP son:
primer lugar, pretendemos que sirva de Guiado/Manejado por casos de uso: La
introduccin a aquellos que no saben nada de razn de ser de un sistema software es
RUP. Dedicar un rato a hojear este documento servir a usuarios ya sean humanos u otros
debe dar las ideas principales, con la ventaja sistemas; un caso de uso es una facilidad
aadida de que esto est en castellano. El que el software debe proveer a sus usuarios.
segundo objetivo es el de servir de referencia Los casos de uso reemplazan la antigua
rpida cuando se est aplicando el RUP para especificacin funcional tradicional y
desarrollar un proyecto. constituyen la gua fundamental establecida
La primera seccin trata sobre las bases tericas para las actividades a realizar durante todo
sobre las que se fundamenta el RUP. De entre el proceso de desarrollo incluyendo el
ellas cabe destacar que se trata de un proceso diseo, la implementacin y las pruebas del
iterativo e incremental. Como se ver, el sistema.
desarrollo del proyecto se hace en iteraciones, Centrado en arquitectura: La arquitectura
cada una de ellas conteniendo trabajo en varios involucra los elementos ms significativos
flujos de trabajo. A su vez, las iteraciones se del sistema y est influenciada entre otros
organizan en cuatro fases. por plataformas software, sistemas
La seccin tres trata de las fases y lo que se operativos, manejadores de bases de datos,
hace en cada una de ellas, as como de los protocolos, consideraciones de desarrollo
productos (Artifacts) que se deben obtener al como sistemas heredados y requerimientos
finalizarlas. no funcionales. Es como una radiografa del
La seccin cuatro es la ms extensa y en ella se sistema que estamos desarrollando, lo
desarrollan los flujos de trabajo, sus objetivos y, suficientemente completa como para que
nuevamente, los productos que deben obtenerse todos los implicados en el desarrollo tengan
de ellos. una idea clara de qu es lo que estn
Para terminar, en la seccin cinco obtenemos construyendo, pero lo suficientemente
algunas conclusiones y en la seccin seis se simple como para que si quitamos algo una
encuentra la bibliografa utilizada. parte importante del sistema quede sin
especificar. Se representa mediante varias
vistas que se centran en aspectos concretos
Figura 1: Fases, iteraciones y disciplinas
del sistema, abstrayndose de lo dems. con interfaces bien definidas, que
Todas las vistas juntas forman el llamado posteriormente sern ensamblados para
modelo 4+1 de la arquitectura, recibe este generar el sistema. Esta caracterstica en un
nombre porque lo forman las vistas lgica, proceso de desarrollo permite que el
de implementacin, proceso y despliegue, sistema se vaya creando a medida que se
ms la de casos de uso que es la que da obtienen o que se desarrollan y maduran
cohesin a todas. Como resumen de las sus componentes.
mismas recomiendo dar un vistazo a la Utilizacin de un nico lenguaje de
Figura 5-1 de la pgina 87 de [1]. modelado: UML es adoptado como nico
Iterativo e Incremental: Para hacer ms lenguaje de modelado para el desarrollo de
manejable un proyecto se recomienda todos los modelos.
dividirlo en ciclos. Para cada ciclo se Proceso Integrado: Se establece una
establecen fases de referencia, cada una de estructura que abarque los ciclos, fases,
las cuales debe ser considerada como un flujos de trabajo, mitigacin de riesgos,
miniproyecto cuyo ncleo fundamental est control de calidad, gestin del proyecto y
constituido por una o ms iteraciones de las control de configuracin; el proceso
actividades principales bsicas de cualquier unificado establece una estructura que
proceso de desarrollo. En concreto RUP integra todas estas facetas. Adems esta
divide el proceso en cuatro fases, dentro de estructura cubre a los vendedores y
las cuales se realizan varias iteraciones en desarrolladores de herramientas para
numero variable segn el proyecto y en las soportar la automatizacin del proceso,
que se hace un mayor o menor hincapi en soportar flujos individuales de trabajo, para
los distintas actividades. En la Figura 1 construir los diferentes modelos e integrar
tenemos un ejemplo de la distribucin del el trabajo a travs del ciclo de vida y a
trabajo. travs de todos los modelos.
Adems de estas caractersticas principales La estructura esttica del proceso unificado se
segn [5] cabe destacar las siguientes: define en base a cuatro elementos, que son: los
Desarrollo basado en componentes: La roles(antes workers), que responde a la
creacin de sistemas intensivos en software pregunta quin?, las actividades (activities),
requiere dividir el sistema en componentes que responden a la pregunta cmo?, los
productos (artifacts), que responden a la dependiendo de la fase e iteracin en la que
pregunta qu?, y los flujos de trabajo nos encontremos, como ya vimos un poco
(workflows), que responden a la pregunta ms arriba y que clarificabamos con la
cundo?. La definicin de estos trminos que Figura 1.
se nos hace en [8] es: En los apartados siguientes dada la naturaleza
Roles: Un rol define el comportamiento y de este documento, daremos de lado a los roles,
responsabilidades de un individuo, o de un y trataremos las actividades de manera poco
grupo de individuos trabajando juntos como precisa, centrandonos en las generalidades de
un equipo. Una persona puede desempear cada flujo de trabajo y los productos que tienen
diversos roles, as como un mismo rol que dar como resultado.
puede ser representado por varias personas.
Las responsabilidades de un rol son tanto el 3. Las fases
llevar a cabo un conjunto de actividades Como ya se ha visto en el apartado anterior, el
como el ser el dueo de un conjunto de RUP se divide en cuatro fases, las cuales
artefactos. En la Figura 2 se puede observar pasaremos a ver con ms detalle.
la relacin entre los tres conceptos. En la tabla 1 encontramos un resumen de los
Activ idades: Una actividad de un principales productos de RUP y en que
trabajador en concreto es una unidad de momento deben iniciarse y terminarse. Para
trabajo que una persona que desempee ese estos productos y otros existen plantillas
rol puede ser solicitado a que realice. Las pregeneradas en [7]. La tabla resumen de [6]
actividades tienen un objetivo concreto, tambin proporciona una buena visin de
normalmente expresado en terminos de conjunto de lo que hay que hacer en RUP. Por
crear o actualizar algn producto. ltimo en la pgina 41 de [1] est la figura 3-3
Productos: Un producto o artefacto es un que muestra las relaciones de los productos de
trozo de informacin que es producido, la tabla 1.
modificado o usado por un proceso. Los
productos son los resultados tangibles del 3.1 Inicio
proyecto, las cosas que va creando y usando Antes de iniciar un proyecto es conveniente
hasta obtener el producto final. plantearse algunas cuestiones: Cul es el
objetivo? Es factible? Lo construimos o lo
compramos? Cunto va a costar? La fase de
inicio trata de responder a estas preguntas y a
otras ms. Sin embargo no pretendemos una
estimacin precisa o la captura de todos los
requisitos. Ms bien se trata de explorar el
problema lo justo para decidir si vamos a
continuar o a dejarlo, ver [4]. Generalmente no
debe durar mucho ms de una semana.
Como dice en [1], los objetivos son:
Establecer el mbito del proyecto y sus
Figura 2: Roles, actividades y artefactos. lmites.
Encontrar los casos de uso crticos del
Flujos de trabajo: La mera enumeracin de sistema, los escenarios bsicos que definen
rolos, actividades y artefactos no define un la funcionalidad.
proceso, necesitamos definir la secuencia Mostrar al menos una arquitectura
de actividades realizadas por los diferentes candidata para los escenarios principales.
roles, as como la relacin entre los Estimar el coste en recursos y tiempo de
mismos, que nos producen unos resultados todo el proyecto.
observables. El RUP define varios flujos de Estimar los riesgos, las fuentes de
trabajo distintos, entre los que distingue incertidumbre.
entre dos grupos, los de proceso, y los de Los productos de la fase de inicio deben ser:
apollo. Las distintas iteraciones a realizar Visin del negocio: Describe los objetivos
consistir en la ejecucin de estos flujos de y restricciones a alto nivel.
trabajo con una mayor o menos intensidad Modelo de casos de uso.
Flujo Productos Inicio Elaboracin Construccin Transicin
Administracin Plan de desarrollo I R R R
del Proyecto Caso de negocio I
Lista de riesgos I R R R
Requisitos Modelo de casos de I R
uso
Vision I R
Especicifacin I R
adicional
Glosario I R
Anlisis y Diseo Modelo de diseo I R
Documentacin de I
la arquitectura SW
Implementacin Modelo de I R R
implementacin
Test Plan de test I R
Despliegue Plan de despliegue I

Tabla 1. Principales productos en RUP. I = inicio, R = refinamiento.

Especificacin adicional: requis itos no Todos los interesados en el proyecto


funcionales. coinciden en la definicin del mbito del
Glosario: Terminologa clave del dominio. sistema y las estimaciones de agenda.
Lista de riesgos y planes de contingencia. Entiendimiento los requisitos, evidenciado
El caso de negocio (business case). Para por la fidelidad de los casos de uso
ms detalles ver el flujo de modelado del principales.
negocio. Las estimaciones de tiempo, coste y riesgo
Prototipos exploratorios para probar son creibles.
conceptos o la arquitectura candidata. Comprensin total de cualquier prototipo
Plan de iteracin para la primera iteracin de la arquitectura desarrollado.
de la fase de elaboracin. Los gastos hasta el momento se asemejan a
Plan de fases. los planeados.
No todos los productos son obligatorios, ni Si el proyecto no pasa estos criterios hay que
deben completarse al 100%, hay que tener en plantearse abandonarlo o repensarlo
cuenta el objetivo de la fase de inicio. profundamente.
En [4] encontramos los sntomas de que no se
ha entendido la fase de incio: 3.2 Elaboracin
Dura ms de unas pocas semanas. Cmo se indica en el captulo 5 de [1], el
Se intentan definir todos los requisitos. propsito de la fase de elaboracin es analizar
Se espera que las estimaciones o los planes el dominio del problema, establecer los
sean muy precisos. cimientos de la arquitectura, desarrollar el plan
Definir la arquitectura completamente, en del proyecto y elimirar los mayores riesgos.
lugar de refinarla en la fase de elaboracin. Cuando termina esta fase se llega al punto de no
No se definen el caso de negocio o la retorno del proyecto: a partir de ese momento
visin. pasamos de las relativamente ligeras y de poco
riesgo dos primeras fases, a afrontar la fase de
Los nombres de la mayora de los casos de
construccin, costosa y arriesgada. Es por esto
uso o actores no se han definido.
que la fase de elaboracin es de gran
Todos los casos de uso se escriben con importancia.
detalle. En esta fase se construye un prototipo de la
Al terminar la fase de inicio se deben arquitectura, que debe evolucionar en
comprobar los criterios de evaluacin para iteraciones sucesivas hasta convertirse en el
continuar:
sistema final. Este prototipo debe contener los
casos de uso crticos identificados en la fase de
incicio. Tambin debe demostrarse que se han Si no se superan los criterios de evaluacin
evitado los riesgos ms graves, bien con este quiz sea necesario abandonar el proyecto o
prototipo, bien con otros de usar y tirar. replanterselo considerablemente.
Los objetivos de esta fase son:
Definir, validar y cimentar la arquitectura. 3.3 Construccin
Completar la visin. La finalidad principal de esta fase es alcanzar la
Crear un plan fiable para la fase de capacidad operacional del producto de forma
construccin. Este plan puede evolucionar incremental a travs de las sucesivas
en sucesivas iteraciones. Debe incluir los iteraciones. Durante esta fase todas los
costes si procede. componentes, caractersticas y requisitos, que
Demostrar que la arquitectura propuesta no lo hayan sido hecho hasta ahora, han de ser
soportar la visin con un coste razonable y implementados, integrados y testeados,
en un tiempo razonable. obteniendose una versin del producto que se
Al terminar deben obtenerse los siguientes pueda poner en manos de los usuarios(una
productos: versin beta).
Un modelo de casos de uso completa al El nfasis en esta fase se pone controlar las
menos hasta el 80%: todos los casos y operaciones realizadas, administrando los
actores identificados, la mayora de los recursos eficientemente, de tal forma que se
casos desarrollados. optimicen los costes, los calendarios y la
Requisitos adicionales. calidad.
Descripcin de la arquitectura software. Los objetivos concretos segn [1] incluyen:
Un prototipo ejecutable de la arquitectura. Minimizar los costes de desarrollo mediante
la optimizacin de recursos y evitando el
Lista de riesgos y caso de negocio
tener que rehacer un trabajo o incluso
revisados.
desecharlo.
Plan de desarrollo para el proyecto.
Conseguir una calidad adecuada tan rapido
Un caso de desarrollo actualizado que como sea practico.
espicifica el proceso a seguir.
Conseguir versiones funcionales (alfa, beta,
Posiblemente un manual de usuario
y otras versiones de prueba) tan rapido coo
preliminar.
sea practico.
La forma de aproximarse a esta fase debe ser
Los productos de la fase de construccion segn
tratar de abarcar todo el proyecto con la
[5] deben ser :
profundidad mnima. Slo se profundiza en los
Modelos Completos (Casos de Uso,
puntos crticos de la arquitectura o riesgos
Anlisis, Diseo, Despliegue e
importantes.
Implementacin)
En la fase de elaboracin se actualizan todas los
productos de la fase de inicio el glosario, el Arquitectura ntegra (mantenida y
caso de negocio, el ROI (Return Of Invest), mnimamente actualizada)
etctera. Riesgos Presentados Mitigados
Los criterios de evaluacin de esta fase son los Plan del Proyecto para la fase de Transicin
siguientes: Manual Inicial de Usuario (con suficiente
La visin del producto es estable. detalle)
La arquitectura es estable. Prototipo Operacional beta
Se ha demostrado mediante la ejecucin del Caso del Negocio Actualizado
prototipo que los principales elementos de
riesgo han sido abordados y resueltos. 3.4 Transicin
El plan para la fase de construccin es La finalidad de la fase de transicin es poner el
detallado y preciso. Las estimaciones son producto en manos de los usuarios finales, para
creibles. lo que tipicamente se requerir desarrollar
Todos los interesados coinciden en que la nuevas versiones actualizadas del producto,
completar la documentacin, entrenar al usuario
visin actual ser alcanzada si se siguen los
en el manejo del producto, y en general tareas
planes actuales en el contexto de la
relacionadas con el ajuste, configuracin,
arquitectura actual.
instalacin y usabilidad del producto.
Los gastos hasta ahora son aceptables,
comparados con los previstos.
En concreto en [1] se citn algunas de las cosas Despliegue.
que puede incluir esta fase: Los flujos de trabajo de apoyo son:
Testeo de la versin Beta para validar el Administracin del proyecto.
nuevo sistema frente a las espectativas de Configuracin y control de cambios.
los usuarios. Entorno.
Funcionamiento paralelo con los sistemas Aunque los nombres de los flujos de trabajo de
legados que estan siendo sustituidos por ingeniera recuerden a las etapas de una
nuestro proyecto. metodologa en cascada, en RUP como ya
Conversin de las bases de datos hemos visto las fases son distintas, y estos
operacionales. flujos de trabajo sern visitados una y otra vez a
Entrenamiento de los usuarios y tecnicos de lo largo de todo el proceso.
mantenimiento. En algunos flujos se explican productos
Traspaso del producto a los equipos de importantes. Para ver como usar las plantillas
marketing, distribucin y venta. ver el anexo 1. El ejmplo 1 se puede obtener en
Los principales objetivos de esta fase son: [11] y el 2 en [12].
Conseguir que el usuario se valga por si
mismo. 4.1 Administracin del Proyecto
Un producto final que cumpla los requisitos El objetivo de la administracin de un proyecto
esperados, que funcione y satisfaga es conseguir equilibrar el completar los
suficientemente al usuario. objetivos, administrar el riesgo y superar las
Los productos de la fase de transicin segn [5] restricciones para desarrollar un producto que
son: sea acorde a los requisitos de los usuarios.
Prototipo Operacional Como se ve en [3], para conseguir esto el flujo
Documentos Legales de trabajo se centra en tres aspectos:
Caso del Negocio Completo Planificar un proyecto iterativo y cada
Lnea de Base del Producto completa y iteracin particular.
corregida que incluye todos los modelos del Administrar el riesgo.
sistema Monitorizar el progreso del proyecto a
Descripcin de la Arquitectura completa y travs de mtricas.
corregida La planificacin de un proyecto debe
Las iteraciones de esta fase irn dirigidas acometerse en dos niveles de abstraccin: un
normalmente a conseguir una nueva versin. plan de grano grueso para las fases y un plan
Las actividades a realizar durante las de grano fino para cada iteracin.
iteraciones dependern de su finalidad, si es El plan de desarrollo (o plan de fases) debe
corregir algn error detectado, normalmente contener las fechas esperadas para los hitos
ser suficiente con llevar a cabo los flujos de principales, cundo se tendr la arquitectura,
trabajo de implementacin y test, sin embargo, cundo estar la primera versin beta, etctera.
si se deben aadir nuevas caractersticas, la Estas fechas coincidirn, generalmente, con el
iteracin ser similar a la de una iteracin de la final de las fases. Tambin debera tener una
fase de construccin. previsin de las necesidades de personal y
La complejidad de esta fase depende totalmente medios, as como fechas de hitos menores, slo
de la naturaleza del proyecto, de su alcance y de si se conocen. Este plan debe obtenerse
la organizacin en la que deba implantarse. temprano en la fase de inicio y no debe ir ms
all de una o dos pginas. Debe actualizarse
siempre que sea necesario.
4. Los flujos de trabajo Debe realizarse un plan de iteracin por cada
En RUP se definen nueve flujos de trabajo
iteracin, como cabra suponer. Este plan se
distintos, separados en dos grupos.
elabora hacia la segunda mitad de la iteracin,
Los flujos de trabajo de ingeniera son los
lo que significa que en un momento dado habr
siguientes:
dos planes activos: el de la iteracin en curso y
Modelado del negocio. el de la prxima, que es construido en sta. En
Requisitos. este plan se detallarn fechas importantes para
Anlisis y diseo. la iteracin: compilaciones importantes,
Implementacin. revisiones o llegada de componentes.
Test.
La administracin del riesgo consiste en Como se puede ver el ejemplo carece de las
ocuparse de las incgnitas de un proyecto, las secciones 5, 6 y 7. Esto se debe a que
cuestiones que pueden llevarlo a pique. En contendran planes para proyectos de gran
concreto hay que identificar los riesgos, envergadura, como aseguramiento de la calidad,
tpicamente en la fase de inicio, y hacerles infraestructuras, etctera.
frente. Para ello trataremos de evitarlos,
transferirlos (lese quitarnoslos de encima) o Producto: Plan de iteracin.
asumirlos. En este ltimo caso habr que tratar Este procducto trata la planificacin de grano
de mitigar el riesgo y definir un plan de fino. La seccin 2 contiene el plan. En el
contingencia por si el riesgo se convierte en un ejemplo 1 se refieren a unos diagramas de Gantt
problema real. En definitiva la administracin creados con Microsoft Project. Estos diagramas
del riesgo consistir en gestionar una lista de dan una previsin detallada del tiempo asignado
riesgos. a cada tarea. Una forma menos formal de
Monitorizar un proyecto es importante para planificar sera poner slo la fecha de fin, como
mantenerlo ba jo control. Tenemos que medir en el ejemplo 2.
para ver como de bien nos ajustamos a los En la seccin 3 se resean todos los recursos
planes, la calidad requerida y los requisitos. humanos, financieros o de otra ndole
Tambin es necesario para planificar de forma necesarios para completar la iteracin.
precisa y ver cul es el comportamiento del La seccin 4 es una lista de los casos de uso
proyecto frente a cambios. Tomar mtricas no implicados en esta iteracin. Si se desea puede
es gratis, as que hay que justificar por qu se justificarse su eleccin.
mide. Por ltimo est la seccin 5 con los criterios de
En este flujo de trabajo tambin se obtiene el evaluacin de la iteracin. En los ejemplos no
caso de negocio (business case). Consiste en el est la seccin, mal hecho por su parte.
contexto del negocio, criterios de xito del
proyecto (como por ejemplo, ser pagados) y Producto: Lista de Riesgos.
una previsin de financiera (gastos, salarios, Este producto slo tiene una seccin adems de
etctera). Si esperamos vender el sistema, la primera: la lista de riesgos propiamente
tambin tendr que haber una aproximacin a dicha. Para cada uno hay que indicar: su
los beneficios que obtendremos: el ROI (Return magnitud, una descripcin, su impacto (donde
Of Investment). afecta), indicadores para monitorizarlo, una
estrategia para mitigarlo y el plan de
Producto: Plan de desarrollo. contingencia por si el riesgo se hace real.
Ya hemos visto cuales son los objetivos de este En los ejemplos se ven dos formas expresar
producto. Ahora veremos con detalle uno, as cada riesgo: en forma de tablas o con texto
como las partes de que se compone la plantilla. puro. Que cada cual elija la que la ms le guste,
La seccin 1 se comenta en el anexo 1. La pero si se va a hacer algo raro, conviene
seccin 2 pretende proporcionar una breve explicarlo antes, como en el ejemplo 1.
visin de conjunto del proyecto, sus objetivos,
restricciones, los entregable s que se van a 4.2 Modelado del negocio
producir (los productos) y que evolucin se Con este flujo de trabajo pretendemos llegar a
espera. un mejor entendimiento de la organizacin
La seccin 3 trata de la organizacin de la gente donde vamos a implantar nuestro producto. Los
que desarrollar el proyecto y sus interacciones principales motivos para esto son los siguientes:
con el exterior. En el ejemplo se consideran asegurarnos de que el producto ser algo til,
cuatro roles: gestor del proyecto, analistas, no un obstculo; conseguir que encaje de la
desarrolladores y testeadores. mejor forma posible en la organizacin; y tener
La seccin 4 es la ms importante, trata de la un marco comn para los desarrolladores, los
gestin del proyecto propiamente. En el clientes y los usuarios finales. Este flujo de
ejemplo vemos como se ha obtenido un plan de trabajo no ser siempre necesario. Si slo
fases en el que se indica el nmero de aadimos funcionalidad que no vern los
iteraciones previstas. Despus se detalla que se usuarios directamente, no har falta.
va a hacer en cada fase y los hitos que se espera Para modelar el negocio usaremos las mismas
obtener. tcnicas que para modelar software, facilitando
que ambas partes entiendan los modelos. En
concreto tendremos casos de uso de negocio, una buena forma de explicitar requisitos
actores de negocio , etctera. Los diagramas (Usuario: Dnde est el botn de calcular la
tambin tendrn su equivalente de negocio. sobrecarga de TLA? Analista: La qu?).
Dependiendo del tipo de software que estemos En definitiva, en este flujo de trabajo hay que
construyendo, el modelado del negocio analizar el problema, comprender las
cambiar. No se trata de modelar la necesidades de los interesados y expresarlas en
organizacin de arriba abajo, slo la parte que forma de requisitos; construir diagramas de
nos toca. En concreto en [1] se pueden casos de uso para los requisitos funcionales, los
encontrar seis escenarios para escoger el ms no funcionales describirlos textualmente en
apropiado o hacernos una idea de qu hay que especificaciones suplementarias. Adems hay
modelar. que gestionar los cambios en los requisitos a lo
En la fase de inicio habr que hacer una largo de todo el proceso.
valoracin del negocio. Tras hacerla Dentro de ste flujo, en la fase de inicio hay que
decidiremos cmo vamos ha hacer el modelado crear la Visin. Se trata de un documento que
del negocio: por ejemplo, ver en que escenario de una vista general del ncleo de los requisitos
de los seis estamos. del proyecto, caractersticas clave y
Como ya dije usaremos una extensin de UML restricciones principales.
para modelar el negocio. En concreto habr Algunos dominios de negocio pueden ser algo
modelos de casos de uso de negocio y modelos enrevesados al principio, por ejemplo si hay
de objetos de negocio. Con los primeros que crear una aplicacin para una base area.
capturaremos QU se hace y QUIN lo hace. Por este motivo puede ser de gran ayuda
Con los segundos veremos CMO se hace. construir un Glosario que recoja la terminologa
Una gran ventaja de sta aproximacin al usada a lo largo del proyecto o la organizacin.
modelado del negocio es que es un forma clara
y concisa de mostrar las dependencias entre el Producto: Modelo de Casos de Uso.
negocio y el sistema que estamos construyendo. Este producto se obtiene con la plantilla de
Especificacin de Casos de Uso. En teora
4.3 Requis itos habra que hacer un documento por caso de uso,
Este es uno de los flujos de trabajo ms y as puede hacerse. Sin embargo en los
importantes, porque en l se establece QU es ejemplos se opt por fusionar todos los casos de
lo que tiene que hacer exactamente el sistema uso en un documento.
que construyamos. En esta lnea los requisitos Por cada caso de uso hay que dar una pequea
son el contrato que debemos cumplir, de modo descripcin. A continuacin hay que describir
que los usuarios finales tienen que comprender el flujo de eventos del caso. Primero se destaca
y aceptar los requisitos que especifiquemos. el flujo principal y despus vienen los
Tal como indica [2], los requisitos se dividen en alternativos. Si una alternativa es simple, puede
dos grupos. Los requisitos funcionales son las ponerse con el flujo principal. Si un caso es
cosas que el sistema puede hacer, su complejo, puede ponerse figuras explicativas,
funcionalidad. Se modelan mediante diagramas diagramas UML o lo que se necesite.
de casos de uso. Los requisitos no funcionales Lo siguiente es poner que requisitos especiales
representan aquellos atributos que debe exhibir hay, si los hay. Luego vienen las
el sistema, pero que no son una funcionalidad precondiciones y las postcondiciones.
especfica. Por ejemplo requisitos de usabilidad, Finalmente los puntos de extensin.
fiabilidad, eficiencia, portabilidad, etctera. Si se opta por juntar todas las especificaciones
Para capturar los requisitos es preciso de casos de uso convendr hacer una primera
entrevistar a todos los interesados en el seccin como en el ejemplo 1, describiendo los
proyecto, no slo a los usuarios finales, y anotar actores, las relaciones de los casos de uso y
todas sus peticiones. A partir de ellas hay que mostrando los diagramas.
descubrir lo que necesitan y expresarlo en
forma de requisitos. Producto: Especificacin Adicional.
En este flujo de trabajo, y como parte de los En este producto se especifican todos los
requisitos de usabilidad, se disea la interfaz requisitos no funcionales de nuestro sistema.
grfica de usuario. Para ello habitualmente se Como ya se dijo, se trata de atributos que no
construyen prototipos de la GUI que se dan funcionalidad, por ejemplo lo fcil que es
contrastan con el usuario final. Adems sta es de usar o si cumple con una normativa concreta.
La plantilla para este producto est dividida en alfabtico, la definicin de los diferentes
secciones que indican distintos tipos de conceptos. En las seccin 3 se definen aquellos
requisitos no funcionales. Nosotros tendremos estereotipos( especificaciones de UML) que no
que ir simplemente colocando nuestros son los predefinidos por RUP o UML y que
requisitos en la seccin adecuada y borrar las pueden o deben ser usados en el proyecto. Ni el
que no vayamos a usar. Del mismo modo ejemplo 1 ni el 2 han hecho uso de este ltimo
podemos crear secciones nuevas si las apartado.
necesitamos.
En el ejemplo 2 se opt por obviar esta 4.4 Anlisis y diseo
clasificacin y poner todos los requisitos juntos. El objetivo de este flujo de trabajo es traducir
En mi opinin las secciones aaden claridad y los requisitos a una especificacin que describe
sirven de recordatorio para no dejarnos nada, cmo implementar el sistema.
pero si hay pocos requisitos, pueden ser un El anlisis consiste en obtener una visin del
estorbo. sistema que se preocupa de ver QU hace, de
modo que slo se interesa por los requisitos
Producto: Visin. funcionales. Por otro lado el diseo es un
El propsito de la visin es reunir, analizar y refinamiento del anlisis que tiene en cuenta los
definir necesidades y caractersticas del sistema requisitos no funcionales, en definitiva CMO
a alto nivel. cumple el sistema sus objetivos.
La seccin 2 pretende posicionar el problema Como se dice en [1] el diseo debe ser
que da lugar al sistema. Para ello se describe el suficiente para que el sistema pueda ser
problema, que oportunidad para hacer negocio implementado sin ambigedades. De hecho,
hay y que lugar en el mercado ocupar el cuando la precisin del diseo es muy grande,
sistema como producto. Si no pretendemos la implementacin puede ser hecha por un
vender nada, bastar con describir el problema, generador automtico de cdigo.
como en el ejemplo 2. Al principio de la fase de ela boracin hay que
La seccin 3 pretende dar a conocer todos los definir una arquitectura candidata: crear un
interesados en el sistema y los usuarios finales. esquema inicial de la arquitectura del sistema,
Hay que indicar los problemas que cada uno ve identificar clases de anlisis y actualizar las
que deben ser resueltos. No hay que poner las realizaciones de los casos de uso con las
peticiones concretas sino el trasfondo de cada interacciones de las clases de anlisis. Durante
interesado. Si el producto se va a vender, hay la fase de elaboracin se va refinando esta
que poner un estudio de la poblacin objetivo. arquitectura hasta llegar a su forma definitiva.
El ejemplo puede aclarar bastante este punto. En cada iteracin hay que analizar el
Las secciones 4 y 5 dan una vis in de conjunto comportamiento para disear componentes.
del producto y sus capacidades. Algunos puntos Adems si el sistema usar una base de datos,
de la plantilla slo son apropiados si se habr que disearla tambin, obteniendo un
pretende vender el producto. modelo de datos.
Las secciones restantes dan un mayor detalle El resultado final ms importante de este flujo
sobre el producto. En principio, para un de trabajo ser el modelo de diseo. Consiste en
proyecto pequeo, podran no ser necesarios colaboraciones de clases, que pueden ser
tantos apartados si se puede escribir un texto agregadas en paquetes y subsistemas.
breve y claro que describa lo mismo. Sin Otro producto importante de este flujo es la
embargo es buena idea mirarse todas las documentacin de la arquitectura software, que
secciones para no olvidar nada. captura varias visiones arquitectnicas del
sistema.
Producto: Glosario.
En el glosario se recoge el vocabulario propio Producto: Modelo de Diseo.
del dominio del sistema, y que dependiendo del No se dispone de una plantilla para este
proyecto pueden ser trminos muy producto. Es sencillamente la estructuracin de
especializados. Adems puede usarse para los distintos diagramas y modelos que se tengan
definir un diccionario informal de tipos de referentes a la parte de diseo del sistema. En el
datos. El ncleo de este producto es la seccin 2 ejemplo 1 la informacin se ha estructurado en
donde se va introduciendo a modo de cuatro apartados, en el primero se muestran los
diccionario, y normalmente por orden paquetes que forman el sistema y sus
relaciones, en el segundo se muestra lo que En fases tempranas del proceso se pueden
contiene cada paquete, y en el tercero y cuarto implementar prototipos para reducir el riesgo.
se muestra una vista lgica del sistema, general Su utilidad puede ir desde ver si el sistema es
en el tercer apartado y detallada en el cuarto, viable desde el principio, probar tecnologas o
mediante diagramas de clases de diseo. disear la interfaz de usuario. Los prototipos
pueden ser exploratorios (desechables) o
Producto: Documentacin de la evolucionarios. Estos ltimos llegan a
Arquitectura Software. transformarse en el sistema final.
En este documento se da una descripcin de la
arquitectura del sistema, vase el apartado de Producto: Modelo de implementacin.
caractersticas principales del RUP en el La plantilla para este producto no la
apartado de Bases tericas de este trabajo. En el proporciona UPEDU (ver anexo I), que consiste
apartado 2 del documento se anticipan las vistas en una visin general lo que tiene que ser
que van a ser necesarias para la descripcin, as implementado, y un apartado para cada
como la representacin escogida para las iteracin (que coincide con la plantilla de RUP
mismas. En la seccin 3 se describen los del plan de integracin de constructos) con los
requerimientos y objetivos del sistema que sean componentes y subsistemas a implementar
de influyan en la arquitectura del mismo. A durante esa iteracin, as como de los resultado
partir de aqu viene un apartado por cada vista software (builds) que se han de obtener y el
(Casos de uso, lgica, proceso, despliegue, e testeo que se ha de realizar sobre ellos (para lo
implementacin) que se incluya en el que se puede hacer referencia al plan de test).
documento. As como una vista optativa
adicional del almacenamiento de los datos 4.6 Test
persistentes. Se termina con una seccin para Este flujo de trabajo es el encargado de evaluar
describir los requerimientos en tiempo y la calidad del producto que estamos
espacio, y otra con una explicacin de cmo desarrollando, pero no para aceptar o rechazar
contribuye la arquitectura a garantizar la el producto al final del proceso de desarrollo,
calidad del software. sino que debe ir integrado en todo el ciclo de
vida. Como se dice en [1] : El papel del testeo
4.5 Implementacin no es asegurar la calidad, pero s evaluarla, y
En este flujo de trabajo se implementan las proporcionar una realimentacin a tiempo, de
clases y objetos en ficheros fuente, binarios, forma que las cuestiones de calidad puedan
ejecutables y dems. Adems se deben hacer resolverse de manera efectiva en tiempo y
los tests de unidad: cada implementador es coste.
responsable de testear las unidades que Los principales aspectos a ser evaluados en un
produzca. El resultado final de este flujo de producto software son la Fiabilidad (resistente a
trabajo es un sistema ejecutable. fallos), la Funcionalidad (hace lo que debe) y el
En cada iteracin habr que hacer lo siguiente: Rendimiento (lleva a cabo su trabajo de manera
Planear que subsistemas deben ser efectiva). Los tests pueden hacerse a diferentes
implementados y en que orden deben ser niveles dependiendo del objetivo de los
integrados, formando el Plan de mismos, a saber: Test de unidad (se testean las
Integracin. unidades mnimas por separado, y normalmente
Cada implementador decide en que orden se hace durante la implementacin misma), de
implementa los elementos del subsistema. integracin (varias unidades juntas), de sistema
Si encuentra errores de diseo, los notifica. (sobre la aplicacin o sistema completo) y de
Se testean los subsitemas individualmente. aceptacin (realizado sobre el sistema global
Se integra el sistema siguiendo el plan. por los usuarios o terceros). Dentro de cada uno
La estructura de todos los elementos de estos niveles podemos distinguir distintos
implementados forma el modelo de tipos de test.
implementacin. A la representacin de lo que ser testeado y
La integracin debe ser incremental, es decir, cmo debe de hacerse es a lo que se le llama el
en cada momento slo se aade un elemento. modelo de test. Incluye la coleccin de casos de
De este modo es ms fcil localizar fallos y los test, procedimientos de test, scripts, resultados
componentes se prueban ms a fondo. esperados...
Las actividades de este flujo comienzan pronto La gestin de la configuracin, que
en el proyecto con el plan de test (el cual maneja la estructura del producto, la
contiene informacin sobre los objetivos identificacin de los elementos,
generales y especficos del testeo en el configuraciones validas de los mismos
proyecto, as como las estrategias y recursos versiones, versiones y espacios de trabajo.
con que se dotar a esta tarea), o incluso antes Gestin de las peticiones de cambio, que
con alguna evaluacin durante la fase de inicio, coordina el proceso de modifivar artefactos
y continuar durante todo el proyecto. de una manera consistente.
El desarrollo del flujo de trabajo consistir en Mtricas y status, que se encarga de
planificar que es lo que hay que testear, disear extraer informacin para la correcta
cmo se va a hacer, implementar lo necesario administracin del proyecto de las
para llevarlos a cabo, ejecutarlos en los niveles herramientas que soportan las dos
necesarios y obtener los resultados, de forma funciones anteriores.
que la informacin obtenida nos sirva para ir
refinando el producto a desarrollar. 4.8 Entorno
La finalidad de este workflow es dar soporte al
Producto: Plan de Test. proyecto con las adecuadas herramientas,
El RUP diferencia entre un Plan de Test global, procesos y metodos. Es decir tener a punto las
donde se describen los objetivos y mecanismos herramientas que se vayan a necesitar en cada
que se van a utilizar para el proyecto en momento, as como definir la instancia concreta
general, as como un plan de test especifico de proceso unificado que se va a seguir.
para cada iteracin donde se especifica que En concreto las responsabilidades de este flujo
elementos se deben testear, cuales son los de trabajo incluyen:
objetivos que se persiguen con esas pruebas, y Seleccin y adquisicin de herramientas.
la aproximacin a utilizar para conseguir esos Establecer y configurar las herramientas
objetivos. Incluyendo tambin una estimacin para que se ajusten a la organizacin.
de los recursos necesarios para llevarlos a cabo. Configuracin del proceso.
Mejora del proceso.
4.7 Configuracin y gestin de cambios Sercicios tcnicos.
La finalidad de este flujo de trabajo es mantener
El principal artefacto que se usa en este flujo de
la integridad de todos los artefactos que se
trabajo es el caso de desarrollo que especifica
crean en el proceso, asi como de mantener
para el proyecto actual en concreto, como se
informacin del proceso evolutivo que han
aplicar el proceso unificado, que productos se
seguido.
van a utilizar y como van a ser utiliados.
Las causas por las que la evolucin de los
Ademas se tendrn que definir las lineas guia
artefactos puede causar problemas segn [8]
(los pasos concretos y polt icas a seguir) para
son:
los distintos aspectos del proceso, como pueden
Actualizacin simultanea: Se da cuando ser el modelado del negocio y los casos de uso,
dos personas trabajan por separado sobre el
para la interfaz de usuario, el diseo, la
mismo artefacto a la vez, el ltimo en hacer
programacin, el manual de usuario, ...
las modificaciones sobreescribe lo hecho
Las actividades que se deben llevar a cabo
por el primero. durante este flujo de trabajo segn [6] son:
Notificacin limitada: Cuando un Preparar el entorno para el trabajo.
problema ha sido resuelto en un artefacto
Preparar el entorno para una iteracin.
compartido por varios roles y algunos de
Preprarar las lineas de guia para una
ellos no son notificados del cambio.
iteracin.
Multiples versiones: Cuando se trabaja con
diferentes versiones del producto al mismo Dar soporte al entorno durante la iteracin.
tiempo en diferentes flujos de trabajo,
pueden surgir problemas si los cambios no 4.9 Despliegue
son convenientemente monitorizados y El objetivo de este flujo de trabajo es producir
con xito distribuciones del producto y
propagados.
distribuirlo a los usuarios. Las actividades
La configuracin y gestin de cambios cubre
implicadas incluyen:
tres funciones interdependientes:
Testear el producto en su entorno de A diferencia de otros flujos de trabajo RUP da
ejecucin final. un detalle menor al despliegue, debido a la ya
Empaquetar el software para su citada diversidady especificidad de cada
distribucin. proyecto.
Distribuir el software.
Instalar el sofware. 5. Conclusiones
Proveer asistencia y ayuda a los usuarios. En este documento se ha dado una visin
Formar a los usuarios y al cuerpo de general de lo que es el RUP, as como de la
ventas. estructura bidimensional que sigue, dividiendo
Migrar el software existente o convertir el proceso en fases, y estas en flujos de trabajo.
bases de datos. Se han dado apuntes de lo que se espera de
Este flujo de trabajo se desarrolla con mayor cada fase as como la forma de manejar los
intensidad en la fase de transicin, ya que el flujos de trabajo.
proposito tanto del flujo como de la fase es Para aplicar el RUP en pequeos equipos y
asegurar una aceptacin y adaptacin sin proyectos se deber mapear los diferentes roles
complicaciones del software por parte de los (a los que no hemos dado especial relevancia
usuarios. Aunque la ejecucin de este flujo de en este documento) entre los distintos
trabajo debe empiezar en fases anteriores, para miembros del equipo, pero la diferencia clave
preparar el camino, sobre todo con actividades con un proyecto de mayor envergadura, segn
de planificacin, pero tambien con la [9], es el grado de formalidad a la hora de usar
elaboracin del manual de usuario, tutoriales, los distintos artefactos, planes del proyecto,
... Dado el amplio rango de aplicaciones que se requisitos, clases, ... En [10] se pueden
pueden dar y sus diversas caractersticas los encontrar consejos sobre que artefactos utilizar
productos necesitados por este flujo de trabajo y cmo hacerlo.
puede variar en gran medida. Aunque el El RUP es una metodologa completa y
artefacto clave es una distribucin (release) del extensa que intenta abarcar todo el mundo del
producto, que en general puede consistir de: desarrollo software, tanto para pequeos
Software ejecutable (en todos los casos). proyectos, como proyectos ms ambiciosos de
varios aos de duracin. Por lo que existe una
Productos de instalacin: scripts,
gran cantidad de documentacin sobre el
herramientas, archivos, guias, informacin
mismo, tanto en libros como en la red, eso s
sobre licencia, ...
en ingles. Es sin embargo difcil empezar a
Notas de la distribucin, describiendola al
aplicar esta metodologa en una organizacin.
usuario final.
Por eso esperamos que este documento sirva
Material de apoyo, como pueden ser los tanto para familiarizar con el Proceso
manuales de usuario, de operaciones y Unificado a aquellos que no lo conocan, as
mantenimiento. como de servir de gua durante la ejecucin del
Materiales formativos. mismo.

Mukdaprakorn, Inception Phase, Asian


5. Referencias University of Science and Technology.
[5]http://atenea.ucauca.edu.co/~gramirez/archi
[1]Philippe Kruchten, The Rational Unified vos/AnotacionesRUP.pdf Ramrez
Process An Introduction, Addison Gonzlez, Gustavo A., Laboratorio III de
Wesley, 2001. Electrnica, Anotaciones RUP, 2001.
[2]http://www.rational.com/media/whitepapers [6]http://davidfrico.com/rup-slc.pdf Rational
/apprmuc.pdf Roger O., Leslee P., Maria Unified Process Software Life Cycle Una
E., Applying Requirements Management tabla resumen de los flujos, trabajadores y
with Use Case. productos.
[3]http://www.therationaledge.com/content/oct [7]http://www.public.iastate.edu/~shaf2/cs362
_02/f_iterativePlanning_pk.jsp Philippe docs/Templates/rup_wd_tmpl.zip
Kruchten, Planning an Iterative Project. Plantillas de productos de RUP
[4]http://www.asia nust.ac.th/~mukdaprp/fall20 [8]Rational White Paper, Best Practices for
02/is008/lectures/inception.pdf Pat Software Development Teams, 1998
[9]http://www.rational.com/products/rup/faq.js
p FAQ sobre RUP.
[10]http://www.yoopeedoo.com/upedu/,
Pagina web de UPEDU (Unified Process
for EDUcation).
[11]http://www.yoopeedoo.com/upedu/process
/artifact/tmpl_cs/ovu_tmplcs.htm Ejemplo
1.
[12]http://www.public.iastate.edu/~shaf2/cs36
2_main.htm Ejemplo 2.
Anexo I

El objetivo de este anexo es servir de gua para la instalacin y uso de las plantillas de los productos de
RUP.

Paso 1. Obtener las plantillas.


Pueden conseguirse en esta direccin:
http://www.public.iastate.edu/~shaf2/cs362docs/Templates/rup_wd_tmpl.zip

En sta otra direccin se puede conseguir otras plantillas un poco ms simples y que ya han sido
parcialmente completadas. Desafortunadamente no son plantillas de RUP, sino de una variante
llamada UPEDU. En esencia es lo mismo, pero ms simplificado y orientado al mundo de la
educacin. Para las prcticas servirn igual o mejor, de hecho con ellas se hizo el ejemplo 1.
http://www.yoopeedoo.com/upedu/process/artifact/tmpl_cs/wrdtmpl/upedu_wd_tmpl.zip

Paso 2. Instalacin.
Descomprime el archivo ZIP. Arranca el Microsoft Word, ve a Herramientas, Opciones, Ubicacin de
Archivos. Anota la direccin de Plantillas Personales o modifcala segn te convenga. En esa
ubicacin copia la carpeta con las plantillas y llmala Plantillas RUP.

Paso 3. Uso.
Arranca el Microsoft Word, ve a Archivo, Nuevo Elige Nuevo a partir de una plantilla. En el cuadro
que aparezca habr una pestaa llamada Plantillas RUP. Plsala y elige una plantilla.
Cuando tengas la plantilla abierta tendrs que cambiar las variables como el nombre de proyecto. Para
ello pulsa Archivo, Propiedades. En la pestaa Resumen modifica los campos segn te interese. Pulsa
Aceptar. Para actualizar los campos selecciona todo (Edicin, Seleccionar Todo) y pulsa F9 (equivale
a Actualizar Campos).
Ahora slo queda rellenar la plantilla. Cada una contiene instrucciones (en ingls) sobre su uso.
Tambin es conveniente leerse este documento entero.

Rellenando las plantillas

Todas las plantillas tienen la seccin 1 en comn, que pasaremos a estudiar con detenimiento. Es
conveniente que aunque las plantillas estn en ingls, los documentos los generemos en castellano.

Revision History (Historia de Revisiones)


Se trata de una tabla que contiene los distintos cambios que se han realizado sobre el documento. En
concreto hay que poner la fecha, a que versin del sistema corresponde el cambio, una muy breve
descripcin del cambio y el o los autores. Est en todos los ejemplos, as que mralos para captar el
espritu de la tabla.

Table of Contents (Tabla de Contenidos)


ndice del documento. Se rellena automticamente, no tocar. Para actualizarla, haz clic con el botn
derecho y pulsa Actualizar Campos.

Introduction (Introduccin)
Todos los documentos tienen una introduccin para indicar para qu sirven. Cada plantilla la trae casi
completamente hecha, en algunos casos slo hay que sustituir el nombre del proyecto.

Purpose (Propsito)
El propsito del documento. Si no sabes para que sirve, ms vale que no lo hagas.

Scope (mbito)
El rea que cubre el documento. Por ejemplo un glosario cubre las palabras extraas, la lista de riesgos
se extiende por toda la vida del proyecto y el modelo de diseo abarca todo el sistema. Puede ser un
lo diferenciar que poner en la introduccin, el propsito o el mbito. Si crees que todo queda dicho en
un punto o dos, puedes saltarte tranquilamente el resto.

Definitions, Acronyms, and Abbreviations (Definiciones, Acrnimos y Abreviaturas)


Se trata de un pequeo glosario especfico de este documento. Si vas a poner muchas definiciones, pon
simplemente una referencia al glosario general en lugar de repetirlo casi entero aqu.

References (Referencias)
Lista de documentos que son referenciados en ste.

Overview (Visin de conjunto)


Resumen del resto del documento. Pon aqu cualquier cosa que quede por decir sobre el documento y
no est en los puntos anteriores. Si crees que todo est claro, sltatelo.

View publication stats

S-ar putea să vă placă și