¿Por qué UML?
Cuando un proceso se trata una y otra vez en las reuniones de proyecto y siguen surgiendo dudas, cuando un desarrollador de software solo conoce la respuesta a una pregunta después de buscar largo rato en el código fuente, cuando la complejidad no deja de aumentar y poco a poco se pierde la visión de conjunto, cuando los compañeros solo se encogen de hombros porque el empleado que tiene los conocimientos está de vacaciones, entonces la última salvación es UML - Unified Modeling Language.
¿Qué es UML?
UML es para el desarrollador de software lo que los planos de construcción son para quien construye una casa.
Hoy en día, a casi nadie se le ocurriría construir una casa sin elaborar antes los planos. En el desarrollo de software, por desgracia, en algunas empresas todavía se hace así. Y ello con total independencia del tamaño de la empresa.
Mediante diagramas se plasman gráficamente la «casa» estática del software y los procesos dinámicos.
¿Quién lo inventó?
En los años 80 se perfilaron los métodos de Booch, Jacobson y Rumbaugh, es decir, en la época en la que la programación orientada a objetos se estaba implantando con fuerza. Por supuesto, antes ya existían muchos tipos de diagramas, como el diagrama de flujo, las redes de Petri, SADT y muchos más, que tenían su razón de ser y que también influyeron en UML.
El gran avance llegó cuando Rumbaugh y Jacobson unieron fuerzas y, más tarde, Booch se sumó también al grupo. Los «tres amigos» reflexionaron mucho, reunieron lo probado y descartaron lo prescindible. El resultado, en los años 90, fue el Unified Modeling Language, abreviado UML.
¿Qué planos existen?
El diagrama de casos de uso, el diagrama de paquetes, el diagrama de clases, el diagrama de estados, el diagrama de visión general de la interacción y el diagrama de secuencia son los más conocidos, pero ni mucho menos todos. Actualmente, UML cuenta con más de una docena de diagramas diferentes.
¿A quién le resulta útil?
Aunque al principio los utilizaban los arquitectos de software, sus ámbitos de aplicación ya no se limitan al desarrollo de software. Se emplean en muchos ámbitos en los que se trata de conceptos, análisis y relaciones.
¿Qué significa UML?
UML significa Unified Modeling Language, es decir, lenguaje unificado de modelado. Pero ¿por qué lenguaje y no gráfico?
Al igual que un lenguaje, UML define términos, identificadores y sus relaciones entre sí, así como su formulación. Suena algo abstracto, pero quien profundiza en la materia se ocupa sobre todo de la estructura de un lenguaje.
¿Cuándo se utiliza?
Como se ha descrito al principio del artículo, UML no debería utilizarse solo en el desarrollo de software, sino ya en la fase de planificación. Siguiendo el lema: primero pensar y después ejecutar.
UML ayuda a plasmar las ideas, representar procesos y relaciones y avanzar hacia soluciones sencillas.
¿Cuál es la medida adecuada?
¿Se trata de una pequeña app para el móvil, de aplicaciones más complejas con algoritmos matemáticos o incluso de un sistema de software para medicina o aeronáutica? Según el uso, se hace más o menos con UML.
La medida adecuada resulta de estos ejemplos en combinación con las cuestiones que surgen durante la planificación y la implementación. Como tantas veces, depende del criterio y de la experiencia.
Con los diagramas UML se crean vistas que responden a determinadas preguntas y recogen conceptos de detalle. Por eso se desaconsejan demasiados diagramas para los dos primeros ejemplos, ya que hay que tener en cuenta que también deben mantenerse. Y del mismo modo que una documentación para desarrolladores errónea sería un obstáculo y generaría confusión, también lo son los diagramas UML obsoletos.
Pero ánimo: al principio quizá se haga demasiado. Al fin y al cabo, la práctica hace al maestro.
Si necesita apoyo con UML, estaremos encantados de asesorarle. También ofrecemos formación en UML. Consúltenos.
