Structure of this Chapter
In Section 11.1Section 11.1 we discuss when a database developer might use
fact-finding techniques. (Throughout this book we use the term
“database developer” to refer to a person or group of people
responsible for the analysis, design, and implementation of a
database system.) In Section 11.2Section 11.2 we illustrate the types of facts that
should be collected and the documentation that should be produced
at each stage of the database system development lifecycle. In
Section 11.3Section 11.3 we describe the five most commonly used fact-finding
techniques and identify the advantages and disadvantages of each. In
Section 11.4Section 11.4 we demonstrate how fact-finding techniques can be
used to develop a database system for a case study called
DreamHome, a property management company. We begin this section
by providing an overview of the DreamHome case study. We then
examine the first three stages of the database system development
lifecycle, namely database planning, system definition, and
requirements collection and analysis. For each stage we demonstrate
327
328of each. We finally demonstrate how some of these techniques may be used during the earlier stages of the database system development lifecycle using a property management company called DreamHome. The DreamHome case study is used throughout this book.
epub://rxsygq01kgnjqgui7xpe.1.vbk/OPS/loc_020.xhtml#eid29635
epub://rxsygq01kgnjqgui7xpe.1.vbk/OPS/loc_020.xhtml#eid29644
epub://rxsygq01kgnjqgui7xpe.1.vbk/OPS/loc_020.xhtml#eid29751
epub://rxsygq01kgnjqgui7xpe.1.vbk/OPS/loc_020.xhtml#eid30021
the process of collecting data using fact-finding techniques and
describe the documentation produced.
11.1 When Are Fact-Finding Techniques Used?
There are many occasions for fact-finding during the database system
development life cycle. However, fact-finding is particularly crucial to
the early stages of the lifecycle, including the database planning,
system definition, and requirements collection and analysis stages. It
is during these early stages that the database developer captures the
essential facts necessary to build the required database. Fact-finding is
also used during database design and the later stages of the lifecycle,
but to a lesser extent. For example, during physical database design,
fact-finding becomes technical as the database developer attempts to
learn more about the DBMS selected for the database system. Also,
during the final stage, operational maintenance, fact-finding is used to
determine whether a system requires tuning to improve performance
or further development to include new requirements.
Note that it is important to have a rough estimate of how much time
and effort is to be spent on fact-finding for a database project. As we
mentioned in Chapter 10Chapter 10, too much study too soon leads to paralysis
by analysis. However, too little thought can result in an unnecessary
waste of both time and money, due to working on the wrong solution
epub://rxsygq01kgnjqgui7xpe.1.vbk/OPS/loc_019.xhtml#eid27876
to the wrong problem.
11.2 What Facts Are Collected?
Throughout the database system development lifecycle, the database
developer needs to capture facts about the current and/or future
system. Table 11.1Table 11.1 provides examples of the sorts of data captured
and the documentation produced for each stage of the lifecycle. As we
mentioned in Chapter 10Chapter 10, the stages of the database system
development lifecycle are not strictly sequential, but involve some
amount of repetition of previous stages through feedback loops. This
is also true for the data captured and the documentation produced at
each stage. For example, problems encountered during database
design may necessitate additional data capture on the requirements
for the new system.
TABLE 11.1 Examples of the data captured and the documentation produced for each stage of the database system development lifecycle.
STAGE OF DATABASESTAGE OF DATABASE
SYSTEMSYSTEM
DEVELOPMENTDEVELOPMENT
LIFECYCLELIFECYCLE
EXAMPLES OF DATAEXAMPLES OF DATA