Purchasing a vendor product is often a gamble, but you can reduce your risk if you first inspect it with reverse engineering. You can assess the intrinsic quality of a product and make better purchase decisions. When you consider that a major software deployment can cost millions of dollars and that a reverse engineering assessment takes a matter of weeks, the business case is compelling. We only discuss the reverse engineering of databases, but much purchased software are information systems that revolve about a database.
What Is Reverse Engineering?
Reverse engineering is the inverse to normal development (see Table 1); you start with the actual application and work backward to deduce the requirements that spawned the software. Reverse engineering lets you salvage ideas and data from past systems for use by new systems. You can evaluate candidate products in depth to more reliably determine the best ones.
Reverse engineering applies to a variety of platforms (such as programming code, hardware, and databases), but this article concerns only databases. In practice, this is not much of a limitation because many of the applications that organizations purchase involve databases.