Lenguaje Unificado de Modelado
De Wikipedia, la enciclopedia libre
Lenguaje Unificado de Modelado (UML, por sus siglas en inglés, Unified Modeling Language) es el lenguaje de modelado de sistemas de software más conocido y utilizado en la actualidad; aún cuando todavía no es un estándar oficial, está apoyado en gran manera por el OMG (Object Management Group). Es un lenguaje gráfico para visualizar, especificar, construir y documentar un sistema de software. UML ofrece un estándar para describir un "plano" del sistema (modelo), incluyendo aspectos conceptuales tales como procesos de negocios y funciones del sistema, y aspectos concretos como expresiones de lenguajes de programación, esquemas de bases de datos y componentes de software reutilizables.
Es importante remarcar que UML es un "lenguaje" para especificar y no un método o un proceso, se utiliza para definir un sistema de software, para detallar los artefactos en el sistema y para documentar y construir -es el lenguaje en el que está descrito el modelo. Se puede aplicar en una gran variedad de formas para soportar una metodología de desarrollo de software (tal como el Proceso Unificado de Rational) -pero no especifica en sí mismo qué metodología o proceso usar.
UML cuenta con varios tipos de diagramas, los cuales muestran diferentes aspectos de las entidades representadas.
Tabla de contenidos |
[editar] Diagramas
En UML 2.0 hay 13 tipos diferentes de diagramas. Para comprenderlos de manera concreta, a veces es útil categorizarlos jerárquicamente, como se muestra en la figura de la derecha.
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
Diagramas de comportamiento enfatizan en lo que debe suceder en el sistema modelado:
Diagramas de 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)
[editar] Software libre para modelado en UML
- ArgoUML, Herramienta de modelado UML escrito en java (enlace externo)
- Dia Puede ser usado para modelar varios tipos de diagramas UML (enlace externo)
- gModeler Herramienta para modelado de UML basada en Flash (utilizable desde el navegador), que permite generar código Action Script 2.0 Compatible (enlace externo)
- MonoUML Herramienta CASE para la plataforma mono (Sitio Oficial)
- StarUML Herramienta de modelado para Windows desarrollada en Delphi. Bastante estable y usable (enlace externo)
- TCM, Toolkit for Conceptual Modeling, herramienta para crear diversos tipos de diagramas incluidos UML [http://wwwhome.cs.utwente.nl/~tcm/ Web oficial)
- Umbrello Herramienta para modelado UML para el entorno KDE (enlace externo)
- UMLet Herramienta para modelado rápido de UML también escrita en Java (enlace externo)
[editar] Software privativo gratuito para modelado en UML
- JUDE Community Herramienta de modelado UML (Sitio Oficial)
- Omondo plugin para Eclipse. Herramienta de modelado UML para Java
- Oracle JDeveloper Un IDE para Java con soporte de diagramas UML
- Visual Paradigm for UML, Herramienta de modelado UML y herramienta CASE que cuenta con una versión gratuita denominada Community Edition (enlace externo)
[editar] Otro Software privativo
- Borland Together
- Microsoft Visio
- PowerDesigner de Sybase
- Rational Rose y Rational ClearCASE de IBM
- Poseidon for UML de GentleWare
[editar] 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.
[editar] Críticas a UML
A pesar de su status de estándar y 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 objeto 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..
[editar] Véase también
- Desarrollo de software usando UML y ASP.NET
- Ambiente integrado de desarrollo
- Herramienta CASE
- Técnica de Modelado a 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, Metodología para el diseño de Sistemas de Información Web.