Hallo
ich habe fünf Klassen, zu deren Ablauf ich gerne ein
Sequenzdiagramm haben möchte. Auf meinem Arbeitsrechner ist
Rational Rose installiert. Ich schaffe es auch, das VC6
Projekt zu importieren, bin aber überhaupt nicht in der Lage
ein Sequenzdiagramm zu erzeugen…
Geht das mit Rose ? Wenn ja, wie ?
Gibt es vielleicht noch ein anderes Tool, das mir
Sequenzdiagramme aus bestehenden C+±Klassen erzeugen kann ?
Ich arbeite mit Together, das ist ein Konkurrenz-Produkt zu Rose, und glaube dass es für C++ kein Tool gibt, mit dem man diese Aufgabe halbwegs vernünftig reverse-engineeren kann.
In C++ gibt es viele Möglichkeiten Funktionen aufzurufen, angefangen von Pointer über Referenzen bis hin zu ThirdParty (boost!?) SmartPointern, Callback-Templates usw. Ein Analyse-Tool wird kaum in der Lage sein, alle diese Aufrufe korrekt aufzulösen.
Ein weiteres Problem ist, was dieses Tool alles auflösen kann. Angenommes du hast das perfekte Tool, dann wird es dir jeden noch so kleinen Aufruf auflösen. Damit enthälst du ein beliebig komplexes Sequence-Diagramm. Stell dir vor du gibt an irgendeiner Stelle debug Meldungen via std::cout aus, dann würde dir dieses Tool die halbe Standard-Bibliothek in das Sequenzdiagramm aufnehmen. Woher soll das Tool auch wissen, wie detailliert es arbeiten soll.
In der Praxis scheint es mir eher sinnvoll, das Diagramm umgekehrt zu nutzen: du modellierst die wichtigen Aufrufe, in der Implementierung kommen dann die Peanuts (traces,debug-Ausgaben, initialisierungen, usw) hinzu.
Falls jemand hier andere Erfahrungen gemacht hat, würde mich das sehr interessieren.
Gruß Markus