Diferencia entre revisiones de «Lenguaje unificado de modelado»
Línea 111: | Línea 111: | ||
* [http://www.uml.org/ Amplia información sobre UML (En inglés)] |
* [http://www.uml.org/ Amplia información sobre UML (En inglés)] |
||
* [http://www.milestone.com.mx/BaseConocimientoUML.htm Base de conocimiento de UML (En Castellano)] |
* [http://www.milestone.com.mx/BaseConocimientoUML.htm Base de conocimiento de UML (En Castellano)] |
||
* [http://www.linkedin.com/groups?gid=143183 UML Lovers] – Grupo de aficionados de UML (En Inglés)] |
|||
[[Categoría:UML]] |
[[Categoría:UML]] |
Revisión del 21:41 9 nov 2009
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; está respaldado por el OMG (Object Management Group). Es un lenguaje gráfico para visualizar, especificar, construir y documentar un sistema. UML ofrece un estándar para describir un "plano" del sistema (modelo), incluyendo aspectos conceptuales tales como procesos de negocio y funciones del sistema, y aspectos concretos como expresiones de lenguajes de programación, esquemas de bases de datos y componentes reutilizables.
Es importante resaltar que UML es un "lenguaje de modelado" para especificar o para describir métodos o procesos. Se utiliza para definir un sistema, 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 el desarrollo de software entregando gran variedad de formas para dar soporte a una metodología de desarrollo de software (tal como el Proceso Unificado Racional o RUP), pero no especifica en sí mismo qué metodología o proceso usar.
UML no puede compararse con la programación estructurada, pues UML significa Lenguaje Unificado de Modelado, no es programación, solo se diagrama la realidad de una utilización en un requerimiento. Mientras que, programación estructurada, es una forma de programar como lo es la orientación a objetos, sin embargo, la programación orientada a objetos viene siendo un complemento perfecto de UML, pero no por eso se toma UML sólo para lenguajes orientados a objetos.
UML cuenta con varios tipos de diagramas, los cuales muestran diferentes aspectos de las entidades representadas.
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.
Los Diagramas de Estructura enfatizan en los elementos que deben existir en el sistema modelado:
Los Diagramas de Comportamiento enfatizan en lo que debe suceder en el sistema modelado:
Los Diagramas de Interacción son 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, que es una versión simplificada del Diagrama de colaboración (UML 1.x)
- Diagrama de tiempos (UML 2.0)
- Diagrama global de interacciones o Diagrama de vista de interacción (UML 2.0)
Software para modelado en UML
A continuación, se listan algunos de los programas más populares para el modelado en UML
Software Libre
Estos programas están bajo licencias libres, siendo posible su libre uso, estudio y modificación.
- StarUML Herramienta de modelado para Windows desarrollada en Delphi. Bastante estable y utilizable con plugins para diagramas WAE de clase y de secuencia. (enlace externo)
- 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 ingeniería 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)
- TCM, Toolkit for Conceptual Modeling, herramienta para crear diversos tipos de diagramas incluidos UML 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)
- Netbeans módulo UML
- Open ModelSphere Herramienta de Modelado gratuita, para modelado de datos, procesos y UML. Disponible como Open Source Software, Released Under GPL (GNU Public License). (Web oficial)
Freeware para modelado en UML
Aunque gratuitos, estos programas se encuentran bajo licencias que no permiten el estudio y modificación de los mismos.
- 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)
Otro software
Software comercial de modelado UML:
- Enterprise Architect de Sparx Systems
- Enterprise Analyst de Craftware. Plug-in de Enterprise Architect
- Borland Together
- Corel iGrafx
- Microsoft Visio
- PowerDesigner de Sybase
- Rational Software Modeler de IBM (antes Rational Rose)
- Poseidon for UML de GentleWare
- MagicDraw UML
- MySQL WorkBench Commercial Edition
Estandarización de UML
Desde el año 2005 UML es un estándar aprobado por la ISO como ISO/IEC 19501:2005 Information technology — Open Distributed Processing — Unified Modeling Language (UML) Version 1.4.2.
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 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. Sin embargo, UML sí acepta la creación de nuestros propios componentes para este tipo de modelado. Object Management Group
Véase también
- Entorno de desarrollo integrado
- 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.
Referencias
- Martin fowler, kendall sccott, "UML Gota a Gota", 1999.
Enlaces externos
- Wikimedia Commons alberga una galería multimedia sobre Lenguaje unificado de modelado.
- Grupo Oficial del lenguaje Modelado - (En Inglés)
- Especificación oficial (En Inglés)
- UML Jokes (En Inglés)
- Introducción a UML 2.0 (En Castellano)
- Introducción a UML 2.0 Parte II (En Castellano)
- Introducción a UML 2.0 (En inglés)
- Amplia información sobre UML (En inglés)
- Base de conocimiento de UML (En Castellano)