Вы находитесь на странице: 1из 16

2010

UML Y RUP
Introduccin al anlisis, implementacin y documentacin de sistemas orientados a objetos
Alumnos: Jacqueline Borbn Torres David Esteban Contreras Loreto Jos Alberto De La Rosa De La Fuente Jorge Isaac Flores Lpez Manuel Antonio Higuera Campaa Rosa Belem Molina Ramrez Francisco Guadalupe Moreno Romero Ernesto Alejandro Orozco Rodrguez

Carrera: Ing. En Sistemas Computacionales Materia: Planificacin y Modelado Docente: Hctor David Lpez Pez

INTRODUCCIN
Cualquier rama de ingeniera o arquitectura ha encontrado til desde hace mucho tiempo la representacin de los diseos de forma grfica. Desde los inicios de la informtica se han estado utilizando distintas formas de representar los diseos de una forma ms bien personal o con algn modelo grfico. La falta de estandarizacin en la manera de representar grficamente un modelo impeda que los diseos grficos realizados se pudieran compartir fcilmente entre distintos diseadores. Se necesitaba por tanto un lenguaje no slo para comunicar las ideas a otros desarrolladores sino tambin para servir de apoyo en los procesos de anlisis de un problema. Con este objetivo se cre el proceso de desarrollo de software, RUP (Rational Unified Process), que junto con el Lenguaje Unificado de Modelado

(Unified Modeling Language), constituye la metodologa estndar ms utilizada para el anlisis, implementacin y documentacin de sistemas orientados a objetos. UML se ha convertido en ese estndar tan ansiado para representar y modelar la informacin con la que se trabaja en las fases de anlisis y, especialmente, de diseo. El lenguaje UML tiene una notacin grfica muy expresiva que permite representar en mayor o menor medida todas las fases de un proyecto informtico: desde el anlisis con los casos de uso, el diseo con los diagramas de clases, objetos, etc., hasta la implementacin y configuracin con los diagramas de despliegue.

JUSTIFICACIN
Con la introduccin de los lenguajes orientados a objetos, surge la necesidad de implementar nuevas tcnicas de diseo y anlisis. Es aqu donde entran en uso el lenguaje UML y RUP.

OBJETIVO
Dar a conocer las caractersticas y utilidad del lenguaje UML y su metodologa RUP, desde sus orgenes hasta el da de hoy.

FUNDAMENTO TERICO CMO Y POR QU SURGE UML?


Tras la aparicin de los lenguajes orientados a objetos se buscaron nuevas metodologas que permitiesen el anlisis y diseo de aplicaciones bajo dichos lenguajes; estas metodologas fueron los primeros lenguajes de modelado orientados a objetos. Al no poder cubrir stos todas las necesidades de los desarrolladores, surgi una nueva generacin de lenguajes ms potentes, liderados por el mtodo de Booch, el mtodo OOSE de Jacobson y el mtodo OMT de Rumbaugh; cada uno de estos mtodos destacaba en algunos puntos pero fallaba en otros. El lenguaje UML comenz a gestarse en octubre de 1994, cuando James Rumbaugh se uni a la compaa Rational fundada por Grady Booch (dos reputados investigadores en el rea de metodologa del software). El objetivo de ambos era
3

unificar dos mtodos que haban desarrollado: el mtodo Booch y el OMT (Object Modelling Tool ). El primer borrador apareci en octubre de 1995. En esa misma poca otro reputado investigador, Ivar Jacobson, se uni a Rational y se incluyeron ideas suyas. Estas tres personas son conocidas como los tres amigos. Adems, este lenguaje se abri a la colaboracin de otras empresas para que aportaran sus ideas. Todas estas colaboraciones condujeron a la definicin de la primera versin de UML. La versin 1.0 de UML surgi en 1997 con la contribucin de IBM, HP, Oracle, Microsoft y otras organizaciones. El desarrollo de UML contina actualmente bajo el control de IBM (que adquiri Rational); la ltima versin de UML es la 2.0.

MODELADO VISUAL
Tal como indica su nombre, UML es un lenguaje de modelado. Un modelo es una simplificacin de la realidad. El objetivo del modelado de un sistema es capturar las partes esenciales del sistema. Para facilitar este modelado, se realiza una abstraccin y se plasma en una notacin grfica. Esto se conoce como modelado visual. El modelado visual permite manejar la complejidad de los sistemas a analizar o disear. De la misma forma que para construir una choza no hace falta un modelo, cuando se intenta construir un sistema complejo como un rascacielos, es necesario abstraer la complejidad en modelos que el ser humano pueda entender.

UML sirve para el modelado completo de sistemas complejos, tanto en el diseo de los sistemas de software como para la arquitectura hardware donde se ejecuten. Otro objetivo de este modelado visual es que sea independiente del lenguaje de implementacin, de tal forma que los diseos realizados usando UML se puedan implementar en cualquier lenguaje que soporte las posibilidades de UML (principalmente lenguajes orientados a objetos). UML es adems un mtodo formal de modelado. Esto aporta las siguientes ventajas:

y y y

Mayor rigor en la especificacin. Permite realizar una verificacin y validacin del modelo realizado. Se pueden automatizar determinados procesos y permite generar cdigo a partir de los modelos y a la inversa (a partir del cdigo fuente generar los modelos). Esto permite que el modelo y el cdigo estn actualizados, con lo que siempre se puede mantener la visin en el diseo, de ms alto nivel, de la estructura de un proyecto.

QU ES UML?
UML es ante todo un lenguaje. Un lenguaje proporciona un vocabulario y unas reglas para permitir una comunicacin. En este caso, este lenguaje se centra en la representacin grfica de un sistema. Este lenguaje nos indica cmo crear y leer los modelos, pero no dice cmo crearlos. Esto ltimo es el objetivo de las metodologas de desarrollo.
5

y y

Los objetivos de UML son muchos, pero se pueden sintetizar sus funciones: Visualizar: UML permite expresar de una forma grfica un sistema de forma que otro lo puede entender.

Especificar: UML permite especificar cules son las caractersticas de un sistema antes de su construccin.

Construir: A partir de los modelos especificados se pueden construir los sistemas diseados.

Documentar: Los propios elementos grficos sirven como documentacin del sistema desarrollado que pueden servir para su futura revisin.

Aunque UML est pensado para modelar sistemas complejos con gran cantidad de software, el lenguaje es los suficientemente expresivo como para modelar sistemas que no son informticos, como flujos de trabajo (workflow ) en una empresa, diseo de la estructura de una organizacin y por supuesto, en el diseo de hardware. Un modelo UML est compuesto por tres clases de bloques de construccin: Elementos: Los elementos son abstracciones de cosas reales o ficticias (objetos, acciones, etc.) y y Relaciones: relacionan los elementos entre s. Diagramas: Son colecciones de elementos con sus relaciones.

La diferencia entre UML y los lenguajes de programacin normales es que UML es un lenguaje que utiliza grficos para describir objetos. UML tambin es utilizado para describir patrones de diseo que pueden ser aplicados al entorno .NET.
6

DIAGRAMAS UML
Un diagrama es la representacin grfica de un conjunto de elementos con sus relaciones. En concreto, un diagrama ofrece una vista del sistema a modelar. Para poder representar correctamente un sistema, UML ofrece una amplia variedad de diagramas para visualizar el sistema desde varias perspectivas. UML incluye los siguientes diagramas: Diagramas de estructura: y Diagrama de clases. Diagrama de componentes. Diagrama de objetos Diagrama de estructura compuesta Diagrama de despliegue Diagrama de paquetes

Diagramas de comportamiento: y y y Diagrama de actividades Diagrama de casos de uso Diagrama de estados

Diagramas de interaccin: y y Diagrama de secuencia Diagrama de comunicacin


7

y y

Diagrama de tiempos Diagrama de vista de interaccin

Los diagramas ms interesantes (y los ms usados) son los de casos de uso, clases y secuencia, por lo que nos centraremos en stos. El diagrama de casos de uso representa grficamente los casos de uso que tiene un sistema. Se define un caso de uso como cada interaccin supuesta con el sistema a desarrollar, donde se representan los requisitos funcionales. Es decir, se est diciendo lo que tiene que hacer un sistema y cmo. El diagrama de clases muestra un conjunto de clases, interfaces y sus relaciones. ste es el diagrama ms comn a la hora de describir el diseo de los sistemas orientados a objetos. En el diagrama de secuencia se muestra la interaccin de los objetos que componen un sistema de forma temporal. El resto de diagramas muestran distintos aspectos del sistema a modelar. Para modelar el comportamiento dinmico del sistema estn los de interaccin, colaboracin, estados y actividades. Los diagramas de componentes y despliegue estn enfocados a la implementacin del sistema.

QU ES RUP?
y y Es un proceso de desarrollo de software: Forma disciplinada de asignar tareas y responsabilidades en una empresa de desarrollo (quin hace qu, cundo y cmo). y Junto con el Lenguaje Unificado de Modelado UML, constituye la metodologa estndar ms utilizada para el anlisis, implementacin y documentacin de sistemas orientados a objetos. y Es un conjunto de metodologas adaptables al contexto y necesidades de cada organizacin. y RUP es una gua de cmo usar UML de la forma ms efectiva.

CULES SON LOS CICLOS Y FASES QUE INTERVIENEN EN RUP?


RUP divide el proceso de desarrollo en ciclos, teniendo un producto al final de cada ciclo. Cada ciclo se divide en 4 fases: INICIO: y y Establece la oportunidad y alcance el proyecto.

ELABORACIN: y y y Analizar el dominio del problema Establecer una arquitectura base slida Desarrollar un plan de proyecto
9

Eliminar los elementos de mayor riesgo para el desarrollo exitoso del proyecto

CONSTRUCCIN O DESARROLLO:

y En esta fase todas las componentes restantes se desarrollan e


incorporan al producto. y TRANSICIN O CIERRE: y Se debe verificar que el producto cumpla con las especificaciones entregadas por las personas involucradas en el proyecto.

QU SON LOS ROLES?


Un Rol define el comportamiento y las responsabilidades de un individuo. Los roles se distribuyen entre los miembros del proyecto y que definen las tareas de cada uno y el resultado (artefactos) que se espera de ellos. Todos los miembros del equipo comparten: Base de conocimiento Proceso Vista de cmo desarrollar software Lenguaje de modelamiento (UML)

y y y y

10

QU SON LAS ACTIVIDADES?


Una actividad es una unidad de trabajo que se asigna a un trabajador y lleva entre un par de horas y un par de das, involucra un solo trabajador y un nmero pequeo de artefactos.

QU SON ARTEFACTOS?
RUP en cada una de sus fases (pertenecientes a la estructura esttica) 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: INICIO: y y Documento Visin Especificacin de Requisitos

ELABORACIN: y Diagramas de caso de uso

11

CONSTRUCCIN: y Documento Arquitectura que trabaja con las siguientes vistas:

VISTA LGICA: y y Diagrama de clases Modelo E-R (Si el sistema as lo requiere)

VISTA DE IMPLEMENTACIN: y y y Diagrama de Secuencia Diagrama de estados Diagrama de Colaboracin

VISTA CONCEPTUAL: y Modelo de dominio

VISTA FSICA: y Mapa de comportamiento a nivel de hardware.

12

CULES SON LOS PRINCIPIOS DE DESARROLLO DE RUP?


El RUP est basado en 6 principios clave que son los siguientes:

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 requisitos 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
13

Colaboracin entre equipos El desarrollo de software no lo hace una nica persona sino mltiples equipos. Debe haber una comunicacin fluida para coordinar requisitos, desarrollo, evaluaciones, planes, resultados, etc.

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 requisitos 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

14

ORGENES DE RUP
Los orgenes de RUP se remontan al modelo espiral original de Barry Boehm. Ken Hartman, uno de los contribuidores claves de RUP colabor con Boehm en la investigacin. En 1995 Rational Software compr una compaa sueca llamada Objectory AB, fundada por Ivar Jacobson, famoso por haber incorporado los casos de uso a los mtodos de desarrollo orientados a objetos. 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.

CONCLUSIN
Nosotros como equipo consideramos que RUP junto con UML, es una metodologa muy completa, de la cual nos dimos cuenta que posee extensa informacin con lo que pudimos comprender que UML y RUP son, aunque ambas distintas cosas, herramientas que juntas ayudan a crear modelos bastante bien estructurados acerca de un sistema. UML es un lenguaje visual y modelado, ofrece varios diagramas para representar ideas. RUP es un modelo o proceso de desarrollo de software, se basan en desarrollo incremental y suele ser difcil si no se cuenta con la documentacin adecuada y suficiente. RUP usa UML para llevar la documentacin del sistema, facilitar la etapa de diseo y desarrollo, a las ideas y a ayudar al equipo a comunicarlas.

15

FUENTES DE INFORMACIN
http://www.wikipedia.org http://html.rincondelvago.com http://www.rational.com.ar/herramientas/rup.html http://www.planetacodigo.com/wiki/glosario:uml http://www.alegsa.com.ar/Dic/uml.php http://www.usmp.edu.pe/publicaciones/boletin/fia/info49/articulos/RUP%20vs. %20XP.pdf y y y http://es.wikipedia.org/wiki/Proceso_Unificado_de_Rational http://setepro.googlecode.com/files/Introduccin a RUP.ppt http://www.monografias.com/trabajos16/lenguaje-modeladounificado/lenguaje-modelado-unificado.shtml

y y y y y y

Enterprise Development with Visual Studio .NET, UML, and MSF by John Erik Hansen and Carsten Thomsen

G. Booch, J. Rumbaugh y I. Jacobson, "El Lenguaje Unificado de Modelado", Addison Wesley, 1999

Jacobson, G. Booch, J. Rumbaugh , "El Proceso Unificado de Desarrollo", Addision Wesley, 2000

E. Hernndez, J. Hernndez, C. Lizandra, "C++ Es-tandar", ITP Paraninfo 2001

El Lenguaje Unificado de Modelado (UML) - Enrique Hernndez Orallo

16

Вам также может понравиться