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
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 databases and database management, Advanced Topics in Database Research - Volume 3 describes the capabilities and features of new technologies 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 photocopying, 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 development 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 Modeling 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 framework 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 understandability 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 Methods 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 chapters.
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 architecture 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 database. 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 requirements 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 development 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, designdriven 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 participants, 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 methodologies 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-oninvestment 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 modeling, 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, outsourcing, 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 requirements, 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 business 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 versions 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 development 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 modeling 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.