Verbringen Sie nicht zu viel Zeit mit UML. In meinem Team bin ich der einzige, der UML wirklich gut kennt und daher Anwendungsfälle, Komponenten, Status, Bereitstellung und andere Diagramme erstellt. Die anderen Teammitglieder sind besser als ich für das Codieren, aber nicht so gut für das UML-Diagramm.
Der Trick, den wir verwenden, besteht darin, sich auf das Klassendiagramm auf Modellierungsebene zu konzentrieren, um die Struktur der Anwendung zu definieren, und den Entwickler / Architekten zuzulassen, nach Belieben zu codieren. Anschließend führen wir das Modell mit dem neuen Code zusammen und aktualisieren das Modell bei jeder Iteration. Wirklich einfach und sehr effizient. Wir entwickeln in Java mit Omondo EclipseUML.
Ich würde empfehlen, kein MDD zu verwenden, was für mich ein echter Mist ist !! Modeler wird versuchen, mehr Leistung in den Entwicklungsprozess einzubeziehen, aber dies schafft keinen Wert, wenn versucht wird, den gesamten Code aus dem Modell zu generieren. Der Code gehört dem Entwickler / Architekten, aber nicht dem Modellierer. UML sollte nur eine Ansicht der Projektanforderungen (z. B. Anwendungsfall, Sequenz usw.), des Prozesses (z. B. Status- oder Aktivitätsdiagramm), der Bereitstellung (Bereitstellung, Komponentendiagramme) sein. Das Klassendiagramm sollte eine Ansicht des Codes sein, und das UML-Klassendiagramm sollte nur als Viewer des Codes verwendet werden. Java-Codierung sollte den Objektansatz respektieren und UML, das auch eine Objektsprache ist, ist wirklich hilfreich, um Mist und dummes Codieren zu vermeiden.
Das wichtigste sind die Klassendiagrammiterationen zwischen Modell zu Code und Code zu Modell. Ich meine nicht wirklich Live-Synchronisation, sondern Code und Modell bei jeder Iteration zusammenführen zu können. Ich verwende Omondo EclipseUML und denke, dass sie die einzigen sind, die Java, Datenbankentitäten und Modell-IDs zusammenführen. Die ID-Zusammenführung ist wirklich ein leistungsstarkes Konzept und perfekt für unsere agilen Projekte.
Meine Empfehlung ist, kein Buch zu kaufen. Sie sollten einen Objektansatz haben und die Klassendiagrammsprache verwenden, um Ihre Objekte zu visualisieren, um bessere Architekturen zu erstellen. Wenn eines der Teammitglieder UML kennt, verwenden Sie die anderen Diagramme. Andernfalls wäre das Klassendiagramm ausreichend.