Por qué la industria del software tiene una relación de amor y odio con los diagramas UML
Publicado: 2017-05-19UML es un lenguaje visual versátil que se utiliza para modelar un sistema de software. La industria del software ha estado dividida en su opinión con respecto al uso de diagramas UML. Si bien algunos lo ven como una parte integral de los sistemas y el desarrollo de software, hay un número significativo de personas que lo consideran completamente innecesario.
En esta publicación, exploramos ambos lados de este argumento (tanto las ventajas como las desventajas de UML) e intentamos comprender la relación de amor y odio de la industria del software con los diagramas de diseño UML.
Ventajas de UML
Más utilizados y flexibles
UML es una plataforma altamente reconocida y entendida para el diseño de software. Es una notación estándar entre los desarrolladores de software. Puede asumir con seguridad que la mayoría de los profesionales de software estarán al menos familiarizados con los diagramas UML, si no bien versados en ellos, lo que los convierte en la alternativa de referencia para explicar los modelos de diseño de software.
Lo que hace que UML sea muy adecuado y muy necesario para el desarrollo de software es su flexibilidad. Puede personalizar sus elementos de modelado e interacciones en un diagrama UML específicamente para adaptarse al dominio o las tecnologías que está utilizando.
La arquitectura de software debe comunicarse de manera efectiva
La arquitectura del software es el anteproyecto del sistema. Es el marco del que depende la eficiencia del sistema y sus procesos. Pero, este marco solo es efectivo si se comunica adecuadamente a todos aquellos que lo usan y trabajan en él. Aquí es donde entra en escena el lenguaje de modelado unificado (UML).
UML es un lenguaje rico y extenso que se puede usar para modelar no solo la ingeniería de software orientada a objetos, sino también la estructura y el comportamiento de la aplicación, y también los procesos comerciales. Los jugadores de software han acordado que no podemos eliminar la documentación de la arquitectura. Es importante. Ayuda a evaluar el rendimiento, la seguridad, el seguimiento y proporciona pautas importantes para la tarea en curso.
Debido a su amplio alcance, UML es el lenguaje visual perfecto para comunicar información detallada sobre la arquitectura al mayor número de usuarios.
Solo necesita saber una fracción del idioma para usarlo
Aunque hay 14 tipos diferentes de diagramas UML para aplicaciones de modelado, los desarrolladores usan solo tres o cuatro para documentar un sistema de software. Los diagramas de clases, diagramas de secuencia y diagramas de casos de uso siguen siendo los más en boga.
Lo que esto implica es que necesita saber solo el 20 % del lenguaje UML para explicar el 80 % de sus necesidades de modelado. No necesita saber o comprender la notación completa para comunicarse de manera efectiva utilizando diagramas UML. Conocer un subconjunto de la notación te equipa muy bien.
Abundancia de herramientas UML
Las herramientas UML son una de las razones más importantes por las que UML se usa tanto. Las herramientas UML van desde software gratuito de código abierto hasta aquellos que cuestan millones de dólares. Estas herramientas cubren mucho más allá de simplemente dibujar diagramas. Pueden generar código a partir del diseño, aplicar patrones de diseño, requisitos de mina, código de ingeniería inversa y realizar análisis de impacto y complejidad.
Estas ventajas y la abundancia de herramientas UML hacen de UML el lenguaje de modelado y desarrollo de referencia en el campo de la ingeniería de software.
A pesar de sus innumerables usos y beneficios, no todos prefieren UML. De hecho, una parte considerable de los desarrolladores de software no utilizan UML y acumulan fuertes críticas sobre el mismo. Veamos los argumentos en contra del uso de UML.
Desventajas de UML: Razonamiento en contra de UML
La notación formal no es necesaria
El argumento más fuerte contra UML es que realmente no necesita un diagrama UML para comunicar sus diseños. Puede tener el mismo impacto y efecto con diagramas informales de cuadro y línea creados en PowerPoint, Visio o una pizarra. Como la codificación es un lenguaje formal en sí mismo, muchos desarrolladores no prefieren la complejidad y la formalidad a nivel de arquitectura, lo que desalienta el uso de UML y se ha convertido en una de sus desventajas.
Grado Ascendente de Complejidad
Desde su inicio hasta ahora, UML ha crecido en complejidad y tamaño. El gran tamaño de UML pone nerviosas a muchas personas desde el principio, y sienten que no podrán aprenderlo y que están mejor sin él.
No es necesario en 'Arquitectura-Diseño indiferente'
Un término acuñado por George Fairbanks, "diseño indiferente a la arquitectura" es una situación en la que UML se considera innecesario.
En esencia, un diseño indiferente a la arquitectura se refiere a una arquitectura de software que es simple y básica, y no necesita diagramas complejos para representar o explicar el diseño. Si las empresas ponen más énfasis en la codificación formal y existe una cultura prevaleciente de documentación de diseño mínima, UML se considera innecesario.
Descifrando esta relación de amor-odio:
Si bien se habla mucho sobre la redundancia de UML en la industria del software, no se puede negar que hasta ahora no existe un sustituto holístico o apropiado para UML. Para recibir una perspectiva imparcial sobre la importancia y el destino de UML, hablamos con gigantes del hardware que están en estrecho contacto con la industria del software, pero que son neutrales en su perspectiva.
“La ausencia de documentación de diseño está bien a corto plazo, pero puede convertirse en un problema a largo plazo cuando necesita comunicar el diseño a un desarrollador que se encuentra en otro país o a alguien que se unirá al equipo seis meses después. . UML se convierte en una gran ayuda en tales circunstancias y alivia la ambigüedad y las preguntas relacionadas con el diseño”. Un representante de Sconect, fabricante de encabezados femeninos, opina.
“Podemos hablar de lenguajes específicos de dominio para el modelado visual, pero el hecho es que ninguno de ellos ha encontrado una amplia aceptación, lo que solo afirma que UML sigue siendo la mejor alternativa en lo que respecta a los lenguajes visuales”. Esta observación fue presentada de manera muy interesante por un representante de Scondar, que se especializa en la fabricación de conectores de cabezales de clavijas.
Los aportes de un representante de Ismolex resumen acertadamente el caso de la relación de amor y odio de la industria del software con los diagramas de diseño UML. “Puede haber miles de argumentos en contra del uso de UML, pero debido a su capacidad para capturar los matices de la información sobre la arquitectura de diseño y con la creciente importancia de la documentación de diseño, UML sigue siendo insustituible”.
Ventajas y desventajas de UML: ¿De qué lado estás?
Las negaciones y las adherencias a los diagramas UML continuarán en los círculos del software. Pero UML llegó para quedarse. Sin embargo, los diagramas UML deben actualizarse continuamente para que su uso no se limite solo a la descripción y comunicación de la arquitectura, sino que se amplíe para representar y crear sistemas que puedan adaptarse a cambios dinámicos.
sobre el autor
Soy Rachel Oliver, he trabajado durante los últimos dos años como escritora independiente y actualmente estoy asociada con Ismolex, fabricante de encabezados de pines. Si bien me gusta escribir sobre todas las cosas bajo el sol, incluida la energía, los negocios, los deportes, las mejoras para el hogar y la moda, me apasionan especialmente los negocios, la tecnología y la electrónica. Puedes ponerte en contacto conmigo en Google+, Facebook y Twitter.