Está en la página 1de 21

UML 2.

0
Patricia Parra Guzmn Daniel Duarte Delgado
Escuela de Ingeniera de Sistemas y Computacin

Contenido
Introduccin Historia UML MDD Model Driven Development Arquitectura de Metamodelos definida por OMG Perfiles UML Superestructura UML 2.0 Defectos de UML 1.x Diagramas en UML Diagrama de estructura compuesta Diagrama de mquinas de estado Conclusiones Bibliografa

Patricia Parra Guzmn Daniel Duarte Delgado Escuela de Ingeniera de Sistemas y Computacin

Introduccin
El UML se ha vuelto el estndar (impuesto por la industria y los usuarios) para el modelado de aplicaciones de software. En los ltimos aos, su popularidad trascendi al desarrollo de software y, en la actualidad, el UML es utilizado para modelar muchos otros dominios, como por ejemplo el modelado de procesos de negocios. Al momento de desarrollar el nuevo estndar 2.0 del UML, la OMG se propuso, entre otros, dos objetivos que se pueden considerar principales debido a la influencia de stos en la versin final del estndar. Estos objetivos son: Hacer el lenguaje de modelado mucho ms extensible de lo que era.

Permitir la validacin y ejecucin de modelos creados mediante el UML.

Patricia Parra Guzmn Daniel Duarte Delgado Escuela de Ingeniera de Sistemas y Computacin

Historia UML
Las races del UML provienen de tres mtodos distintos. El mtodo de Grady Booch, la Tcnica de Modelado de Objetos de James Rumbaugh y Objetory, de Ivar Jacobson. Conocidas estas tres personalidades como los tres amigos. En 1994 Booch, Rumbaugh y Jacobson dieron forma a la primera versin del UML y en 1997 fue aceptado por la OMG, fecha en la que fue lanzada la versin v1.1 del UML. Desde entonces, UML atraves varias revisiones y refinamientos hasta llegar a la versin actual: UML 2.0.

Patricia Parra Guzmn Daniel Duarte Delgado Escuela de Ingeniera de Sistemas y Computacin

MDD Model Driven Development


UML busca ser un lenguaje legible, y permitir la generacin automtica de cdigo. Esta legibilidad se obtiene mediante diagramas visuales que representan los modelos y para la generacin de cdigo por parte de herramientas, requiere de una definicin formal de UML, lo cual se consigue mediante un metamodelo expresado en el metalenguaje MOF, el cual es precisamente un lenguaje para definir lenguajes de modelado. Para entender la estructura de lo que es MOF y su relacin con UML, se define que es el desarrollo guiado por modelos. El desarrollo guiado por modelos es una aproximacin al desarrollo de software en el que el enfoque y los artefactos fundamentales son los modelos y no los programas, implica la generacin automtica de programas a partir de modelos, por lo que se utilizan lenguajes de modelado como herramienta de implementacin. El modelo por su naturaleza est ms ligado al dominio del problema que a la tecnologa, adems son ms fciles de especificar, comprender y mantener.

Patricia Parra Guzmn Daniel Duarte Delgado Escuela de Ingeniera de Sistemas y Computacin

Arquitectura de Metamodelos
Para lenguajes que requieren sintaxis grfica se necesita el concepto de metamodelado. OMG define una arquitectura basada en 4 niveles de abstraccin que permiten distinguir entre los diferentes niveles conceptuales que intervienen en el modelado de un sistema. Estos niveles son M0, M1, M2 y M3.
M0 Las instancias: Modela el sistema real, sus elementos son las instancias que componen dicho sistema. Ejemplo: Juan presta el ejemplar 123 de Caballo de Troya M1 El modelo del sistema. Los modelos de los sistemas concretos. Ejemplo: Cliente, Presta, Libro

M2 - El modelo del modelo (Metamodelo). Los elementos de M2 son los lenguajes de modelado. Define los elementos que intervienen a la hora de definir un modelo del nivel M1. En el caso de un modelo UML de un sistema, los conceptos propios del nivel M2 son Clase, Atributo o Asociacin.
M3 - El modelo de M2 (el meta-metamodelo). Finalmente el nivel M3 define los elementos que constituyen los distintos lenguajes de modelado. De esta forma el concepto de Clase definido en UML (nivel M2), puede verse como una instancia de un elemento del nivel M3, lo que se conoce como Clasificadores.
Patricia Parra Guzmn Daniel Duarte Delgado Escuela de Ingeniera de Sistemas y Computacin

Arquitectura de Metamodelos
OMG ha definido un lenguaje para describir los elementos de nivel M3, el cual se denomina MOF (Meta-Object Facility). MOF puede considerarse como un lenguaje para describir lenguajes de modelado, como pueden ser UML, CWM (Common Warehouse Metamodel), o incluso el propio MOF. Tales lenguajes pueden ser considerados como instancias del MOF, puesto que lo que proporciona el MOF es un lenguaje con los constructores y mecanismos mnimos necesarios para describir meta-modelos de lenguajes de modelado (es decir, los elementos que van a constituir un lenguaje dado, y las relaciones entre tales elementos).

Patricia Parra Guzmn Daniel Duarte Delgado Escuela de Ingeniera de Sistemas y Computacin

Perfiles UML (UML Profiles)


UML incluye un mecanismo de extensin en el propio lenguaje que permite definir lenguajes de modelado que son derivados de UML.
Un Perfil se define en un paquete UML, estereotipado profile, que extiende a un metamodelo o a otro Perfil. Tres son los mecanismos que se utilizan para definir Perfiles: estereotipos (stereotypes), restricciones (constraints), y valores etiquetados (tagged values).

Patricia Parra Guzmn Daniel Duarte Delgado Escuela de Ingeniera de Sistemas y Computacin

Defectos de UML 1.x


A continuacin se muestran algunas desventajas de UML 1.x las cuales evidenciaron la necesidad de una nueva versin que intentara cubrir estas limitantes: No explota la potencia de los modelos orientados a MDD Inadecuada capacidad de Modelado

Sistemas a gran escala Aspectos no funcionales Modelado de procesos de negocio Definicin informal (No adecuada o no posible para generacin de cdigo o modelos ejecutables)

Definicin semntica inadecuada

Falta de soporte para intercambio de diagramas No cumplimiento de MOF

Patricia Parra Guzmn Daniel Duarte Delgado Escuela de Ingeniera de Sistemas y Computacin

Superestructura UML 2.0


Es la definicin formal de los elementos que componen el UML 2.0. Provee el soporte para desarrollo de software basado en componentes, modelado de procesos de negocio, entro otros. sta se encuentra organizada en paquetes, que definen los elementos internos del UML y la manera en que se relacionan.

Patricia Parra Guzmn Daniel Duarte Delgado Escuela de Ingeniera de Sistemas y Computacin

Diagramas en UML
En UML 2.0 hay 13 tipos diferentes de diagramas. Para comprenderlos de manera concreta, a veces es til categorizarlos jerrquicamente.

Patricia Parra Guzmn Daniel Duarte Delgado Escuela de Ingeniera de Sistemas y Computacin

Diagramas en UML
Diagramas de estructura enfatizan en los elementos que deben existir en el sistema modelado: Diagrama de Clases Diagrama de Componentes Diagrama de Objetos Diagrama de estructura Compuesta (UML 2.0) Diagrama de Despliegue Diagrama de Paquetes

Patricia Parra Guzmn Daniel Duarte Delgado Escuela de Ingeniera de Sistemas y Computacin

Diagramas en UML
Diagramas comportamiento enfatizan en lo que debe suceder en el sistema modelado: Diagrama de Actividades Diagrama de Casos de Uso Diagrama de estados

Patricia Parra Guzmn Daniel Duarte Delgado Escuela de Ingeniera de Sistemas y Computacin

Diagramas en UML
Diagramas Interaccin, un subtipo de diagramas de comportamiento, que enfatiza sobre el flujo de control y de datos entre los elementos del sistema modelado: Diagrama de Secuencia Diagrama de Comunicacin Diagrama de Tiempos (UML 2.0) Diagrama de Vista de Interaccin (UML 2.0)

Patricia Parra Guzmn Daniel Duarte Delgado Escuela de Ingeniera de Sistemas y Computacin

Diagrama de Estructura Compuesta


Uno de los nuevos y ms tiles diagramas incorporados en UML 2.0, fue especficamente diseado para la representacin de patrones de diseo, y es una de las modificaciones de mayor impacto dentro de UML 2.0. Esta modificacin de UML permite que todos los clasificadores puedan tener una estructura compuesta. Mediante una composicin de estructuras, el comportamiento de las instancias de otros Clasificadores contenidos (estructura interna) en un Clasificador determinado, puede especificarse como Colaboraciones. Los conceptos principales para describir la estructura interna son: Partes Puertos Conectores

Patricia Parra Guzmn Daniel Duarte Delgado Escuela de Ingeniera de Sistemas y Computacin

Partes Una parte es una propiedad de la clase que la contiene, lo que significa que la parte vive y muere dentro del ciclo de vida del objeto de la clase que la contiene. Puertos Un puerto describe un punto de interaccin de una clase. Es direccionable, lo que significa que las entradas pueden ser direccionadas a l. Conectores Un conector especifica un enlace (una instancia de una asociacin) que habilita la comunicacin ente dos o ms partes.

Patricia Parra Guzmn Daniel Duarte Delgado Escuela de Ingeniera de Sistemas y Computacin

Diagrama de Mquinas de Estado


Tuvieron ciertas mejoras con respecto a UML 1.4, entre otras tenemos:

Estado compuesto con puntos de entrada y de salida incrementando la escalabilidad y el comportamiento a modelar. Generalizacin de estados de mquina, que habilita la herencia y la especializacin de comportamiento. Estado Compuesto. UML 2.0 habilita puntos de entada y de salida que controlan el acceso a estados compuestos. Esto permite la reutilizacin en otras mquinas de estado. UML 1.4 no tena cmo entrar y salir de estados compuestos

Patricia Parra Guzmn Daniel Duarte Delgado Escuela de Ingeniera de Sistemas y Computacin

Conclusiones
UML 2.0 ha sido mejorado con respecto de UML 1.x, en lo referente a modelado de comportamiento y composicin. El comportamiento ahora puede ser extendido, lo cual es importante cuando comportamiento complejo es modelado. Es posible encapsular totalmente componentes de comportamiento, mquinas de estado Tiene conceptos de extensibilidad llamados perfiles <<profiles>>, los cuales son usados para definir metaclases en UML , para adaptar un modelo UML a una plataforma especfica como EJB.

Patricia Parra Guzmn- Daniel Duarte Delgado Escuela de Ingeniera de Sistemas y Computacin

Conclusiones

Nuevos conceptos para describir la estructura arquitectural interna de las Clases, Componentes y Colaboraciones por medio de Partes, Conectores y Puertos. Una mejora en el encapsulamiento de componentes a travs de puertos complejos con protocolos de mquinas de estado que pueden controlar la interaccin con el ambiente

Mejoras en la especificacin en lo referente a manejo de componentes


Integracin de acciones y actividades, y el uso de flujos semnticos en lugar de mquinas de estado Interacciones mejoradas con conceptos de arquitectura y control tales como composicin, referencias, excepciones, ciclos y una mejora sobre los diagramas de vista de Interaccin.

Patricia Parra Guzmn- Daniel Duarte Delgado Escuela de Ingeniera de Sistemas y Computacin

Bibliografa
Lista de URL:
[url1]:http://www.xpdian.com/UML2.0changes.html#Topic40 [url2]: OMG Object Management group; http://www.omg.org/ [url3]: JSR 26 UML/EJB Mapping Specification; http://salmosa.kaist.ac.kr/~course/DrBae/cs650_2001/LectureNotes/UMLProfileForEJB.pdf

Bibliografa
UML, Distilled. Second Edition. Martin Fowler, Kendall Scout. Addison Wesley Unified Modelling Language, User Guide. Grady Booch, James Rumbaugh, Ivar Jacobson. Addison Wesley. UML and Patterns. Larman Craig. Adisson Wesley. Una Introduccin a los Perfiles UML, Lidia Fuentes y Antonio Vallecillo

Patricia Parra Guzmn- Daniel Duarte Delgado Escuela de Ingeniera de Sistemas y Computacin

Fin de la presentacin

Patricia Parra Guzmn - Daniel Duarte Delgado Escuela de Ingeniera de Sistemas y Computacin

También podría gustarte