• (057) 3164729113 - 3153334599
  • contactenos@scholarium.biz

UML



Modelos y UML

(Unified Modeling Language) es el acrónimo en inglés para «lenguaje unificado de modelado». 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, funciones del sistema, y aspectos concretos como expresiones de lenguajes de programación, esquemas de bases de datos y compuestos reciclados.

Es importante remarcar 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. (Referencia: http://es.wikipedia.org/wiki/Lenguaje_Unificado_de_Modelado)

¿Qué es un Modelo?

Pero, ¿qué significa modelar? La respuesta corta sería: «construir modelos». Sin embargo, esta respuesta nos lleva a otra pregunta: ¿qué es un modelo? La palabra modelo tiene varias acepciones en castellano. Para nosotros en el contexto de UML, un modelo «es una descripción analógica para ayudar a visualizar algo que no se puede observar directamente y que se realiza con un propósito determinado y se destina a un público específico».

A modo de ejemplos, un mapa de transportes de una ciudad, es un modelo de la ciudad en cuestión; un plano de instalaciones sanitarias de un edificio, es un modelo de ese edificio; un dibujo de un dragón, es un modelo de un dragón. En los ejemplos anteriores, nos referimos a representaciones de cosas que no podemos observar, pero de las que nos damos una idea a partir del modelo.

No obstante, hay varios elementos en la definición anterior que necesitamos desmenuzar. Acabamos de decir que un modelo es una descripción analógica para ayudar a visualizar algo que no se puede observar directamente, y que se realiza con un propósito determinado y se destina a un público específico.

Veamos:

  • Descripción analógica: el modelo no es aquello que se quiere observar, sino una representación simplificada. Por esta razón, el mapa no es la ciudad, el plano sanitario no es la propia instalación sanitaria y el dibujo del dragón no es el propio dragón.
  • De algo que no puede ser observado directamente: el sistema de transportes de la ciudad no se puede ver, porque es un concepto abstracto que requiere de estudio y observación; las instalaciones sanitarias del edificio no se pueden ver a menos que rompamos las paredes y pisos del mismo; el dragón no puede verse … porque no existe.
  • Se realiza con un propósito determinado: el propósito o perspectiva es lo que determina para qué realizamos el modelo. Así, el mapa de transportes sirve para saber cómo llegar de un punto a otro de la ciudad usando el sistema de transportes; en el plano de instalaciones sanitarias se indica por dónde pasan las cañerías del edificio; el dibujo del dragón, para comunicar a otras personas cómo sería un ejemplar de esta especie mitológica.
  • Destinado a un determinado público: es decir, existe un público potencial que va a usar el modelo en cuestión. Por ejemplo, el mapa de transportes se realiza para un ciudadano común que necesita moverse por la ciudad o para un planificador de transportes; el plano de instalaciones sanitarias le sirve a un plomero que desee hacer una refacción de un baño, entre otros; el dibujo del dragón puede tener un público infantil o adulto.

La finalidad última de un modelo es la comunicación de algo: un proyecto, un concepto, la descripción física de algún elemento, etc. Precisamente, por esta necesidad de comunicar y porque, además, se destina a un determinado público, con cierto propósito, un modelo es, en definitiva, una abstracción.

¿Qué es UML?

UML es una notación de modelado visual, que utiliza diagramas para mostrar distintos aspectos de un sistema. Si bien muchos destacan que UML es apto para modelar cualquier sistema, su mayor difusión y sus principales virtudes se advierten en el campo de los sistemas de software. Esto no obsta para que muchos profesionales intenten usar UML en situaciones diversas, haciendo uso de esa máxima que dice que «cuando la única herramienta que conocemos es el martillo, aun los tornillos nos parecen clavos».

En la actualidad, UML es un lenguaje de visualización, especificación y documentación de software, basado en trece tipos de diagramas, cada uno con sus objetivos, destinatarios y contexto de uso. Se habla de lenguaje, en cuanto a que es una herramienta de comunicación formal , con una serie de construcciones, una sintaxis y una semántica definidas. Así, los elementos constructivos son diagramas y sus partes, la sintaxis es la descripción de cómo deben realizarse esos diagramas y la semántica define el significado de cada diagrama y elemento de los mismos.

¿Para qué usar UML?

Hay varios usos que se pueden hacer de UML, pero podemos distinguir dos:

  • Como herramienta de comunicación entre humanos.
  • Como herramienta de desarrollo.

En el primer caso, usamos UML para mejorar el entendimiento de alguno o varios aspectos dentro del equipo de desarrollo, entre el equipo de desarrollo y otros interesados en el proyecto, o para documentar aspectos del desarrollo para el mantenimiento posterior del sistema.

Notemos que debido a que UML se utilizará para la comunicación, el énfasis se centrará en facilitarla. Por lo tanto, no deberían sobrecargarse los diagramas con detalles innecesarios, sino colocar solamente aquellos elementos que sean centrales al objetivo de la comunicación. También es conveniente cuidar la distribución de los elementos en el diagrama, usar colores y toda otra cuestión que mejore la legibilidad y la comprensión.

El segundo caso es menos común en general y admite varios matices, aunque suele utilizarse bastante en proyectos grandes o cuando se recurre a metodologías muy formales.

Se trata de emplear a UML como una herramienta de desarrollo en sí misma. La más extrema de estas situaciones se da cuando se hace uso de la metodología conocida como MDD (Model Driven Development o desarrollo guiado por modelos). En este caso, se parte de modelos que surgen del análisis y, mediante una serie de pasos cuidadosamente controlados, se llega al código fuente del sistema, en forma automática.

¿Qué no es UML?

Entre las falacias que se repiten alrededor de UML, una de ellas tiene que ver con que UML es una metodología o proceso.

La otra gran falacia es la asociación de UML con una herramienta específica. Por suerte, este equívoco fue desterrado hace ya varios años.

Por lo tanto, UML no es ni se encuentra asociado a ningún proceso en particular. Tampoco se vincula exclusivamente a ninguna herramienta. Es, ni más ni menos, lo que ya dijimos: una notación de modelado de software, con la cualidad de llevarse bien con la orientación a objetos.

UML, no obstante, tiene algunas limitaciones que hacen que no pueda usarse para modelar cualquier aspecto de un producto de software. Por ejemplo, no hay un diagrama para modelar interfaces de usuario y no hay ninguna construcción para especificar requisitos no funcionales, entre otras falencias.

Sin embargo, UML admite extensiones, y hay mucho trabajo realizado en ellas para atacar los déficit antes mencionados, y para muchas otras cuestiones.

(Referencia: Fontela, Carlos. UML: modelado de software para profesionales. – 1a. ed. – Buenos Aires : Alfaomega Grupo Editor Argentino, 2011 . 184 pp)


Our Clients
OMNIA DIAZ DE SANTOS PFIZER QUINTERO Y QUINTERO ROCHE STENDHAL TRACTMANAGER TALENTOS Y ESTRATEGIA EL TOMATICO