Lenguaje Unificado de Modelado
Keywords: Lenguaje Unificado de Modelado, Ambiente integrado de desarrollo, CORBA, Dia, KDE, Lenguaje de especificación OCL2.0, Lenguaje de programación Java, Modelo, Programación orientada a objetos
framed|right|Logo de UML Lenguaje Unificado de Modelado (UML, por sus siglas en inglés, Unified Modelling Language) es el lenguaje de modelado de sistemas de software más conocido en la actualidad; aún cuando todavía no es un estándar oficial, está apoyado en gran manera por la OMG.
El UML cuenta con varios tipos de modelos, los cuales muestran diferentes aspectos de las entidades representadas.
| Tabla de contenidos |
Tipos de modelo
- Funcional: Muestra la funcionalidad del sistema desde el punto de vista del usuario, incluye:
- Diagramas de caso de uso
- Objetos: Muestra la estructura y la subestructura del sistema usando objetos, atributos, operaciones y asociaciones, incluye:
- Diagramas de clase
- Dinámico: Muestra el comportamiento interno del sistema, incluye:
- Diagramas de secuencia
- Diagramas de actividad
- Diagramas de estado
Ejemplo de diagrama de caso de uso:
framed|center|Caso de uso. Este diagrama describe la funcionalidad (simplificada) de un sistema de restaurante, el comensal puede comer, tomar vino y pagar; sólo el cocinero puede preparar la comida.
Los casos de uso son los óvalos y las figuras con forma "humana" son los "actores".
La OMG define una notación gráfica para los casos de uso, pero se abstiene de definir algún formato escrito para describir los casos de uso en detalle; debido a esto algunas personas tienen el concepto erróneo acerca de que un caso de uso es su notación gráfica, cuando es la descripción escrita de escenarios la que da el verdadero valor al caso de uso.. Aquí inserta texto sin formato
Ejemplo de diagrama de clases:
framed|center|Diagrama de clases. Este diagrama describe la estructura (simplificada) de un sistema de restaurante. El sistema tiene cualquier cantidad de platillos, una cocina, comedor y cualquier número de empleados, todos estos objetos asociados a un restaurante. El UML muestra las relaciones es_un con un triángulo y las relaciones contiene con un rombo.
Ejemplo de diagrama de secuencia:
framed|center|Diagrama de secuencia. Este diagrama describe la secuencia (simplificada) de mensajes de un sistema de restaurante. El diagrama representa a un cliente pidiendo comida y pagando.
las líneas punteadas extendiéndose hacia abajo ok indican la línea de tiempo de cada objeto. Las flechas representan mensajes (estímulos) de un "actor" u objeto a otros objetos; en el ejemplo el cliente envía el mensaje de pago al cajero.
Véase también
- Ambiente integrado de desarrollo
- Técnicas de modelado de objetos
- Programación orientada a objetos
- XMI, un formato estándar basado en XML para el intercambio de modelos UML.
- OCL, Lenguaje de especificación para los diferentes modelos en UML.
- Webml, Metodologia para el diseño de Sistemas de Informacion Web.
Software libre para modelado en UML
- Poseidon for UML, Herramienta de modelado UML escrita en java que cuenta con una completa versión gratuita denominada Community Edition (enlace externo)
- ArgoUml, Herramienta de modelado UML escrito en java (enlace externo)
- Dia Puede ser usado para modelar varios tipos de diagramas UML (enlace externo)
- Umbrello Herramienta para modelado UML para el entorno KDE (enlace externo)
- MonoUML Herramienta CASE para la plataforma mono (Sitio Oficial)
- UMLet Herramienta para modelado rápido de UML también escrita en Java (enlace externo)
- Visual Paradigm for UML
Estandarización de UML
Además de haberse convertido en un estándar de facto, UML es un estándar industrial promovido por el grupo OMG al mismo nivel que el estándar CORBA para intercambio de objetos distribuidos. Para la revisión de UML se formaron dos "corrientes" que promovían la aparición de la nueva versión desde distintos puntos de vista. Finalmente se impuso la visión más industrial frente a la académica. Recientemente se ha publicado la versión 2.0 en la que aparecen muchas novedades y cambios que, fundamentalmente, se centran en resolver carencias prácticas. Además, esta versión recibe diversas mejoras que provienen del lenguaje SDL.
Críticas a UML
A pesar de su status de estándar ampliamente reconocido y utilizado, UML siempre ha sido muy criticado por su carencia de una semántica precisa, lo que ha dado lugar a que la interpretación de un modelo UML no pueda ser objetiva. Otro problema de UML es que no se presta con facilidad al diseño de sistemas distribuidos. En tales sistemas cobran importancia factores como transmisión, serialización, persistencia, etc. UML no cuenta con maneras de describir tales factores. No se puede, por ejemplo, usar UML para señalar que un objecto es persistente, o remoto, o que existe en un servidor que corre continuamente y que es compartido entre varias instancias de ejecución del sistema analizado.
