UML
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á respaldado 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 resaltar que UML es un "lenguaje" para especificar y no para describir métodos o procesos. Se utiliza para definir un sistema de software, para detallar los artefactos en el sistema y para documentar y construir. En otras palabras, es el lenguaje en el que está descrito el modelo. Se puede aplicar en una gran variedad de formas para dar soporte a 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.
La estandarización de un lenguaje de modelado es invaluable, ya que es la parte principal de comunicación. Si se quiere discutir un diseño con alguien más, ambos deben conocer el lenguaje de modelado y no así el proceso que se siguió para obtenerlo.
Una de la metas principales de UML es avanzar en el estado de la industria proporcionando herramientas de interoperabilidad para el modelado visual de objetos. Sin embargo para lograr un intercambio exitoso de modelos de información entre herramientas, se requirió definirle una semántica y una notación.
La notación es la parte gráfica que se ve en los modelos y representa la sintaxis del lenguaje de modelado. Por ejemplo, la notación del diagrama de clases define como se representan los elementos y conceptos como son: una clase, una asociación y una multiplicidad. ¿Y qué significa exactamente una asociación o multiplicidad en una clase?.
Un metamodelo es la manera de definir ésto (un diagrama, usualmente de clases, que define la notación).
Para que un proveedor diga que cumple con UML debe cubrir con la semántica y con la notación.
Una herramienta de UML debe mantener la consistencia entre los diagramas en un mismo modelo. Bajo esta definición una herramienta que solo dibuje, no puede cumplir con la notación de UML.
En UML 2.0 hay 13 tipos diferentes de diagramas. Para comprenderlos de manera concreta, a veces es útil categorizarlos jerárquicamente.
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:
• Diagrama de actividades
• Diagrama de casos de uso
• Diagrama de estados
Diagramas de Interacción, ES 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 colaboración
• Diagrama de tiempos (UML 2.0)
• Diagrama de vista de interacción (UML 2.0)
Software libre para modelado en UML
• ArgoUML, Herramienta de modelado UML escrito en java (enlace externo)
• BOUML, Ligera herramienta de modelado UML y generación de código C++, Java e IDL. Disponible para Windows, Unix/Linux y Mac OS X (Sitio Oficial)
• Fujaba, No solo sirve para modelar sino que puede generar código Java automáticamente. También es capaz de hacer ingenieria inversa y crear los diagramas a partir del código Java [1].
• 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)
• Papyrus, Herramienta gráfica basada en Eclipse para el modelado con UML2, es de código abierto y se ofrece bajo licencia EPL (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
• Umbrello Herramienta para modelado UML para el entorno KDE
• UMLet Herramienta para modelado rápido de UML también escrita en Java
Software 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)
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.
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario