Siêu thị PDFTải ngay đi em, trời tối mất

Thư viện tri thức trực tuyến

Kho tài liệu với 50,000+ tài liệu học thuật

© 2023 Siêu thị PDF - Kho tài liệu học thuật hàng đầu Việt Nam

Advanced topics in database research
PREMIUM
Số trang
370
Kích thước
13.7 MB
Định dạng
PDF
Lượt xem
1987

Advanced topics in database research

Nội dung xem thử

Mô tả chi tiết

The Design

& Management

of Effective

Distance

Learning

Programs

The Design & Mana esign & Management of Effectiv ement of Effective

Distance Learning Distance Learning Programs

Advanced Topics in Database Research

Volume 3

IDEA GROUP PUBLISHING

701 E. Chocolate Ave., Suite 200

Hershey, PA 17033-1240, USA

www.idea-group.com

Advanced Topics in

Database Research

Volume 3

Keng Siau

Advanced Topics in Database Research - Volume 3 Keng Siau

The Advanced Topics in Database Research

Series presents the latest research ideas and topics

on how to enhance current database systems, improve

information storage, refine existing database models,

and develop advanced applications. It provides insights

into important developments in the field of database and

database management.

With an emphasis on theoretical issues regarding data￾bases and database management, Advanced Top￾ics in Database Research - Volume 3 de￾scribes the capabilities and features of new technolo￾gies and methodologies, and addresses the needs of

database researchers and practitioners.

$79.95

Hershey • London • Melbourne • Singapore

IDEA GROUP PUBLISHING

Advanced Topics in

Database Research

Volume 3

Keng Siau

University of Nebraska-Lincoln, USA

Acquisitions Editor: Mehdi Khosrow-Pour

Senior Managing Editor: Jan Travers

Managing Editor: Amanda Appicello

Development Editor: Michele Rossi

Copy Editor: Ingrid Widitz

Typesetter: Sara Reed

Cover Design: Idea Group Inc.

Printed at: Yurchak Printing Inc.

Published in the United States of America by

Idea Group Publishing (an imprint of Idea Group Inc.)

701 E. Chocolate Avenue, Suite 200

Hershey PA 17033

Tel: 717-533-8845

Fax: 717-533-8661

E-mail: [email protected]

Web site: http://www.idea-group.com

and in the United Kingdom by

Idea Group Publishing (an imprint of Idea Group Inc.)

3 Henrietta Street

Covent Garden

London WC2E 8LU

Tel: 44 20 7240 0856

Fax: 44 20 7379 3313

Web site: http://www.eurospan.co.uk

Copyright © 2004 by Idea Group Inc. All rights reserved. No part of this book may be

reproduced in any form or by any means, electronic or mechanical, including photocopy￾ing, without written permission from the publisher.

Advanced Topics in Database Research, Volume 3 is part of the Idea Group Publishing

series named Advanced Topics in Database Research se Research (Series ISSN 1537-9299)

ISBN 1-59140-255-7

ISBN Paperback 1-59140-296-4

eISBN 1-59140-256-5

British Cataloguing in Publication Data

A Cataloguing in Publication record for this book is available from the British Library.

All work contributed to this book is new, previously-unpublished material. The views

expressed in this book are those of the authors, but not necessarily of the publisher.

Advanced Topics in

Database Research

Volume 3

Table of Contents

Preface ...........................................................................................................................vi

SECTION I: ANALYSIS OF DEVELOPMENT METHODOLOGIES

Chapter I

Agile Development Methods and Component-Orientation: A Review and

Analysis ..........................................................................................................................1

Zoran Stojanovic, Delft University of Technology, The Netherlands niversity of Technology, The Netherlands

Ajantha Dahanayake, Delft University of Technology,

The Netherlands

Henk Sol, Delft University of Technology, The Netherlands

Chapter II

Comparing Metamodels for ER, ORM and UML Data Models ............................ 23

Terry Halpin, Northface University, USA

Chapter III

An Evaluation Framework for Component-Based and Service-Oriented System

Development Methodologies ...................................................................................... 45

Zoran Stojanovic, Delft University of Technology, The Netherlands

Ajantha Dahanayake, Delft University of Technology, The Netherla echnology, The Netherlands

Henk Sol, Delft University of Technology, The Netherlands

SECTION II: DATABASE DESIGN AND DEVELOPMENT: ISSUES AND SOLUTIONS

Chapter IV

Improving the Understandability of Dynamic Semantics: An Enhanced

Metamodel for UML State Machines ........................................................................70

Eladio Domínguez, Universidad de Zaragoza, Spain

Angel Luis Rubio, Universidad de La Rioja, Spain

María Antonia Zapata, Universidad de Zaragoza, Spain a Antonia Zapata, Universidad de Zaragoza, Spain

Chapter V

Metrics for Workfl ow Design: How an Information Processing View on

Business Processes Helps to Make Good Designs ....................................................90

Hajo A. Reijers, Technische Universiteit Endhoven, The Netherlands

Chapter VI

Fuzzy Aggregations and Fuzzy Specializations in Eindhoven Fuzzy

EER Model ................................................................................................................ 106

Jóse Galindo, Universidad de Málaga, Spain

Angélica Urrutia, Universidad Católica de Maule, Chile

Mario Piattini, Universidad de Castilla-La Mancha, Spain

Chapter VII

Normalization of Relations with Nulls in Candidate Keys: Traditional and

Domain Key Normal Forms ..................................................................................... 128

George C. Philip, University of Wisconsin Oshkosh, USA

Chapter VIII

Regression Test Selection for Database Applications ............................................ 141

Ramzi A. Haraty, Lebanese American University, Lebanon

Nashat Mansour, Lebanese American University, Lebanon

Bassel A. Daou, University of Ottawa, Canada

Chapter IX

An Attempt to Establish a Correspondence between Development Methods

and Problem Domains ..............................................................................................166

Oscar Dieste, Universidad Complutense de Madrid, Spain

Marcela Genero, Universidad de Castilla-La Mancha, Spain

Natalia Juristo, Universidad Politecnica de Madrid, Spain

Ana M. Moreno, Universidad Politecnica de Madrid, Spain

Chapter X

Toward an Extended Framework for Human Factors Research on Data

Modeling .................................................................................................................... 188

Heikki Topi, Bentley College, USA

V. Ramesh, Indiana University, USA

SECTION III: DATABASE DESIGN AND DEVELOPMENT: APPLICATIONS

Chapter XI

Using DEMO and ORM in Concert: A Case Study ............................................... 218

Jan L.G. Dietz, Delft University of Technology, The Netherlands

Terry Halpin, Northface University, USA

Chapter XII

Revisiting Workfl ow Modeling with Statecharts ................................................... 237

Wai Yin Mok, University of Alabama in Huntsville, USA

David Paper, Utah State University, USA

Chapter XIII

Framework for the Rapid Development of Modeling Environments ..................257

Akos Ledeczi, Vanderbilt University, USA

Miklos Maroti, Vanderbilt University, USA

Peter Volgyesi, Hungarian Academy of Sciences, Hungary

Chapter XIV

Federated Process Framework for Transparent Process Monitoring in

Business Process Outsourcing ..................................................................................272

Kyoung-Il Bae, IBM Business Consulting Services, Korea

Soon-Young Huh, Korea Advanced Institute of Science and Technology,

Korea

Chapter XV

Online Analytical Mining for Web Access Patterns ...............................................294

Joseph Fong, City University of Hong Kong, Hong Kong

Hing Kwok Wong, City University of Hong Kong, Hong Kong

Anthony Fong, City University of Hong Kong, Hong, Kong

Chapter XVI

Modeling Motion: Building Blocks of a Motion Database .................................... 327

Roy Gelbard, Bar Ilan University, Israel

Israel Spiegler, Tel Aviv University, Israel

About the Editor ....................................................................................................... .......................................................................................................347

About the Authors ..................................................................................................... 348

Index .......................................................................................................................... 355

Preface

vi

The Advanced Topics in Database Research book series has been recognized as an

outstanding academic book series in the fi elds of database, software engineering, as well

as systems analysis and design. The goal of the book series is to provide researchers and

practitioners easy access to excellent chapters which address the latest research issues in

the fi eld of database (the term “database” is used here broadly).

This is the third volume of the Advanced Topics in Database Research book series. This

book consists of 16 excellent chapters ranging from theoretical database issues to practical

applications of database techniques. In terms of research methodology, the chapters vary from

meta-modeling to empirical case studies. Although the topics are broad, the book provides

a sample of some of the best research work done in the database area. The contributing

authors represent almost every part of the globe. We have authors from the USA, Canada,

The Netherlands, Spain, Chile, Hungary, Israel, Lebanon, Korea, and China.

The book is divided into three sections: (I) Analysis of Development Methodologies;

(II) Database Design and Development: Issues and Solutions; and (III) Database Design and

Development: Applications. In the following, we briefl y describe each chapter:

Section I: Analysis of Development Methodologies consists of three chapters.

Chapter I, “Agile Development Methods and Component-Orientation: A Review and

Analysis,” presents and analyzes the state-of-the-art agile methods used in the agile develop￾ment process. Different conceptual foundations and practical uses of these methods, as well

as their limitations, are listed and discussed. Service-based component concepts applied at

the level of modeling, architectural design, and development are proposed to ensure and

strengthen agile development principles and practices. The paper also introduces necessary

agility to more traditional development.

Chapter II, “Comparing Metamodels for ER, ORM and UML Data Models,” gives a

concrete metamodel analysis of the three main database modeling techniques used in the

industry — Entity Relationship (ER), Object Role Modeling (ORM), and Unifi ed Model￾ing Language (UML). ORM is used as the metamodeling language because of its great

expressibility and clarity. Discussions based on the metamodel analysis are detailed in the

chapter.

vii

Chapter III, “An Evaluation Framework for Component-Based and Service-Oriented

System Development Methodologies,” presents an evaluation framework that highlights the

extent to which a particular method is component-based and service-oriented. The frame￾work is then applied to evaluate a few popular Component-Based Development (CBD)

methods. Based on the evaluation, improvements to these methods are proposed to provide

a consistent, systematic, and integrated CBD and Web-Service (WS) methodology support

throughout the system life cycle.

Section II: Database Design and Development: Issues and Solutions consists of

seven chapters.

Chapter IV, “Improving the Understandability of Dynamic Semantics: An Enhanced

Metamodel for UML State Machines,” introduces an approach to improve the understand￾ability of the dynamic semantics of languages involved in the representation of behavior.

Using a two-layer architecture as the starting point, a metamodel of UML State Machines

is proposed.

Chapter V, “Metrics for Workfl ow Design: How an Information Processing View on

Business Processes Helps to Make Good Designs,” introduces a cohesion metric for the

identifi cation of weakly cohesive activities in a workfl ow design. A heuristic method based

on the cohesion metric is presented to decide between various workfl ow design alternatives.

Both theoretical and empirical evaluations positively support the soundness of the metric.

Chapter VI, “Fuzzy Aggregations and Fuzzy Specializations in Eindhoven Fuzzy EER

Model,” uses fuzzy quantifi ers and fuzzy degrees in the context of fuzzy sets and fuzzy query

systems for understanding semantic aspects in database concepts. The study is aimed to relax

some constraints and other aspects that have not been studied in previous works. The study

also extends the Enhanced Entity-Relationship (EER) model with fuzzy capabilities.

Chapter VII, “Normalization of Relations with Nulls in Candidate Keys: Traditional

and Domain Key Normal Forms,” discusses normalization of relations when the candidate

keys of a relation have missing information represented by nulls. The related limitations of

Boyce-Codd Normal Form (BCNF) and Domain Key Normal Form (DKNF) can be solved

by incorporating the concept of entity integrity rule into the respective defi nitions.

Chapter VIII, “Regression Test Selection for Database Applications,” discusses the

diffi culties caused by some database applications’ features during maintenance activities,

especially for regression testing that follows modifi cation to database applications. The

chapter proposes a two-phase regression testing methodology for selecting regression tests

and for further reduction in the number of these tests.

Chapter IX, “An Attempt to Establish a Correspondence between Development Meth￾ods and Problem Domains,” discusses the issue of development method adaptation. Then it

introduces a new approach to calculate the fi tness of methods to specifi c problems.

Chapter X, “Toward an Extended Framework for Human Factors Research on Data

Modeling,” summarizes the past human factors research on conceptual data modeling. In

addition to analyzing the variables used in earlier studies and summarizing the results of

this stream of research, the authors propose a new framework to help both scholars and

practitioners in this area.

Section III: Database Design and Development: Applications consists of six chap￾ters.

Chapter XI, “Using DEMO and ORM in Concert: A Case Study,” examines the role

of Demo Engineering Methodology for Organizations (DEMO) and Object-Role Modeling

(ORM) in conceptually modeling business processes. An exploratory case study of applying

the two methods in concert is provided.

viii

Chapter XII, “Revisiting Workfl ow Modeling with Statecharts,” proposes the use of

Harel’s statecharts in business workfl ows modeling. The authors developed algorithms that

link desirable properties of active database system—non-termination, non-confl uence, and

not-observable determinism—to problems in workfl ow management systems.

Chapter XIII, “Framework for the Rapid Development of Modeling Environments,”

presents Generic Modeling Environment (GME) as a framework for rapid development

of modeling environments. The chapter also compares GME with other tools in terms of

metamodeling, constraint management, visualization, and extensibility.

Chapter XIV, “Federated Process Framework for Transparent Process Monitoring in

Business Process Outsourcing,” proposes a federated process framework and its system

architecture. The architecture provides a conceptual design for effective implementation of

process information sharing that supports the autonomy and agility of insourcing companies.

The framework was developed using an object-oriented database and Extensible Markup

Language.

Chapter XV, “Online Analytical Mining for Web Access Patterns,” offers an architec￾ture to store the derived web user access paths in a data warehouse and to facilitate its view

maintainability by use of a metadata. The architecture of online analytical mining uses the

frame model metadata to study the user surfi ng behavior. Performance studies were done to

demonstrate the effectiveness and effi ciency of the proposed architecture.

Chapter XVI, “Modeling Motion: Building Blocks of a Motion Database,” introduces

a binary-based model for the representation and storage of motion data. The model enables

the communication, storage, and analysis of patterns of motion. The comparison with a

standard motion system that is based on key frames indicates a signifi cant advantage of the

proposed model.

These 16 chapters provide a sample of the state-of-the-art research in the fi eld of da￾tabase. We hope that both scholars and practitioners will fi nd the book a useful reference

for their work.

Keng Siau

University of Nebraska-Lincoln, USA

November 2003

SECTION I:

ANALYSIS OF

DEVELOPMENT METHODOLOGIES

Agile Development Methods and Component-Orientation: A Review and Analysis 1

Copyright © 2004, Idea Group Inc. Copying or distributing in print or electronic forms without written permission

of Idea Group Inc. is prohibited.

Chapter I

Agile Development

Methods and

Component-Orientation:

A Review and Analysis

Zoran Stojanovic, Delft University of Technology, The Netherlands

Ajantha Dahanayake, Delft University of Technology, The Netherlands

Henk Sol, Delft University of Technology, The Netherlands

ABSTRACT

Agile software development methods have been proposed as the way to address the problem

of delivering high-quality software on time under constantly and rapidly changing require￾ments in business and IT environments. An agile development process is characterized by

extensive coding practice, intensive communication between stakeholders, fast iterative

cycles, small and fl exible teams, and minimal efforts in system modeling and architectural

design. This paper presents the state-of-the-art of agile methods and analyzes them along

the selected criteria that highlight different aspects of their theory and practice. Certain

limitations of agile methods are identifi ed. The chapter presents the component paradigm

as a way of balancing traditional (model-driven or plan-driven) and agile development,

depending on the project settings. Service-based component concepts applied at the level

of modeling, architectural design and development can ensure and strengthen agile devel￾opment principles and practices, and at the same time introduce necessary agility to more

traditional development. By using components, the software development process can easily

scale in size, robustness, and the level of details. This provides an effective balance between

the requirements for agility in software development and needs for a disciplined, design￾driven way of building complex software.

2 Stojanovic, Dahanayake and Sol

Copyright © 2004, Idea Group Inc. Copying or distributing in print or electronic forms without written permission of

Idea Group Inc. is prohibited.

INTRODUCTION

EXtreme Programming (XP) and other Agile Methodologies (AMs) have started to

gain considerable interest in the IT community during the last several years. They have been

proposed as a way to build quality software systems fast and be able to easily adapt to rapidly

and frequently changing requirements in the environment. Agile processes are focused on

early, fast and frequent production of working code through the fast iterations and small

increments. The processes are characterized by intensive communication between partici￾pants, rapid feedback, simple design and frequent testing. By their proponents, the software

code is the main deliverable, while the role of system analysis, design and documentation in

software development and maintenance is de-emphasized and to some extent ignored.

A number of processes claiming to be “agile” have been proposed so far. The best

examples are eXtreme Programming (XP) (Beck, 2000), Scrum (Schwaber & Beedle,

2002), Feature-Driven Development (FDD) (Palmer & Felsing, 2002), Adaptive Software

Development (ASD) (Highsmith, 2000), Crystal methods family (Cockburn, 2002) and

DSDM (Stapleton, 2003). There have been attempts in applying agile values, principles

and practices in earlier phases of the software life cycle, such as analysis and design, under

the initiatives called Agile Modeling (Ambler, 2002) and eXtreme Modeling (Extreme,

2003). Efforts have been made to investigate how the Unifi ed Modeling Language (UML)

can be used in an agile process, as well as how to use the Rational Unifi ed Process (RUP)

(Jacobson, Booch & Rumbaugh, 1999) in an agile manner (Larman, 2001; Ambler, 2002).

The authors of the listed agile approaches have formed the Agile Alliance and published

the Agile Manifesto that represents a condensed defi nition of principles and goals of agile

software development (Agile Alliance, 2001). These principles are:

• Individuals and interactions over processes and tools,

• Working software over comprehensive documentation,

• Customer collaboration over contract negotiation, and

• Responding to change over following a plan.

Agile Development (AD) paradigm challenges many of the common assumptions in

software development. One of the most controversial is its rejection of signifi cant efforts in

up-front design in favor of a more evolutionary approach. According to its critics this is very

similar to the so-called code-and-fi x hacking strategy in software development. XP and other

AMs minimize the role of common design techniques in traditional software development

such as frameworks, design patterns, modeling tool support, modeling languages, model

repositories and reusability. On the other hand, AD supporters claim that their methodolo￾gies include just enough design efforts for the project to be successful, and AD design is

actually done in a different way than in traditional software processes. For example, in XP

simple metaphor-like design, refactoring, architecture prototypes, and test-based design are

used in an evolutionary way for software design purposes. These characteristics of XP and

other AMs are opposite to the current initiatives and paradigms in software development,

such as Model-Driven Development (MDD) (OMG, 2003). While both AD and MDD claim

to address the challenges of high change rates, short time-to-market, increased return-on￾investment and high quality software, their proposed solutions are actually very dissimilar.

The question is whether principles and practices of both development paradigms can be

combined in order to take the benefi ts of both approaches.

Agile Development Methods and Component-Orientation: A Review and Analysis 3

Copyright © 2004, Idea Group Inc. Copying or distributing in print or electronic forms without written permission

of Idea Group Inc. is prohibited.

The aim of this chapter is to present the state-of-the-art of agile methodologies and

analyze them according to the set of selected criteria. Special attention is paid on how

modeling and architectural design are addressed in the current agile methodology practice

as well as what kind of support to modeling and design activities exists in the selected set

of methodologies. The paper further proposes how concepts of component-based model￾ing, design and development can help in bridging the gap between model-driven and agile

development. The paper shows how components can ensure and strengthen AD principles

and practices, provide simple and fl exible component-oriented architectural design, as well

as help in overcoming the limitations of the agile methodologies, such as reusability, out￾sourcing, large teams and software, and safety critical software development.

THE STATE-OF-THE-ART

OF AGILE METHODS

In this section, different agile methodologies are presented and analyzed according to

the set of criteria. Although all agile methodologies share similar concepts, principles and

practice, their focus, scope and nature are varied. Some agile methodologies such as Scrum,

Adaptive Software Development, Crystal family and Dynamic Systems Development Method

are primarily focused on the project management and teamwork aspects. These methods do

not particularly treat any specifi c software development practice including any modeling

and design activities. These methods will be presented rather briefl y, while the methods

covering software modeling, design and development practice (XP, FDD, Agile Modeling

and Extreme Modeling) will be covered in more detail.

Extreme Programming

Extreme Programming (XP) is a lightweight development methodology defi ned by

Kent Beck (Beck, 1999; Jeffries, Anderson & Hendrickson, 2001) that has received much

attention during the last years. XP is the most documented, popular and widely used agile

methodology. XP empowers developers to confi dently respond to changing customer require￾ments, even late in the life cycle. XP also emphasizes teamwork. Managers, customers, and

developers are all part of a team dedicated to delivering quality software. The foundation

of XP represents the four values:

• Communication,

• Feedback,

• Simplicity, and

• Courage.

The fi ve basic XP principles are used as the guide for development: Rapid Feedback,

Assume Simplicity, Incremental Change, Embracing Change, and Quality Work. The four

basic XP activities are coding, testing, listening, and designing. Based on these values,

principles and activities the basic XP practices are derived:

• Planning Game: Quickly determine the scope of the next release by combining busi￾ness priorities and technical estimates.

4 Stojanovic, Dahanayake and Sol

Copyright © 2004, Idea Group Inc. Copying or distributing in print or electronic forms without written permission of

Idea Group Inc. is prohibited.

• Small Releases: Put a simple system into production quickly, then release new ver￾sions on a very short cycle.

• Metaphor: Guide all development with a simple shared story of how the whole system

works.

• Simple Design: The system should be designed as simply as possible at any given

moment. Extra complexity is removed as soon as it is discovered.

• Testing: Programmers continually write unit tests, which must run fl awlessly for devel￾opment to continue. Customers write tests demonstrating that features are fi nished.

• Refactoring: Programmers restructure the system without changing its behavior to

remove duplication, improve communication, simplify, or add fl exibility.

• Pair Programming: All production code is written with two programmers at one

machine.

• Collective Ownership: Anyone can change any code anywhere in the system at any

time.

• Continuous Integration: Integrate and build the system many times a day, every time

a task is completed.

• 40-hour Week: Work no more than 40 hours a week as a rule. Never work overtime

a second week in a row.

• On-site Customer: Include a real, live user on the team, available full-time to answer

questions.

• Coding Standards: Programmers write all code in accordance with rules emphasizing

communication through code.

Many of these practices are old, tried and tested techniques, but often forgotten by

many, including most planned processes. XP integrates them into a synergistic whole where

each one is reinforced by the others.

XP defi nes the following lifecycle phases of an ideal project: Exploration, Planning,

Iterations to First Release, Productioning, Maintenance and Death. According to this, XP

defi nes the main human roles in a typical XP project: Programmer, Customer, Tester, Tracker,

Coach, Consultant and Big Boss. XP is perfect for small to medium teams; the team size

should be between two and 12 project members. Communication and coordination between

project members should be enabled at all times, so they should be even physically collocated.

However, the geographical distribution of teams is not necessarily outside the scope of XP

in the case it includes two teams working on related projects with limited interaction (Beck,

1999). Similar to other agile methodologies, XP minimizes the efforts invested in model￾ing and up-front architectural design. For exploration and planning purposes XP uses user

stories, which are the light, textual version of use cases, while for design purposes the XP

team uses Class-Responsibility-Collaborator (CRC) cards, sketches of, e.g., classes, prose

text and refactoring. For representing a system architecture XP uses a metaphor—a simple

textual representation of the basic elements of the system and their relationships. Along with

that XP can use so-called architecture spikes that provide quick explorations into the nature

of a potential solution. XP does not require any tool support, except a simple whiteboard

for drawing necessary sketches as well as Story and CRC cards.

Tải ngay đi em, còn do dự, trời tối mất!