When an automobile with new design is introduced, competitors may obtain a car, transport it to the laboratory and take it apart to see how it is made. New computer hardware and software products are often reverse engineered by competitors, and the technique may be used in systems analysis in studying old systems.
Database design is a complex process that is very difficult for students to comprehend.
In my advanced database course, my objective is to expose them to a much more challenging environment than is possible in the basic course, to demonstrate the complexities of database design in the real world. First, they explore the Web site systematically. Next, they brainstorm a set of 20 or 30 questions from the perspective of the company's management. They must then determine the actual data elements that would be necessary for answering the questions, design the tables for these elements, create the tables in Microsoft Access with sample data, and demonstrate their design to the class. They quickly discover that a poor design does not work well.