Reverse Software Engineering Large Object Oriented Software Systems using the UML Notation

dc.contributor.authorRamasubbu, Surendranathen
dc.contributor.committeechairKachroo, Pushkinen
dc.contributor.committeememberAbbott, A. Lynnen
dc.contributor.committeememberRavindran, Binoyen
dc.contributor.committeememberVinson, Mark W.en
dc.contributor.departmentElectrical and Computer Engineeringen
dc.date.accessioned2014-03-14T20:34:25Zen
dc.date.adate2001-04-30en
dc.date.available2014-03-14T20:34:25Zen
dc.date.issued2001-04-26en
dc.date.rdate2002-04-30en
dc.date.sdate2001-04-27en
dc.description.abstractA common problem experienced by the software engineering community traditionally has been that of understanding legacy code. A decade ago, legacy code was used to refer to programs written in COBOL, typically for large mainframe systems. However, current software developers predominantly use Object Oriented languages like C++ and Java. The belief prevalent among software developers and object philosophers that comprehending object-oriented software will be relatively easier has turned out to be a myth. Tomorrow's legacy code is being written today, since object oriented programs are even more complex and difficult to comprehend, unless rigorously documented. Reverse Engineering is a methodology that greatly reduces the time, effort and complexity involved in solving the program comprehension problem. This thesis deals with Reverse Engineering complex object oriented software and the experiences with a sample case study. Extensive survey of literature and contemporary research on reverse engineering and program comprehension was undertaken as part of this thesis work. An Energy Information System (EIS) application created by a leading energy service provider and one that is being used extensively in the real world was chosen as a case study. Reverse engineering this industry strength Java application necessitated the definition of a formal process. An intuitive Reverse Engineering Process (REP) was defined and used for the reverse engineering effort. The learning experiences gained from this case study are discussed in this thesis.en
dc.description.degreeMaster of Scienceen
dc.identifier.otheretd-04272001-114038en
dc.identifier.sourceurlhttp://scholar.lib.vt.edu/theses/available/etd-04272001-114038/en
dc.identifier.urihttp://hdl.handle.net/10919/31960en
dc.publisherVirginia Techen
dc.relation.haspartthesis_final.pdfen
dc.rightsIn Copyrighten
dc.rights.urihttp://rightsstatements.org/vocab/InC/1.0/en
dc.subjectSoftware Engineeringen
dc.subjectDesign Recoveryen
dc.subjectProgram Comprehensionen
dc.subjectReverse Engineeringen
dc.subjectUnified Modeling Languageen
dc.subjectRe-engineeringen
dc.titleReverse Software Engineering Large Object Oriented Software Systems using the UML Notationen
dc.typeThesisen
thesis.degree.disciplineElectrical and Computer Engineeringen
thesis.degree.grantorVirginia Polytechnic Institute and State Universityen
thesis.degree.levelmastersen
thesis.degree.nameMaster of Scienceen

Files

Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
thesis_final.pdf
Size:
355 KB
Format:
Adobe Portable Document Format

Collections