Reverse Engineering User Interfaces for Interactive Database Conceptual Analysis Ravi Ramdoyal 1 , Anthony Cleve 2 , and Jean-Luc Hainaut 1 1 Laboratory of Database Application Engineering - PReCISE Research Center Faculty of Computer Science, University of Namur, Belgium {rra,jlh}@info.fundp.ac.be 2 INRIA Lille-Nord Europe, LIFL CNRS UMR 8022 University of Lille 1, France anthony.cleve@inria.fr Abstract. The first step of most database design methodologies con- sists in eliciting part of the user requirements from various sources such as user interviews and corporate documents. These requirements formal- ize into a conceptual schema of the application domain, that has proved to be difficult to validate, especially since the visual representation of the ER model has shown understandability limitations from the end-users standpoint. In contrast, we claim that prototypical user interfaces can be used as a two-way channel to efficiently express, capture and validate data requirements. Considering these interfaces as a possibly populated physical view on the database to be developed, reverse engineering tech- niques can be applied to derive their underlying conceptual schema. We present an interactive tool-supported approach to derive data require- ments from user interfaces. This approach, based on an intensive user involvement, addresses a significant subset of data requirements, espe- cially when combined with other requirement elicitation techniques. Keywords: Information systems engineering, Requirements engineer- ing, Database engineering, Human-computer interfaces reverse engineering. 1 Introduction Data modeling plays a pivotal role in Requirements engineering, as it defines the semantic core of the future application. Accurately eliciting and validating user requirements are vital to build reliable specifications of the data application domain. Database engineering precisely focuses on data modeling, where these requirements are typically expressed by means of a conceptual schema, which is an abstract view of the static objects of the application domain. Designing databases often relies on various requirements elicitation techniques such as the analysis of corporate documents and interviews of stakeholders. However beyond the initial collection of the requirements, these techniques usually do not actively and interactively involve end-users. B. Pernici (Ed.): CAiSE 2010, LNCS 6051, pp. 332–347, 2010. © Springer-Verlag Berlin Heidelberg 2010