William Cook schrieb in einem Tweet :
" UML ist das Schlimmste, was MDD je passiert ist. Zum Glück ist vielen Menschen jetzt klar, dass ... "
Ich möchte die Gründe für diese Behauptung kennen (anscheinend beziehe ich mich nicht auf seine persönliche Meinung).
Ich habe bemerkt, dass viele Leute da draußen UML nicht so sehr mögen. Erwähnenswert ist auch, dass er in der akademischen Welt tätig ist, in der UML der heilige Gral effektiven Entwurfs und Modellierens ist.
Antworten:
Nun, ich bin der Akademiker, der den ursprünglichen Tweet gepostet hat. Tweets sind keine wissenschaftlichen Artikel. Sie sind Werbung, und ich denke, sie können auch umstritten sein. Hier sind meine Follow-up-Tweets:
1) UML wurde erstellt, um OO-Designs zu modellieren. Dies hat zur Folge, dass Sie den Code eines Systems modellieren und nicht das Verhalten des Systems. UML ist auf der falschen Ebene.
2) Die Idee, dass 7 (oder 13) Diagrammformate in UML alles abdecken können, ist verrückt. Was ist mit GUIs, Web-Wireframes, Autorisierung usw.?
3) UML hat die Idee gefördert, dass Modelle grafisch sein müssen. Lächerlich! Text- und Grafikmodelle sind nützlich und oft austauschbar
4) UML ist gleichzeitig zu groß und komplex und gleichzeitig sehr begrenzt. Stereotype und Profile sind für verwendbare Erweiterungen nicht wirksam.
Beachten Sie, dass ich nicht unbedingt sage, dass UML schlecht ist. Ich sage nur, dass es dem Ziel der "modellgetriebenen Entwicklung" nicht hilft, woran ich interessiert bin. Ich verstehe den Kommentar zu "Heiligem Gral" nicht.
quelle
UML ist das Äquivalent zu einem Schraubenzieher und einem Hammer, die zusammengeklebt und als "Universal Fastening Tool" bezeichnet werden. Theoretisch kann es verwendet werden, um eine Menge Dinge sehr detailliert darzustellen. In der Praxis handelt es sich um eine Reihe von schlecht integrierten Werkzeugen, die behaupten, ein einziges Werkzeug zu sein, was die Ausführung einer einzelnen Aufgabe weitaus schwieriger macht, als zunächst ein geeignetes Werkzeug zu haben.
quelle
Ich denke, es gibt auch einen Grund, warum MDD das Schlimmste ist, was UML passiert ist (warum sollten wir sonst die UML2 haben, die wir haben?), Aber das für den Moment ignorieren ...
MDD = Model Driven <Design | Development>. Die Idee ist, Lösungen auf einer Abstraktionsebene zu entwickeln, die der Problemdomäne entspricht - das heißt, es wird versucht, Lösungen für Probleme in der natürlichsten Syntax zum Ausdrücken dieser Lösungen auszudrücken. Die Problemdomäne selbst ist durch ein Betriebsmodell gekennzeichnet (dh durch ein Modell, das vom Computer ausgeführt werden kann). MDD kann also ein sehr attraktiver Ansatz sein, wenn auch einer mit zwei Hauptanforderungen:
Meines Erachtens sollte mit den UML2-Bemühungen Punkt 1 angesprochen werden, wahrscheinlich unter der Annahme, dass die industrielle Erfahrung mit UML gezeigt hat, dass Punkt 2 für einige große Teilmengen von Problembereichen erfüllt ist. Unglücklicherweise erfüllt UML, und ich denke, dass William Cook genau darauf gekommen ist, Punkt 2 bei weitem nicht, was den Umfang der Probleme angeht, an die gedacht wurde. Ich spreche nicht aus persönlicher Erfahrung, aber ich denke, die industrielle Erfahrung mit der Verwendung von MDD mit UML hat zwei gemeinsame Ergebnisse:
In beiden Fällen ist das Versprechen von MDD unerfüllt. UML kann als das Schlimmste angesehen werden, das MDD widerfahren ist, da es die Aufmerksamkeit der MDD-Tool-Entwickler auf den Ausschluss von Modellen lenkt, die möglicherweise tatsächlich funktionieren (wenn auch für eine kleinere Anzahl von Softwareproblemen).
quelle
UML ist großartig, solange es nur eine Modellierungssprache ist. Wenn Sie versuchen, MDD mit UML zu verbinden, um eine grafische Ansicht zu erhalten, ist dies unbrauchbar. MDD wäre sowohl ohne UML als auch ohne MDD großartig.
Nehmen wir an, UML und MDD haben sich heute geschieden, um ein besseres Leben nicht mehr zusammen zu führen :-)
quelle