A dissertation submitted to the Faculty of Engineering, University of the Witwatersrand,
Johannesburg, in fulfilment Of the requirements for the degree of Master of Science in
Engineering.
Johannesburg, 1993Renewal is the extraction of the intellectual content (algorithms, data structures) from an existing
program, and then puilding a new more maiatainable program using more modem progra1Tlming
methods and languages. A survey of software structure on maintenance. highlighted the different
hierarchies produced by functional and object-oriented design methods.
Elecsim, a linear circuit sL~ulator written in Pascal, was chosen as the existing program to be
renewed, The new version follows the approach of decoupling the user interface and introducing
an explicit scheduler. The object-oriented design technique is used extensively. Other issues
addressed include online-help and. documentation for the program.
Conclusions are drawn which are generally applicable from the specificlessons learnt from the
Elecsim/Elector case study.MT201