52 Reuse-Based Software Development (85%)

Jones Capers · 2017

Executive summary: Reverse engineering, as it applies to software, may be defined as a process of analyzing an existing system to create representations of that system at a higher level of abstraction. For example, an effort to replicate the functionality of an existing system for which design documentation (and perhaps even source code) does not exist. In a sense, this involves going backwards through a software development life cycle to discover the design and perhaps even the requirements in order to create a faithful replica of the original, perhaps using more modern technology. The intent of a reverse engineering effort is simply to duplicate existing functionality, not necessarily to improve upon it—if the intent is to improve, the project may more properly be categorized as reengineering.

Read the paper · More papers on PaperTik