Wir haben eine Anwendung, die eine XSD-Datei generiert, die Datenbanktabellen darstellt. Ich muss jetzt das XSD in ein UML-Modell konvertieren. Dadurch können Kunden das Modell mithilfe eines Modellierungstools (z. B. Magicdraw, RSA, Eclipse, ct) ändern und anschließend ein anderes unserer Tools ausführen, um weitere Artefakte zu generieren.
Wie kann ich von XSD zu UML konvertieren?
Wir besitzen MagicDraw, also habe ich mir die Transformations-Funktion angeschaut, die das für mich tun sollte, aber aus irgendeinem Grund kann ich das XSD nicht importieren, obwohl es gültig ist. Ich bin auch verwirrt, wenn es um XML-Schemas und XMI-Format geht. Wie unterscheiden sich diese von meiner XSD-Datei?
Danke.
Sarah
Das beste Tool, das ich für diesen Zweck gefunden habe, ist das XML-Modellierungswerkzeug. Es ist eine Weile her, seit es aktualisiert wurde, aber es funktioniert. Ich habe darüber bei Modellierung wsdl als umml
gebloggtEs gibt einige Tools, die XML-Schemas in UML-Diagramme umwandeln können (siehe hier , lesen Sie die Kommentare in der Post), aber der XML / XMI-Import von MagicDraw (und generell von jedem anderen UML-Tool) funktioniert nicht in Ihrem Schema, da sie einen bestimmten Typ von XML-Datei erwarten (XMI-Format ). Dies ist der Standard, der verwendet wird, um eine XML-basierte Definition eines UML-Modells bereitzustellen.
Das heißt, XMI-Dateien werden verwendet, um UML-Modelle in XML zu speichern, und sie folgen einer vordefinierten XSD. Theoretisch sollten UML-Tools in der Lage sein, UML-Modelle auszutauschen, die in XMI gespeichert sind, aber leider ist dies " Modell einmal offen überall " ist nicht wahr (aber das ist eine andere Geschichte)
Sie können versuchen, das Eclipse Dali-Plugin zu verwenden, das einen Java-Code direkt aus Ihrer Datenbank generiert. Sobald Sie den Code erhalten, können Sie in UML umkehren. Von UML zu Datenbank könnten Sie versuchen, Java-Persistenz-Annotationen in Ihren Code einzufügen, die aus Ihrem UML-Klassendiagramm stammen. Wenn Sie den kommentierten Code haben, versuchen Sie Hibernate, um Ihre Datenbank zu erstellen.
Dies würde den Job erledigen, aber wenn Sie mehrere Ebenen haben, verlieren Sie die Rückverfolgbarkeit zwischen Ihrem ursprünglichen Datenmodell und UML und zurück. Dies wird der Pojo-Zyklus genannt.