Author Topic: Migrating a Legacy 3GL to OO  (Read 556 times)

Josef Stadelmann

  • EA User
  • **
  • Posts: 59
  • Karma: +0/-0
  • as simple as possible, but not too simple
    • View Profile
Migrating a Legacy 3GL to OO
« on: March 12, 2015, 08:52:30 pm »
Hi,
on the risk of an oversight. We have thousand of 3GL Spaghetti-Code PASCAL Files, many module, each with its unique namespace.
Now we migrate that LEGACY code to become a Windows 7, IIS 7.5 WCF Web Site. We use Oxygene PASCAL, the follow-up of Object Pascal & Delphi. However, our world is a 3GL-world. Oxygene allows that to have all in one big __GLOBAL Object. To make a long story short. We have a lot PAS files, in a lot project/folders/sub-folders resulting after compilation in DLL ' s.

What I like to do is simple, for the one who knows it   :-/, but how can I best model the Visual Studio reference DLL / Assembly relationship, not having classes in it, not forming components in a UML sense, but just containers / packages of binary code, the result of the compilation of a VS project, which is a bunch of pascal source files, each with its unique namespace?

Thank you for any hints.

qwerty

  • EA Guru
  • *****
  • Posts: 9022
  • Karma: +137/-126
  • I'm no guru at all
    • View Profile
Re: Migrating a Legacy 3GL to OO
« Reply #1 on: March 12, 2015, 09:50:35 pm »
I once modeled a large legacy system using components and identifying interfaces. A very long story very short... But it worked and the result was readable even for non UML speaker.

q.

Josef Stadelmann

  • EA User
  • **
  • Posts: 59
  • Karma: +0/-0
  • as simple as possible, but not too simple
    • View Profile
Re: Migrating a Legacy 3GL to OO
« Reply #2 on: March 13, 2015, 09:37:40 pm »
any links to an example picture of your work?
( juts a bit more as shown in the EA help )

How did you relate the .pas files?
did you model each .pas file as a component?

if 20 .pas files make 20 components after all they are compiled into 1 dll, how did you then model the lets say 20 dll's?

did you show a dll as a component? to show relations among dll's?
or
did you show only relations among components?

I think your idea is very OK, but it's hard to start modeling 3GL legacy systems with EA if you don't know how to start.

for any more hints your very welcome.

qwerty

  • EA Guru
  • *****
  • Posts: 9022
  • Karma: +137/-126
  • I'm no guru at all
    • View Profile
Re: Migrating a Legacy 3GL to OO
« Reply #3 on: March 13, 2015, 10:24:01 pm »
Unfortunately (like in most cases) the content is confidential. The whole process is very complex. I tried a write-up in my BA book.

I would represent a single .pas file as a class or rather an interface (just the essence of what is going in and out; this can be tricky). And the DLL represents all those interfaces in a component. You can create a composite diagram for each component where you show delegation of the interfaces to the single .pas files (or their class representation).

q.