Generating three-tier applications from relational databases: a formal and practical approach

Macario Polo, Juan Ángel Gómez, Mario Piattini, Francisco Ruiz

Abstract

This article describes a method for building applications with a three-tier structure (presentation, business, persistence) from an existing relational database. The method works as a transformation function that takes the relational schema as its input, producing three sets of classes (which depend on the actual system being reengineered) to represent the final application, as well as some additional auxiliary classes (which are 'constant' and always generated, such as an 'About' dialog, for example). All the classes generated are adequately placed along the three-tiers.The method is based on (1) the formalization of all the sets involved in the process, and (2) the mathematical formulation of the required functions to get the final application. For this second step, we have taken into account several well-known, widely used design and transformation patterns that produce high quality designs and highly maintainable software.The method is implemented in a tool that we have successfully used in several projects of medium size. Obviously, it is quite difficult for the obtained software to fulfill all the requirements desired by the customer, but the uniformity and understandability of its design makes very easy its modification.

 Information and Software Technology, 44(15), 923-941. 2002