hkl: Obermenge UML-Tools ?

Beitrag lesen

Will mal verschen den Thread etwas uebersichtlich zu halten.

UML-Tools bieten ja oft auch eine Moeglichkeit zum SQL (DDL) Export.

Mal die Grossen vorneweg

  • Rational Rose kann seit 1997 "CREATE TABLE"; weiteres kann man in neueren Versionen zumindest konfigurieren

Aber gehoert jetzt IBM und die Linux-Unterstuetzung scheint im Schwinden begriffen zu sein. Kostet aber AFAIK viele Hekto/KiloEURO.

  • ERWin kann wohl auch neuerdings UML, aber

AFAIK nur unter Windows und es kostet AFAIK noch mehr Hekto/KiloEURO.

---

Open Source

  • Umbrello kann "Create Table". Mehr nicht - aber die XMI Dateien koennte man weiterverarbeiten.
  • ArgoUML versteh ich immer weniger je laenger ich's verwende - das GUI finde ich wehr wenig intuitiv. Kann vonm Haus aus kein SQL - aber die XMI Dateien koennte man weiterverarbeiten.

Genau solche Konvertierungen wird mein eigenes OpenSource-Projekt uebrigens thematisieren.

---

Ein "Knackpunkt" beim UML/SQL(DDL) - Mapping ist imo immer der Umgang mit m:n Kardianlitaeten / Relationen.

  • In SQL wird's eine Table mit zwei Femdschluesseln und je nach Bedarf weiteren Atttributen - fertig.
  • In OOP sieht das schon ganz anders aus. Gegenseitige Inklusion der Klassen ist zyklisch und tunlichst zu vermeiden.

Also brauch ich vielleicht eine Link-Klasse ? Eine "Link-Klasse" ist aber nach meiner Erfahrung semantisch schwer in den Griff zu kriegen - das generiert meistens nicht so ohne weiteres nicht das was ich gerne haette - naemlich ein Aggregat mit zwei Referenzen wie in SQL.

Also brauch ich eine vielleicht Extra-Aggregatklasse ? Diese benutzt beide Klassen der m:n Relation. Dann krieg ich aber in SQL keine Tabelle mehr so einfach fuer die m:n Relation generiert... - genauer gesagt kann ich dann nicht mehr die Einstellugen fuer SQL-Generierung einfach anwenden lassen sondern muss wieder "rumfummeln", da eine m:nTabelle so ihre Besonderheiten hat ( ggf kein extra PK sondern PK ueber die beiden FK-Felder usw. ).

( Klingt seltsam; war aber AFAIK so unter Rose 1997/2000 und Together )

So "intelligent" zu "sehen" dass beide Varianten sematisch gleichwertig sind war selbst Rose 1997/2000 nicht - da ist die UML imo auch etwas ueberfrachtet.
Aktuellere Versionen kenne ich nicht gut genug.

Will aber nicht behaupten jedes Feature von solch einer Riesen-Suite wie Rose zu kennen - aber hab's halt nie befriedigned loesen koennen.

Mal als Einstieg in das Thema gedacht.

Gruesse

Holger

--
Aus dem Perl Styleguide:
"Choose mnemonic identifiers. If you can't remember what mnemonic means, you've got a problem."