Goal-Oriented Conceptual Database Design

A successful information system is the one that meets its design goals. Expressing the goals and subsequently translating them to a working solution is a major challenge. In the past 15 years, Requirements Engineering (RE) research has more and more recognized the important role that goals play in the RE process. This recognition has led to a new stream of research on goal modeling, goal specification and goal-based reasoning for multiple purposes, such as requirements elicitation, specification and verification. At the same time, the state-of-the-art for designing the database part of an information system hasn't made much progress. The process of database design shares many similarities with that of software development as both are dependent on an analysis of user requirements. The proposed research aims at incorporating goal-orientation in data modelling and offers methodological support that leads to a goal-oriented database design methodology, which will enjoy many of the benefits of the Goal-Oriented Requirements Engineering (GORE) approaches for software development. These benefits include systematic exploration of alternatives and explicit traceability of rationale.

Design Process

The first step of this work is to validate our hypothesis that goal-orientation in database design results in better design in terms of coverage of stakeholder goals and generates schemas with rich and explicit data semantics. We provided evidence that this hypothesis holds in the practice by conducting a case study on the design of a real-world, industrial biological database. The result was reported in RE'06. Moving forward in the direction, we have proposed a goal-oriented conceptual database design process which extends traditional methodologies with an early analysis of stakeholder goals, and derive from them a regular conceptual schema in a systematic way. This process was reported in RE'07.

Design Dimensions

One way to view a design problem is by taking the analogy of a search of the ˇ°optimalˇ± solution in a multidimensional space, where each design dimension corresponds to one type of design issue to be addressed, and gives rise to a set of design alternatives with different degrees of support for that issue. The entire design space is the cross product of all the dimensions, and a point in design space corresponds to a complete design. Various types of design criteria are used to evaluate and select among design alternatives.

After surveying a number of design dimensions including time, unit, quality, provenance and privacy, in this work we focus on the data quality (DQ) dimension. DQ itself is normally viewed as a multi-dimensional and a hierarchical concept, including sub-dimensions such as accuracy, timeliness, consistency. We proposed a general quality design process, which extends our previously proposed goal-oriented conceptual database design, to offer an integrated framework for address both application specific data requirements (AppData) and quality assurace data requirements (QAData), as shown in the following diagram. This quality design process has been reported in ICIQ'07.

Prototype & Evaluation

The next step is to implement a prototype design environment to support the proposed design process and to evaluate of the methodology using either analytical or empircal approach (work in process).