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