NOMBRE: VIVIANA COCARICO CHEJO GRUPO N.
SAGA: A14781-8 FECHA: 14/08/2020
MATERIA: MODELADO Y SIMULACION TIPO DE DOCUMENTO: PRACTICA N. 1
APLICACIONES DE UML
1. ANTECEDENTES
1.1. ESTANDARIZACION DE UML
Desde el año 2004, UML es un estándar aprobado por la ISO como
ISO/IEC 19501:2005 Information technology — Open Distributed Processing —
Unified Modeling Language (UML) Versión 1.4.2.
En el año 2012 se actualizó la norma a la última versión definitiva disponible en ese
momento, la 2.4.1, dando lugar a las normas ISO/IEC 19505-1
1.2. HISTORIA
1.2.1. Antes de UML 1.x
Después de que la Rational Software Corporation contratara a James Rumbaugh
de General Electric, en 1994, la compañía se convirtió en la fuente de los dos
esquemas de modelado orientado a objetos más populares de la época: Object-
Modeling Technique (OMT) de Rumbaugh, que era mejor para análisis orientado a
objetos, y el Método Booch (de Grady Booch) que era mejor para el diseño orientado
a objetos. Poco después se les unió Ivar Jacobson, el creador del método de
ingeniería de software orientado a objetos. Jacobson se unió a Rational, en 1995,
después de que su compañía Objectory AB fuera comprada por Rational. Los tres
metodologistas eran conocidos como los Tres Amigos, porque se sabía de sus
constantes discusiones sobre las prácticas metodológicas.
En 1996 Rational concluyó que la abundancia de lenguajes de modelado estaba
alentando la adopción de la tecnología de objetos, y para orientarse hacia un método
unificado, encargaron a los Tres Amigos que desarrollaran un "lenguaje unificado de
modelado" abierto. Se consultó con representantes de compañías competidoras en
el área de la tecnología de objetos durante la OOPSLA '96; eligieron "cajas" para
representar clases en lugar de la notación de Booch que utilizaba símbolos de
"nubes".
Bajo la dirección técnica de los Tres Amigos (Rumbaugh, Jacobson y Booch) fue
organizado un consorcio internacional llamado UML Partners en 1996 para
completar las especificaciones del UML, y para proponerlo como una respuesta al
OMG RFP. El borrador de la especificación UML 1.0 de UML Partners fue propuesto
a la OMG en enero de 1997. Durante el mismo mes, la UML Partners formó una
Fuerza de Tarea Semántica, encabezada por Cris Kobryn y administrada por Ed
Eykholt, para finalizar las semánticas de la especificación y para integrarla con otros
esfuerzos de estandarización. El resultado de este trabajo, el UML 1.1, fue
presentado ante la OMG en agosto de 1997 y adoptado por la OMG en noviembre
de 1997.
1.2.2. UML 1.x
Como notación de modelado, la influencia de la OMT domina UML (por ejemplo, el
uso de rectángulos para clases y objetos). Aunque se quitó la notación de "nubes" de
Booch, sí se adoptó la capacidad de Booch para especificar detalles de diseño en los
niveles inferiores. La notación de "Casos de Uso" del Objectory y la notación de
componentes de Booch fueron integrados al resto de la notación, pero la integración
semántica era relativamente débil en UML 1.1, y no se arregló realmente hasta la
revisión mayor de UML 2.0.
Conceptos de muchos otros métodos orientados a objetos (MOO) fueron integrados
superficialmente en UML con el propósito de hacerlo compatible con todos los MOO.
Además, el grupo tomó en cuenta muchos otros métodos de la época, con el objetivo
de asegurar amplia cobertura en el dominio de los sistemas en tiempo real. Como
resultado, UML es útil en una gran variedad de problemas de ingeniería, desde
procesos sencillos y aplicaciones de solamente un usuario a sistemas concurrentes y
distribuidos.
1.2.3. UML 2.x
UML ha madurado considerablemente desde UML 1.1, varias revisiones menores
(UML 1.3, 1.4 y 1.5) han corregido defectos y errores de la primera versión de UML.
A estas le ha seguido la revisión mayor UML 2.0 que fue adoptada por el OMG
en 2005.
Aunque UML 2.1 nunca fue lanzado como una especificación formal, las versiones
2.1.1 y 2.1.2, aparecieron en 2007, seguidas por UML 2.2 en febrero de 2009. UML
2.3 fue lanzado oficialmente en mayo de 2010. UML 2.4.1 fue lanzado oficialmente
en agosto de 2011. UML 2.5.1 fue lanzado en octubre de 2012 como una versión "En
proceso" que fue formalmente liberada en junio de 2015.
1.3. ¿QUIÉN USA UML?
UML lo suelen usar las empresas o medianos o grandes equipos de desarrollo
software con el objetivo de planificar y documentar cómo se construyen los
programas informáticos complejos. Los usuarios individuales o pequeños equipos de
desarrollo de 2 ó 3 personas no suelen usar herramientas UML. UML es un término
que se relaciona mucho con “Ingeniería del software”. Al igual que un proyecto de
edificio requiere la participación de un arquitecto y unos plantos, un proyecto
software requiere la participación de ingenieros informáticos y una planificación y
documentación.
1.4. ¿CUÁLES SON LAS VERSIONES DE UML?
Los antecedentes de UML se sitúan en la década de los 90 con distintos estándares
para modelado de software, no obstante podemos hablar de dos grandes versiones:
UML 1.X (comprende UML 1.1, 1.2, 1.3, 1.4, 1.5): desde finales de los 90 se empezó
a trabajar con el estándar UML. En los años sucesivos fueron apareciendo nuevas
versiones que introducían mejoras o ampliaban a las anteriores.
UML 2.X (comprende UML 2.1 hasta UML 2.5, 2.6, etc.): en torno a 2005 se difundió
una nueva versión de UML a la que podemos denominar UML 2.X. Comprenden
varias revisiones.
UML 3.X: evolución que se espera para UML 2.X.
Hay que tener en cuenta que UML es un conjunto muy amplio de normas.
Prácticamente nadie las conoce todas. Según la empresa o universidad, institución o
centro de trabajo se usan determinados programas para crear diagramas y se
conocen ciertas partes de UML, pero no el conjunto de UML.
¿Qué versión usar? Para generar diagramas UML se usan programas informáticos.
Usa un programa actualizado pero no te preocupes en exceso por qué versión de
UML usar, lo importante es que en tu grupo de trabajo o personas a las que se les
vaya a enviar documentación sobre un proyecto software sepan interpretar lo que se
les envía. A nivel profesional no se le presta demasiada atención a que se cumpla
estrictamente con las normas de una determinada versión de UML, sino a que los
esquemas estén bien construidos y razonados.
2. MARCO TEÓRICO
UML son las siglas de “Unified Modeling Language” o “Lenguaje Unificado de
Modelado”. Se trata de un estándar que se ha adoptado a nivel internacional por
numerosos organismos y empresas para crear esquemas, diagramas y
documentación relativa a los desarrollos de software (programas informáticos).
2.1. ¿QUÉ ES Y PARA QUÉ SIRVE UML?
El término “lenguaje” ha generado bastante confusión respecto a lo que es UML. En
realidad, el término lenguaje quizás no es el más apropiado, ya que no es un
lenguaje propiamente dicho, sino una serie de normas y estándares gráficos
respecto a cómo se deben representar los esquemas relativos al software. Mucha
gente piensa por confusión que UML es un lenguaje de programación y esta idea es
errónea: UML no es un lenguaje de programación. Como decimos, UML son una
serie de normas y estándares que dicen cómo se debe representar algo.
UML es una herramienta propia de personas que tienen conocimientos relativamente
avanzados de programación y es frecuentemente usada por analistas funcionales
(aquellos que definen qué debe hacer un programa sin entrar a escribir el código) y
analistas-programadores (aquellos que, dado un problema, lo estudian y escriben el
código informático para resolverlo en un lenguaje como Java, C#, Python o cualquier
otro). Por tanto, si estás dando tus primeros pasos en programación, te
recomendaríamos que te olvides de UML hasta que tengas unos conocimientos
mínimos como uso de condicionales, bucles, y conocimiento de la programación
orientada a objetos. Esto es solo una recomendación, en realidad prácticamente
cualquier persona puede usar UML, incluso podría usarse para realizar esquemas o
documentación de procesos que no tengan que ver con la informática.
Hemos dicho que UML es un estándar. Vamos a aclarar primero qué es un estándar.
Supongamos que vamos a definir un estándar llamado “LMAPR” o lenguaje de
modelado de aprenderaprogramar.com. Ahora definimos dentro de nuestro estándar
estas normas:
Un animal debe representarse con su nombre escrito enteramente en minúsculas
enmarcado dentro de un rectángulo doble. Encima del nombre debe etiquetarse el
tipo de animal así: <<Tipo de Animal>>. Por ejemplo, <<Gato>>.
Si un animal envía un mensaje a otro animal deben conectarse los dos animales con
una línea punteada terminada en flecha encima de la cual debe figurar el texto msg
(“Contenido del mensaje”).
Ahora supongamos que tenemos dos gatos, uno de los cuales le dice al otro “Caza
un ratón y tráemelo aquí por favor”. Veamos formas de representar esto:
Con este ejemplo sencillo hemos tratado de hacer explícito qué es y para qué sirve
UML: un conjunto de normas que nos dicen cómo hay que representar esquemas de
software. En el caso del software orientado a objetos, en vez de gatos tendremos
clases u objetos instanciados, y dispondremos de numerosos tipos de esquemas y
diagramas para representar distintas cosas. Un esquema que cumple las normas
UML podría tener este aspecto:
O también este otro:
¿Por qué si ambos esquemas cumplen con UML tienen un aspecto tan distinto?
Porque UML define normas para construir muchos tipos de esquemas, no esquemas
de un solo tipo.
2.2. TIPOS DE DIAGRAMAS EN UML
Usando UML se pueden construir numerosos tipos de diagramas. Existen dos clases
principales de tipos de diagramas: diagramas estructurales y diagramas
de comportamiento. Estos últimos incluyen varios que representan diferentes
aspectos de las interacciones. Estos diagramas pueden ser categorizados
jerárquicamente como se muestra en el siguiente diagrama de clases:
2.2.1. Estructurales
Muestran la estructura estática de los objetos en un sistema.
A. Diagrama de clases
Los diagramas de clase son, sin duda, el tipo de diagrama UML más utilizado. Es el
bloque de construcción principal de cualquier solución orientada a objetos. Muestra
las clases en un sistema, atributos y operaciones de cada clase y la relación entre
cada clase. En la mayoría de las herramientas de modelado, una clase tiene tres
partes, nombre en la parte superior, atributos en el centro y operaciones o métodos
en la parte inferior. En sistemas grandes con muchas clases relacionadas, las clases
se agrupan para crear diagramas de clases. Las diferentes relaciones entre las
clases se muestran por diferentes tipos de flechas.
B. Diagrama de componentes
Un diagrama de componentes muestra la relación estructural de los componentes de
un sistema de software. Estos se utilizan principalmente cuando se trabaja con
sistemas complejos que tienen muchos componentes. Los componentes se
comunican entre sí mediante interfaces. Las interfaces se enlazan mediante
conectores.
C. Diagrama de despliegue
Un diagrama de despliegue muestra el hardware de su sistema y el software de ese
hardware. Los diagramas de implementación son útiles cuando la solución de
software se despliega en varios equipos, cada uno con una configuración única.
D. Diagrama de objetos
Los diagramas de objetos, a veces denominados diagramas de instancia, son muy
similares a los diagramas de clases. Al igual que los diagramas de clases, también
muestran la relación entre los objetos, pero usan ejemplos del mundo real. Se
utilizan para mostrar cómo se verá un sistema en un momento dado. Debido a que
hay datos disponibles en los objetos, a menudo se utilizan para explicar relaciones
complejas entre objetos.
E. Diagrama de paquetes
Como su nombre indica, un diagrama de paquetes muestra las dependencias entre
diferentes paquetes de un sistema.
F. Diagrama de perfiles
Diagrama de perfil es un nuevo tipo de diagrama introducido en UML 2. Este es un
tipo de diagrama que se utiliza muy raramente en cualquier especificación.
G. Diagrama de estructura compuesta
Los diagramas de estructura compuesta se utilizan para mostrar la estructura interna
de una clase.
2.2.2. De comportamiento
Muestran el comportamiento dinámico de los objetos en el sistema.
A. Diagrama de actividades
Los diagramas de actividad representan los flujos de trabajo de forma gráfica.
Pueden utilizarse para describir el flujo de trabajo empresarial o el flujo de trabajo
operativo de cualquier componente de un sistema. A veces, los diagramas de
actividad se utilizan como una alternativa a los diagramas de máquina del estado.
B. Diagrama de casos de uso
Como el tipo de diagrama de diagramas UML más conocido, los diagramas de casos
de uso ofrecen una visión general de los actores involucrados en un sistema, las
diferentes funciones que necesitan esos actores y cómo interactúan estas diferentes
funciones. Es un gran punto de partida para cualquier discusión del proyecto, ya que
se pueden identificar fácilmente los principales actores involucrados y los principales
procesos del sistema.
C. Diagrama de máquina de estados
Los diagramas de máquina de estado son similares a los diagramas de actividad,
aunque las anotaciones y el uso cambian un poco. En algún momento se conocen
como diagramas de estados o diagramas de diagramas de estado también. Estos
son muy útiles para describir el comportamiento de los objetos que actúan de
manera diferente de acuerdo con el estado en que se encuentran en el momento.
D. Diagrama de interacción
Los diagramas de interacción incluyen distintos tipos de diagramas:
E. Diagrama de secuencia
Los diagramas de secuencia en UML muestran cómo los objetos interactúan entre sí
y el orden en que se producen esas interacciones. Es importante tener en cuenta
que muestran las interacciones para un escenario en particular. Los procesos se
representan verticalmente y las interacciones se muestran como flechas. Los
diagramas de secuencia de UML forman parte de un modelo UML y solo existen
dentro de los proyectos de modelado UML.
F. Diagrama de comunicación
El diagrama de comunicación se llamó diagrama de colaboración en UML 1. Es
similar a los diagramas de secuencia, pero el foco está en los mensajes pasados
entre objetos.
G. Diagrama de tiempos
Los diagramas de sincronización son muy similares a los diagramas de secuencia.
Representan el comportamiento de los objetos en un marco de tiempo dado. Si es
solo un objeto, el diagrama es directo, pero si hay más de un objeto involucrado,
también se pueden usar para mostrar interacciones de objetos durante ese período
de tiempo.
H. Diagrama global de interacciones
Los diagramas generales o globales de interacción son muy similares a los
diagramas de actividad. Mientras que los diagramas de actividad muestran una
secuencia de procesos, los diagramas de interacción muestran una secuencia de
diagramas de interacción. En términos simples, pueden llamarse una colección de
diagramas de interacción y el orden en que suceden. Como se mencionó
anteriormente, hay siete tipos de diagramas de interacción, por lo que cualquiera de
ellos puede ser un nodo en un diagrama de vista general de interacción.
3. MARCO PRÁCTICO
El UML, o Lenguaje de Modelado Unificado, abstrae y visualiza sistemas de la
programación orientada a objetos. El lenguaje de modelado es, por lo tanto, una
herramienta práctica para los desarrolladores de programas y sistemas. Por un lado,
permite crear fotocalcos claros para proyectos de software, y por otro, presentar
sistemas de programación complejos de forma comprensible para las personas que
no están familiarizadas con la temática. Por ejemplo, si deseas presentar un
proyecto de software al responsable de marketing, por medio de un diagrama UML
puedes ofrecer una visión general de las características más importantes de la
aplicación.
3.1. HERRAMIENTAS O PROGRAMAS PARA TRABAJAR CON UML
Hay muchísimos programas que permiten trabajar con UML, aunque aprender a
usarlos requiere tiempo.
Astah community: herramienta sencilla, adecuada para aprender. Se puede
descargar una versión gratuita en http://astah.net/editions/community. Astah (antes
conocido como Jude) también tiene una versión profesional.
Rational Rose: conjunto de herramientas IBM usado por muchas empresas.
Lucidchart: herramienta que permite crear muchos tipos de diagramas, entre ellos
UML.
Microsoft Visio: herramienta de Microsoft que permite la creación de muchos tipos
de diagramas, entre ellos diagramas UML.
Otros: Erwin, Oracle Designer, EasyCASE, Power Designer, etc. son herramientas
que incorporan muchas utilidades, entre ellas UML.
3.1.1. Gliffy: una herramienta UML online para dar los primeros pasos
La aplicación en línea Gliffy es una herramienta de diagramas UML basada en la
nube. Apareció por primera vez en 2006 y se trata de una herramienta de modelado
que crea todo tipo de diagramas, tales como diagramas de flujo, diagramas de Venn
y, por supuesto, diagramas UML. La herramienta en línea fue escrita en HTML5 y es
bastante popular gracias a su rapidez de reacción. Antes de que Gliffy pasara por la
fase beta en 2007, la empresa homónima cooperó con el grupo de software
australiano Atlassian. Ya en 2006, su software de colaboración Confluence integró
un plugin de Gliffy y, más tarde, el equipo de Gliffy desarrolló un plugin para Jira. G
Suite y Drive de Google también integran esta herramienta UML.
Ya sea como plugin o como versión autónoma de navegador, este software es ideal
para el trabajo en equipo. Puedes compartir versiones de solo lectura, así como
trabajar de forma paralela e intercambiar información gracias a la función de
comentarios integrada.
Antes de poder utilizar Gliffy, inicia sesión con tu dirección de correo
electrónico o bien con tu cuenta de Google o Facebook. Después del período de
prueba, la versión gratuita solo se puede utilizar con funcionalidad reducida. Sin
embargo, puedes actualizarla a una cuenta premium por una suscripción mensual.
Gliffy tiene una amplia y variada biblioteca de formas. Además de UML, también
puedes utilizarlo para modelar diagramas de flujo o modelos y notaciones de
procesos de negocio (Business Process Models and Notations, BPMN), entre otras
cosas. Al iniciar el programa, una ventana de orientación te permite definir el
lenguaje de modelado. Si haces clic en UML/ERD, el programa te muestra las
plantillas de todos los tipos de diagramas UML en la barra lateral junto a una hoja en
blanco. En la parte posterior de la interfaz encontrarás la barra de menús con
herramientas. Si arrastras con el ratón una forma cualquiera a la hoja de trabajo, las
herramientas se adaptan automáticamente para editarla. Si seleccionas grupos, las
herramientas correspondientes aparecerán resaltadas en la barra de menús. La
barra y las líneas de guía permiten colocar los elementos del diagrama con gran
precisión. Con un clic en clases, componentes y similares, puedes ajustar
rápidamente el color y la fuente de los símbolos. También puedes crear capas
fácilmente haciendo clic en el elemento de menú correspondiente (a la derecha en la
barra de herramientas). Además, no es necesario planificar la construcción del
diagrama paso a paso. La función de borrado permite deshacer errores. Si deseas
insertar un elemento, Gliffy detecta el cambio y sugiere las opciones de inserción
adecuadas.
Como herramienta UML gratuita, Gliffy importa diagramas en formatos GON, Gliffy y
gXML. Para el formato VDX de Microsoft Visio necesitas una cuenta de pago. Lo
mismo se aplica a la exportación de formatos de imagen comunes como JPG, PNG y
SVG y la conexión a Google Drive. Las cuentas gratuitas también tienen el formato
nativo Gliffy. Si guardas un documento en este formato, puedes compartirlo
fácilmente con tus compañeros de equipo por medio de un enlace de descarga o
integrarlo en varias plataformas como HipChat, Slack, Confluence o WordPress.
Una cuenta gratuita también proporciona 2 MB de espacio en la nube para
guardar tus gráficos y te permite compartir cinco modelos al mismo tiempo. Con
una cuenta de pago a partir de 5 € al mes, Gliffy te ofrece aún más posibilidades,
como la importación ilimitada de memoria o diagramas desde Visio y la exportación a
los formatos de imagen mencionados anteriormente. También se necesita una
cuenta de empresa para obtener un rendimiento significativamente mayor de la
aplicación, aunque para proyectos complejos existen otras herramientas UML más
completas, como veremos más adelante.
3.1.2. ArgoUML: popular programa gratuito para diagramas simples
ArgoUML ha sido durante mucho tiempo una de las herramientas UML gratuitas de
código abierto más populares para el escritorio. Aunque ya no se mantiene,
muchos modeladores continúan usando el programa para tareas más pequeñas.
Software multiplataforma, el requisito mínimo es Java 5 ArgoUML soporta todos los
tipos de diagramas de la versión 1.4 de UML y perfiles UML. El programa también
ofrece algunas formas decorativas que no forman parte del estándar UML: si utilizas
estos formularios, te desviarás del estándar UML. Por lo tanto, asegúrate de que
esto no cause ningún problema de comprensión posteriormente. Utiliza OCL (Object
Constraint Language) para asignar información restrictiva a un modelo.
La interfaz de usuario, algo simple pero clara, te permite dibujar un diagrama en un
panel y editar todas las propiedades del modelo en el panel de abajo
Además, aunque esta herramienta UML está disponible como descarga gratuita,
ArgoUML soporta una amplia gama de lenguajes de programación cuyo código
puede generarse a partir de un diagrama. La ingeniería inversa también es posible
para Java, C++, PHP, C# y SQL. El programa reconoce otros idiomas como Delphi o
Ruby cuando los agrega como extensiones a la carpeta de archivos ArgoULM.
El programa se instala rápidamente mediante click-and-go. La interfaz de usuario
recuerda al diseño de los años 1990. La disposición del panel está claramente
ordenada y el menú que se encuentra encima de la hoja de cálculo digital
proporciona los elementos necesarios después de elegir el tipo de diagrama
deseado.
El panel superior izquierdo contiene el elemento Explorador, que puedes organizar
según tus propias reglas o las existentes ajustando la configuración. A continuación
encontrarás el Troubleshooter, conocido en Argo como el Panel de edición. En este
campo aparecen los posibles modelados incorrectos. Al hacer clic en una de las
carpetas, el programa marca en rojo los posibles errores o las asignaciones que
faltan en el diagrama. Los diagramas terminados se exportan como código o
gráfico (los formatos de imagen soportados son: PNG, PGML, SVG, EPS, GIF, PS)
en un archivo.zip (".zargo"). Puedes utilizar el formato de archivo XMI (XML metadata
exchange) para transferir diagramas a otros programas.
3.1.3. MagicDraw: todo lo que se necesita para diagramas UML profesionales
MagicDraw de No Magic es la primera versión completa para el modelado
profesional que ofrecemos en este listado. Esta aplicación de escritorio destaca por
su diseño moderno y claro, así como por su variedad de funciones y la facilidad de
su uso. Esta herramienta de diagramas UML ofrece además SysML, representación
gráfica de procesos de negocio con BPMN (Business Process Model and Notation) y
el marco de arquitectura UPDM (United Profile for DoDAF/MODAF). En MagicDraw
se trabaja con los diagramas actuales según el estándar UML 2.5, cuyos perfiles se
pueden adaptar a tus propias necesidades. MagicDraw también ofrece lenguaje de
especificación OCL (Object Constraint Language), y XMI, que puedes usar para
exportar diagramas a otros programas sin pérdidas de información.
El espacio de trabajo está dividido en tres paneles cuyas pestañas se pueden
personalizar. La barra lateral junto al panel de trabajo proporciona las plantillas
necesarias para el diagrama correspondiente, así como los formularios estándar.
MagicDraw ofrece cinco ediciones (de Personal a Enterprise) que difieren tanto en
funcionalidad como en el precio. En nuestro análisis hemos echado un vistazo más
de cerca a la Enterprise Edition porque no solo ofrece todas las características y
plugins para un modelado profesional, sino que también permite la integración
completa en un entorno de desarrollo integrado como Eclipse Workbench. Las
versiones Premium también facilitan el trabajo en equipo: por ejemplo, varios
usuarios pueden trabajar en un modelo al mismo tiempo. En el servidor del equipo se
puede intercambiar información sobre un proyecto, aunque NoMagic comercializa
esta funcionalidad por separado. Con la Enterprise Edition puedes acceder al
WebPortal y permite la visualización interactiva de un modelo en el navegador.
Los requisitos mínimos de instalación son los siguientes:
CPU: Intel Core TM i3
RAM: 4 GB
Espacio en disco: 1 GB
Resolución de pantalla: 1366 x 768 píxeles
Sistema operativo: todos los sistemas operativos compatibles con Java-SE-8
(Windows Vista y superior, macOS y Lion y superior)
Esta herramienta UML permite importar muchos tipos de archivos, incluidos los
formatos de metadatos XMI nativos de Eclipse y Rhapsody, CSV, ReqIF, DoDAF y
CA ERwin Data Modeler de IBM. Puedes guardar e imprimir tus diagramas como
copias en los formatos de imagen BMP, PNG, JPG y EMF. También es posible la
generación de código y la ingeniería inversa. MagicDraw se basa en tres idiomas:
Java, C++ (en diferentes versiones) y C#.
MagicDraw convierte diagramas UML en marcos de código:
Java
C++
C#
Esquemas XML
Corba IDL
Ingeniería inversa de código en diagramas UML:
DDL
WSDL
Java
C++
C#
Esquemas XML
Puedes modelar diagramas UML desde cero en un documento vacío o bien añadir
detalles y elementos a un modelo ya creado con los paneles personalizables. Ya en
la primera puesta en marcha de esta herramienta de diagramas UML verás la clara
división de la interfaz. Añade tantas fichas como consideres necesarias para tu flujo
de trabajo. A pesar de sus muchas funciones y opciones de edición,
MagicDraw proporciona un diseño claro y explicaciones sencillas y cortas, para
que incluso los usuarios sin experiencia puedan armar rápidamente sus primeros
bocetos sin mucha formación.
Si seleccionas la ficha Gráficos en la barra del menú principal, la herramienta UML
abre la plantilla para el tipo seleccionado en la barra lateral del espacio de trabajo. Si
arrastras un elemento a la hoja de trabajo y haces clic una vez, aparecerán
pequeños botones con opciones. Haz clic en ellos (o clic con el botón derecho del
ratón encima el elemento) para editar las propiedades del objeto, añadir texto o
hipervínculos. La barra de herramientas personalizable situada encima de la hoja de
trabajo siempre resalta las funciones que puedes utilizar para personalizar uno o
más elementos seleccionados. La herramienta Layout ordena los bocetos no
estructurados, y con la herramienta Zoom y perspectiva tendrás tu proyecto
completamente a la vista, desde los pequeños detalles hasta la imagen completa del
proyecto.
El programa también comprueba si hay errores en el proyecto y los muestra.
Para el análisis independiente, tienes la opción de comparar diferentes versiones
de un diagrama, uno al lado del otro. Los arquitectos de software aprecian
especialmente la opción de entrada de texto libre para la creación de diagramas, ya
que favorece un flujo de trabajo dinámico.
3.1.4. Lucidchart: la herramienta UML online para el trabajo en equipo
Lucidchart es una herramienta UML a la que se puede acceder en el navegador,
así como a través de Android e iOS. La cuenta gratuita te da paso a un paquete de
herramientas UML muy completo. Incluye 7 tipos de diagramas UML y lenguajes de
modelado de procesos de negocio como BPMN 2.0, plantillas de iconos de red,
maquetas de dispositivos móviles e integración de vídeo. Una de las ventajas de
Lucidchart es su funcionamiento intuitivo. También permite compartir y editar
simultáneamente diagramas en equipo e integrar comentarios directamente en la
herramienta. Como herramienta de modelado UML compatible con MacOS, es
una buena alternativa a Microsoft Visio para usuarios de Apple.
Si ya utilizas otro software de trabajo en equipo, echa un vistazo a la lista de
integraciones disponibles. Lucidchart se puede conectar con aplicaciones de Google
y Microsoft, productos Atlassian, aplicaciones de chat y servicios web de Amazon.
La versión gratuita de Lucidchart es una herramienta online muy útil para dibujar
rápidamente diagramas UML complejos y compartirlos con tu equipo
Si deseas probar esta herramienta UML de forma gratuita, puedes crear una cuenta
sin compromiso o usar la fase de prueba, igualmente gratuita, de las cuentas
premium. Con las cuentas de pago, tu almacenamiento de diagramas en la nube
aumenta de 25 a 100 MB, permitiéndote exportar gráficos, integrar proveedores
externos y trabajar con formularios más profesionales. Con la cuenta gratuita tienes
acceso a las siguientes plantillas de diagramas UML:
o diagrama de clases
o diagrama de estados
o diagrama de actividades
o diagrama secuencial
o diagrama de componentes
o diagrama de casos de uso
o diagrama de despliegue
Si deseas diseñar diagramas complejos con más de 60 objetos, necesitas una
cuenta premium. Lo mismo si necesitas trabajar en más de tres objetos activos al
mismo tiempo.
También puedes importar datos y diagramas con la cuenta gratuita. Lucidchart es
compatible con los formatos de diagramas nativos de Microsoft Visio, Omnigraffle,
Gliffy y Draw.io. Puedes arrastrar datos de archivos CSV, SQL, arquitectura AWS y
mapas mentales. La función de enlace de datos también integra datos en tiempo real
de Excel, CSV y Google Sheets. Sin embargo, si deseas editar formatos nativos de
otros proveedores, necesitarás una cuenta de pago, que también te permite realizar
copias de seguridad y restaurar tus datos.
En relación a su diseño, la interfaz de usuario de Lucidchart se caracteriza por
una disposición clara que deja mucho espacio en la hoja de trabajo. En el margen
derecho, el menú (en forma de barra de botones) desaparece hasta que se utiliza.
Con un solo clic puedes cambiar la configuración de la página, crear capas y
presentaciones o intercambiar información con tus compañeros de equipo.
Encontrarás las plantillas en una barra a la izquierda del área de trabajo. Puedes
personalizar el contenido con plantillas y modificar el tamaño con el ratón para
arrastrar el ancho de la barra a tu medida.
La barra de herramientas horizontal muestra las funciones que necesitas cada vez
que arrastras una forma o línea al espacio de trabajo. Puedes ajustar fácilmente el
tamaño y la orientación. Si mueves el ratón sobre una forma, aparecen pequeños
círculos rojos: añade flechas y líneas en estos puntos o utiliza la cuadrícula para
dibujar fácilmente diagramas limpios con intervalos coincidentes. Para construir su
diagrama UML algunos desarrolladores prefieren escribir comandos de entrada: para
ello esta herramienta UML ofrece la función de marcado UML.
La versión Team te permite personalizar las funciones de usuario y proteger tus
documentos mediante la autenticación de inicio de sesión única.
El almacenamiento en la nube de Lucidchart también cifra todos tus datos, y
cada vez que compartes un documento tú decides si otro usuario puede editarlo,
comentarlo o simplemente leerlo.
3.1.4. IBM Rational Rhapsody: entorno de desarrollo gráfico para integrar procesos
IBM Rational Rhapsody es un entorno de desarrollo gráfico integrado (IDE) para
el desarrollo de software y otros productos. Esta herramienta para modelado
UML permite el desarrollo de software basado en objetos para aplicaciones web, así
como sistemas embebidos y sistemas en tiempo real basados en C++ y Java EE. El
modelado UML/SysML te permite crear rápidamente código fuente en el IDE para los
lenguajes especificados, C y C#, MISRA-C o MISRA-C++ y Ada.
Rhapsody pasó por varias manos tras su desarrollo inicial en 1998. Después de que
IBM adquiriera la empresa sueca Telelogic AB en 2008, el gigante estadounidense
amplió su gama de productos con Telelogics Rhapsody. Como uno de los primeros
entornos de desarrollo gráfico integrado, Rational Rhapsody se expandió en muy
poco tiempo.
Muchas marcas internacionales utilizan el software, por ejemplo, para grandes
proyectos que requieren una diferenciación detallada de versiones para numerosos
miembros del equipo en diferentes países. Jaguar Land Rover, por ejemplo, utiliza
Rational Rhapsody para adaptar el software de su oferta de infoentretenimiento en
sus diferentes mercados.
Para estas y otras tareas, Rhapsody ofrece un entorno de desarrollo en el que se
puede dibujar diagramas, generar y comprobar código, comparar modelos o analizar
diferentes versiones. Esta herramienta UML es compatible con las siguientes
notaciones:
UML
SysML
AUTOSAR
DoDAF
MODAF
UPDM
DSL
Estos lenguajes de modelado basados en UML son adecuados para el desarrollo de
software, lo que ahorra mucho trabajo a los programadores. Además, puedes confiar
en la compatibilidad de esta herramienta, ya que UML y Rhapsody se desarrollaron
en la misma empresa, concretamente en Rational Software.
En Rhapsody puedes dibujar los modelos libremente, importar código existente
para visualizarlo en forma de diagrama o descargar los requisitos de una
herramienta de gestión como Doors, pariente de la familia Rational. El siguiente
video de YouTube muestra cómo crear un modelo SysML para un sistema en tiempo
real a partir de una lista de requisitos en Doors. Para el proyecto, debía crearse un
sistema de aparcamiento para una cadena hotelera.
Los desarrolladores crearon la herramienta UML basada en el software de código
abierto Eclipse. La versión actual todavía soporta la plataforma IDE de Eclipse como
integración o plugin. Además, permite incluir otros entornos de desarrollo integrado
como integración de flujo de trabajo:
Wind River Workbench
Green Hills MULTI
Microsoft Visual Studio 2008
Como IDE, Rhapsody funciona en tiempo real y crea cuadros de código fuente a
partir de diagramas. El programa ofrece cuatro versiones diferentes de licencia.
Además, IBM ofrece diferentes versiones de la herramienta UML, específicas para
los diferentes requisitos de los distintos departamentos de una empresa. Puedes
elegir entre las siguientes versiones: Architect for Systems Engineers, Designer
for Systems Engineers, Architect for Software o Developer. Los programas
difieren principalmente en las funcionalidades y el precio.
La versión Developer es la más completa, ya que combina todas las características e
integra el código fuente creado en el entorno de desarrollo embebido. También
optimiza el proceso desde el primer boceto hasta el prototipo y la realización final del
proyecto. Si deseas sincronizar el código fuente y diseñar o documentar el proceso,
también es posible. Entre el resto de versiones, Architect for Software es la más
potente para trabajar con UML, ya que es la única que ofrece estas características
para desarrolladores. Designer for Systems Engineers, por su parte, es muy útil para
algunas tareas como la creación de prototipos y simula la ejecución del sistema
desde la fase inicial.
3.1.5. Microsoft Visio: la herramienta de diagramas UML para usuarios de Office
Microsoft Visio es un popular software de gráficos y visualización que pertenece
a la familia Office, de modo que se integra a la perfección en la suite. Por ejemplo,
si utilizas Office Pro 365, Microsoft te ofrece una extensión de suscripción para Visio
-el precio se añadirá a tu suscripción de Office. Visio Online Plan 2 incluye una
aplicación de escritorio y un editor basado en la web para un máximo de cinco PC
(licencias por volumen a petición).
También puedes obtener Visio Professional como licencia permanente por un
precio fijo de unos 740 € por usuario. Esta versión incluye una aplicación de
escritorio, otra de navegador y una app para el iPad. Visio Standard no es
compatible con los diagramas UML y, por lo tanto, no se incluye aquí. Como
herramienta UML, las versiones Visio presentadas se dirigen principalmente a
clientes corporativos que utilizan el entorno de Office y desean optimizar su flujo
de trabajo integrando a la perfección la herramienta de modelado adecuada en su
sistema. Aunque ambas versiones, Professional y Online Plan 2, son similares en
funcionalidad, tienen algunas diferencias en cuanto a su compatibilidad con los
distintos diagramas UML:
¿Necesitas una biblioteca completa de formularios con estándares de notación UML
actuales? El estándar OMG UMLen el momento de esta publicación es UML 2.5.1. Si
ya estás suscrito a Microsoft Office Pro 365, te recomendamos Online Plan 2, con
Windows 7 como requisito mínimo para las versiones actuales de Visio. Se necesitan
1 GB de RAM y 3 GB de espacio en el disco duro para la aplicación de escritorio. Por
otra parte, si lo que necesitas es un programa compatible para ver diagramas,
el complemento gratuito para Internet Explorer, Visio 2016 Viewer de Microsoft,
puede ser suficiente. Debido a su compatibilidad limitada (IE 8-11, Windows 7, 8.1 y
10), este complemento probablemente solo será interesante para un pequeño grupo
de usuarios.
Visio se limita, en gran medida, a funciones que te permiten dibujar gráficos y
diagramas vectoriales estándar del sector y trabajar en equipo. Si se libera un
diagrama, los miembros del equipo aprobados pueden trabajar en el documento al
mismo tiempo. Mientras tanto, si es necesario, puedes intercambiar ideas con el
complemento integrado de Microsoft Teams. Solo tienes que compartir los bocetos y
prototipos terminados a través de la nube compartida.
Si deseas crear marcos de código a partir de tus diagramas, necesitas otras
herramientas UML, por ejemplo, Visual Studio de Microsoft. Como este programa
también forma parte de la familia de productos, el entorno de desarrollo integrado
permite que Visio se integre en todo proceso de desarrollo. Sin embargo, a partir de
Enterprise 2017 Visual Studio ya no integra plantillas UML. Puedes guardar tu
trabajo de otras herramientas de diagramas UML en los formatos de metadatos
OPC/XML nativos, así exportarás tus diagramas y, si es posible, seguirás trabajando
en ellos sin pérdida de datos.
Formatos nativos de Visio:
VSD (para dibujar)
VSS (para sellos)
VST (plantillas)
VSW (dibujo en la web)
VSDX (dibujo con metadatos OPC/XML)
VSDM (dibujo con metadatos OPC/XML, compatible con macros)
VSSX (sello con metadatos OPC/XML)
VSSM (sello con metadatos OPC/XML, compatible con macros)
VSTX (plantillas con metadatos OPC/XML)
VSTM (plantillas con metadatos OPC/XML, aptas para macros)
VSL (como complemento)
Visio no tiene funciones de generación de código ni tampoco de round-trip
engineering. Los diagramas UML se crean a partir de datos o código fuente
importados. De esta manera, esta herramienta UML cumple con su tarea principal,
que consiste en mostrar claramente los procesos y sistemas. Visio también te
permite integrar datos en tiempo real en tus diagramas con un solo clic. Este llamado
enlace de datos representa, por ejemplo, procesos empresariales complejos (con
BPMN) durante todo el tiempo de ejecución. De forma alternativa, puedes probar
dependencias dentro de un sistema usando un diagrama de comunicación UML en
vivo con datos reales.
3.1.6. Herramientas UML: comparativa final
Ya sea gratuita, como aplicación de navegador o como entorno de desarrollo
integrado, existen diferentes propuestas adaptadas a cada necesidad. Al fin y al
cabo, la mejor herramienta UML es aquella que realiza las tareas deseadas de forma
eficiente y utiliza el menor número de recursos posible. Como has podido ver hasta
ahora, hay herramientas de diagramas UML de todo tipo. Los casos son muy
variados: desde la creación de un boceto corto hasta la realización de marcos de
código fuente para un sistema complejo y el análisis a través de diagramas. Sea cual
sea tu caso, alguna de las aplicaciones presentadas seguramente podrá ayudarte.
Como sabemos que no te gustaría gastar todo el presupuesto mensual en una
pequeña herramienta para bocetos, también tenemos en cuenta en nuestra
comparación el precio de cada solución. En la tabla siguiente resumimos los datos
principales sobre las herramientas UML disponibles en el mercado.
Lenguajes y
Trabajo en Versiones de
Herramienta formatos de Adecuado
Tipo Plataforma equipo UML Precio
UML programación para
integrado compatibles
compatibles
Gliffy Software Navegador, JavaScript, ✔ UML 2.5 Principiantes Suscripción gratuita y
de gráficos plugin para HTML5, VDX, , bocetos Premium (desde unos
basado en Confluence o gXML 5 € al mes)
web Jira, Google
Apps, Hipchat
ArgoUML Software Escritorio, Java y C++ ✘ 43191 Inexpertos Gratuita
UML de multiplataforma (plugin), C#, con UML,
código PHP4 y 5, Ruby bocetos
abierto bajo
Eclipse
Public
License 1.0
MagicDraw Software Escritorio, Java, C++, C#, ✔ Servidor 1.4 – 2.5 Grandes Pago único desde
propietario multiplataforma CIL, XML, de equipos empresas, 300 $ aprox.
con CORBA, WSDL, en la version tareas
licencia EJB, DDL, IDL Enterprise complejas
(Single,
Floating,
Mobile)
Lucidchart Software Navegador, app JavaScript, ✔ UML Bocetos, Suscripción freemium
de gráficos para iOS y HTML5, SQL grandes a partir de 5 € al mes,
basado en Android, plugin proyectos, gratuita (licencia
web trabajo en Education)
equipo
IBM Rational Entorno de Multiplataforma Java EE, C++, Con plugin UML 2.1 Modular, IDE A connsultar
Rhapsody desarrollo C#, EJB, WSDL, totalmente
gráfico XSD, CORBA integrable
para el IDL, SQL, .NET
desarrollo y
validación
de
software
basado en
modelos
Microsoft Software Windows, C++, C#, VSDX, ✔ UML 2.0 y 2.5 Visualización Suscripción a Visio
Visio propietario navegador, app VSDM de grandes Online Plan 2 a partir
de gráficos para iPad, proyectos de 13€ al mes, pago
vectoriales máquina virtual único de Visio
y gráficos Professional de unos
740€.
4. APLICACIÓN
Crear un diagrama de clase:
1. Un club náutico desea tener informatizados los datos correspondientes a sus
instalaciones, empleados, socios y embarcaciones que se encuentran en
dicho club. El club está organizado de la siguiente forma:
Los socios pertenecientes al club vienen definidos por su nombre, dirección,
DNI, teléfono y fecha de ingreso en el club.
Las embarcaciones vienen definidas por: matricula, nombre, tipo y
dimensiones.
Los amarres tienen como datos de interés el número de amarre, la lectura del
contador de agua y luz, y si tienen o no servicios de mantenimiento
contratados.
Por otro lado, hay que tener en cuenta que una embarcación pertenece a un
socio aunque un socio puede tener varias embarcaciones. Una embarcación
ocupará un amarre y un amarre está ocupado por una sola embarcación. Es
importante la fecha en la que una embarcación en asignada a un amarre.
Los socios pueden ser propietarios de amarres, siendo importante la fecha de
compra del amarre. Hay que tener en cuenta que un amarre pertenece a un
solo socio y que NO HAY ninguna relación directa entre la fecha en la que se
compra un amarre y en la que una embarcación se asigna a un amarre.
El club náutico está dividido en varias zonas definidas por una letra, el tipo de
barcos que tiene, el número de barcos que contiene, la profundidad y el ancho
de los amarres. Una zona tendrá varios amarres y un amarre pertenece a una
sola zona.
En cuanto a los empleados, estos vienen definidos por su código, nombre,
dirección, teléfono y especialidad. Un empleado está asignado a varias zonas
y en una zona puede haber más de un empleado, siendo de interés el número
de barcos de los que se encarga en cada zona. Hay que tener en cuenta que
un empleado puede no encargarse de todos los barcos de una zona.
5. CONCLUSIÓN Y RECOMENDACIONES
5.1. CONCLUSIÓN
UML y sus diagramas de clases nos colaboran sobre la base de clases (objetos)
intervinientes en nuestro sistema y sus relaciones. Desde luego que las relaciones
de agregación y composición no se reflejan en el código generado a partir de los
diagramas de clases, pero hemos aprendido a realizar Diagramas en el programa
VISIO. UML nos permite visualizar con claridad las clases y relaciones del modelo en
tratamiento.
5.2. RECOMENDACIÓN
Para la generación de los diagramas UML, es necesario saber que herramientas nos
ayudan para su creación, como también saber los conceptos y funciones de cada
uno de los diagramas al momento de la implementación representativa de cada uno
de los objetos involucrados en el desarrollo del proyecto.
6. BIBLIOGRAFÍA
CONSULTA DE FUENTE VIRTUAL
https://www.aprenderaprogramar.com/index.php?
option=com_content&view=article&id=688:ique-es-y-para-que-sirve-uml-
versiones-de-uml-lenguaje-unificado-de-modelado-tipos-de-diagramas-
uml&catid=46&Itemid=163 (13/08/2020)
https://www.ionos.es/digitalguide/paginas-web/desarrollo-web/las-mejores-
herramientas-uml/ (13/08/2020)
https://es.wikipedia.org/wiki/Lenguaje_unificado_de_modelado#Estandarizaci
%C3%B3n_de_UML(13/08/2020)
https://es.scribd.com/upload-document?
archive_doc=72454990&escape=false&metadata=%7B%22context%22%3A
%22archive_view_restricted%22%2C%22page%22%3A%22read%22%2C
%22action%22%3A%22download%22%(13/08/2020)