UML design und reverse engineering

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
ebel
User
Beiträge: 9
Registriert: Donnerstag 30. März 2006, 17:22

Ich möchte für ein größeres Python Projekt UML Schemata anlegen und auch reverse engineering aus bestehenden Python Code machen können. Leider kann man mit umbrello nur C++ Klassen importieren und kein Python. Wer kennt eine Anwendung die genau das kann?
henning
User
Beiträge: 274
Registriert: Dienstag 26. Juli 2005, 18:37

Also mein umbrello kann das (Version 1.5.1) Einfach unter Code->Activate Language->Python anwählen.

Ansonsten habe ich ein kleines script angefangen, mit dem du UML-Diagramme aus Dia exportieren kannst, allerdings derzeit noch mit gewissen Einschränkungen. Das sollte sich unter showcases finden.

Den Weg vom Code zum diagramm macht u.A. Stans Python editor (spe) und ich glaube ein (Debian-)Package namens graphviz kann auch sowas ähnliches.
Ansonsten müsste man Dia mit dem python-interface auch dazu kriegen können, ist halt die Frage, wieviel Arbeit di da rein stecken willst.

Wenn ich Zeit hätte, würde ich die Dia-scripts selbst ein bisschen ausbauen, ist aber momentan leider nicht der Fall :-/

HTH, Henning
modelnine
User
Beiträge: 670
Registriert: Sonntag 15. Januar 2006, 18:42
Wohnort: Celle
Kontaktdaten:

...ich glaube ein (Debian-)Package namens graphviz kann auch sowas ähnliches.
graphviz allein definitiv nicht. Das ist nur ein Visualisierungsprogramm für serialisierte Graphen. Wenn dann mit einem Aufsatz, bei dem ich mir durchaus vorstellen könnte dass aus Python-Quellcode graphviz-Code erzeugt wird, der dann durch graphviz visualisiert wird.
--- Heiko.
henning
User
Beiträge: 274
Registriert: Dienstag 26. Juli 2005, 18:37

Achso alles klar, dann hatte ich die Paketbeschreibung wohl überinterpretiert :-)
ebel
User
Beiträge: 9
Registriert: Donnerstag 30. März 2006, 17:22

henning hat geschrieben:Also mein umbrello kann das (Version 1.5.1) Einfach unter Code->Activate Language->Python anwählen.
Ich habe mittlerweile auf neues KDE geupdatet, bin mir aber nicht sicher ob die von Hennig beschriebene Python Import Funktion möglicherweise bereits bei SUSE 10.0 KDE Umbrello dabei war.
Also nun zu Umbrello:
Ich habe die import Funktionen getestet und war enttäuscht. Bereits hier macht er aus dem self den Datentyp string und behandelt self als Methodenparameter. Aus diesem und diversen anderen Gründen ist leider Umbrello nicht für reverse enginering zu gebrauchen.
Beim 'Quelltext generien' wird nicht die ursprüngliche importierte Datei verändert sondern, neue Dateien angelegt bzw. die alten überschrieben und nur der Klassen- und Methodenkorpus angelegt.
Nach meiner Einschätzung ist Umbrello höchstens am Anfang eines Projektes zu gebrauchen , da jede weitere Änderung am UML Schema sich nicht auf bestehende Python Dateien auswirkt
Schade das reverse engineering nicht bei meiner Lieblings IDE Eric3 verfügbar ist (Hier ein großes Lob an Detlev Offenbach für eine geniale IDE). Das wäre ein echter Fortschritt bei der Entwicklungsgeschwindigkeit.

Vielleicht habe ich ja noch nicht alles vernüftig getestet und ihr habt es mit Umbrello hinbekommen. Wäre für Hinweise dankbar.

Gruß
Ebel[/img]
Antworten