Title: UML 2'0
1UML 2.0
- Patricia Parra Guzmán
- Daniel Duarte Delgado
- Escuela de Ingeniería de Sistemas y Computación
2Contenido
- Introducción
- 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 máquinas de estado
- Conclusiones
- Bibliografía
Patricia Parra Guzmán Daniel Duarte
Delgado Escuela de Ingeniería de Sistemas y
Computación
3Introducción
- El UML se ha vuelto el estándar
(impuesto por la industria y los usuarios) para
el modelado de aplicaciones de software. En los
últimos años, 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
estándar 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
versión final del estándar. Estos objetivos son - Hacer el lenguaje de modelado mucho más
extensible de lo que era. - Permitir la validación y ejecución de modelos
creados mediante el UML.
Patricia Parra Guzmán Daniel Duarte
Delgado Escuela de Ingeniería de Sistemas y
Computación
4Historia UML
Las raíces del UML provienen de tres métodos
distintos. El método de Grady Booch, la Técnica
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 versión del UML y en 1997 fue aceptado
por la OMG, fecha en la que fue lanzada la
versión v1.1 del UML. Desde entonces, UML
atravesó varias revisiones y refinamientos hasta
llegar a la versión actual UML 2.0.
Patricia Parra Guzmán Daniel Duarte
Delgado Escuela de Ingeniería de Sistemas y
Computación
5MDD Model Driven Development
UML busca ser un lenguaje legible, y permitir la
generación automática de código. Esta legibilidad
se obtiene mediante diagramas visuales que
representan los modelos y para la generación de
código por parte de herramientas, requiere de una
definición 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
relación con UML, se define que es el desarrollo
guiado por modelos. El desarrollo guiado por
modelos es una aproximación al desarrollo de
software en el que el enfoque y los artefactos
fundamentales son los modelos y no los programas,
implica la generación automática de programas a
partir de modelos, por lo que se utilizan
lenguajes de modelado como herramienta de
implementación. El modelo por su naturaleza está
más ligado al dominio del problema que a la
tecnología, además son más fáciles de
especificar, comprender y mantener.
Patricia Parra Guzmán Daniel Duarte
Delgado Escuela de Ingeniería de Sistemas y
Computación
6Arquitectura de Metamodelos
Para lenguajes que requieren sintaxis gráfica se
necesita el concepto de metamodelado. OMG define
una arquitectura basada en 4 niveles de
abstracción 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 Asociación. 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 Guzmán Daniel Duarte
Delgado Escuela de Ingeniería de Sistemas y
Computación
7Arquitectura 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 mínimos 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 Guzmán Daniel Duarte
Delgado Escuela de Ingeniería de Sistemas y
Computación
8Perfiles UML (UML Profiles)
UML incluye un mecanismo de extensión 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 Guzmán Daniel Duarte
Delgado Escuela de Ingeniería de Sistemas y
Computación
9Defectos de UML 1.x
- A continuación se muestran algunas
desventajas de UML 1.x las cuales evidenciaron la
necesidad de una nueva versión 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
- Definición semántica inadecuada
- Definición informal (No adecuada o no posible
para generación de código o modelos
ejecutables) - Falta de soporte para intercambio de diagramas
- No cumplimiento de MOF
Patricia Parra Guzmán Daniel Duarte
Delgado Escuela de Ingeniería de Sistemas y
Computación
10Superestructura UML 2.0
- Es la definición 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 Guzmán Daniel Duarte
Delgado Escuela de Ingeniería de Sistemas y
Computación
11Diagramas en UML
En UML 2.0 hay 13 tipos diferentes de
diagramas. Para comprenderlos de manera concreta,
a veces es útil categorizarlos jerárquicamente.
Patricia Parra Guzmán Daniel Duarte
Delgado Escuela de Ingeniería de Sistemas y
Computación
12Diagramas 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 Guzmán Daniel Duarte
Delgado Escuela de Ingeniería de Sistemas y
Computación
13Diagramas 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 Guzmán Daniel Duarte
Delgado Escuela de Ingeniería de Sistemas y
Computación
14Diagramas en UML
- Diagramas Interacción, 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 Comunicación
- Diagrama de Tiempos (UML 2.0)
- Diagrama de Vista de Interacción (UML 2.0)
Patricia Parra Guzmán Daniel Duarte
Delgado Escuela de Ingeniería de Sistemas y
Computación
15Diagrama de Estructura Compuesta
- Uno de los nuevos y más útiles diagramas
incorporados en UML 2.0, fue específicamente
diseñado para la representación de patrones de
diseño, y es una de las modificaciones de mayor
impacto dentro de UML 2.0. Esta modificación de
UML permite que todos los clasificadores puedan
tener una estructura compuesta. - Mediante una composición 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 Guzmán Daniel Duarte
Delgado Escuela de Ingeniería de Sistemas y
Computación
16Partes 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 interacción 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 asociación) que habilita la comunicación
ente dos o más partes.
Patricia Parra Guzmán Daniel Duarte
Delgado Escuela de Ingeniería de Sistemas y
Computación
17Diagrama de Máquinas 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. - Generalización de estados de máquina, que
habilita la herencia y la especialización de
comportamiento. -
- Estado Compuesto. UML 2.0 habilita puntos de
entada y de salida que controlan el acceso a
estados compuestos. Esto permite la reutilización
en otras máquinas de estado. - UML 1.4 no tenía cómo entrar y salir de estados
compuestos
Patricia Parra Guzmán Daniel Duarte
Delgado Escuela de Ingeniería de Sistemas y
Computación
18Conclusiones
- UML 2.0 ha sido mejorado con respecto de UML 1.x,
en lo referente a modelado de comportamiento y
composición. - El comportamiento ahora puede ser extendido, lo
cual es importante cuando comportamiento complejo
es modelado. - Es posible encapsular totalmente componentes de
comportamiento, máquinas de estado - Tiene conceptos de extensibilidad llamados
perfiles ltltprofilesgtgt, los cuales son usados para
definir metaclases en UML , para adaptar un
modelo UML a una plataforma específica como EJB.
Patricia Parra Guzmán- Daniel Duarte
Delgado Escuela de Ingeniería de Sistemas y
Computación
19Conclusiones
- 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
través de puertos complejos con protocolos de
máquinas de estado que pueden controlar la
interacción con el ambiente - Mejoras en la especificación en lo referente a
manejo de componentes - Integración de acciones y actividades, y el uso
de flujos semánticos en lugar de máquinas de
estado - Interacciones mejoradas con conceptos de
arquitectura y control tales como composición,
referencias, excepciones, ciclos y una mejora
sobre los diagramas de vista de Interacción.
Patricia Parra Guzmán- Daniel Duarte
Delgado Escuela de Ingeniería de Sistemas y
Computación
20Bibliografía
- Lista de URL
- url1http//www.xpdian.com/UML2.0changes.htmlTo
pic40 - url2 OMG Object Management group
http//www.omg.org/ - url3 JSR 26 UML/EJB Mapping Specification
http//salmosa.kaist.ac.kr/course/DrBae/cs650_200
1/LectureNotes/UMLProfileForEJB.pdf - Bibliografía
- 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 Introducción a los Perfiles UML, Lidia
Fuentes y Antonio Vallecillo
Patricia Parra Guzmán- Daniel Duarte
Delgado Escuela de Ingeniería de Sistemas y
Computación
21 Fin de la presentación
Patricia Parra Guzmán - Daniel Duarte
Delgado Escuela de Ingeniería de Sistemas y
Computación