08 March 2007

Software Engineering: Reverse Engineering (Definitions)

"The process of analyzing existing software code and associated documentation to recover its architectural design and specification." (Ian Sommerville, "Software Engineering", 1996)

"The process of analyzing a subject system with two goals in mind: (1) to identify the system’s components and their interrelationships; and, (2) to create representations of the system in another form or at a higher level of abstraction." (Margaret Y Chu, "Blissful Data", 2004)

"Reverse engineering is the process of discovering the functions and their interrelationships of a software system as well as creating representations of the system in another form or at a higher level of abstraction." (Chia-Chu Chiang, "Software Modernization of Legacy Systems for Web Services Interoperability", 2008)

"the construction of a model from a set of source code files." (Bruce P Douglass, "Real-Time Agility: The Harmony/ESW Method for Real-Time and Embedded Systems Development", 2009)

"The process of transforming code into a model through a mapping from a specific implementation language." (Liliana M Favre et al, Foundations for MDA Case Tools", 2009)

[database reverse engineering:] "The process through which the logical and conceptual schemas of a legacy database, or of a set of files, are recovered, or rebuilt, from various information sources such as DDL code, data dictionary contents, database contents, or the source code of application programs that use the database." (Jean-Luc Hainaut et al, "Database Reverse Engineering", 2009)

"The process of transforming the physical schema of any particular database into a logical model." (Paulraj Ponniah, "Data Warehousing Fundamentals for IT Professionals", 2010)

"The process of deriving a draft physical model representing an implemented system (application and/or database) from automated scanning of the implemented application and database objects, as a first step towards redesign." (DAMA International, "The DAMA Dictionary of Data Management", 2011)

"The process of discovering the technological principles of a device, object or system through analysis of its structure, function and operation." (Tian Ge & Jianfeng Feng, "Granger Causality: Its Foundation and Applications in Systems Biology", 2011) 

"The process of taking a competitor's product apart and putting it back together again to better understand the manufacturing process and the product design." (Leslie G Eldenburg & Susan K Wolcott, "Cost Management" 2nd Ed., 2011)

"The process of analyzing and comprehending available software artifacts, such as requirements, design, architectures and code in order to extract information and provide high-level views of the system." (Liliana Favre et al, "Reverse Engineering of Object-Oriented Code: An ADM Approach" , 2015)

"It is a process in which a machine is completely dismantled in order to understand the intricacies of the machine. Finally, it is reassembled with added improvisation." Kuldeep K Saxena & Ankita Awasthi, "Novel Additive Manufacturing Processes and Techniques in Industry 4.0", 2020)

"The analysis of a subject system to identify its components and their interrelationships, and to create its representations in another form, or at higher level of abstraction." (Djelloul Bouchiha, "Reengineering Legacy Systems Towards New Technologies", 2021)

No comments:

Related Posts Plugin for WordPress, Blogger...

About Me

My photo
IT Professional with more than 24 years experience in IT in the area of full life-cycle of Web/Desktop/Database Applications Development, Software Engineering, Consultancy, Data Management, Data Quality, Data Migrations, Reporting, ERP implementations & support, Team/Project/IT Management, etc.