Está en la página 1de 21

SEMANA 7 – HERRAMIENTAS DE MODELAMIENTO

HERRAMIENTAS
HERRAMIENTAS DEDE MODELAMIENTO
MODELAMIENTO
SEMANA 7
SEMANA 2
Perfiles en UML
Vistas y Diagramas en UML

IACC-2020
1
SEMANA 7 – HERRAMIENTAS DE MODELAMIENTO

APRENDIZAJES ESPERADOS
El estudiante será capaz de:

Caracterizar el rol de los elementos que


componen el entorno UML en un modelo
funcional.

IACC-2020
2
SEMANA 7 – HERRAMIENTAS DE MODELAMIENTO

APRENDIZAJES ESPERADOS ............................................................................................................ 2


INTRODUCCIÓN ............................................................................................................................. 4
1. RFILES EN UML ....................................................................................................................... 5
1.1. DEFINICIONES GENERALES .......................................................................................... 5
1.2. ENTORNO UML ........................................................................................................... 9
1.3. VALORES ................................................................................................................... 17
COMENTARIO FINAL .................................................................................................................... 19
REFERENCIAS ............................................................................................................................... 20

IACC-2020
3
SEMANA 7 – HERRAMIENTAS DE MODELAMIENTO

INTRODUCCIÓN
Los perfiles son un mecanismo definido por el corresponda correctamente con lo que se
lenguaje UML que permtien la adaptación de pretende realizar.
este lenguaje a plataformas o dominios
particulares. En UML, un perfil se puede Finalmente, un valor etiquetado es una
conceptualizar como un conjunto de extensión de las propiedades de un elemento
estereotipos, restricciones y valores de UML que permite añadir nueva
etiquetados. información en la especificación del
elemento.
A través de los estereotipos se pueden crear
nuevos tipos de elementos a partir de otros Al modelar un problema o una situacion que
que ya existen. Los estereotipos están se requiera diseñar con UML, es preciso partir
definidos por un nombre y algunos elementos con la definición de un perfil. Si no existiese,
del metamodelo a los que puede asociarse. entonces se necesita definir dicho
metamodelo utilizando los mecanismos del
Por otro lado, las restricciones imponen las propio UML (clases, relaciones de herencia,
condiciones que se deben cumplir para que el asociaciones, etc.) de la forma usual como se
modelo de datos quede validado y realizaría si el objetivo nuestro no fuese
definir un perfil UML.

IACC-2020
4
SEMANA 7 – HERRAMIENTAS DE MODELAMIENTO

1. RFILES EN UML

¿Porqué es necesario definir perfiles siempre que se requiera


utilizar UML?

El lenguaje de modelado de datos UML es el estándar más utilizado para especificar y documentar
cualquier sistema de forma precisa. Sin embargo, el hecho de que UML sea una notación de
propósito muy general, obliga a que muchas veces sea deseable poder contar con algún lenguaje
más específico para modelar y representar los conceptos de ciertos dominios particulares, es decir,
poder realizar adaptaciones que permitan implementar el principio de los diagramas UML, pero
ajustados a herramientas más específicas para ciertas organizaciones o procesos.

En este sentido, la solución para hacer esta integración es por medio de perfiles, estos constituyen
la forma que UML utiliza para extender su sintaxis y su semántica para expresar los conceptos
específicos de un determinado dominio de aplicación.

A continuación, se presentarán las definiciones generales relacionadas con los perfiles.

1.1. DEFINICIONES GENERALES

¿Cómo crees que se compone un perfil UML?

Para establecer perfiles en UML es necesario definir unos conceptos iniciales. Estos elementos se
describen a continuación.

1.1.1 Estereotipos:

El primer elemento que compone un perfil es el estereotipo. Este se puede definir con un nombre,
y por una serie de elementos del metamodelo sobre los que puede asociarse. Gráficamente, los
estereotipos se definen dentro de cajas, estereotipadas «stereotype».

En el siguiente se muestra un ejemplo con la definición de dos estereotipos:

IACC-2020
5
SEMANA 7 – HERRAMIENTAS DE MODELAMIENTO

Imagen 1. Definición del perfil Ejemplo


Fuente: elaboración propia

En la imagen 1 se muestra el perfil UML denominado Ejemplo que define dos estereotipos, Colores
y Peso, que proporcionan color y peso a un elemento UML. Tal y como se indica en el Perfil, solo las
clases y las asociaciones de UML pueden colorearse, y solo las asociaciones pueden tener asociado
un peso. Observe cómo el Perfil especifica los elementos del metamodelo de UML sobre los que se
pueden asociar los estereotipos estereotipados «metaclass», mediante flechas continuas de punta
triangular en negrita.

A continuación, se presenta un ejemplo de un estereotipo con ícono asociado:

Imagen 2. Estereotipo con ícono relacionado


Fuente: http://marcelosalasvargas.blogspot.com/2016/01/creacion-de-perfiles-uml-con-papyrus.html

IACC-2020
6
SEMANA 7 – HERRAMIENTAS DE MODELAMIENTO

A los estereotipos es posible asociarles restricciones, que


imponen condiciones sobre los elementos del metamodelo
que han sido estereotipados. De esta forma, pueden
describirse, entre otras, las condiciones que ha de verificar
un modelo “bien formado” de un sistema en un dominio de
aplicación.

También es importante definir el concepto de restricciones. Las restricciones imponen condiciones


que deben cumplir algunos o varios elementos del modelo para que esté “bien formado”, según un
dominio de aplicación específico. Una restricción puede ser representada como una cadena de
caracteres 41 JAIIO - ASSE 2012 - ISSN: 1850-2792 - Page 202 13th Argentine Symposium on Software
Engineering, ASSE 2012 entre llaves colocadas junto al elemento al que está asociada o conectada
a él por una relación de dependencia. Es posible definir una restricción mediante una expresión OCL.

1.1.2 Valor Etiquetado

Un valor etiquetado se define como un meta-atributo adicional que se asocia a una metaclase del
metamodelo extendido por un perfil. Todo valor etiquetado ha de contar con un nombre y un tipo,
y se asocia un determinado estereotipo.

De esta forma, al ver el ejemplo de la figura 1, el estereotipo «Peso» puede contar con un valor
etiquetado denominado “weight”, de tipo Integer, y que indicará el peso de cada asociación que
haya sido estereotipada como «Peso». Los valores etiquetados se representan de forma gráfica
como atributos de la clase que define el estereotipo.

1.1.3 Definición de Perfil

Se pueden hacer adaptaciones del lenguaje UML para ajustarlo a necesidades particulares o para
adaptarlo a otros sistemas sin modificar la semántica original. Los perfiles son el mecanismo de
extensión en el propio lenguaje que permite definir lenguajes de modelado que son derivados de
UML.

IACC-2020
7
SEMANA 7 – HERRAMIENTAS DE MODELAMIENTO

De forma más precisa, el paquete Profiles de UML define una serie de mecanismos para extender y
adaptar las metaclases de un metamodelo cualquiera (y no solo el de UML) a las necesidades
concretas de una plataforma (como por ejemplo, al desarrollar en .NET o J2EE) o de un dominio de
aplicación (tiempo real, modelado de procesos de negocio, etc.).

El uso de otros modelos distintos a UML se produce cuando el diseñador de software o el equipo de
diseño desean extender y adaptar un metamodelo de datos. Los principales motivos para realizar
esto son:

• Definir una terminología y un vocabulario que sea propio de un dominio de aplicación o de


una plataforma de implementación concreta (por ejemplo, poder manejar dentro del
modelo del sistema terminología propia de EJB como “Home interface”, etc.).
• Definir una sintaxis para construcciones que no cuentan con una notación propia (en el caso
de verbos de acción específicos de la aplicación a desarrollar).
• Establecer una nueva notación para símbolos ya existentes, más acorde con el dominio de
la aplicación objetivo (poder usar, por ejemplo, una figura con un ordenador en lugar del
símbolo para representar un nodo que por defecto ofrece UML para representar
ordenadores en una red).
• Agregar reglas semánticas que no aparecen determinadas de manera precisa en el
metamodelo (por ejemplo, la incorporación de prioridades en la recepción de señales en
una máquina de estados de UML).
• Añadir cierta semántica que no existe en el metamodelo (por ejemplo, relojes, tiempo
continuo, o notaciones específicas y propias de aplicaciones bien técnicas, etc.).
• Añadir restricciones a las existentes en el metamodelo, restringiendo su forma de utilización
(por ejemplo, impidiendo que ciertas acciones se ejecuten en paralelo dentro de una
transición, o forzando la existencia de ciertas asociaciones entre las clases de un modelo).
• Añadir información que puede ser útil a la hora de transformar el modelo a otros modelos,
o a código.

Así, estas condiciones fundamentan el uso de perfiles definiendo de manera concreta un perfil como
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)
• Valores etiquetados (tagged values)

IACC-2020
8
SEMANA 7 – HERRAMIENTAS DE MODELAMIENTO

1.2. ENTORNO UML

En la actualidad ya hay definidos varios perfiles UML, algunos de los cuales han sido incluso
estandarizados por la OMG, como lo son los Perfiles UML para CORBA y para CCM (CORBA
Component Model), el Perfil UML para EDOC (Enterprise Distributed Object Computing), el Perfil
UML para EAI (Enterprise Application Integration), y el Perfil UML para Planificación, Prestaciones, y
Tiempo (Scheduling, Performance, and Time). Otros muchos perfiles UML se encuentran
actualmente en proceso de definición y estandarización por parte de la OMG, y se espera que
queden establecidos y definidos pronto.

También hay perfiles UML definidos por otras organizaciones y empresas fabricantes de lenguajes
de programación y herramientas que, aun no siendo estándares oficiales, están disponibles de
forma pública y son comúnmente utilizados (convirtiéndose, por tanto, en estándares “de facto”).
Un ejemplo de tales perfiles es el “UML/EJB Mapping Specification”, que ha sido definido por JCP
(Java Community Process).

Se dispone, por otro lado, de perfiles UML para determinados lenguajes de programación, como
pueden ser Java o C#. Cada uno de estos perfiles define una forma concreta de usar UML en un
entorno particular. Así, por ejemplo, el perfil UML para CORBA define una forma de usar UML para
modelar interfaces y artefactos de CORBA, mientras que el perfil UML para Java define una forma
concreta de modelar código Java usando UML.

A modo de resumen, los perfiles que ya están definidos y aceptados por UML son:

• UML Profile for CORBA


• UML Profile for CORBA® Component Model (CCM)
• UML Profile for Data Distribution
• UML Profile for Enterprise Application Integration (EAI)
• UML Profile for Enterprise Distributed Object Computing (EDOC)
• UML Profile for Modeling and Analysis of Real-time and Embedded Systems (MARTE)
• UML Profile for Modeling QoS and Fault Tolerance Characteristics and Mechanisms
• UML Profile for Schedulability, Performance and Time
• UML Profile for Software Radio
• UML Profile for System on a Chip (SoC)
• UML Profile for Voice
• UML Testing Profile

IACC-2020
9
SEMANA 7 – HERRAMIENTAS DE MODELAMIENTO

1.2.1. Semántica y Notación de un perfil en UML:

Para definir la semántica de los elementos de un perfil, se presenta la siguiente tabla con los
componentes, de acuerdo con IBM (2005).

Metaclase de UML 2.0 Estereotipos


Clase Mensaje, Partición de servicio, Proveedor de servicio
Clasificador Cliente del servicio
Colaboración Colaboración de servicio
Conector Canal de servicio
Interfaz Especificación de servicio
Puerto Servicio, Pasarela de servicio
Propiedad Accesorio de mensaje

En la tabla anterior, se enumeraron los elementos del metamodelo de UML 2.0 que se usan como
metaclases para estereotipos del perfil de UML.

A continuación, se presenta la semántica y la notación de cada elemento de acuerdo con IBM (2005).

• Mensajes: un mensaje representa el concepto, como por ejemplo, un contenedor para


datos reales que tiene significado para el servicio y el cliente. Un mensaje puede no tener
operaciones, puede tener propiedades y asociaciones con otras clases (uno asume clases de
algún modelo de dominio). Un estereotipo de mensaje tiene una propiedad para denotar
su formato de codificación (por ejemplo, SOAP-literal, SOAP-rpc, ASN.1, etc.).

El uso de este elemento puede ser opcional en una


herramienta por dos razones. En primer lugar, el modelador
puede simplemente desear usar elementos de un modelo de
dominio directamente como los parámetros de una
operación en lugar de especificar un mensaje. En segundo
lugar, el modelador puede desear utilizar la convención de
especificar un conjunto de mensajes de entrada y de salida
en una operación.

IACC-2020
10
SEMANA 7 – HERRAMIENTAS DE MODELAMIENTO

Propiedades de los mensajes:

Tipo Nombre Tipo Descripción

Propiedad Codificación Serie Indica el mecanismo de codificación de la plataforma que debe


utilizarse a la hora de generar el esquema para el mensaje; los
ejemplos podrían ser SOAP-RPC, Doc-Literal, ASN.1, etc.

La notación de los mensajes se expresa de la siguiente forma:

Imagen 3. Representación de un mensaje


Fuente: IBM, 2005

Entre las restricciones de los mensajes se pueden mencionar que estos no tendrán operaciones de
propiedad ni ningún comportamiento de propiedad. Además, todas sus propiedades serán públicas.

• Accesorio de Mensaje: este estereotipo se usa para indicar que algún componente de un
mensaje es un accesorio del mismo (lo contrario de una parte directa del propio mensaje).
En general, este probablemente no se utilice mucho en las actividades de diseño de nivel
superior, pero en muchos procesos es importante diferenciar los datos adjuntados de los
datos del mensaje incrustados. Por ejemplo, un servicio de catálogo puede devolver detalles
generales de producto como parte del mensaje estructurado y las imágenes como
accesorios del mensaje; esto también nos permite indicar que la codificación de las
imágenes es binaria (al contrario de la codificación textual del mensaje principal).

Tipo Nombre Tipo Descripción

Propiedad Codificación Serie Indica el mecanismo de codificación


de la plataforma que debe utilizarse a
la hora de generar el esquema para el
mensaje; los ejemplos podrían ser
SOAP-RPC, Doc-Literal,
ASN.1, etc.

IACC-2020
11
SEMANA 7 – HERRAMIENTAS DE MODELAMIENTO

La notación de un accesorio de un mensaje se expresa de la siguiente forma:

Imagen 4. Representación de un accesorio de mensaje


Fuente: IBM, 2005.

• Puerto: el elemento de modelo de servicio proporciona el punto final de interacción de


servicio (en terminología de servicio web), ya que las definiciones de estas interacciones
forman parte de la especificación de servicio. En el modelo, un servicio no solo identifica la
interfaz proporcionada, sino también las interfaces necesarias (caso de las interfaces de
devolución de llamadas). Un servicio tiene una propiedad adicional que indica el vínculo que
vaya a usarse, caso de SOAP-HTTP, SOAP-JMS, etc.

La notación de los puertos se expresa de la siguiente forma:

Imagen 5. Representación de un puerto


Fuente: IBM, 2005.

• Conector: de acuerdo con IBM (2005), el conector es un canal que representa la vía de
acceso de comunicación entre dos servicios. Es importante observar que la interacción se
puede producir a través de un canal, pero el canal no representará ninguna interacción
particular. En el mundo de los servicios web, cada servicio indica los vínculos asociados con
él (para que un cliente pueda tener acceso a él). En un perfil de modelado, se indica el
vínculo en la comunicación entre servicios o entre un servicio y los clientes. De esta forma,
puede ser flexible en la comprensión de los requisitos de vinculación.

Tipo Nombre Tipo Descripción

Propiedad Vinculación Serie Indica el mecanismo de vinculación


de plataformas que se vaya a usar en
la generación de vínculos de servicio
en WSDL; los ejemplos pueden ser

IACC-2020
12
SEMANA 7 – HERRAMIENTAS DE MODELAMIENTO

SOAP-RPC, SOAP-Doc, HTTP-Get,


etc.

La notación de los conectores se expresa de la siguiente forma:

Imagen 6. Representación de un conector


Fuente: IBM, 2005

• Colaboración de Servicio: una colaboración de servicio es una forma de especificar la


implementación de un servicio como colaboración de otros servicios. Desde el punto de
vista de los servicios web, esto corresponde al uso de BPEL4WS en la especificación de la
implementación de servicios. De ahí que esto signifique que una colaboración de servicio se
use como comportamiento de un servicio y, si con ello se pretende generar un lenguaje
como BPEL, puede tener otras restricciones específicas de la implementación.

Tipo Nombre Tipo Descripción

Propiedad Vínculo Serie Indica el mecanismo de vinculación


de plataformas que se vaya a utilizar
en la generación de la colaboración
como coreografía de procesos;
ejemplos pueden ser "BPEL", "WSFL",
etc.

La notación de las colaboraciones de servicio se expresa de la siguiente forma:

Imagen 7. Representación de una colaboración de servicio


Fuente: IBM, 2005.

IACC-2020
13
SEMANA 7 – HERRAMIENTAS DE MODELAMIENTO

• Clasificador: cualquier clasificador (clase, componente, etc.) puede actuar como cliente de
un servicio, e incluir otro servicio. Aunque este estereotipo sea definitivamente más
opcional, puede ser útil en la identificación de elementos de un modelo (que no sean ellos
mismos servicios) como los clientes de servicios. Por otro lado, puede ser una carga y no
usarse.

La notación de un clasificador se expresa de la siguiente forma:

Imagen 8. Representación de clasificador


Fuente: IBM, 2005

• Pasarela de servicio: una pasarela de servicio se parece a un servicio, pero solo está
disponible para uso en particiones y no en proveedores de servicios. Una pasarela actúa
como un servicio proxy y se puede usar para mediar protocolos o indicar la interfaz
disponible para una partición. Por ejemplo, podríamos indicar que, aunque un determinado
número de servicios se implementa dentro de una partición, solo algunos están disponibles
para uso fuera de la partición y, por lo tanto, se proporcionan pasarelas para estos servicios.
Esto impide que otros servicios o particiones se comuniquen con los servicios que no estén
expuestos a través de pasarelas.

La notación de una pasarela de servicio se expresa de la siguiente forma:

Imagen 9. Representación de una pasarela de servicio


Fuente: IBM, 2005

• Partición de Servicio: de acuerdo con IBM (2005), una partición representa un límite lógico
o físico del sistema. Es opcional modelar particiones, pero es útil. Por ejemplo, las
particiones podrían usarse para representar niveles web, empresariales o de datos de una
aplicación de nivel tradicional. Las particiones podrían también usarse para indicar más
fronteras físicas (como, por ejemplo, mi centro de datos principal, mi sitio secundario, mi
sitio de clientes, socios, etc.), en cuyo caso, el cruce de particiones podría tener restricciones
especiales de seguridad, protocolos permitidos, ancho de banda, etc.
Una partición solo puede tener propiedades que representen a las partes anidadas, sean
servicios u otras particiones. Observe que esta es una restricción (ningún otro elemento
puede actualmente representarse en una partición).

IACC-2020
14
SEMANA 7 – HERRAMIENTAS DE MODELAMIENTO

Una partición también tiene la noción de ser "estricta", si una partición indica que toda la
comunicación entre ella y las demás particiones debe dirigirse a través de pasarelas
clasificadas, entonces se dirá que es una partición estricta.

Tipo Nombre Tipo Descripción

Propiedad Clasificador Serie Un nombre de clasificación, para


indicar el ámbito de espacio de
nombres de esta partición.

La notación de una partición de servicio se expresa de la siguiente forma:

Imagen 10. Representación de una partición de servicio


Fuente: IBM, 2005

• Proveedor de Servicios: en concordancia con lo que plantea IBM (2005), “el proveedor de
servicios es un elemento de software que proporciona uno o más servicios”. En términos de
modelado, uno debería esperar ver un componente UML aquí, sin embargo, tal restricción
parece arbitraria y, por lo tanto, la metaclase se anota como clase para mayor flexibilidad.
Un proveedor de servicios tiene una propiedad que captura información acerca de su
ubicación, aunque el significado de esto sea dependiente de implementación. La clase que
actúa como proveedor de servicios puede no exponer atributos u operaciones
directamente, solo se pueden proporcionar puertos públicos (estereotipados como servicio)
y estos se clasifican mediante especificaciones de servicios.

La propiedad de la ubicación, es útil a la hora de generar nombres de punto final de


servicios. Por ejemplo, con WSDL la ubicación puede ser http://svc.myco.com/ y un servicio
puede llamarse CustInfo, en cuyo caso el nombre de punto final para el servicio podría
generarse como http://svc.myco.com/CustInfo.

La notación de un proveedor de servicio se expresa de la siguiente forma:

IACC-2020
15
SEMANA 7 – HERRAMIENTAS DE MODELAMIENTO

Imagen 11. Representación de un proveedor de servicios


Fuente: IBM, 2005

• Interfaz: el uso de una interfaz indica un conjunto de operaciones proporcionadas por un


servicio. Observe que un servicio puede implementar más de una interfaz. Mediante
convención, se puede adjuntar una máquina de estado de protocolo o de colaboración UML
2.0 a dicha especificación para indicar el orden de invocación de operaciones en una
especificación de servicio. Con tal especificación de comportamiento, cualquier servicio de
implementación puede validarse no solo frente a una especificación estática, sino también
frente a una dinámica de su estructura y comportamiento. Observe que la especificación de
servicio solo puede proporcionar operaciones públicas.

Tipo Nombre Tipo Descripción

Propiedad Publicadas Booleana Esta propiedad indica si el servicio se


presupone que va a publicarse en un
repositorio de servicio; se trata de
una noción diferente de la propiedad
pública/privada proporcionada por
UML.

La notación de una interfaz se expresa de la siguiente forma:

Imagen 11. Representación de una interfaz


Fuente: IBM, 2005

1.2.2. Lenguaje de programación y herramientas

Más allá de definir las herramientas y los lenguajes para realizar perfiles, es importante
conocer los pasos que permitirán elaborarlos independientemente de la herramienta que
se utilice:

IACC-2020
16
SEMANA 7 – HERRAMIENTAS DE MODELAMIENTO

A la hora de definir un perfil UML, se propone seguir los siguientes pasos:

a. Para iniciar el diseño de perfiles, es preciso disponer de la correspondiente definición


del metamodelo de la plataforma o dominio de aplicación a modelar con un perfil. Si no
existiese, entonces definiríamos dicho metamodelo utilizando los mecanismos del
propio UML (clases, relaciones de herencia, asociaciones, etc.), de la forma usual como
lo haríamos si nuestro objetivo no fuese definir un perfil UML. Deberemos incluir la
definición de las entidades propias del dominio y las relaciones entre ellas, así como las
restricciones que limitan el uso de estas entidades y de sus relaciones.
b. Luego de definir el metamodelo del dominio, se procede a definir el perfil dentro del
paquete «profile» e incluiremos un estereotipo por cada uno de los elementos del
metamodelo que deseamos incluir en el perfil. Estos estereotipos tendrán el mismo
nombre que los elementos del metamodelo, estableciéndose de esta forma una
relación entre el metamodelo y el perfil. En principio, cualquier elemento que
hubiésemos necesitado para definir el metamodelo puede ser etiquetado
posteriormente con un estereotipo.
c. Luego, es importante tener claro cuáles son los elementos del metamodelo de UML que
se está extendiendo sobre los que es posible aplicar un estereotipo. Ejemplo de tales
elementos son las clases, sus asociaciones, sus atributos, las operaciones, las
transiciones, los paquetes, etc. De esta forma, cada estereotipo se aplicará a la
metaclase de UML que se utilizó en el metamodelo del dominio para definir un concepto
o una relación.
d. El siguiente paso será la definición de valores etiquetados de los elementos del perfil y
los atributos que aparezcan en el metamodelo. Incluir la definición de sus tipos, y sus
posibles valores iniciales.
e. Finalmente, se deben definir las restricciones que forman parte del perfil, a partir de las
restricciones del dominio. Por ejemplo, las multiplicidades de las asociaciones que
aparecen en el metamodelo del dominio, o las propias reglas de negocio de la
aplicación, deben traducirse en la definición de las correspondientes restricciones.
Al seguir estos pasos, se obtiene un perfil claramente definido con todos los elementos
establecidos por UML.

1.3. VALORES

Tal como se definió anteriormente, los valores etiquetados son elementos fundamentales de un
perfil en UML. Las características de un valor etiquetado son:

• Define las propiedades de los elementos del modelo.


• No suelen añadirse en los diagramas, pero se muestran en las listas desplegables y
formularios.

IACC-2020
17
SEMANA 7 – HERRAMIENTAS DE MODELAMIENTO

• Útiles para almacenar la información de la gestión de proyectos.


• Se puede usar cualquier cadena, excepto los nombres de atributos del metamodelo.
• Indican información adicional que depende de la implementación.

Imagen 12. Ejemplo de valores etiquetados


Fuente: http://manzanaseideas.blogspot.com/2014/08/capitulo-19-perfiles.html

IACC-2020
18
SEMANA 7 – HERRAMIENTAS DE MODELAMIENTO

COMENTARIO FINAL
Los perfiles en UML son, sin duda, un mecanismo muy adecuado para la definición de lenguajes
específicos de dominio cuya semántica sea una extensión de la de UML. También hemos ilustrado
la importancia de los perfiles UML dentro del desarrollo de aplicaciones guiado por modelos
específicos, donde el diseñador cada vez tiene más protagonismo frente a la codificación y diseño
del modelado de datos.

La versión de UML actualmente estandarizada y soportada por herramientas comerciales es la 1.5.


Sin embargo, la nueva versión 2.0 está definida y en proceso de adopción como estándar de OMG.
Esta nueva versión es mucho más completa y ofrece numerosas ventajas respecto a la 1.5,
mejorando muchas de sus limitaciones. Por ejemplo, presenta una mejor estructura del
metamodelo, una semántica más precisa de la mayoría de sus conceptos, extensiones para manejar
arquitecturas de software e intercambio de diagramas, entre otros.

IACC-2020
19
SEMANA 7 – HERRAMIENTAS DE MODELAMIENTO

REFERENCIAS
IBM (2005). Perfil de UML 2.0 para servicios de software. Recuperado de:

https://cgrw01.cgr.go.cr/rup/RUP.es/LargeProjects/soa.rup_soma/guidances/whitepapers/r

esources/uml2_profile_for_software_services.htm

PARA REFERENCIAR ESTE DOCUMENTO, CONSIDERE:

IACC (2020). Perfiles en UML. Herramientas de Modelamiento. Semana 7.

IACC-2020
20
SEMANA 7 – HERRAMIENTAS DE MODELAMIENTO

IACC-2020
21

También podría gustarte