Fortalezas y debilidades de UML como lenguaje de descripción de arquitectura (ADL)

Informática y TelecomunicacionesActualizado el 4,59 KB

Resumen

El texto analiza las ventajas y desventajas de los lenguajes de descripción de arquitectura (ADL) tradicionales y de UML para describir arquitecturas de software. Compara alternativas de uso de UML como ADL, como la adecuación mediante estereotipos y la extensión del metamodelo, y repasa los conceptos de especificación formal y los diagramas estándar de UML.

Puntos clave

  • Los ADL tradicionales pueden ser restrictivos, genéricos y carecen de herramientas profesionales.
  • UML ofrece notación gráfica, soporte de múltiples vistas, muchas herramientas y es de propósito general.
  • UML no es apropiado para el análisis automático, validación y verificación de arquitecturas, y carece de semántica formal.
  • UML es el estándar de facto para describir arquitecturas, aunque necesita extensiones como profiles.
  • Adecuar UML mediante estereotipos permite expresar restricciones con OCL, pero las herramientas CASE no pueden forzar su cumplimiento.
  • Una especificación formal evita inconsistencia, incompletitud y no minimalidad.
  • UML es un lenguaje de modelado y no una metodología, y engloba diagramas como casos de uso, clases, secuencia, componentes, actividad e implementación.

Ponte a prueba

Fortalezas y Debilidades de UML como Lenguaje de Descripción de Arquitectura (ADL)

Debilidades de los ADL Tradicionales

  • Restrictivas a veces, no dan flexibilidad para que el arquitecto cambie el modelo arquitectural.
  • Algunos son muy genéricos.
  • Falta de herramientas profesionales para el ambiente profesional.

Fortalezas de UML

  • Provee una notación gráfica.
  • Soporta múltiples vistas.
  • Muchas herramientas que lo soportan.
  • Es un lenguaje de propósito general.

Debilidades de UML

  • No es apropiado para el **análisis automático, validación, verificación** de una arquitectura.
  • No tiene una semántica formal, puede generar **ambigüedad e inconsistencia** en algunos casos.

UML como Estándar de Facto

UML es el estándar *de facto* para describir arquitecturas, en la opinión de los autores, debido a que es un lenguaje gráfico y existen muchas herramientas que lo soportan. Sin embargo, necesita de extensiones como *profiles* para poder centrarse en un dominio específico y, aún así, es difícil hacer un análisis formal.

Limitaciones de los ADL

Los ADL aún no tienen una caracterización que permita, sin caer en los límites de las definiciones, determinar formalmente qué es y qué no es un ADL.

Herramientas ADL

Existe un énfasis desde inicios de la década en las herramientas, pero estas aún no son tan profesionales, ni flexibles, ni extensibles, y su adopción se ha hecho difícil en entornos industriales debido al *gap* entre la academia y la práctica.

Alternativas de Utilización de UML como ADL

Alternativa 2: Adecuar UML por Medio de Estereotipos

Ventajas

  1. Representa de manera explícita las restricciones arquitecturales a través de **OCL**.
  2. Entendible por los desarrolladores y soportado por herramientas CASE.
  3. Las tareas de ingeniería inversa a través de estereotipos podrían simplificarse.

Desventajas

  1. Dificultad para establecer los límites entre el diseño de la arquitectura y el diseño detallado.
  2. Incapacidad de las herramientas CASE para forzar el cumplimiento de restricciones escritas en OCL.
  3. Dificultad para representar en UML la semántica particular de algunos lenguajes de ADL.

Alternativa 3: Extender UML

  • Extender el metamodelo de UML para soportar directamente los constructores de arquitectura.
  • Incorporar formalmente en UML nuevas capacidades de modelado.
  • Se puede simplificar las tareas de generar la arquitectura a partir del diseño.
  • Reto: Estandarizar el lenguaje sin incrementar demasiado la complejidad de la especificación.

Especificación y Especificación Formal

"Los métodos formales proporcionan técnicas basadas matemáticamente" que tienen la ventaja adicional de "ser susceptible de análisis de la máquina y manipulación" [Wing90].

Una especificación formal es la expresión, en un lenguaje formal y en un cierto nivel de abstracción, de una colección de propiedades que algún sistema debe satisfacer [Lam00].

Un lenguaje de especificación formal consiste en:

  • Sintaxis (la notación).
  • Semántica (los objetos que se pueden especificar).
  • Relación "satisface" (la semántica asociada a la sintaxis).

Especificación Formal: Objetivos

La especificación formal se utiliza para evitar:

  1. Inconsistencia.
  2. Incompletitud.
  3. No minimalidad.

UML: Lenguaje de Modelado Unificado

UML, que significa *Unified Modeling Language* (Lenguaje de Modelado Unificado), es un popular lenguaje de modelado utilizado por ingenieros de software. Estos profesionales lo utilizan para analizar, diseñar e implementar ambos procesos de negocio y sistemas basados en software.

Recuerde que el conjunto de la notación UML es un lenguaje, en lugar de una metodología.

Esta distinción permite a las empresas incorporar fácilmente el Lenguaje Unificado de Modelado en sus procesos de negocio existentes sin cambios significativos. Aunque UML no es una metodología, ofrece varios tipos de diagramas que pueden ser utilizados dentro de una metodología para aumentar la comprensión.

Diagramas UML Estándar

  • Diagramas de actividad.
  • Diagramas de casos de uso.
  • Diagramas de clases.
  • Diagramas de secuencia.
  • Diagramas de componentes.
  • Diagramas de implementación.

Descargar

PDF Word HTML

Preguntas frecuentes

¿Cuáles son las debilidades de UML como ADL?

UML no es adecuado para el análisis automático, la validación y la verificación de una arquitectura. Además, no tiene una semántica formal, lo que puede generar ambigüedad e inconsistencia.

¿Por qué se considera UML el estándar de facto para describir arquitecturas?

Se considera así porque es un lenguaje gráfico y existen muchas herramientas que lo soportan. Aun así, suele necesitar extensiones como profiles y resulta difícil realizar un análisis formal.

¿UML es una metodología?

No. El conjunto de la notación UML es un lenguaje, no una metodología, lo que permite incorporarlo en los procesos de negocio existentes sin cambios significativos.

Ponte a prueba

Tarjetas de repaso

Pulsa una tarjeta para ver la respuesta.

Test

1. ¿Cuál es una fortaleza de UML según el texto?
2. ¿Qué debilidad presenta UML respecto a la semántica?
3. ¿Para qué se usan los estereotipos en la alternativa 2?
4. ¿Qué lenguaje se usa para representar restricciones arquitecturales en la alternativa 2?
5. ¿Cuál es un reto de la alternativa 3, extender UML?
6. ¿Cuál de los siguientes objetivos corresponde a la especificación formal?

Preguntas generadas con IA a partir del documento: comprueba las respuestas con el texto.