Selected Bibliography 349
(1988), Rumbaugh et al. (1991), Martin and Odell (1991), and Jacobson et al.
(1992). Recent books by Blaha and Rumbaugh (2005) and Martin and Odell (2008)
consolidate the existing techniques in object-oriented analysis and design using
UML. Fowler and Scott (2000) is a quick introduction to UML. For a comprehen-
sive treatment of UML and its use in the software development process, consult
Jacobson et al. (1999) and Rumbaugh et al. (1999).
Requirements collection and analysis is a heavily researched topic. Chatzoglu et al.
(1997) and Lubars et al. (1993) present surveys of current practices in requirements
capture, modeling, and analysis. Carroll (1995) provides a set of readings on the use
of scenarios for requirements gathering in early stages of system development.
Wood and Silver (1989) gives a good overview of the official Joint Application
Design (JAD) process. Potter et al. (1991) describes the Z-notation and methodol-
ogy for formal specification of software. Zave (1997) has classified the research
efforts in requirements engineering.
A large body of work has been produced on the problems of schema and view inte-
gration, which is becoming particularly relevant now because of the need to inte-
grate a variety of existing databases. Navathe and Gadgil (1982) defined approaches
to view integration. Schema integration methodologies are compared in Batini et al.
(1987). Detailed work on n-ary view integration can be found in Navathe et al.
(1986), Elmasri et al. (1986), and Larson et al. (1989). An integration tool based on
Elmasri et al. (1986) is described in Sheth et al. (1988). Another view integration
system is discussed in Hayne and Ram (1990). Casanova et al. (1991) describes a
tool for modular database design. Motro (1987) discusses integration with respect
to preexisting databases. The binary balanced strategy to view integration is dis-
cussed in Teorey and Fry (1982). A formal approach to view integration, which uses
inclusion dependencies, is given in Casanova and Vidal (1982). Ramesh and Ram
(1997) describe a methodology for integration of relationships in schemas utilizing
the knowledge of integrity constraints; this extends the previous work of Navathe et
al. (1984a). Sheth at al. (1993) describe the issues of building global schemas by rea-
soning about attribute relationships and entity equivalences. Navathe and Savasere
(1996) describe a practical approach to building global schemas based on operators
applied to schema components. Santucci (1998) provides a detailed treatment of
refinement of EER schemas for integration. Castano et al. (1998) present a compre-
hensive survey of conceptual schema analysis techniques.
Transaction design is a relatively less thoroughly researched topic. Mylopoulos et al.
(1980) proposed the TAXIS language, and Albano et al. (1985) developed the
GALILEO system, both of which are comprehensive systems for specifying transac-
tions. The GORDAS language for the ECR model (Elmasri et al. 1985) contains a
transaction specification capability. Navathe and Balaraman (1991) and Ngu (1989)
discuss transaction modeling in general for semantic data models. Elmagarmid
(1992) discusses transaction models for advanced applications. Batini et al. (1992,
Chapters 8, 9, and 11) discuss high-level transaction design and joint analysis of
data and functions. Shasha (1992) is an excellent source on database tuning.