Identifying Entity Types for E-R Diagramming in Developing Data- Intensive Web Applications

INTRODUCTION The Web has become a major enabler for new, data-intensive business applications such as e-tailing, customer relationship management, and supply chain management. Furthermore, new software service delivery models, including software as a service (SaaS) and Web services, have brought even traditional data-rich enterprise applications, like human resource management, within the reach of the Web (Dubey & Wagel, 2007; Carraro & Chong, 2006). The emergence of the Web as a powerful platform for such data-heavy applications seems to warrant a systematic approach to their development, and especially to the conceptual data modeling process. However, we still find that most Web applications are built up in ad hoc fashion, raising the data-related issues of data definition, data integration, and query construction (Florescu, Levy, & Mendelzon, 1998; Genero, Poels, & Piattini, 2008). Worse, unlike traditional standalone applications, Web applications have data dispersed everywhere because of their unique features (Myers, Hollan, Cruz, Bryson, Bulterman, Catarci, Citrin, Glinert, Grudin, & Ioannidis, 1996). These features include static or dynamic interactions between client and server via the request and response mechanism; link-based navigation facility; differentiations between client (Web) pages, server (Web) pages, and other resources; dynamic generation of user interface objects and contents; different degrees of exposure to the user (e.g., extranet or intranet); and data flows between Web pages, not between processes in the conventional SDLC sense. In this paper, the term page or pages, unless otherwise specified, refers to a Web page or Web pages that can be requested by a user agent or Web browser. The problems caused by an ad-hoc development approach and by the unique features of Web applications have led to a significant body of research on data modeling and methodologies for Web applications development (Abiteboul, 1997; Atzeni, Mecca, Merialdo, & DI e Automazione, 1998; Buneman, 1997; Conallen, 2000; Isakowitz, Stohr, & Balasubramanian, 1995; Post & Kagan, 2005; Young, 2005). Although these studies made significant contributions to the Web applications development process as a whole, few addressed data-related issues, especially the very first step of conceptual data modeling. This modeling includes identifying entity types of a problem domain and drawing an entity-relationship (E-R) diagram--a graphical representation of the Entity Relationship model, which remains the core approach for conceptual data modeling. As is clearly known, one of the key success factors for any data-intensive Web application (such as many data-heavy traditional applications) is optimally defined data in terms of data structure, data elements, and their organization. In modern database management, the starting point for defining the effective and efficient management of data is to thoroughly identify entity types, including their attributes and relationships, as part of the conceptual data modeling which is one of the most important tasks in developing applications (Kalczynski, 2005; Misic & Russo, 1996). Conceptual data modeling provides an overall picture of an application's most valuable resource. It can be costly to incorrectly represent data requirements at the conceptual level, and such errors can invalidate the completed application. As already mentioned, the step in conceptual data modeling is to identify entity types and to draw an E-R diagram. Developing an E-R diagram has traditionally taken one (or both) of two non-normative approaches (Teorey, Yang, & Fry, 1986). With a top-down approach, the starting point is to prepare high-level descriptions of the application, including its functions, scope, and environment. This approach usually generates a high-level E-R diagram with only a limited set of major entities, attributes, and relationships. With a bottom-up approach, the designer studies documents, screens, and other data sources and pursues detailed discussions with users about a proposed application. …