Font Size: a A A

Reverse engineering software: A case study with Rational Rose/C++

Posted on:1999-11-15Degree:M.Comp.ScType:Thesis
University:DalTech - Dalhousie University (Canada)Candidate:Zaman, Anis UzFull Text:PDF
GTID:2468390014973571Subject:Computer Science
Abstract/Summary:
Software is an investment for the corporation for which it was developed, a personal creation and a challenge to an individual software developer, and a problem imposed by someone else to some software maintenance engineer. Reverse engineering can play a very important role in easing the imposed problem to the software maintenance engineer.;In this project, an existing software system was analyzed using a CASE tool, Rational Rose/C++ (version 4.0). Using Unified Modeling Language (UML) in Rational Rose, a logical design view of the system at the class diagram level of abstraction was established. Then the reverse engineering capability of the Rational Rose/C++ was used to obtain the implementation or physical design view of the software system. Those two views of the system were compared. The similarities and differences of those two views, and how the reverse engineering capabilities of the Rational Rose/C++ can make an effective contribution in information extraction from source code, were discussed.;Both logical and physical design view of the system were used for code generation. The generated codes were analyzed to see if all the design information such as class attributes, methods, comments, cardinality and relationships were carried over.;We conclude that (1) The Rational Rose is a good tool for abstracting physical or implementation design information, and (2) Further improvement is needed to capture logical design and implementation decisions.
Keywords/Search Tags:Software, Reverse engineering, Rational rose/c
Related items