Anda di halaman 1dari 5

NOTAS DE CLASE INGENIERA DE SOFTWARE I

Metodologa RUP
La etodologa e pleada e el p oye to fue la RUP Ratio al U ified P o ess , asada e
todos del p o eso de
ingeniera de software que proporciona un enfoque disciplinado para asignar tareas y responsabilidades dentro de una
organizacin en cuanto al desarrollo. El RUP no es un sistema con pasos firmemente establecidos, sino un conjunto de
metodologas adaptables al contexto y necesidades de cada organizacin.
Los orgenes de RUP se remontan al modelo espiral original de Barry Boehm. El Rational Unified Process fue el resultado de
una convergencia de Rational Approach y Objectory (el proceso de la empresa Objectory AB). El primer resultado de esta
fusin fue el Rational Objectory Process, la primera versin de RUP, fue puesta en el mercado en 1998, siendo el arquitecto
en jefe Philippe Kruchten.
La metodologa RUP es ms apropiada para proyectos grandes (aunque tambin pequeos), dado que requiere un equipo
de trabajo capaz de administrar un proceso complejo en varias etapas. En proyectos pequeos, es posible que no se puedan
cubrir los costos de dedicacin del equipo de profesionales necesarios.
En lo que se refiere a la metodologa esta comprende tres frases claves: Dirigido por los casos de uso, centrado en la
arquitectura, iterativo e incremental.
Los Casos de Uso son la base para la implementacin de las fases y disciplinas del RUP. Un Caso de Uso es una secuencia de
pasos a seguir para la realizacin de un fin o propsito, y se relaciona directamente con los requerimientos, ya que un Caso
de Uso es la secuencia de pasos que conlleva la realizacin e implementacin de un Requerimiento planteado por el
Cliente.
La arquitectura de un sistema es la organizacin o estructura de sus partes ms relevantes. Una arquitectura ejecutable es
una implementacin parcial del sistema, construida para demostrar algunas funciones y propiedades. RUP establece
refinamientos sucesivos de una arquitectura ejecutable, construida como un prototipo evolutivo.
El modelo por proceso iterativo e incremental plantea la implementacin del proyecto a realizar en Iteraciones, con lo cual
se pueden definir objetivos por cumplir en cada iteracin y as poder ir completando todo el proyecto iteracin por
iteracin, proporcionando varias ventajas, entre ellas, tener pequeos avances del proyecto, que son entregables al cliente
el cual puede probar mientras se est desarrollando otra iteracin del proyecto, con lo cual el proyecto va creciendo hasta
completarse en su totalidad.

Figura 1. Fases de la metodologa RUP

NOTAS DE CLASE INGENIERA DE SOFTWARE I


RUP est basado en 6 principios clave que son:
Adaptar el proceso
El proceso deber adaptarse a las caractersticas propias del proyecto u organizacin. El tamao del mismo, as como su
tipo o las regulaciones que lo condicionen, influirn en su diseo especfico. Tambin se deber tener en cuenta el alcance
del proyecto en un rea subformal.
Equilibrar prioridades
Los requerimientos de los diversos participantes pueden ser diferentes, contradictorios o disputarse recursos limitados.
Debe encontrarse un equilibrio que satisfaga los deseos de todos. Gracias a este equilibrio se podrn corregir desacuerdos
que surjan en el futuro.
Demostrar valor iterativamente
Los proyectos se entregan, aunque sea de un modo interno, en etapas iteradas. En cada iteracin se analiza la opinin de
los inversores, la estabilidad y calidad del producto, y se refina la direccin del proyecto as como tambin los riesgos
involucrados.
Colaboracin entre equipos.
El desarrollo de software no lo hace una nica persona sino mltiples equipos. Debe haber una comunicacin fluida para
coordinar requerimientos, desarrollo, evaluaciones, planes, resultados y otros.
Elevar el nivel de abstraccin
Este principio dominante motiva el uso de conceptos reutilizables tales como patrn del software, lenguajes 4GL o marcos
de referencia (frameworks) por nombrar algunos. Esto evita que los ingenieros de software vayan directamente de los
requisitos a la codificacin de software a la medida del cliente, sin saber con certeza qu codificar para satisfacer de la
mejor manera los requerimientos y sin comenzar desde un principio pensando en la reutilizacin del cdigo. Un alto nivel
de abstraccin tambin permite discusiones sobre diversos niveles y soluciones arquitectnicas. stas se pueden
acompaar por las representaciones visuales de la arquitectura, por ejemplo con el lenguaje UML.
Enfocarse en la calidad
El control de calidad no debe realizarse al final de cada iteracin, sino en todos los aspectos de la produccin. El
aseguramiento de la calidad forma parte del proceso de desarrollo y no de un grupo independiente.
El ciclo de vida organiza las tareas en fases e iteraciones. RUP divide el proceso en cuatro fases, dentro de las cuales se
ealiza va ias ite a io es e
e o de va ia le seg el p oye to y e las ue se ha e u
ayo o e o hi api en
las distintas actividades.
En la Figura 2, se muestra cmo vara el esfuerzo asociado a las disciplinas segn la fase en la que se encuentre el proyecto
RUP.

Figura 2. Ciclo de vida RUP

NOTAS DE CLASE INGENIERA DE SOFTWARE I


Las primeras iteraciones (en las fases de Inicio y Elaboracin) se enfocan hacia la comprensin del problema y la tecnologa,
la delimitacin del mbito del proyecto, la eliminacin de los riesgos crticos, y al establecimiento de una baseline (Lnea
Base) de la arquitectura.
Durante la fase de inicio las iteraciones hacen mayor nfasis en actividades de modelado del negocio y de requerimientos.
En la fase de elaboracin, las iteraciones se orientan al desarrollo de la baseline de la arquitectura, abarcan ms los flujos
de trabajo de requerimientos, modelo de negocios (refinamiento), anlisis, diseo y una parte de implementacin
orientado a la lnea base de la arquitectura.
En la fase de construccin, se lleva a cabo la construccin del producto por medio de una serie de iteraciones.
Para cada iteracin se selecciona algunos Casos de Uso, se refina su anlisis y diseo y se procede a su implementacin y
pruebas. Se realiza una pequea cascada para cada ciclo. Se realizan tantas iteraciones hasta que se termine la
implementacin de la nueva versin del producto.
En la fase de transicin se pretende garantizar que se tiene un producto preparado para su entrega a la comunidad de
usuarios.
Como se puede observar en cada fase participan todas las disciplinas, pero que dependiendo de la fase el esfuerzo dedicado
a una disciplina vara.
Principales caractersticas del ciclo de vida
Forma disciplinada de asignar tareas y responsabilidades (quin hace qu, cundo y cmo).
Pretende implementar las mejores prcticas en Ingeniera de Software.
Desarrollo iterativo.
Administracin de requisitos.
Uso de arquitectura basada en componentes.
Control de cambios.
Modelado visual del software.
Verificacin de la calidad del software.
El RUP, se caracteriza por ser iterativo e incremental, estar centrado en la arquitectura y guiado por los casos de uso.
Incluye artefactos (que son los productos tangibles del proceso como por ejemplo, el modelo de casos de uso, el cdigo
fuente, etc.) y roles (papel que desempea una persona en un determinado momento, una persona puede desempear
distintos roles a lo largo del proceso).
U aspe to i po ta te po los uales se esta le e las dis ipli as e el RUP, es el p o eso , uie
de negocio, requisitos, anlisis y diseo, implementacin, pruebas y despliegue.
Ot o aspe to es el sopo te , e el ual e o t a os la gesti del a
entorno.

ontempla el modelado

io y o figu a io es, la gesti del p oye to y el

La estructura dinmica 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:
La Fase de Inicio (tambin llamado incepcin o concepcin), tiene como propsito definir y acordar el alcance del proyecto
con los patrocinadores, identificar los riesgos asociados al proyecto, proponer una visin muy general de la arquitectura de
software y producir el plan de las fases y el de iteraciones posteriores.

NOTAS DE CLASE INGENIERA DE SOFTWARE I


En la fase de Elaboracin se seleccionan los casos de uso que permiten definir la arquitectura base del sistema y se
desarrollaran en esta fase, se realiza la especificacin de los casos de uso seleccionados y el primer anlisis del dominio del
problema, se disea la solucin preliminar.
El propsito de Fase de Desarrollo (tambin llamado Implementacin, y/o construccin), es completar la funcionalidad del
sistema, para ello se deben clarificar los requerimientos pendientes, administrar los cambios de acuerdo a las evaluaciones
realizados por los usuarios y se realizan las mejoras para el proyecto.
La Fase de Transicin y/o Cierre, tiene como propsito asegurar que el software est disponible para los usuarios finales,
ajustar los errores y defectos encontrados en las pruebas de aceptacin, capacitar a los usuarios y proveer el soporte
tcnico necesario. Se debe verificar que el producto cumpla con las especificaciones entregadas por las personas
involucradas en el proyecto.
En cada una de sus fases del RUP (pertenecientes a la estructura esttica) se realiza una serie de artefactos que sirven para
comprender mejor tanto el anlisis como el diseo del sistema (entre otros). Estos artefactos (entre otros) son los
siguientes: Documento visin, especificacin de requerimientos, diagramas de caso de uso, documento arquitectura que
trabaja con las siguientes vistas (vista lgica), diagrama de clases y MER, diagrama de secuencia, diagrama de estados,
diagrama de colaboracin (vista conceptual), modelo de dominio (vista fsica) y el mapa de comportamiento a nivel de
hardware.
Todas las fases no son idnticas en trminos de tiempo y esfuerzo. Aunque esto vara considerablemente dependiendo del
proyecto, un ciclo de desarrollo inicial tpico para un proyecto de tamao mediano debe anticipar la distribucin siguiente:

Figura 3. Recursos utilizados en las fases del RUP en el tiempo


En un ciclo evolutivo, las fases de concepcin y elaboracin seran considerablemente ms pequeas. Algunas herramientas
que pueden automatizar una cierta porcin del esfuerzo de la fase de Construccin pueden atenuar esto, haciendo que la
fase de construccin sea mucho ms pequea que las fases de concepcin y elaboracin juntas.

Figura 3. Ciclo evolutivo en la elaboracin de software basado en el RUP

NOTAS DE CLASE INGENIERA DE SOFTWARE I

Los i los evolutivos puede se iniciados por las mejoras sugeridas por el usuario, cambios en el contexto del usuario,
cambios en la tecnologa subyacente, reaccin a la competicin, etctera. Los ciclos evolutivos tienen tpicamente fases de
concepcin y elaboracin mucho ms cortas, puesto que la definicin y la arquitectura bsicas del producto son
determinadas por los ciclos de desarrollo anteriores. Las excepciones a esta regla son los ciclos evolutivos en los cuales
ocurre o surge un producto significativo o una redefinicin arquitectnica.
Entre los elementos que componen el RUP se tienen: Flujos de Trabajo, Detalle de los Flujos de Trabajo, Actores,
Actividades y Artefactos. En la figura 5 se muestra ms claramente cmo se representan grficamente cada uno de estos
elementos y la interrelacin entre ellos. Se puede observar que el Flujo de Trabajo de Requerimientos conlleva varios pasos,
cada uno de estos pasos tiene asociado uno o varios actores, los cuales a su vez son los encargados de la ejecucin de varias
actividades, las cuales a la vez est defi idas e a tefa tos o guas pa a su ealiza i .

Figura 5. Elementos que conforman el RUP


Ejemplo de desarrollo de software utilizando el modelo RUP
Desarrollo de un sistema para la gestin de artculos deportivos
Ir al siguiente link.
http://users.dsic.upv.es/asignaturas/facultad/lsi/ejemplorup/index.html

Anda mungkin juga menyukai