Ventajas y Desventajas de UML como Lenguaje de Descripción de Arquitectura (ADL)
Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones
Escrito el en español con un tamaño de 4,59 KB
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
- Representa de manera explícita las restricciones arquitecturales a través de **OCL**.
- Entendible por los desarrolladores y soportado por herramientas CASE.
- Las tareas de ingeniería inversa a través de estereotipos podrían simplificarse.
Desventajas
- Dificultad para establecer los límites entre el diseño de la arquitectura y el diseño detallado.
- Incapacidad de las herramientas CASE para forzar el cumplimiento de restricciones escritas en OCL.
- 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:
- Inconsistencia.
- Incompletitud.
- 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.