UML aus bestehendem Programm erzeugen lassen?!?



  • Hi Leute,

    hätte mal eine Frage was sicher auch vielen anderen zum Verständnis einiger Programme weiterhelfen könnte.

    Ist es eigentlich irgendwie möglich (unter Windows oder Linux ist egal) aus einem bestehenden C/C++ Programm ein UML-Diagramm erstellen zu lassen? Wenn ja mit welchem Programm macht man das am besten?

    Mir ist klar, dass das dann wahrscheinlich kein sehr sauberes bzw. schönes UML wäre, aber zumindest wäre es eine kleine Hilfe würde ich sagen.....

    Wäre super wenn da jemand was zu sagen kann.

    👍



  • Ein Klassendiagramm kann z.B. mit dem VS.NET, VS2003 und VS2005 mit Hilfe von Visio erstellt werden.
    VS2008 kann es in ein eigenes Dateiformat (vermutlich wird mindestens die Professional Edition vorausgesetzt).

    Der Enterprise Architect von Sparx kanns auch.

    Gruss Simon



  • Das heißt ich kann in z.B. VS.Net oder Sparx ein cpp einlesen und der erstellt mir daraus ein UML-Diagramm??



  • ja, nennt sich reverse engineering.
    Edit: Eigentlich sind dazu nur die Deklarationen (Header Files) nötig.
    Edit2: Und natürlich ist "UML Diagramm" ein wenig unpräzise; es wird ein Klassendiagramm erstellt.



  • In C++Builder 2007 ist das auch möglich.



  • Mufasa schrieb:

    Das heißt ich kann in z.B. VS.Net oder Sparx ein cpp einlesen und der erstellt mir daraus ein UML-Diagramm??

    Das können diverse Tools, der Umfang in wie weit dies funktioniert ist aber unterschiedlich. Sparx Enterprise Architect kann z.B. "nur" Klassendiagramme (und Datenbankdiagramme; beides glaube ich ab der Professional - ich kann auch selber nur für die Sprechen), andere (deutlich teurere) können wohl auch noch etwas mehr...

    Ich arbeite zum Beispiel zu Hause aus einer Kombination VS2005 Standard + EA (kombiniert durch ein kleines Tool namens MDG Link oder so) und je nach dem was besser passt generiere ich mir UML-Diagramme aus dem Code oder Code aus den UML Diagrammen (bzw. kombiniere es).

    cu André



  • aaahso....
    ok cool 🙂
    Dann werde ich das mal probieren.

    Welches Programm findet Ihr denn persönlich am besten? Ich meine welches gibt das sauberste Diagramm raus?

    Bei mir handelt es sich allerdings um ein C++-Programm, das in Linux geschrieben ist. Dazu sind auch noch etliche Anweisungen in den makefiles und im parser gemacht, die auch noch zugezogen werden. Insgesamt ca. 5000 Zeilen Code.
    Ich hab jetzt mal selber versucht so grob durch zu blicken was da überhaupt passiert.... aber so wirklich richtig blick ich noch nicht durch... daher die Idee mit dem Rückwärts 👍

    Edit:
    Ach so aber Klassendiagramm bringt mir jetzt nicht sehr viel, weil hier eigentlich gar keine Klassen benutzt werden. Hilfreich wäre da eher ein Diagramm, dass mir die ganzen Funktionen und Variablen und Verknüpfungen zeigt. Geht sowas?



  • Wenn man ein Programm bloss "visualisiert" haben möchte kann Doxygen auch schon einiges, also Kollaborationsgraphen etc.
    Ist natürlich ein One-Way-Ticket, editieren oder wieder Code daraus erstellen geht mit Doxygen nicht.


Anmelden zum Antworten