William Cook en un tweet escribió que:
" UML es lo peor que le ha pasado a MDD. Afortunadamente, muchas personas ahora se dan cuenta de esto ... "
Me gustaría saber el razonamiento detrás de esa afirmación (aparentemente, no me estoy refiriendo a su opinión personal).
Me he dado cuenta de que a muchas personas no les gusta mucho UML. También vale la pena mencionar que él está en la academia, donde UML es bastante el santo grial del diseño y modelado efectivos.
Respuestas:
Bueno, soy el académico que publicó el tweet original. Los tweets no están destinados a ser artículos académicos. Son anuncios, y creo que también pueden ser controvertidos. Aquí están mis tweets de seguimiento:
1) UML fue creado para modelar diseños OO. Efectúa que estás modelando el código de un sistema, no el comportamiento del sistema. UML está en un nivel incorrecto.
2) la idea de que 7 (o 13) formatos de diagrama en UML pueden cubrir todo es una locura. ¿Qué pasa con las GUI, las tramas web, la autorización, etc.?
3) UML ha alentado la idea de que los modelos deben ser gráficos. ¡Ridículo! Los modelos de texto y gráficos son útiles y a menudo intercambiables.
4) UML es a la vez demasiado grande y complejo y al mismo tiempo muy limitado. El estereotipo y los perfiles no son efectivos para extensiones utilizables.
Tenga en cuenta que no estoy diciendo necesariamente que UML sea malo. Simplemente digo que no está ayudando al objetivo del "desarrollo impulsado por modelos", que es lo que me interesa. No entiendo el comentario sobre "santo grial".
fuente
UML es el equivalente a tomar un destornillador y un martillo y pegarlos juntos y llamarlo una "Herramienta de fijación universal". En teoría, se puede usar para representar una tonelada de cosas con gran detalle, en la práctica es un conjunto de herramientas mal integradas que dicen ser una sola herramienta, lo que hace que hacer cualquier tarea sea mucho más difícil que tener una herramienta adecuada para empezar.
fuente
Creo que también se puede argumentar que MDD es lo peor que le sucedió a UML (¿por qué si no tendríamos el UML2 que tenemos?), Pero ignorando eso por el momento ...
MDD = Model Driven <Diseño | Desarrollo>. La idea es poder desarrollar soluciones a un nivel de abstracción apropiado para el dominio del problema, es decir, es un intento de expresar soluciones a problemas en la sintaxis más natural para expresar esas soluciones. El dominio del problema en sí se caracteriza por un modelo operativo (es decir, por un modelo que puede ejecutarse por computadora). Por lo tanto, MDD puede ser un enfoque muy atractivo, aunque con dos requisitos principales:
Tengo entendido que el esfuerzo de UML2 tenía la intención de abordar el punto 1, probablemente bajo la creencia de que la experiencia industrial con UML mostró que el punto 2 estaba satisfecho para un gran subconjunto de dominios problemáticos. Desafortunadamente, y esto es a lo que creo que se refería William Cook, UML no satisface el punto 2 en ninguna parte cerca del alcance de los problemas que se pensó. No hablo por experiencia personal, pero creo que la experiencia industrial de usar MDD con UML tiene dos resultados comunes:
En cualquier caso, la promesa de MDD no se cumple. UML podría considerarse lo peor que le sucedió a MDD porque ocupó la atención de los desarrolladores de herramientas MDD con la exclusión de los modelos que realmente podrían funcionar (aunque para un conjunto más pequeño de problemas de software).
fuente
UML es excelente siempre que sea solo un lenguaje de modelado. Si intenta conectar MDD a UML para obtener una vista gráfica, entonces es inútil. MDD sería genial sin UML, así como UML sin MDD.
Digamos que UML y MDD se han divorciado hoy para tener una vida mejor que ya no están juntos :-)
fuente