Database Reverse Engineering Tools
Total Page:16
File Type:pdf, Size:1020Kb
7th WSEAS Int. Conf. on SOFTWARE ENGINEERING, PARALLEL and DISTRIBUTED SYSTEMS (SEPADS '08), University of Cambridge, UK, Feb 20-22, 2008 Database Reverse Engineering Tools NATASH ALI MIAN TAUQEER HUSSAIN Faculty of Information Technology University of Central Punjab, Lahore, Pakistan Abstract: - Almost every information system processes and manages huge data stored in a database system. For improvement and maintenance of legacy systems, the conceptual models of such systems are required. With the growing complexity of information systems and the information processing requirements, the need for database reverse engineering is increasing every day. Different Computer Assisted Software Engineering (CASE) tools have been developed as research projects or as commercial products which reverse engineer a given database to its conceptual schema. This paper explores the capabilities of existing CASE tools and evaluates to which extent these tools can successfully reverse engineer a given database system. It also identifies the constructs of a conceptual model which are not yet supported by the database reverse engineering tools. This research provides motivation for software engineers to develop CASE tools which can reverse engineer the identified constructs and can therefore improve the productivity of reverse engineers. Key-Words: - Database reverse engineering, CASE tools, Conceptual schema, ER model, EER model 1 Introduction (OMT), and Entity-Relationship (ER) Database Reverse Engineering (DBRE) is a model. ER model is widely used as a data process of extracting database requirements modeling tool for database applications due from an implemented system. Traditionally, to its ease of use and representation. An legacy systems suffer from poor design Enhance Entity-Relationship (EER) model is documentation and thus make the an extension of ER model which has maintenance job more difficult. The additional constructs such as specialization improvement and maintenance of software (or generalization), shared subclasses, union systems can be done with significantly less types (or categories). In literature [1-9], we effort and cost if the requirements or find many database reverse engineering conceptual models of such systems are (DBRE) techniques which can convert a readily available. The DBRE has a very given database or a database schema to a important role in this regard and has been a high-level conceptual model. [10, 11] topic of research since 1980s. The steps provide a good survey and comparison of involved in database forward engineering these techniques whereas [12] discusses and reverse engineering are shown in Fig. 1. issues involved in DBRE as well as some of A set of database requirements or its the solutions. Keeping in view the conceptual model can be considered as an importance and need of DBRE for a wide input to forward engineering process variety of software applications, a number of whereas it is an output of the reverse CASE tools have been developed in research engineering process. There are different as prototypes whereas some are types of conceptual models used in commercially available. These tools differ in designing software applications, for what they need for input and what they instance, Unified Modeling Language produce. For example, some tools require (UML), Object Modeling Technique just relational schema whereas others need data instances as well. Some tools ISSN: 1790-5117 206 ISBN: 978-960-6766-42-8 7th WSEAS Int. Conf. on SOFTWARE ENGINEERING, PARALLEL and DISTRIBUTED SYSTEMS (SEPADS '08), University of Cambridge, UK, Feb 20-22, 2008 additionally require application code, and/or It should be noted that the constructs of forms fields to start the DBRE process. an ER (or EER) model are used for Some tools assume that the database is comparison in this paper. The constructs in normalized up to BCNF whereas others can OMT can be easily mapped to those of the start even from 3NF. Likewise, for output, it EER model. Therefore, for ease of can be an ER model, EER model or an OMT reference, the constructs of ER model and model. the additional constructs of EER model are The objective of this research is to listed in Table 1 and Table 2 respectively. explore the capabilities of such tools and to This paper is organized in four sections – analyze how far they fulfill the requirements section 2 explores the capabilities of each of DBRE. For this purpose, we have studied tool studied, section 3 provides a eight different DBRE tools and have comparative analysis of their capabilities provided a comparison which elaborates and section 4 concludes this research and their strengths and weaknesses. It is provides pointers to future work that can be expected that this research can motivate the done in this area. developers to incorporate the missing features in their DBRE CASE tools so that the DBRE process can be made more 2 DBRE Tools efficient and accurate for the community. 2.1 Toad Modeler Toad modeler [19], developed by Requirements F Charonware, provides a solution for reverse R o engineering a relational database. It also e Transform r supports legacy databases. The tool can v to w extract entities, attributes, relationships, e Conceptual indexes, triggers, procedures and other Model a r r objects. However the output is dependent on s d the type of inputs. In addition, Toad Data e CONCEPTUAL MODEL Modeler supports different communication E methods like ODBC, ADO, direct native E n connections. It can generate HTML and n Transform g RTF documentation. The database schema g to i can be re-designed using Version Manager i Logical which is provided with the tool. Model n n e e e Table 1: Constructs of an ER Model e LOGICAL MODEL r Sr# Category r i 1. Regular entity type 2. Weak entity type i n 3. Simple attribute n Transform g g to 4. Composite attribute Physical 5. Key attribute Model 6. Multi-valued attribute 7. Relationship type 8. Structural constraints of a PHYSICAL MODEL relationship type 9. Relationship Attribute Fig. 1: Process of Forward and Reverse Engineering 2.2 DB_MAIN Another tool developed by a research group at University of Namur, Belgium [14] ISSN: 1790-5117 207 ISBN: 978-960-6766-42-8 7th WSEAS Int. Conf. on SOFTWARE ENGINEERING, PARALLEL and DISTRIBUTED SYSTEMS (SEPADS '08), University of Cambridge, UK, Feb 20-22, 2008 supports reverse engineering of a database. some extent reverse engineering. A database This tool is now commercially available. schema can be created and maintained using The tool is developed by a continuous ERWIN. However, for reverse engineering, research of more than 10 years. The group it requires database schema as well as has devised new models to carry the reverse program code. engineering process in an efficient way. The tool extracts design by analysis of database schema, code and data. 2.6 Varlet Analyst Varlet Analyst [13] requires application Table 2: Additional Constructs of an EER code, database schema and data as inputs. Model An important point to note is that the tool Sr# Construct can be customized with respect to the 1. Specialization application to be reverse engineered. A 2. Specialization Constraints limitation of the tool is that the process is 3. Shared Subclass not fully automated; some work has to be 4. Category (or Union Type) performed by the reverse engineer. Firstly, automatic analysis operations are applied to the system. This results in a set of facts 2.3 ER Creator about the legacy database. These facts are Another tool that supports database reverse taken as indicators which are combined with engineering is ER creator [20]. This tool is domain-specific heuristics. After performing developed by Model Creator. The tool gives certain transformations, a logical schema is support to reverse engineer an existing generated. However, this output is not system. However, it has certain limitations – complete yet. The manual phase is then (1) it supports only ER model, and (2) the initiated where application experts are connection can only be established using involved with the reverse engineer to get a ODBC data source. This restricts the tool to better quality conceptual schema. The tool a smaller number of database management automates the process partially and requires systems (DBMS). A trial version with human intervention to get a better quality limited functionality is also available for conceptual schema. academic and research purpose. 2.7 August II 2.4 INSIGHT August-II [16] supports inputs from Insight [15] is a specialized tool to reverse different database management systems. The engineer the existing system. Its input is inputs can be from COBOL record layouts database schema, code and data. From the to DB2 data dentitions. Basic inputs are input, it identifies library defined entities, database application code and data. The language defined entities, operating system input is then translated into a conceptual entities, and application defined entities with model. It generates an ER model with their relationships of each type. It also has entities, relationships, attributes, and the feature to inspect code which will help structural constraints in the form of us to understand the system in a better way. cardinalities and participation. The output However the tool does not extract produced by the tool can be used as an input cardinality, participation and the EER to a number of CASE tools and commercial specific constructs. DBMS. The tool performs the process of reverse engineering in a step by step manner and allows the user to observe the output of 2.5 CA ERWin each step before further processing. CA ERWin is one of the most widely used However, it requires developer interaction, CASE tool for forward engineering and to as well. ISSN: 1790-5117 208 ISBN: 978-960-6766-42-8 7th WSEAS Int. Conf. on SOFTWARE ENGINEERING, PARALLEL and DISTRIBUTED SYSTEMS (SEPADS '08), University of Cambridge, UK, Feb 20-22, 2008 relational schema as input and converts it into Java classes.