Abstract
This paper analyzes the requirements that CASE tools should meet for effective database reverse engineering (DBRE), and proposes a general architecture for data-centered applications reverse engineering CASE environments. First, the paper describes a generic DBMS-independent DBRE methodology, then it analyzes the main characteristics of DBRE activities in order to collect a set of desirable requirements. Finally, it describes DB-MAIN, an operational CASE tool developed according to these requirements. The main features of this tool that are described in this paper are its unique generic specification model, its repository, its transformation toolkit, its user interface, the text processors, the assistants, the methodological control and its functional extensibility. Finally, the paper describes five real-world projects in which the methodology and the CASE tool were applied.
Similar content being viewed by others
References
Andersson, M. 1994. Extracting an entity relationship schema from a relational database through reverse engi- neering. In Proc. of the 13th Int. Conf. on ER Approach, Manchester: Springer-Verlag.
Batini, C., Ceri, S., and Navathe, S.B. 1992. Conceptual Database Design. Benjamin-Cummings.
Batini, C., Di Battista, G., and Santucci, G. 1993. Structuring primitives for a dictionary of entity relationship data schemas. IEEE TSE, 19(4).
Blaha, M.R. and Premerlani, W.J. 1995. Observed idiosyncracies of relational database designs. In Proc. of the 2nd IEEE Working Conf. on Reverse Engineering, Toronto: IEEE Computer Society Press.
Bolois, G. and Robillard, P. 1994. Transformations in reengineering techniques. In Proc. of the 4th Reengineering Forum Reengineering in Practice, Victoria, Canada.
Casanova, M. and Amarel de Sa, J. 1983. Designing entity relationship schemas for conventional information systems. In Proc. of ERA, pp. 265–278.
Casanova, M.A. and Amaral, De Sa 1984. Mapping uninterpreted schemes into entity-relationship diagrams: Two applications to conceptual schema design. In IBM J. Res. & Develop., 28(1).
Chiang, R.H., Barron, T.M., and Storey, V.C. 1994. Reverse engineering of relational databases: Extraction of an EER model from a relational database. Journ. of Data and Knowledge Engineering, 12(2):107–142.
Date, C.J. 1994. An Introduction to Database Systems. Vol. 1, Addison-Wesley.
Davis, K.H. and Arora, A.K. 1985. A Methodology for translating a conventional file system into an entity- relationship model. In Proc. of ERA, IEEE/North-Holland.
Davis, K.H. and Arora, A.K. 1988. Converting a relational database model to an entity relationship model. In Proc. of ERA: A Bridge to the User, North-Holland.
Edwards, H.M. and Munro, M. 1995. Deriving a logical model for a system using recast method. In Proc. of the 2nd IEEE WC on Reverse Engineering. Toronto: IEEE Computer Society Press.
Fikas, S.F. 1985. Automating the transformational development of software. IEEE TSE, SE-11:1268–1277.
Fong, J. and Ho, M. 1994. Knowledge-based approach for abstracting hierarchical and network schema semantics. In Proc. of the 12th Int. Conf. on ER Approach, Arlington-Dallas: Springer-Verlag.
Fonkam, M.M. and Gray, W.A. 1992. An approach to eliciting the semantics of relational databases. In Proc. of 4th Int. Conf. on Advance Information Systems Engineering—CAiSE'92, pp. 463–480, LNCS, Springer-Verlag.
Elmasri, R. and Navathe, S. 1994. Fundamentals of Database Systems. Benjamin-Cummings.
Hainaut, J.-L. 1981. Theoretical and practical tools for data base design. In Proc. Intern. VLDB Conf., ACM/IEEE.
Hainaut, J.-L. 1991. Entity-generating schema transformation for entity-relationship models. In Proc. of the 10th ERA, San Mateo (CA), North-Holland.
Hainaut, J.-L., Cadelli, M., Decuyper, B., and Marchand, O. 1992. Database CASE tool architecture: Principles for flexible design strategies. In Proc. of the 4th Int. Conf. on Advanced Information System Engineering (CAiSE-92), Manchester: Springer-Verlag, LNCS.
Hainaut, J.-L., Chandelon, M., Tonneau, C., and Joris, M. 1993a. Contribution to a theory of database reverse engineering. In Proc. of the IEEE Working Conf. on Reverse Engineering, Baltimore: IEEE Computer Society Press.
Hainaut, J.-L., Chandelon, M., Tonneau, C., and Joris, M. 1993b. Transformational techniques for database reverse engineering. In Proc. of the 12th Int. Conf. on ER Approach, Arlington-Dallas: E/R Institute and Springer-Verlag, LNCS.
Hainaut, J.-L., Englebert, V., Henrard, J., Hick, J.-M., and Roland, D. 1994. Evolution of database applications: The DB-MAIN approach. In Proc. of the 13th Int. Conf. on ER Approach, Manchester: Springer-Verlag.
Hainaut, J.-L. 1995. Transformation-based database engineering. Tutorial notes, VLDB'95, Zürich, Switzerland, (available at jlh@info.fundp.ac.be).
Hainaut, J.-L. 1996. Specification Preservation in Schema transformations—Application to Semantics and Statistics, Elsevier: Data & Knowledge Engineering (to appear).
Hainaut, J.-L., Roland, D., Hick J.-M., Henrard, J., and Englebert, V. 1996. Database design recovery, in Proc. of CAiSE-96, Springer-Verlag.
Halpin, T.A. and Proper, H.A. 1995. Database schema transformation and optimization. In Proc. of the 14th Int. Conf. on ER/OO Modelling (ERA), Springer-Verlag.
Hall, P.A.V. (Ed.) 1992. Software Reuse and Reverse Engineering in Practice, Chapman & Hall IEEE, 1990. Special issue on Reverse Engineering, IEEE Software, January, 1990.
Johannesson, P. and Kalman, K. 1990. A Method for translating relational schemas into conceptual schemas. In Proc. of the 8th ERA, Toronto, North-Holland.
Joris, M., Van Hoe, R., Hainaut, J.-L., Chandelon, M., Tonneau, C., and Bodart F. et al. 1992. PHENIX: Methods and tools for database reverse engineering. In Proc. 5th Int. Conf. on Software Engineering and Applications, Toulouse, December 1992, EC2 Publish.
Kobayashi, I. 1986. Losslessness and semantic correctness of database schema transformation: Another look of schema equivalence. In Information Systems, 11(1):41–59.
Kozaczynsky, Lilien, 1987. An extended entity-relationship (E2R) database specification and its automatic verification and transformation. In Proc. of ERA Conf.
Markowitz, K.M. and Makowsky, J.A. 1990. Identifying extended entity-relationship object structures in relational schemas. IEEE Trans. on Software Engineering, 16(8).
Navathe, S.B. 1980. Schema analysis for database restructuring. In ACM TODS, 5(2).
Navathe, S.B. and Awong, A. 1988. Abstracting relational and hierarchical data with a semantic data model. In Proc. of ERA: A Bridge to the User, North-Holland.
Nilsson, E.G. 1985. The translation of COBOL data structure to an entity-rel-type conceptual schema. In Proc. of ERA, IEEE/North-Holland.
Petit, J.-M., Kouloumdjian, J., Bouliaut, J.-F, and Toumani, F. 1994. Using queries to improve database reverse engineering. In Proc. of the 13th Int. Conf. on ER Approach, Springer-Verlag: Manchester.
Premerlani, W.J. and Blaha, M.R. 1993. An approach for reverse engineering of relational databases. In Proc. of the IEEE Working Conf. on Reverse Engineering, IEEE Computer Society Press.
Potts, C. and Bruns, G. 1988. Recording the reasons for design decisions. In Proc. of ICSE, IEEE Computer Society Press.
Rauh, O. and Stickel, E. 1995. Standard transformations for the normalization of ER schemata. In Proc. of the CAiSE-95 Conf., Jyväskylä, Finland, LNCS, Springer-Verlag.
Rock-Evans, R. 1990. Reverse engineering: Markets, methods and tools, OVUM report.
Rosenthal, A. and Reiner, D. 1988. Theoretically sound transformations for practical database design. In Proc. of ERA Conf.
Rosenthal, A. and Reiner, D. 1994. Tools and transformations—Rigourous and otherwise—for practical database design, ACM TODS, 19(2).
Rolland, C. 1993. Modeling the requirements engineering process. In Proc. of the 3rd European-Japanese Seminar in Information Modeling and Knowledge Bases, Budapest (preprints).
Sabanis, N. and Stevenson, N. 1992. Tools and techniques for data remodelling cobol applications. In Proc. 5th Int. Conf. on Software Engineering and Applications, Toulouse, 7–11 December, pp. 517–529, EC2 Publish.
Selfridge, P.G., Waters, R.C., and Chikofsky, E.J. 1993. Challenges to the field of reverse engineering. In Proc. of the 1st WC on Reverse Engineering, pp. 144–150, IEEE Computer Society Press.
Shoval, P. and Shreiber, N. 1993. Database reverse engineering: From relational to the binary relationship Model, data and knowledge Engineering, 10(10).
Signore, O., Loffredo, M., Gregori, M., and Cima, M. 1994. Reconstruction of E-R schema from database Applications: A cognitive approach. In Proc. of the 13th Int. Conf. on ER Approach, Manchester: Springer- Verlag.
Springsteel, F.N. and Kou, C. 1990. Reverse data engineering of E-R designed relational schemas. In Proc. of Databases, Parallel Architectures and their Applications.
Teorey, T.J. 1994. Database Modeling and Design: The Fundamental Principles, Morgan Kaufmann.
Vermeer, M. and Apers, P. 1995. Reverse engineering of relational databases. In Proc. of the 14th Int. Conf. on ER/OO Modelling (ERA).
Weiser, M. 1984. Program slicing, IEEE TSE, 10:352–357.
Wills, L., Newcomb, P., and Chikofsky, E. (edEds.) 1995. Proc. of the 2nd IEEE Working Conf. on Reverse Engineering. Toronto: IEEE Computer Society Press.
Winans, J. and Davis, K.H. 1990. Software reverse engineering from a currently existing IMS database to an entity-relationship model. In Proc. of ERA: the Core of Conceptual Modelling, pp. 345–360, North-Holland.
Author information
Authors and Affiliations
Additional information
This is a heavily revised and extended version of “Requirements for Information System Reverse Engineering Support” by J.-L. Hainaut, V. Englebert, J. Henrard, J.-M. Hick, D. Roland, which first appeared in the Proceedings of the Second Working Conference on Reverse Engineering, IEEE Computer Society Press, pp. 136–145, July 1995. This paper presents some results of the DB-MAIN project. This project is partially supported by the Région Wallonne, the European Union, and by a consortium comprising ACEC-OSI (Be), ARIANE-II (Be), Banque UCL (Lux), BBL (Be), Centre de recherche public H. Tudor (Lux), CGER (Be), Cockerill-Sambre (Be), CONCIS (Fr), D'Ieteren (Be), DIGITAL, EDF (Fr), EPFL (CH), Groupe S (Be), IBM, OBLOG Software (Port), ORIGIN (Be), Ville de Namur (Be), Winterthur (Be), 3 Suisses (Be). The DB-Process subproject is supported by the Communauté Française de Belgique.
Rights and permissions
About this article
Cite this article
Hainaut, JL., Englebert, V., Henrard, J. et al. Database reverse engineering: From requirements to CARE tools. Automated Software Engineering 3, 9–45 (1996). https://doi.org/10.1007/BF00126958
Issue Date:
DOI: https://doi.org/10.1007/BF00126958