2008-10-10 9 views
5

Ich habe die Aufgabe der Umwandlung eines alten VB6-Programms in C# gegeben. Unglücklicherweise hat das Projekt 8 Module, jede Menge Code in jeder und jede Menge verschachtelter IF-Anweisungen und einfach ein schreckliches Design.Visual Basic-Projektcode zu UML-Diagramm-Tool

Ich hoffe, ein Werkzeug zu finden, das alle Dateien aufnehmen und eine Art UML-Diagramm generieren würde, um den grundlegenden Codefluss anzuzeigen, damit ich mit dem Debuggen beginnen kann.

Das Programm akzeptiert eine Reihe von verschiedenen Dateitypen alle mit etwas anderen Informationen, aber es scheint nur mit ihnen alle in einer Reihe von großen Methoden zu beschäftigen, die verschiedene Methoden hier und da aufrufen, je nachdem, was die Informationen sind.

Ich weiß, dass ich einige Eingabedateien nehmen muss und alles durchgehen muss, um herauszufinden, was es in jeder Situation macht, damit ich die Ähnlichkeiten und Unterschiede finden kann, um eine elegantere Lösung zu erstellen, die leichter zu pflegen ist .

Vielen Dank für jede und alle helfen

Antwort

3

this Tool kann für Visual Studio als Add-on verwendet werden Diagramme zu erzeugen und Reverse Engineering Ihre VB6-Projekt in Visual UML.

+0

Das Unternehmen, das dieses Produkt herstellt, ging 2010 aus dem Geschäft. Es ist nicht mehr verfügbar und wird auch nicht unterstützt. – StarPilot

2

Leider wäre das für ein großes Projekt nicht einfach.

Sie könnten ein Klassendiagramm mit etwas wie Sparx Enterprise Architect erstellen, aber dann müssen Sie einige Zeit damit verbringen, es aufzuräumen, bevor es Sinn macht. Sie werden wahrscheinlich mehr Glück haben, wenn Sie es für einen bestimmten Teil des Projekts tun, anstatt für die ganze Menge.

-1

Ein besserer Ansatz besteht darin, Komponententests zu schreiben und den Code in ein konvertierbareres Design umzuwandeln. Refactoring von Martin Fowler und NUnit sind gute Orte zu Stern

Dieses Problem wird hier zusammen mit Links zu den oben genannten ausführlicher diskutiert.

How to switch from VB6 to VB.NET

0

Danke Konstantinos und Ilya Kochetov,

ich das Tool im Moment bin Download bereit.

Ich habe EA ein Go für die Klassendiagramme gegeben und denke, es wird ein wenig helfen, wenn die UML funktioniert dann denke ich, dass sie gut zusammen funktionieren werden.

Danke RS Conley, wir wollen die Anwendung komplett neu schreiben, da sie sehr schlecht designed ist und die Anforderungen sich seit ihrer Erstellung geändert haben. Wir denken, wenn wir untersuchen, was es tut, wie es es macht und wie eine Reihe anderer, ziemlich ähnlicher Apps funktionieren, können wir vielleicht ein generischeres Programm erstellen, das mit allen fertig wird. Dies würde es uns ermöglichen, eine Reihe anderer Legacy-Apps für .Net zu konsolidieren, wo wir uns befinden müssen.

+0

Seien Sie vorsichtig mit dem Neuschreiben. Einige Zitate von Microsoft. "Viele Unternehmen, mit denen ich in den frühen Tagen von .NET gearbeitet habe, haben zuerst das Umschreiben untersucht, was zum Teil auf den starken Wunsch zurückzuführen ist, die zugrunde liegende Architektur und die Code-Strukturen gleichzeitig mit .NET zu verbessern.Leider sind viele dieser Projekte in Schwierigkeiten geraten und einige wurden nie abgeschlossen. Das Problem, das sie zu lösen versuchten, war zu groß. "Und noch einmal." Eine Neufassung von .NET ist weitaus kostspieliger und schwieriger zu machen [als Konvertieren] ... wir würden diesen Ansatz nur für eine kleine Anzahl von Situationen empfehlen . " – MarkJ

0

Visio 2000 Professional oder Enterprise hatte diese built in, wenn Sie sie haben oder bekommen können. Ich weiß nicht, ob Visio 2007 die Funktion noch besitzt - Sie könnten die 60-day trial versuchen.

+0

Visio eignet sich gut zum Diagrammen, aber nicht zum Modellieren. Es macht schöne, hübsche Bilder, verwendet eine alte Version von UML, führt kein Engineering durch usw. Es wird von Microsoft nicht mehr als Softwareentwicklungswerkzeug betrachtet. –

+1

Microsoft Office stellt fest, dass Visio 2003 VB6- und VC++ 6-Code zurückentwickeln kann. Es generiert "UML static structure model" nur für VB6-Code. Diese Informationen finden Sie unter: http://office.microsoft.com/en-us/visio-help/ über-Reverse-Engineering-Visual-Studio-6-0-Quellcode-in-der-ml-HP081550451.aspx – StarPilot