Forum: PC-Programmierung UML aus objektorientierten ANSI C Code erzeugen


von elektrotechniker (Gast)


Lesenswert?

Guten Abend, ich möchte aus einem bestehen objektorientierten ANSI C 
Code ein UML Klassendiagramm sowie ein Objektdiagramm von einem Tool 
automatisch erzeugen lassen. Gibt es eine Tool womit man diese Diagramm 
erzeugen lassen kann ?

Vielen Dank im Voraus.

von Εrnst B. (ernst)


Lesenswert?

Meine Vermutung:

Selber zeichnen geht am schnellsten.

Arten wie man "ANSI C" zu OOP bringen kann, gibt es wohl soviel 
verschiedene, wie es C-Programmierer gibt. Das wird kaum ein Tool 
automatisch parsen und "verstehen" können.

von Marvol (Gast)


Lesenswert?

Hallo.

Wie wäre es mit Doxygen, damit wäre auch der Quellcode dokumentiert.

Gruß
Marvol

von Εrnst B. (ernst)


Lesenswert?

Marvol schrieb:
> Wie wäre es mit Doxygen, damit wäre auch der Quellcode dokumentiert.

Hilft nicht viel. Er hat ja objektorientierten C Code. Kein C++!

Klar kann man Vererbung, virtuelle Funktionen, Templates etc. in reinem 
ANSI-C mit Structs und viel Makro-Magie nachbauen.
Aber es gibt eben keinen standardisierten Weg, dies zu tun.

d.H. du brauchst einen Weg, Doxygen (oder eben auch einem UML-Tool) zu 
erklären:

Klasse B ist von Klasse A abgeleitet, weil innerhalb von struct B {...} 
das Makro "IMPLEMENTIERE_KLASSE_A" expandiert wird...

von Heiko M. (neomay)


Lesenswert?

elektrotechniker schrieb:
> Guten Abend, ich möchte aus einem bestehen objektorientierten ANSI C
> Code ein UML Klassendiagramm sowie ein Objektdiagramm von einem Tool
> automatisch erzeugen lassen. Gibt es eine Tool womit man diese Diagramm
> erzeugen lassen kann ?

OOP mit ANSI-C ist kein Standard und es gibt verschiedene Wege es zu 
realisieren.
Daher wirst du leider kein Tool finden, ausser du programmierst es für 
deine OOP realisierung ;-)

von Christian S. (christian_s91)


Lesenswert?

Falls es um große Mengen an Code geht oder die Diagramme ständig aktuell 
gehalten werden sollen, lohnt sich das Anpassen von UML Lab mit eigenen 
Templates. Man muss für UML Lab nur Textvorlagen schreiben, die den Code 
erzeugen könnten, dann "überlegt" sich das Tool ein Modell, das den 
konkreten Code erzeugt. Das ganze funktioniert mit beliebigem Text also 
auch mit dem ganz persönlichen Mapping von Objektorientierung auf C.
Falls es wichtig genug ist, einfach mal bei Yatta melden oder das Tool 
auf uml-lab.com anschauen...

Beste Grüße,
Christian Schneider
Yatta Solutions GmbH

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.
Lade...