Willkommen

Herzlich Willkommen auf unserer Projektseite. Auf dieser Homepage erhalten Sie Informationen rund um das Projekt der Agrarkulturellen Teilautomatisierung.

Kurzbeschreibung

Deutsch Das runDATA-ERP (ehemals runFAST) ist ein extrem flexibles ERP-System, das seit über 20 Jahre entwickelt wird. Angefangen wurde das Projekt in Visual Basic. Nach einer Zeit kam .NET Framework heraus und das Programm wurde in Visual Basic .NET konvertiert. Seitdem ist das ERP in VB .NET geschrieben und wird bis jetzt noch weiterentwickelt. Da .NET Framework auch C# beinhaltet, ist ein reibungsloser Umstieg in der Theorie möglich. Diese Theorie möchte das Projekt beweisen und dazu wird die ganze Codebasis so gut wie möglich in C# konvertiert. Im Zuge der Konvertierung werden auch weiter moderne Programmierparadigmen eingepflegt.

Unser Projekt wird bearbeitet und erstellt an der HTL Mössingerstraße


Details

Durch die teilautomatische Konvertierung des Projektes in eine neue Sprache können unleserliche Codeteile auftreten, welche behoben werden müssen. Dazu gehören Implementierungen aktueller Industriestandards wie Inversion of Control, Dependency Injection u.a. Darauffolgend werden Codestrukturen analysiert und andere Algorithmen und Paradigmen ausgetestet und bei erfolgt integriert. Im Zuge der Analyse werden komplizierte Module analysiert und es wird versucht in kleine Module zu unterteilen.

Stück für Stück Konvertieren

Das ERP besteht aus mehreren Teilprojekten, in .NET ergibt jedes Teilprojekt eine DLL und wird dann von dem eigentlichen Programm geladen. Vor der Konvertierung wurde ein End-of-Life Projekt entfernt, da es eine bessere Alternative gibt.
Als Nächstes wird das einfachste Projekt, ein Reporting (Dokumente), Projekt konvertiert.
ls Nächstes wird das einfachste Projekt, ein Reporting (Dokumente), Projekt konvertiert. Dieses Projekt hat nicht viele Zeilen Code (+- 10.000 LoC) und ist daher ein guter Anfang. Im Zuge dieses Projekt werden in allen anderen Projekten Definitionen und Einstellungen geprüft.
Beispiel hierfür: Optionale Parameter, Methodenüberladungen, Exception, ByRef & ByVal

Die oben genannten Probleme/Beispiele müssen so gut wie möglich vor den großen Projekten gelöst werden, da sonst eine Konvertierung viel unleserlichen Code produziert.

Probleme & Stolpersteine

Ein kleiner Ausschnitt über ein Problem, das eingetreten ist:

ByRef:
Viele Methoden in einer anderen Bibliothek übergeben Parameter als Referenz. Das stellt sich als größeres Problem dar, denn in C# können z.B. Iterationsvariablen nicht ByRef an eine andere Methode übergeben werden.
Hierfür würde das System viele nutzlose Variablen erstellen und um das zu unterbinden, wurden die Zielmethoden bearbeitet. Hierbei muss darauf geachtet werden, dass es sich um Referenztypen handelt und die Referenzvariable wirklich nie überschrieben wird. Falls die Referenzvariable überschrieben wird, darf NICHT ByRef entfernt werden.

Maximilian Beil

Developer

Dipl.-Ing. Dr. Philipp Moll

Projekt Betreuer