Articulo de referencia

Herramienta UML

Una herramienta UML es una aplicación de software que admite parte o toda la notación y semántica asociadas con el Lenguaje de Modelado Unificado ( UML ), que es el lenguaje de ...

Una herramienta UML es una aplicación de software que admite parte o toda la notación y semántica asociadas con el Lenguaje de Modelado Unificado ( UML ), que es el lenguaje de modelado de propósito general estándar de la industria para la ingeniería de software .

La herramienta UML se utiliza aquí ampliamente para incluir programas de aplicación que no se centran exclusivamente en UML, pero que admiten algunas funciones del lenguaje de modelado unificado, ya sea como complemento , como componente o como parte de su funcionalidad general.

Tipos de funcionalidad

Las herramientas UML admiten los siguientes tipos de funcionalidad:

Diagramación

En este contexto, diagramar significa crear y editar diagramas UML , es decir, diagramas que siguen la notación gráfica del lenguaje de modelado unificado.

Los desarrolladores de software están de acuerdo en que se deben utilizar diagramas UML para dibujar diagramas de software orientado a objetos , en su mayoría . Cuando los desarrolladores dibujan diagramas de software orientado a objetos, suelen seguir la notación UML. Por otra parte, a menudo se debate si esos diagramas son necesarios, durante qué etapas del proceso de desarrollo de software deberían utilizarse y cómo (si es que se deben) mantener actualizados. La primacía del código de software a menudo hace que los diagramas queden en desuso.

Ingeniería de ida y vuelta

La ingeniería de ida y vuelta se refiere a la capacidad de una herramienta UML de generar código a partir de modelos y generar modelos a partir de código (también conocida como ingeniería inversa), manteniendo la coherencia semántica entre el modelo y el código. La generación de código y la ingeniería inversa se explican con más detalle a continuación.

Generación de código

En este contexto, la generación de código significa que el usuario crea diagramas UML, que tienen algunos datos de modelo conectados, y la herramienta UML deriva de los diagramas parte o la totalidad del código fuente del sistema de software. En algunas herramientas, el usuario puede proporcionar un esqueleto del código fuente del programa, en forma de una plantilla de código fuente , donde los tokens predefinidos se reemplazan luego con partes del código fuente del programa durante el proceso de generación de código.

Una crítica que se cita con frecuencia es que los diagramas UML carecen del detalle necesario para contener la misma información que se incluye en el código fuente del programa: Jack W. Reeves afirma que la materialización final del diseño se encuentra en el código fuente. (Su afirmación, frecuentemente citada, de que "el código es el diseño" [1] ha sido malinterpretada y significa que no hay necesidad de artefactos de diseño de software de nivel intermedio y alto, como diagramas UML o documentos de requisitos de software).

Ingeniería inversa

Ingeniería inversa en este contexto significa que la herramienta UML lee el código fuente del programa como entrada y deriva datos del modelo y diagramas UML gráficos correspondientes a partir de él (a diferencia del significado algo más amplio descrito en el artículo " Ingeniería inversa ").

Algunos de los desafíos de la ingeniería inversa son:

  • El código fuente suele contener información mucho más detallada de la que se desearía ver en los diagramas de diseño. Este problema se soluciona mediante la reconstrucción de la arquitectura del software.
  • Los datos del diagrama normalmente no están incluidos en el código fuente del programa, por lo que la herramienta UML, al menos en el paso inicial, tiene que crear algún diseño aleatorio de los símbolos gráficos de la notación UML o utilizar algún algoritmo de diseño automático para colocar los símbolos de forma que el usuario pueda entender el diagrama. Por ejemplo, los símbolos deben colocarse en lugares del panel de dibujo que no se superpongan. Por lo general, el usuario de una funcionalidad de este tipo de una herramienta UML tiene que editar manualmente esos diagramas generados automáticamente para lograr algún significado. A menudo, tampoco tiene sentido dibujar diagramas de todo el código fuente del programa, ya que eso representa demasiados detalles para ser de interés a nivel de los diagramas UML.
  • Hay características del lenguaje de algunos lenguajes de programación , como las plantillas de clases o funciones del lenguaje de programación C++ , que son notoriamente difíciles de convertir automáticamente a diagramas UML en toda su complejidad.

Intercambio de modelos y diagramas

XML Metadata Interchange (XMI) es el formato para el intercambio de modelos UML. XMI no admite el intercambio de diagramas UML, que permite la importación de diagramas UML de un modelo a otro.

Transformación de modelos

Un concepto clave asociado con la iniciativa de arquitectura basada en modelos es la capacidad de transformar un modelo en otro modelo. Por ejemplo, se podría querer transformar un modelo de dominio independiente de la plataforma en un modelo específico de la plataforma Java para su implementación. También es posible refactorizar los modelos UML para producir modelos UML más concisos y bien formados. Es posible generar modelos UML a partir de otras notaciones de modelado, como BPMN , que es en sí mismo un perfil UML . El estándar que admite esto se llama QVT para consultas/vistas/transformaciones. Un ejemplo de una solución QVT de código abierto es el lenguaje ATL creado por INRIA .

Véase también

Referencias

  1. ^ http://www.developerdotstar.com/mag/articles/reeves_design_main.html por Jack W. Reeves

.

  • Directorio de herramientas UML
Obtenido de "https://es.wikipedia.org/w/index.php?title=Herramienta_UML&oldid=1265187824"