Frage

Meine Firma hat Tonnen von Vermächtnis Anwendungen, die in VB6 geschrieben werden.

Wir sind in Übergängen von beweglichen VB6-Anwendungen auf .NET (3.5 speziell).

Was wäre die beste Strategie VB6 zum Bewegen Form auf .NET?



Hinweis :. Im Folgenden Update zu „Projektmanagement“ gehen sollte, und hat nichts mit der Hauptfrage zu tun

  

[UPDATE] : Vielen Dank für Ihr Feedback bisher
Nun gibt es   mehr Frage, die die Pop-up ist

     
      
  1. Wie würden Sie Entwickler vergeben, um neue Anwendungen zu entwickeln?
  2.   
  3. Sollte es eine besondere einmalige Upgrade Abteilung, die konvertiert   Legacy-Anwendungen auf neue? oder sollte   jeder Entwickler teilnehmen an   Umwandlungsprozess?
  4.   
  5. Sollte nur Senior Entwickler teilnehmen auf Umwandlung? Junior   Entwickler? oder gemischt?
  6.   
     

Es scheint so, denke, je mehr ich über   Dieses Problem, mehr Fragen nur zeigen   up.

War es hilfreich?

Lösung

Das ist natürlich ein großes Unternehmen, das eine Menge Arbeit beteiligen.
Also mein Rat wäre, um es wie ein sehr langfristiges Projekt zu behandeln.

Haben Sie ein klares Ziel vor Augen, die wichtigen Themen wie Sicherheit Adressen, Belastbarkeit, Wartbarkeit und die Zukunft Ihrer Anwendungen.

Sobald dies von den Beteiligten vereinbart, ein Prototyp-System entwickeln Sie Ihre Annahmen zu testen, wo Sie ausprobieren können, C # vrs VB.net oder MVC vrs Webforms. Ich würde Ihre besten Entwickler für dieses zuweisen.

Dann mit einem kleinen Ihren Legacy-Systemen starten, und die Kernkomponenten bauen, die Sie Wiederverwendung in anderen Bereichen.
Zu diesem Zeitpunkt beginnt mit erfahreneren Entwicklern, aber jeder muss engagieren und mit dem neuen Rahmen vertraut sein.
Dadurch wird sichergestellt, jeder ist zugleich trainiert, und niemand zurückgelassen wird.
Je nachdem, wie viele Anwendungen, die Sie habe ich Entwickler drehen würde, so können alle Systeme profitieren.

Auch alle neuen Arbeiten müssen in Ihrem .NET-Sprache nicht in VB6 erfolgen.

konvertieren Allmählich jede Ihrer Legacy-Anwendungen. (Ich würde sie nur umwandeln, wenn sie sich verändern, oder wenn es ein klarer Vorteil ist, sie zu aktualisieren.)

Dies sollte Ihnen einen soliden Rahmen geht nach vorn zu verwenden, während immer noch Anwender gewährleistet Funktionalität durch die Migration nicht behindert wird.

Zum Beispiel:
Ich habe bei einer Firma gearbeitet, die etwa 40 oder so VB-Anwendungen hatten.
Im Laufe der Zeit haben wir alle diese C # gewandert und jetzt (5 Jahre später), haben wir rund 150 c # -Anwendungen (alle in .net 2.).

Diese alle teilen einen gemeinsamen Rahmen, so dass sie leicht zu halten und erweitern, wo nötig.

Andere Tipps

Versuchen Kernfunktionalität ersetzt mit COM .NET-Bibliotheken aktiviert. „Aushöhlen“ Ihre bestehend VB6 Apps Funktionalität zu .NET bitweise bewegt.

Hüten Sie sich vor der vollständigen umschreibt. Obwohl sie verlockend sind „weil es ein sauberer Schnitt ist“ - in der Regel legt Wahnsinn voraus! Lesen „Effektives Arbeiten mit Legacy Code“ von Michael Feathers als Vorbereitung. Obwohl das Buch speziell geht nicht in den „von einer Sprache in einer anderen“ macht es eine Menge von realen Gefahren zeigen Ihnen begegnen werden.

Ich glaube, dass alle Entwickler sollten Zeitschlitze definiert haben, wo sie Migrationsarbeit auf die Legacy-Anwendungen zu tun, bevor sie entwickelt. Da sie bereits Domänenwissen und kennen das Problem Raum haben, sollten sie am produktivsten sein.

Hier ist eine Anpassung meiner Antwort auf eine ähnliche Frage.

Konvertieren von großen Programmen automatisch eine bessere Wahl als neu zu schreiben. Es ist ein häufiger Fehler optimistischer beginnen ein großes Stück Software umgeschrieben, machen gute frühe Fortschritte einige der bekannten Mängel in der alten Architektur Fixierung und dann in der Funktionalität verzetteln, die Sie haben gerade für selbstverständlich genommen für Jahre. An diesem Punkt beginnen Sie Ihr Management twitchy zu bekommen und alles kann sehr unangenehm werden.

... und hier ist eine Blog-Post von einem Microsofty, die a href <= "http://blogs.msdn.com/goto100/archive/2008/11/03/rewrite-vs-migrate-vs-reuse- vs-replace.aspx“rel = "nofollow noreferrer"> stimmt mir :

  

Viele Unternehmen, die ich mit in den frühen Tagen des .NET gearbeitet sahen zuerst durch einen starken Wunsch, teilweise angetrieben bei Umschreiben der zugrunde liegende Architektur und Code-Strukturen zur gleichen Zeit zu verbessern, wie sie zu .NET bewegten. Leider lief viele dieser Projekte in Schwierigkeiten, und mehrere wurden nie vollendet. Das Problem, das sie versuchen, war zu groß, zu lösen

In diesem Microsoft empfiehlt zwei Dritte Migrations-Tools als besser als die unterlegenen integrierten in VB.NET Upgrade-Assistent - ArtinSoft und CodeArchitects VBMigration . ArtinSoft schrieb die eingebaute VB.NET Upgrade-Assistenten, diese ihre verbesserte Version. Und CodeArchitects von Francesco Balena gegründet, der einen Teil der klassische Bücher auf VB6 und VB.NET.

Die gleiche Microsoft Seite auch sagt:

  

eine komplette Neuentwicklung auf .NET Performing ist viel teurer und schwierig, gut zu tun [als Umwandlung] ... wir würden diesen Ansatz für eine kleine Anzahl von Situationen nur empfehlen.


EDIT: Sung sagt in den Kommentaren: „Ich bin kein großer Fan von Auto Generierung von Code, weil es schwieriger zu debuggen ist zunächst und vielleicht nur so lange dauern, wie es ganze Sache neu zu schreiben, nimmt“. Ich habe stark anderer Meinung zu sein. Im Allgemeinen bin ich auch kein Fan von Code-Generierung, aber in diesem Fall der resultierende Code wird identisch zu Ihrem ursprünglichen VB6 strukturiert sein und soll fast vollständig funktionsfähig sein. Ich habe nicht wirklich versucht, mich diese Tools noch nicht, aber von ihren Kunde Meinungen dieses Versprechen erfüllt ist.

Und ich wiederhole die Microsoft Rat nur oben auf der Grundlage ihrer Erfahrung viele Migrationen zu unterstützen - „komplett neu geschrieben ist viel teurer und schwieriger als Umwandlung [Hervorhebung von mir]“ - einem flachen Widerspruch die Vermutung, dass es die gleiche Zeit in Anspruch nehmen könnte. Wenn Sie die Struktur des VB6 verbessern wollen, Migration dann schrittweise Refactoring ist wahrscheinlich weitaus kostengünstiger als ein Rewrite sein.

Sehen Sie diesen:
https://stackoverflow.com/ Fragen / 507.291 / soll-wir-select-vb-net-oder-c-when-Upgrade-unsere-legacy-Anwendungen

Natürlich, C # vs VB.Net ist nur ein Teil davon.

Zum Beispiel sind eine andere Sache zu prüfen, ob Sie diese Gelegenheit nutzen wollen, um diese Anwendungen zu einem Intranet zu bewegen, wenn Sie nicht bereits haben. Oder, wie tief sind Sie in Microsofts Stack vertiefen möchten. Ist WinForms genug oder wollen Sie WPF verwenden, zum Beispiel.

Ich würde mit Microsoft-Tool starten:

http://msdn.microsoft.com/en-us/library /aa480541.aspx

Sie können folgende Artikel nützlich: http://www.vsj.co.uk/articles/display. asp? id = 756

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top