In English

Strategies for migration of a legacy system - A case study on evaluation of strategies for migrating VBA to Visual C#

Grigorios Asdranias ; Erik Olsson Haglund
Göteborg : Chalmers tekniska högskola, 2011. 93 s.
[Examensarbete på avancerad nivå]

Many document processing systems were developed in Visual Basic for Applications (VBA). Previously, VBA was the only option for handling old Microsoft Word documents. However, after the introduction of the open and royalty-free Office Open XML framework and the powerful Visual C# programming technology, many organizations tend to adjust their document processing systems to use these technologies.

Logica developed a system which generates documents for various network site engineering activities. This legacy system includes a document generating part which is developed in VBA. Its scalability and maintainability is incredibly low and it is difficult to add new functionality. Thus, Logica would like to find how to migrate efficiently their system to the newer technologies so that it can produce .docx documents. Such a system is a representative example to perform a case study on evaluation of migration strategies.

In this case study three migration strategies were investigated, namely automatic migration, re-engineering and re-implantation. To evaluate the automatic approach, a converter that converted VBA code to VB.NET was developed, and then third-party tools were used to translate from VB.NET to Visual C#, either by converting or decompiling the VB.NET project. The re-engineering approach was evaluated by making an abstract overview of the legacy system, applying changes to it and then forward engineering it into Visual C#. Re-implementation was evaluated only on a theoretical level.

In the automatic approach, our converter gave us satisfying results. However, the outcomes of the third-party tools could not be trusted. The re-engineering approach produced the most reliable and maintainable outcome. The re-implementation approach could not be practically evaluated as it requires a lot of resources. In addition to this, if it would be adopted, it would imply a lot of risks.

Thus, when it comes to performing a migration of such a system the re-engineering approach is the best solution that can be followed.

Publikationen registrerades 2011-07-26. Den ändrades senast 2013-04-04

CPL ID: 143632

Detta är en tjänst från Chalmers bibliotek