Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Foro Temático Lenguaje UML
Foro Temático Lenguaje UML
GA2-220501093-AA1EV01
Ficha: 2879658
2024
Cuál es la importancia de UML
Hoy en día, UML ("Unified Modeling Language") está consolidado como el lenguaje estándar en el
análisis y diseño de sistemas de cómputo. Mediante UML es posible establecer la serie de
requerimientos y estructuras necesarias para plasmar un sistema de software previo al proceso
intensivo de escribir código.
En otros términos, así como en la construcción de un edificio se realizan planos previo a su
construcción, en Software se deben realizar diseños en UML previa codificación de un sistema, ahora
bien, aunque UML es un lenguaje, éste posee más características visuales que programáticas, mismas
que facilitan a integrantes de un equipo multidisciplinario participar e intercomunicarse fácilmente,
estos integrantes siendo los analistas, diseñadores, especialistas de área y desde luego los
programadores.
Desde clientes y gestores de proyectos hasta autores técnicos, diseñadores, analistas, codificadores y
encargados de pruebas y control de calidad, cada rol utilizará un diagrama específico que se adapte a
sus necesidades. Eso significa que cada disposición requiere un enfoque y nivel de detalle diferente. El
objetivo es que el UML exprese visualmente diagramas que sean fáciles de entender para todos.
Diagramas estructurales
Diagramas de comportamiento
El enfoque aquí está en los aspectos dinámicos del sistema de software o proceso. En estos diagramas
se muestra la funcionalidad de un sistema y se enfatiza lo que debe ocurrir en el sistema que se está
modelando.
Echemos un vistazo a los muchos tipos diferentes de diagramas UML que se encuentran en cada
categoría:
Diagrama de clases. Este diagrama, el más común en el desarrollo de software, se usa para
representar el diseño lógico y físico de un sistema, y muestra sus clases. Tiene un aspecto
similar al del diagrama de flujo porque las clases se representan con cuadros. Este diagrama
ofrece una imagen de las diferentes clases y la forma en la que se interrelacionan, y cada clase
posee tres compartimientos:
Sección superior: nombre de clase
Sección central: atributos de clase
Sección inferior: métodos u operaciones de clase
Diagrama de objetos. A menudo, este diagrama se usa como una forma de comprobar la revisión de
un diagrama de clases para fines de precisión. En otras palabras, ¿funcionará en la práctica? Muestra
los objetos de un sistema y sus relaciones, y ofrece una mejor visión de los potenciales defectos de
diseño que necesitan reparación.
Diagrama de estructura compuesta. Este lo utilizan rara vez las personas externas al campo
de desarrollo de software. ¿Por qué? Aunque es similar a un diagrama de clases, adopta un
enfoque más profundo, que describe la estructura interna de múltiples clases y muestra las
interacciones entre ellas. Salvo que usted sea desarrollador, la vista de nivel superior
probablemente le entregará información suficiente.
Diagrama de despliegue. Este diagrama muestra los componentes de hardware (nodos) y
software (artefactos) y sus relaciones. Ofrece una representación visual exacta del lugar donde
se implementa cada componente de software.
Diagrama de paquetes. Este se utiliza para representar las dependencias entre los paquetes
que componen un modelo. Su objetivo principal es mostrar la relación entre los diversos
componentes grandes que forman un sistema complejo.
Diagrama de actividades. Este representa un proceso paso a paso con un inicio y final claros.
Es un conjunto de actividades que deben realizarse para lograr un objetivo. Muestra cómo cada
actividad conduce a la siguiente y cómo todas estas se conectan. Además del desarrollo de
software, estas se pueden utilizar en casi cualquier entorno empresarial. También se
denominan asignación o modelado de proceso empresarial.
Diagrama de casos de uso. Este describe lo que un sistema hace las cosas, pero no la forma en que las
hace. Un caso de uso es un conjunto de eventos que ocurren cuando un “actor” usa un sistema para
completar un proceso. Un actor se define como cualquier persona o cualquier cosa que interactúa con
el sistema (persona, organización o aplicación) desde fuera del sistema. Por lo tanto, un diagrama de
casos de uso describe visualmente ese conjunto de secuencias y representa los requisitos funcionales
del sistema.
Diagrama de tiempos. Cuando el tiempo ocupa un lugar central, se usa este diagrama de
UML. También conocido como un diagrama de secuencia o eventos, no muestra la forma en
que los objetos interactúan o cambian entre sí. Funcionalmente, muestra cómo los objetos y
actores se desempeñan en una línea de tiempo. El enfoque aquí está en la duración de los
eventos y los cambios que se producen en función de las restricciones de duración. Las
principales partes de un diagrama de plazos incluye:
1. Lucidchart: Es una herramienta muy completa; ya que no solamente podrás crear diagramas
UML, sino múltiples diseños como: wireframes, canvas, redes de datos, entre otros.
Adicionalmente cuenta con licencias gratuitas, de costo y académicas.
2. Diagrams: Una de las peculiaridades que posee, es la capacidad de respaldar tus diagramas en
diferentes fuentes coo: google drive, github, dropbox, one drive. Es una buenisima herramienta
puedes crear infinidad de diagramas y/o diseños de: redes, negocios, software, infografías, iconos,
etc
3. Cacoo: Es una herramienta de diseño colaborativo. Es de costo y tiene su versión gratuita.
Contribuye a la lluvia de ideas y mejora continua de productos. Permite trabajar con diseños de
AWS, Visio y múltiples integraciones como: Google drive, Adobe Creative Cloud y Confluence
4. StarUML: Todo un clásico, enfocado en el diagramado UML ágil. Cuenta con manejo de
extensiones en distintos lenguajes de programación, generación de código de programación, entre
otros
5. Papyrus: Un complemento perfecto si estás trabajando con el IDE Eclipse; ya que además de
permitirte diseñar tus diagramas los podrás implementar en un entorno de programación. Contiene
herramientas para visualizar la ejecución en tiempo real de tus diagramas
6. Modelio: Tiene un amplio soporte de modelado en: UML, BPMN, ArchiMate,SysML. Puedes
realizar ingeniería inversa para crear tus diagramas, entre muchas otras funcionalidades.
7. UMLDesigner: Una herramienta muy completa con amplio soporte de lenguajes de programación e
interfaz con muy buena usabilidad
8. GenmyModel: Buenísima herramienta web para modelar datos, te permite crear diagramas UML,
BPMN, ArchiMate, Journey Mapping, diagramas de flujo y muchas más.
9. Gliffy: Es una herramienta muy completa, posee integración con una de las mejores plataformas de
gestión de proyectos del mercado Atlassian, lamentablemente tiene un costo, pero si esta entre tus
posibilidades esta debería una opción
10. Diagramo: Es una herramienta desarrollada en HTML5, permite colaborar, exportar tus diseños en
distintos formatos y apoyarte en los distintos diagramas que son creados continuamente en la
comunidad.
11. BPMN: Es una herramienta netamente basada en el modelado de negocios, creación de reglas de
negocio. Requiere un experto en programación, debido a las funcionalidades de adaptación y
creación que posee.
12. UMLet: Quizá no sea la herramienta más bonita visualmente, pero te puede sacar de cualquier
apuro que tengas al momento de crear tus diagramas UML. Una de sus características destacables
es la documentación que te ayuda paso a paso en tus diseños.
13. Verbatelo: Amplio soporte con bases de datos como: Oracle 11g, MySQL 5.5, PostgreSQL 9.x,
SQLite 3.7.x,IBM DB2 9.7,MS SQL Server,HSQLDB 2.3,Amazon Redshift. Permite colaborar en
equipo, aplicar ingeniería inversa, generar archivos SQL y muy buena usabilidad. Tiene costo
económico, pero si eres estudiante o profesor la herramienta la podrás utilizar gratis.
14. xUML: Es una muy buena herramienta con apoyo de la comunidad. Utiliza lenguaje acción objeto
como parte indispensable para acceso a datos, generación de eventos, pruebas, transformaciones,
etc. Posee un compilador del modelo con soporte en C y C++
15. Umple: Es una herramienta de modelado y una familia de lenguajes de programación que permite
lo que llamamos Programación Orientada a Modelos. Añade abstracciones como Asociaciones,
Atributos y Máquinas de Estado derivadas de UML a lenguajes de programación orientados a
objetos como Java, C++, PHP y Ruby.