Review the fact finding techniques discussed in the Connolly text. Which “two” techniques would you prefer to use and why?

Review the fact finding techniques discussed in the Connolly text. Which “two” techniques would you prefer to use and why?

A web search for relevant articles and information could be employed to assist you in your response.

 

300 words,

Include references.

 

 

Reference to PDF

Connolly, Thomas, Carolyn Begg. Database Systems: A Practical Approach to Design, Implementation, and Management, 6th Edition. Pearson Learning Solutions, 01/2014. VitalBook file.

 

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.

 

 

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

 

 

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

CAPTUREDCAPTURED

EXAMPLES OFEXAMPLES OF

DOCUMENTATIONDOCUMENTATION

PRODUCEDPRODUCED

Database planning Aims and objectives of Mission statement

328

329

 

 

database project and objectives of

database system

System definition Description of major

user views (includes

job roles or business

application areas)

Definition of scope

and boundary of

database system;

definition of user

views to be

supported

Requirements

collection and analysis

Requirements for user

views; systems

specifications,

including performance

and security

requirements

Users’ and system

requirements

specifications

Database design Users’ responses to

checking the

conceptual/logical

database design;

functionality provided

by target DBMS

Conceptual/logical

database design

(includes ER

model(s), data

dictionary, and

relational schema);

physical database

design

Application design Users’ responses to Application design

 

 

checking interface

design

(includes

description of

programs and user

interface)

DBMS selection Functionality provided

by target DBMS

DBMS evaluation

and

recommendations

Prototyping Users’ responses to

prototype

Modified users’

requirements and

systems

specifications

Implementation Functionality provided

by target DBMS

 

Data conversion and

loading

Format of current data;

data import capabilities

of target DBMS

 

Testing Test results Testing strategies

used; analysis of

test results

Operational Performance testing User manual;

 

 

maintenance results; new or

changing user and

system requirements

analysis of

performance

results; modified

users’ requirements

and systems

specifications

 

 

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

CAPTUREDCAPTURED

EXAMPLES OFEXAMPLES OF

DOCUMENTATIONDOCUMENTATION

PRODUCEDPRODUCED

Database planning Aims and objectives of

database project

Mission statement

and objectives of

328

329

 

 

database system

System definition Description of major

user views (includes

job roles or business

application areas)

Definition of scope

and boundary of

database system;

definition of user

views to be

supported

Requirements

collection and analysis

Requirements for user

views; systems

specifications,

including performance

and security

requirements

Users’ and system

requirements

specifications

Database design Users’ responses to

checking the

conceptual/logical

database design;

functionality provided

by target DBMS

Conceptual/logical

database design

(includes ER

model(s), data

dictionary, and

relational schema);

physical database

design

Application design Users’ responses to

checking interface

Application design

(includes

 

 

design description of

programs and user

interface)

DBMS selection Functionality provided

by target DBMS

DBMS evaluation

and

recommendations

Prototyping Users’ responses to

prototype

Modified users’

requirements and

systems

specifications

Implementation Functionality provided

by target DBMS

 

Data conversion and

loading

Format of current data;

data import capabilities

of target DBMS

 

Testing Test results Testing strategies

used; analysis of

test results

Operational

maintenance

Performance testing

results; new or

User manual;

analysis of

 

 

changing user and

system requirements

performance

results; modified

users’ requirements

and systems

specifications

11.3 Fact-Finding Techniques

A database developer normally uses several fact-finding techniques

during a single database project. There are five commonly used fact-

finding techniques:

• examining documentation;

• interviewing;

• observing the enterprise in operation;

• research;

• questionnaires.

In the following sections we describe these fact-finding techniques

and identify the advantages and disadvantages of each.

11.3.1 Examining Documentation

Examining documentation can be useful when we are trying to gain

some insight as to how the need for a database arose. We may also

find that documentation can help to provide information on the part

of the enterprise associated with the problem. If the problem relates

to the current system, there should be documentation associated with

329

330

 

 

that system. By examining documents, forms, reports, and files

associated with the current system, we can quickly gain some

understanding of the system. Examples of the types of documentation

that should be examined are listed in Table 11.2Table 11.2.

11.3.2 Interviewing

TABLE 11.2 Examples of types of documentation that should be examined.

PURPOSE OFPURPOSE OF

DOCUMENTATIONDOCUMENTATION

EXAMPLES OF USEFULEXAMPLES OF USEFUL

SOURCESSOURCES

Describes problem and need for

database

Internal memos, emails, and

minutes of meetings

Employee complaints and

documents that describe the

problem Social media such as

blogs and tweets

Performance reviews/reports

Describes the part of the

enterprise affected by problem

Organizational chart, mission

statement, and strategic plan of

the enterprise

 

 

Objectives for the part of the

enterprise being studied

Task/job descriptions

Samples of completed manual

forms and reports

Samples of completed

computerized forms and reports

Describes current system Various types of flowcharts and

diagrams

Data dictionary

Database system design

Program documentation

User/training manuals

Interviewing is the most commonly used and normally the most useful

fact-finding technique. We can interview to collect information from

individuals face-to-face. There can be several objectives to using

interviewing, such as finding out

 

 

facts, verifying facts, clarifying facts, generating enthusiasm, getting

the end-user involved, identifying requirements, and gathering ideas

and opinions. However, using the interviewing technique requires

good communication skills for dealing effectively with people who

have different values, priorities, opinions, motivations, and

personalities. As with other fact-finding techniques, interviewing is

not always the best method for all situations. The advantages and

disadvantages of using interviewing as a fact-finding technique are

listed in Table 11.3Table 11.3.

TABLE 11.3 Advantages and disadvantages of using interviewing as a fact-finding technique.

ADVANTAGESADVANTAGES DISADVANTAGESDISADVANTAGES

Allows interviewee to respond

freely and openly to questions

Very time-consuming and costly,

and therefore may be impractical

Allows interviewee to feel part of

project

Success is dependent on

communication skills of

interviewer

Allows interviewer to follow up

on interesting comments made by

Success can be dependent on

willingness of interviewees to

330

331

 

 

interviewee participate in interviews

Allows interviewer to adapt or

reword questions during

interview

 

Allows interviewer to observe

interviewee’s body language

 

There are two types of interview: unstructured and structured.

Unstructured interviewsUnstructured interviews are conducted with only a general

objective in mind and with few, if any, specific questions. The

interviewer counts on the interviewee to provide a framework and

direction to the interview. This type of interview frequently loses

focus and, for this reason, it often does not work well for database

analysis and design.

In structured interviewsstructured interviews, the interviewer has a specific set of

questions to ask the interviewee. Depending on the interviewee’s

responses, the interviewer will direct additional questions to obtain

clarification or expansion. Open-ended questionsOpen-ended questions allow the

interviewee to respond in any way that seems appropriate. An

example of an open-ended question is: “Why are you dissatisfied with

the report on client registration?” Closed-ended questionsClosed-ended questions restrict

answers to either specific choices or short, direct responses. An

example of such a question might be: “Are you receiving the report on

client registration on time?” or “Does the report on client registration

contain accurate information?” Both questions require only a “Yes” or

 

 

“No” response.

To ensure a successful interview includes selecting appropriate

individuals to interview, preparing extensively for the interview, and

conducting the interview in an efficient and effective manner.

11.3.3 Observing the Enterprise in Operation

Observation is one of the most effective fact-finding techniques for

understanding a system. With this technique, it is possible to either

participate in or watch a person perform activities to learn about the

system. This technique is particularly useful when the validity of data

collected through other methods is in question or when the

complexity of certain aspects of the system prevents a clear

explanation by the end-users.

TABLE 11.4 Advantages and disadvantages of using observation as a fact-finding technique.

ADVANTAGESADVANTAGES DISADVANTAGESDISADVANTAGES

Allows the validity of facts and

data to be checked

People may knowingly or

unknowingly perform differently

when being observed

Observer can see exactly what is

being done

May miss observing tasks

involving different levels of

331

332

 

 

difficulty or volume normally

experienced during that time

period

Observer can also obtain data

describing the physical

environment of the task

Some tasks may not always be

performed in the manner in

which they are observed

Relatively inexpensive May be impractical

Observer can do work

measurements

 

As with the other fact-finding techniques, successful observation

requires preparation. To ensure that the observation is successful, it is

important to know as much about the individuals and the activity to

be observed as possible. For example, “When are the low, normal, and

peak periods for the activity being observed?” and “Will the

individuals be upset by having someone watch and record their

actions?” The advantages and disadvantages of using observation as a

fact-finding technique are listed in Table 11.4Table 11.4.

11.3.4 Research

A useful fact-finding technique is to research the application and

problem. Computer trade journals, reference books, and the Internet

(including user groups and bulletin boards) are good sources of

 

 

information. They can provide information on how others have solved

similar problems, plus on whether software packages exist to solve or

even partially solve the problem. The advantages and disadvantages

of using research as a fact-finding technique are listed in Table 11.5Table 11.5.

11.3.5 Questionnaires

TABLE 11.5 Advantages and disadvantages of using research as a fact-finding technique.

ADVANTAGESADVANTAGES DISADVANTAGESDISADVANTAGES

Can save time if solution already

exists

Requires access to appropriate

sources of information

Researcher can see how others

have solved similar problems or

met similar requirements

May ultimately not help in solving

problem because problem is not

documented elsewhere

Keeps researcher up to date with

current developments

 

Another fact-finding technique is to conduct surveys through

questionnaires. Questionnaires are special-purpose documents that

allow facts to be gathered from a large number of people while

 

 

maintaining some control over their responses.

 

 

TABLE 11.4 Advantages and disadvantages of using observation as a fact-finding technique.

ADVANTAGESADVANTAGES DISADVANTAGESDISADVANTAGES

Allows the validity of facts and

data to be checked

People may knowingly or

unknowingly perform differently

when being observed

Observer can see exactly what is

being done

May miss observing tasks

involving different levels of

difficulty or volume normally

experienced during that time

period

Observer can also obtain data

describing the physical

environment of the task

Some tasks may not always be

performed in the manner in

which they are observed

Relatively inexpensive May be impractical

Observer can do work

measurements

 

332

 

 

As with the other fact-finding techniques, successful observation

requires preparation. To ensure that the observation is successful, it is

important to know as much about the individuals and the activity to

be observed as possible. For example, “When are the low, normal, and

peak periods for the activity being observed?” and “Will the

individuals be upset by having someone watch and record their

actions?” The advantages and disadvantages of using observation as a

fact-finding technique are listed in Table 11.4Table 11.4.

11.3.4 Research

A useful fact-finding technique is to research the application and

problem. Computer trade journals, reference books, and the Internet

(including user groups and bulletin boards) are good sources of

information. They can provide information on how others have solved

similar problems, plus on whether software packages exist to solve or

even partially solve the problem. The advantages and disadvantages

of using research as a fact-finding technique are listed in Table 11.5Table 11.5.

11.3.5 Questionnaires

TABLE 11.5 Advantages and disadvantages of using research as a fact-finding technique.

ADVANTAGESADVANTAGES DISADVANTAGESDISADVANTAGES

Can save time if solution already Requires access to appropriate

 

 

exists sources of information

Researcher can see how others

have solved similar problems or

met similar requirements

May ultimately not help in solving

problem because problem is not

documented elsewhere

Keeps researcher up to date with

current developments

 

Another fact-finding technique is to conduct surveys through

questionnaires. Questionnaires are special-purpose documents that

allow facts to be gathered from a large number of people while

maintaining some control over their responses. When dealing with a

large audience, no other fact-finding technique can tabulate the same

facts as efficiently. The advantages and disadvantages of using

questionnaires as a fact-finding technique are listed in Table 11.6Table 11.6.

TABLE 11.6 Advantages and disadvantages of using questionnaires as a fact-finding technique.

ADVANTAGESADVANTAGES DISADVANTAGESDISADVANTAGES

People can complete and return

questionnaires at their

Number of respondents can be

low, possibly only 5% to 10%

332

333

 

 

 

convenience

Relatively inexpensive way to

gather data from a large number

of people

Questionnaires may be returned

incomplete

People more likely to provide the

real facts as responses can be kept

confidential

May not provide an opportunity

to adapt or reword questions that

have been misinterpreted

Responses can be tabulated and

analyzed quickly

Cannot observe and analyze the

respondent’s body language

There are two types of questions that can be asked in a questionnaire:

free-format and fixed-format. Free-format questionsFree-format questions offer the

respondent greater freedom in providing answers. A question is asked

and the respondent records the answer in the space provided after the

question. Examples of free-format questions are: “What reports do

you currently receive and how are they used?” and “Are there any

problems with these reports? If so, please explain.” The problems with

free-format questions are that the respondent’s answers may prove

difficult to tabulate, and in some cases, may not match the questions

asked.

Fixed-format questionsFixed-format questions require specific responses from

individuals. Given any question, the respondent must choose from the

available answers. This makes the results much easier to tabulate. On

 

 

the other hand, the respondent cannot provide additional information

that might prove valuable. An example of a fixed-format question is:

“The current format of the report on property rentals is ideal and

should not be changed.” The respondent may be given the option to

answer “Yes” or “No” to this question, or be given the option to answer

from a range of responses including “Strongly agree,” “Agree,” “No

opinion,” “Disagree,” and “Strongly disagree.”

11.4 Using Fact-Finding Techniques: A Worked Example

In this section we first present an overview of the DreamHome case

study and then use this case study to illustrate how to establish a

database project. In particular, we illustrate how fact-finding

techniques can be used and the documentation produced in the early

stages of the database system development lifecycle—namely, the

database planning, system definition, and requirements collection and

analysis stages.

 

 

When dealing with a large audience, no other fact-finding technique

can tabulate the same facts as efficiently. The advantages and

disadvantages of using questionnaires as a fact-finding technique are

listed in Table 11.6Table 11.6.

TABLE 11.6 Advantages and disadvantages of using questionnaires as a fact-finding technique.

ADVANTAGESADVANTAGES DISADVANTAGESDISADVANTAGES

People can complete and return

questionnaires at their

convenience

Number of respondents can be

low, possibly only 5% to 10%

Relatively inexpensive way to

gather data from a large number

of people

Questionnaires may be returned

incomplete

People more likely to provide the

real facts as responses can be kept

confidential

May not provide an opportunity

to adapt or reword questions that

have been misinterpreted

Responses can be tabulated and

analyzed quickly

Cannot observe and analyze the

respondent’s body language

332

333

 

 

There are two types of questions that can be asked in a questionnaire:

free-format and fixed-format. Free-format questionsFree-format questions offer the

respondent greater freedom in providing answers. A question is asked

and the respondent records the answer in the space provided after the

question. Examples of free-format questions are: “What reports do

you currently receive and how are they used?” and “Are there any

problems with these reports? If so, please explain.” The problems with

free-format questions are that the respondent’s answers may prove

difficult to tabulate, and in some cases, may not match the questions

asked.

Fixed-format questionsFixed-format questions require specific responses from

individuals. Given any question, the respondent must choose from the

available answers. This makes the results much easier to tabulate. On

the other hand, the respondent cannot provide additional information

that might prove valuable. An example of a fixed-format question is:

“The current format of the report on property rentals is ideal and

should not be changed.” The respondent may be given the option to

answer “Yes” or “No” to this question, or be given the option to answer

from a range of responses including “Strongly agree,” “Agree,” “No

opinion,” “Disagree,” and “Strongly disagree.”

11.4 Using Fact-Finding Techniques: A Worked Example

In this section we first present an overview of the DreamHome case

study and then use this case study to illustrate how to establish a

database project. In particular, we illustrate how fact-finding

 

 

techniques can be used and the documentation produced in the early

stages of the database system development lifecycle—namely, the

database planning, system definition, and requirements collection and

analysis stages.

11.4.1 The DreamHome Case Study—An Overview of the Current System

The first branch office of DreamHome was opened in 1992 in Glasgow

in the UK. Since then, the Company has grown steadily and now has

several offices in most of the main cities of the UK. However, the

Company is now so large that more and more administrative staff are

being employed to cope with the ever-increasing amount of

paperwork. Furthermore, the communication and sharing of

information between offices, even in the same city, is poor. The

Director of the Company, Sally Mellweadows, feels that too many

mistakes are being made and that the success of the Company will be

short-lived if she does not do something to remedy the situation. She

knows that a database could help in part to solve the problem and has

requested that a database system be developed to support the running

333

334

 

 

of DreamHome. The Director has provided the following brief

description of how DreamHome currently operates.

DreamHome specializes in property management, taking an

intermediate role between owners who wish to rent out their

furnished property and clients of DreamHome who require to rent

furnished property for a fixed period. DreamHome currently has

about 2000 staff working in 100 branches. When a member of staff

joins the Company, the DreamHome staff registration form is used.

The staff registration form for Susan Brand is shown in Figure 11.1Figure 11.1.

Each branch has an appropriate number and type of staff including a

Manager, Supervisors, and Assistants. The Manager is responsible for

the day-to-day running of a branch and each Supervisor is responsible

for supervising a group of staff called Assistants. An example of the

first page of a report listing the details of staff working at a branch

office in Glasgow is shown in Figure 11.2Figure 11.2.

 

 

Figure 11.1 The DreamHome staff registration form for Susan Brand.

 

 

11.4.1 The DreamHome Case Study—An Overview of the Current System

The first branch office of DreamHome was opened in 1992 in Glasgow

in the UK. Since then, the Company has grown steadily and now has

several offices in most of the main cities of the UK. However, the

Company is now so large that more and more administrative staff are

being employed to cope with the ever-increasing amount of

paperwork. Furthermore, the communication and sharing of

information between offices, even in the same city, is poor. The

Director of the Company, Sally Mellweadows, feels that too many

mistakes are being made and that the success of the Company will be

short-lived if she does not do something to remedy the situation. She

knows that a database could help in part to solve the problem and has

requested that a database system be developed to support the running

of DreamHome. The Director has provided the following brief

description of how DreamHome currently operates.

DreamHome specializes in property management, taking an

intermediate role between owners who wish to rent out their

furnished property and clients of DreamHome who require to rent

furnished property for a fixed period. DreamHome currently has

about 2000 staff working in 100 branches. When a member of staff

joins the Company, the DreamHome staff registration form is used.

333

334

 

 

The staff registration form for Susan Brand is shown in Figure 11.1Figure 11.1.

Each branch has an appropriate number and type of staff including a

Manager, Supervisors, and Assistants. The Manager is responsible for

the day-to-day running of a branch and each Supervisor is responsible

for supervising a group of staff called Assistants. An example of the

first page of a report listing the details of staff working at a branch

office in Glasgow is shown in Figure 11.2Figure 11.2.

Figure 11.1 The DreamHome staff registration form for Susan Brand.

334

335

 

 

Figure 11.2 Example of the first page of a report listing the details of staff working at a DreamHome branch office in

Glasgow.

Each branch office offers a range of properties for rent. To offer

property through DreamHome, a property owner normally contacts

the DreamHome branch office nearest to the property for rent. The

owner provides the details of the property and agrees an appropriate

rent for the property with the branch Manager. The registration form

for a property in Glasgow is shown in Figure 11.3Figure 11.3.

Once a property is registered, DreamHome provides services to ensure

that the property is rented out for maximum return for both the

property owner and, of course, DreamHome. These services include

interviewing prospective renters (called clients), organizing viewings

of the property by clients, advertising the property in local or national

 

 

newspapers (when necessary), and negotiating the lease. Once rented,

DreamHome assumes responsibility for the property including the

collection of rent.

Members of the public interested in renting out property must first

contact their nearest DreamHome branch office to register as clients

of DreamHome. However, before registration is accepted, a

prospective client is normally interviewed to record personal details

and preferences of the client in terms of property requirements. The

registration form for a client called Mike Ritchie is shown in FigureFigure

11.411.4.

Once registration is complete, clients are provided with weekly

reports that list properties currently available for rent. An example of

the first page of a report listing the properties available for rent at a

branch office in Glasgow is shown in Figure 11.5Figure 11.5.

Clients may request to view one or more properties from the list and

after viewing will normally provide a comment on the suitability of

the property. The first page of a report describing the comments made

by clients on a property in Glasgow is shown in Figure 11.6Figure 11.6.

Properties that prove difficult to rent out are normally advertised in

local and national newspapers.

 

 

Figure 11.3 The DreamHome property registration form for a property in Glasgow.

335

336

 

 

Figure 11.4 The DreamHome client registration form for Mike Ritchie.

336

337

 

 

Figure 11.5 The first page of the DreamHome property for rent report listing property available at a branch in

Glasgow.

 

 

Figure 11.6 The first page of the DreamHome property viewing report for a property in Glasgow.

 

 

Figure 11.7 The DreamHome lease form for a client called Mike Ritchie renting a property in Glasgow.

Once a client has identified a suitable property, a member of staff

draws up a lease. The lease between a client called Mike Ritchie and a

property in Glasgow is shown in Figure 11.7Figure 11.7.

At the end of a rental period a client may request that the rental be

continued; however, this requires that a new lease be drawn up.

Alternatively, a client may request to view alternative properties for

the purposes of renting.

11.4.2 The DreamHome Case Study—Database Planning

337

338

 

 

The first step in developing a database system is to clearly define the

mission statementmission statement for the database project, which defines the major

aims of the database system. Once the mission statement is defined,

the next activity involves identifying the mission objectivesmission objectives, which

should identify the particular tasks that the database must support

(see Section 10.3Section 10.3).

Creating the mission statement for the DreamHome database system

We begin the process of creating a mission statement for the

DreamHome database system by conducting interviews with the

Director and any other appropriate staff, as indicated by the Director.

Open-ended questions are normally the most useful at this stage of the

process. Examples of typical questions we might ask include:

“What is the purpose of your company?”

“Why do you feel that you need a database?”

“How do you know that a database will solve your problem?”

For example, the database developer may start the interview by

asking the Director of DreamHome the following questions:

338

339

 

 

DatabaseDatabase

Developer:Developer:

What is the purpose of your company?

Director:Director: We offer a wide range of high-quality properties for

rent to clients registered at our branches

throughout the UK. Our ability to offer quality

properties, of course, depends upon the services we

provide to property owners. We provide a highly

professional service to property owners to ensure

that properties are rented out for maximum return.

DatabaseDatabase

Developer:Developer:

Why do you feel that you need a database?

Director:Director: To be honest, we can’t cope with our own success.

Over the past few years we’ve opened several

branches in most of the main cities of the UK, and at

each branch we now offer a larger selection of

properties to a growing number of clients.

However, this success has been accompanied with

increasing data management problems, which

means that the level of service we provide is falling.

Also, there’s a lack of cooperation and sharing of

information between branches, which is a very

worrying development.

DatabaseDatabase How do you know that a database will solve your

 

 

Developer:Developer: problem?

Director:Director: All I know is that we are drowning in paperwork.

We need something that will speed up the way we

work by automating a lot of the day-to-day tasks

that seem to take forever these days. Also, I want

the branches to start working together. Databases

will help to achieve this, won’t they?

Responses to these types of questions should help formulate the

mission statement. An example mission statement for the

DreamHome database system is shown in Figure 11.8Figure 11.8. When we

have a clear and unambiguous mission statement that the staff of

DreamHome agree with, we move on to define the mission objectives.

Figure 11.8 Mission statement for the DreamHome database system.

Creating the mission objectives for the DreamHome database system

The process of creating mission objectives involves conducting

interviews with appropriate members of staff. Again, open-ended

questions are normally the most useful at this stage of the process. To

obtain the complete range of mission

 

 

 

objectives, we interview various members of staff with different roles

in DreamHome. Examples of typical questions that we might ask

include:

“What is your job description?”

“What kinds of tasks do you perform in a typical day?”

“What kinds of data do you work with?”

“What types of reports do you use?”

“What types of things do you need to keep track of?”

“What service does your company provide to your customers?”

These questions (or similar) are put to the Director of DreamHome

and members of staff in the role of Manager, Supervisor, and

Assistant. It may be necessary to adapt the questions as required,

depending on whom is being interviewed.

Director

DatabaseDatabase

Developer:Developer:

What role do you play for the company?

Director:Director: I oversee the running of the company to ensure that

we continue to provide the best possible property

rental service to our clients and property owners.

DatabaseDatabase What kinds of tasks do you perform in a typical

339

340

 

 

Developer:Developer: day?

Director:Director: I monitor the running of each branch by our

Managers. I try to ensure that the branches work

well together and share important information

about properties and clients. I normally try to keep

a high profile with my branch Managers by calling

into each branch at least once or twice a month.

DatabaseDatabase

Developer:Developer:

What kinds of data do you work with?

Director:Director: I need to see everything, well at least a summary of

the data used or generated by DreamHome. That

includes data about staff at all branches, all

properties and their owners, all clients, and all

leases. I also like to keep an eye on the extent to

which branches advertise properties in

newspapers.

DatabaseDatabase

Developer:Developer:

What types of reports do you use?

Director:Director: I need to know what’s going on at all the branches

and there are lots of them. I spend a lot of my

working day going over long reports on all aspects

of DreamHome. I need reports that are easy to

 

 

access and that let me get a good overview of what’s

happening at a given branch and across all

branches.

DatabaseDatabase

Developer:Developer:

What types of things do you need to keep track of?

Director:Director: As I said before, I need to have an overview of

everything; I need to see the whole picture.

DatabaseDatabase

Developer:Developer:

What service does your company provide to your

customers?

Director:Director: We aim to provide the best property rental service

in the UK. I believe that this will be achieved with

the support of the new database system, which will

allow my staff to deal more efficiently with our

customers and clients and better marketing of our

properties through the development of a new

DreamHome Web site. This site will allow our

current and new renting clients to view our

properties on the Web.

Manager

340

341

 

 

DatabaseDatabase

Developer:Developer:

What is your job description?

Manager:Manager: My job title is Manager. I oversee the day-to-day

running of my branch to provide the best property

rental service to our clients and property owners.

DatabaseDatabase

Developer:Developer:

What kinds of tasks do you perform in a typical

day?

Manager:Manager: I ensure that the branch has the appropriate

number and type of staff on duty at all times. I

monitor the registering of new properties and new

clients, and the renting activity of our currently

active clients. It’s my responsibility to ensure that

we have the right number and type of properties

available to offer our clients. I sometimes get

involved in negotiating leases for our top-of-the-

range properties, although due to my workload, I

often have to delegate this task to Supervisors.

DatabaseDatabase

Developer:Developer:

What kinds of data do you work with?

Manager:Manager: I mostly work with data on the properties offered at

my branch and the owners, clients, and leases. I

 

 

also need to know when properties are proving

difficult to rent out so that I can arrange for them to

be advertised in newspapers. I need to keep an eye

on this aspect of the business, because advertising

can get costly. I also need access to data about staff

working at my branch and staff at other local

branches. This is because I sometimes need to

contact other branches to arrange management

meetings or to borrow staff from other branches on

a temporary basis to cover staff shortages due to

sickness or during holiday periods. This borrowing

of staff between local branches is informal and

thankfully doesn’t happen very often. Besides data

on staff, it would be helpful to see other types of

data at the other branches such as data on property,

property owners, clients, and leases, you know, to

compare notes. Actually, I think the Director hopes

that this database project is going to help promote

cooperation and sharing of information between

branches. However, some of the Managers I know

are not going to be too keen on this, because they

think we’re in competition with each other. Part of

the problem is that a percentage of a Manager’s

salary is made up of a bonus, which is related to the

number of properties we rent out.

 

 

my staff to deal more efficiently with our customers and clients and

better marketing of our properties through the development of a new

DreamHome Web site. This site will allow our current and new

renting clients to view our properties on the Web.

Manager

DatabaseDatabase

Developer:Developer:

What is your job description?

Manager:Manager: My job title is Manager. I oversee the day-to-day

running of my branch to provide the best property

rental service to our clients and property owners.

DatabaseDatabase

Developer:Developer:

What kinds of tasks do you perform in a typical

day?

Manager:Manager: I ensure that the branch has the appropriate

number and type of staff on duty at all times. I

monitor the registering of new properties and new

clients, and the renting activity of our currently

active clients. It’s my responsibility to ensure that

we have the right number and type of properties

available to offer our clients. I sometimes get

involved in negotiating leases for our top-of-the-

340

341

 

 

range properties, although due to my workload, I

often have to delegate this task to Supervisors.

DatabaseDatabase

Developer:Developer:

What kinds of data do you work with?

Manager:Manager: I mostly work with data on the properties offered at

my branch and the owners, clients, and leases. I

also need to know when properties are proving

difficult to rent out so that I can arrange for them to

be advertised in newspapers. I need to keep an eye

on this aspect of the business, because advertising

can get costly. I also need access to data about staff

working at my branch and staff at other local

branches. This is because I sometimes need to

contact other branches to arrange management

meetings or to borrow staff from other branches on

a temporary basis to cover staff shortages due to

sickness or during holiday periods. This borrowing

of staff between local branches is informal and

thankfully doesn’t happen very often. Besides data

on staff, it would be helpful to see other types of

data at the other branches such as data on property,

property owners, clients, and leases, you know, to

compare notes. Actually, I think the Director hopes

that this database project is going to help promote

cooperation and sharing of information between

branches. However, some of the Managers I know

 

 

are not going to be too keen on this, because they

think we’re in competition with each other. Part of

the problem is that a percentage of a Manager’s

salary is made up of a bonus, which is related to the

number of properties we rent out.

DatabaseDatabase

Developer:Developer:

What types of reports do you use?

Manager:Manager: I need various reports on staff, property, owners,

clients, and leases. I need to know at a glance which

properties we need to lease out and what clients are

looking for.

DatabaseDatabase

Developer:Developer:

What types of things do you need to keep track of?

Manager:Manager: I need to keep track of staff salaries. I need to know

how well the properties on our books are being

rented out and when leases are coming up for

renewal. I also need to keep eye on our expenditure

on advertising in newspapers.

DatabaseDatabase

Developer:Developer:

What service does your company provide to your

customers?

341

342

 

 

Manager:Manager: Remember that we have two types of customers;

that is, clients wanting to rent property and

property owners. We need to make sure that our

clients find the property they’re looking for quickly

without too much legwork and at a reasonable rent,

and, of course, that our property owners see good

returns from renting out their properties with

minimal hassle. As you may already know from

speaking to our Director, as well as from developing

a new database system, we also intend to develop a

new DreamHome Web site. This Web site will help

our clients view our properties at home before

coming into our branches to arrange a viewing. I

need to ensure that no matter how clients contacts

us—either by email through using our Web site, by

phone, or in person—that they receive the same

efficient service to help them find the properties

that they seek.

Supervisor

DatabaseDatabase

Developer:Developer:

What is your job description?

Supervisor:Supervisor: My job title is Supervisor. I spend most of my time

in the office dealing directly with our customers;

 

 

that is, clients wanting to rent property and

property owners. I’m also responsible for a small

group of staff called Assistants and making sure

that they are kept busy, but that’s not a problem, as

there’s always plenty to do—it’s never-ending

actually.

DatabaseDatabase

Developer:Developer:

What kinds of tasks do you perform in a typical

day?

Supervisor:Supervisor: I normally start the day by allocating staff to

particular duties, such as dealing with clients or

property owners, organizing for clients to view

properties, and filing paperwork. When a client

finds a suitable property, I process the drawing up

of a lease, although the Manager must see the

documentation before any signatures are

requested. I keep client details up to date and

register new clients when they want to join the

Company. When a new property is registered, the

 

 

Manager

allocates

responsibility

for managing

that property

to me or one

of the other

Supervisors

or Assistants.

DatabaseDatabase

Developer:Developer:

What kinds of data do you work with?

Supervisor:Supervisor: I work with data about staff at my branch, property,

property owners, clients, property viewings, and

leases.

DatabaseDatabase

Developer:Developer:

What types of reports do you use?

Supervisor:Supervisor: Reports on staff and properties for rent.

DatabaseDatabase

Developer:Developer:

What types of things do you need to keep track of?

342

343

 

 

Supervisor:Supervisor: I need to know what properties are available for rent

and when currently active leases are due to expire. I

also need to know what clients are looking for. I need

to keep our Manager up to date with any properties

that are proving difficult to rent out. I need to ensure

that clients who contact us by email requesting to view

properties are given a quick response from us inviting

them to call into their nearest DreamHome branch

office. As part of the service we provide to our

property owners, we need to interview all clients first

before they are allowed to view our properties. There

is nothing unusual about this, as we have always

interviewed our clients on their first visit to a

DreamHome branch, and it’s during this time that we

note their details and their property requirements.

Assistant

DatabaseDatabase

Developer:Developer:

What is your job description?

Assistant:Assistant: My job title is Assistant. I deal directly with our

clients.

DatabaseDatabase

Developer:Developer:

What kinds of tasks do you perform in a typical

day?

 

 

Assistant:Assistant: I answer general queries from clients about

properties for rent. You know what I mean: “Do you

have such and such type of property in a particular

area of Glasgow?” I also register new clients and

arrange for clients to view properties. When we’re

not too busy, I file paperwork, but I hate this part of

the job—it’s so boring.

DatabaseDatabase

Developer:Developer:

What kinds of data do you work with?

Assistant:Assistant: I work with data on property and property

viewings by clients and sometimes leases.

DatabaseDatabase

Developer:Developer:

What types of reports do you use?

Assistant:Assistant: Lists of properties available for rent. These lists are

updated every week.

DatabaseDatabase

Developer:Developer:

What types of things do you need to keep track of?

Assistant:Assistant: Whether certain properties are available for

renting out and which clients are still actively

 

 

looking for property.

DatabaseDatabase

Developer:Developer:

What service does your company provide to your

customers?

Assistant:Assistant: We try to answer questions about properties

available for rent such as: “Do you have a two-

bedroom flat in Hyndland, Glasgow?” and “What

should I expect to pay for a one-bedroom flat in the

city center?”

Figure 11.9 Mission objectives for the DreamHome database system.

343

344

 

 

Responses to these types of questions should help to formulate the

mission objectives. An example of the mission objectives for the

DreamHome database system is shown in Figure 11.9Figure 11.9.

11.4.3 The DreamHome Case Study—System Definition

The purpose of the system definition stage is to define the scope and

boundary of the database system and its major user views. In SectionSection

10.4.110.4.1 we described how a user view represents the requirements

that should be supported by a database system as defined by a

particular job role (such as Director or Supervisor) or business

application area (such as property rentals or property sales).

 

 

DatabaseDatabase

Developer:Developer:

What service does your company provide to your

customers?

Assistant:Assistant: We try to answer questions about properties available

for rent such as: “Do you have a two-bedroom flat in

Hyndland, Glasgow?” and “What should I expect to pay

for a one-bedroom flat in the city center?”

Figure 11.9 Mission objectives for the DreamHome database system.

Responses to these types of questions should help to formulate the

mission objectives. An example of the mission objectives for the

344

 

 

DreamHome database system is shown in Figure 11.9Figure 11.9.

11.4.3 The DreamHome Case Study—System Definition

The purpose of the system definition stage is to define the scope and

boundary of the database system and its major user views. In SectionSection

10.4.110.4.1 we described how a user view represents the requirements

that should be supported by a database system as defined by a

particular job role (such as Director or Supervisor) or business

application area (such as property rentals or property sales).

Figure 11.10 Systems boundary for the DreamHome database system.

344

345

 

 

Defining the systems boundary for the DreamHome database system

During this stage of the database system development lifecycle,

further interviews with users can be used to clarify or expand on data

captured in the previous stage. However, additional fact-finding

techniques can also be used, including examining the sample

documentation shown in Section 11.4.1Section 11.4.1. The data collected so far is

analyzed to define the boundary of the database system. The systems

boundary for the DreamHome database system is shown in FigureFigure

11.1011.10.

Identifying the major user views for the DreamHome database system

We now analyze the data collected so far to define the main user

views of the database system. The majority of data about the user

views was collected during interviews with the Director and members

of staff in the role of Manager, Supervisor, and Assistant. The main

user views for the DreamHome database system are shown in FigureFigure

11.1111.11.

11.4.4 The DreamHome Case Study— Requirements Collection and Analysis

 

 

During this stage, we continue to gather more details on the user

views identified in the previous stage, to create a users’users’

requirements specificationrequirements specification that describes in detail the data to be

held in the database and how the data is to be used. While gathering

more information on the user views, we also collect any general

requirements for the system. The purpose of gathering this

information is to create a systems specificationsystems specification, which describes

any features to be included in the new database system, such as

networking and shared access requirements, performance

requirements, and the levels of security required.

As we collect and analyze the requirements for the new system, we

also learn about the most useful and most troublesome features of the

current system. When building a new database system, it is sensible to

try to retain the good things about the old system while introducing

the benefits that will be part of using the new system.

 

 

Figure 11.11 Major user views for the DreamHome database system.

An important activity associated with this stage is deciding how to

deal with situations in which there are more than one user view. As

345

346

346

347

 

 

we discussed in Section 10.6Section 10.6, there are three major approaches to

dealing with multiple user views: the centralizedcentralized approach, the viewview

integrationintegration approach, and a combination of both approaches. We

discuss how these approaches can be used shortly.

Gathering more information on the user views of the DreamHome database system

To find out more about the requirements for each user view, we may

again use a selection of fact-finding techniques, including interviews

and observing the business in operation. Examples of the types of

questions that we may ask about the data (represented as X) required

by a user view include:

“What type of data do you need to hold on X?”

“What sorts of things do you do with the data on X?”

For example, we might ask a Manager the following questions:

DatabaseDatabase

Developer:Developer:

What type of data do you need to hold on staff?

Manager:Manager: The types of data held on a member of staff is his or

her full name, position, gender, date of birth, and

salary.

DatabaseDatabase What sorts of things do you do with the data on

 

 

Developer:Developer: staff?

Manager:Manager: I need to be able to enter the details of new

members of staff and delete their details when they

leave. I need to keep the details of staff up to date

and print reports that list the full name, position,

and salary of each member of staff at my branch. I

need to be able to allocate staff to Supervisors.

Sometimes when I need to communicate with other

branches, I need to find out the names and

telephone numbers of Managers at other branches.

We need to ask similar questions about all the important data to be

stored in the database. Responses to these questions will help identify

the necessary details for the users’ requirements specification.

Gathering information on the system requirements of the DreamHome database system

While conducting interviews about user views, we should also collect

more general information on the system requirements. Examples of

the types of questions that we might ask about the system include:

“What transactions run frequently on the database?”

“What transactions are critical to the operation of the

organization?”

“When do the critical transactions run?”

 

 

 

“When are the low, normal, and high workload periods for the

critical transactions?”

“What type of security do you want for the database system?”

“Is there any highly sensitive data that should be accessed only by

certain members of staff?”

“What historical data do you want to hold?”

“What are the networking and shared access requirements for the

database system?”

“What type of protection from failures or data loss do you want

for the database system?”

For example, we might ask a Manager the following questions:

DatabaseDatabase

Developer:Developer:

What transactions run frequently on the database?

Manager:Manager: We frequently get requests either by phone or by

clients who call into our branch to search for a

particular type of property in a particular area of

the city and for a rent no higher than a particular

amount. We hope that clients using the new

DreamHome Web site will be able to view our

properties at any time of the day or night. We also

need up-to-date information on properties and

clients so that reports can be run off that show

properties currently available for rent and clients

currently seeking property.

347

348

 

 

DatabaseDatabase

Developer:Developer:

What transactions are critical to the operation of

the business?

Manager:Manager: Again, critical transactions include being able to

search for particular properties and to print out

reports with up-to-date lists of properties available

for rent. Our clients would go elsewhere if we

couldn’t provide this basic service.

DatabaseDatabase

Developer:Developer:

When do the critical transactions run?

Manager:Manager: Every day.

DatabaseDatabase

Developer:Developer:

When are the low, normal, and high workload

periods for the critical transactions?

Manager:Manager: We’re open six days a week. In general, we tend to

be quiet in the mornings and get busier as the day

progresses. However, the busiest time-slots each

day for dealing with customers are between 12 and

2pm and 5 and 7pm. We hope that clients using the

new DreamHome Web site will be able to search

through our properties on their own PCs; this

should cut down on the number of property queries

that staff have to deal with.

 

 

We might ask the Director the following questions:

DatabaseDatabase

Developer:Developer:

What type of security do you want for the database

system?

Director:Director: I don’t suppose a database holding information for

a property rental company holds very sensitive

data, but I wouldn’t want any of our competitors to

see the data on properties, owners, clients, and

leases. Staff should see only the data necessary to

do their job in a form that suits what they’re doing.

For example, although it’s necessary for Supervisors

and Assistants to see client details, client records

should be displayed only one at a time and not as a

report. As far as clients using the new DreamHome

Web site are concerned, we want them to have

access to our properties and their own details—but

nothing else.

DatabaseDatabase

Developer:Developer:

Is there any highly sensitive data that should be

accessed only by certain members of staff?

Director:Director: As I said before, staff should see only the data

necessary to do their jobs. For example, although

Supervisors need to see data on staff, salary details

348

349

 

 

should not be included.

DatabaseDatabase

Developer:Developer:

What historical data do you want to hold?

Director:Director: I want to keep the details of clients and owners for

a couple of years after their last dealings with us, so

that we can mail them our latest offers, and

generally try to attract them back. I also want to be

able to keep lease information for a couple of years,

so that we can analyze it to find out which types of

properties and areas of each city are the most

popular for the property rental market, and so on.

DatabaseDatabase

Developer:Developer:

What are the networking and shared access

requirements for the database system?

Director:Director: I want all the branches networked to our main

branch office here in Glasgow so that staff can

access the system from wherever and whenever

they need to. At most branches, I would expect

about two or three staff to be accessing the system

at any one time, but remember that we have about

100 branches. Most of the time the staff should be

just accessing local branch data. However, I don’t

really want there to be any restrictions about how

often or when the system can be accessed, unless

 

 

it’s got real financial implications. As I said earlier,

clients using the new DreamHome Web site should

have access to our properties and their own details,

but nothing else.

DatabaseDatabase

Developer:Developer:

What type of protection from failures or data loss

do you want for the database system?

Director:Director: The best, of course. All our business is going to be

conducted using the database, so if it goes down,

we’re sunk. To be serious for a minute, I think we

probably have to back up our data every evening

when the branch closes. What do you think?

 

 

We need to ask similar questions about all the important aspects of

the system. Responses to these questions should help identify the

necessary details for the system requirements specification.

Managing the user views of the DreamHome database system

How do we decide whether to use the centralized or view integration

approach, or a combination of both to manage multiple user views?

One way to help make a decision is to examine the overlap in the data

used between the user views identified during the system definition

stage. Table 11.7Table 11.7 cross-references the Director, Manager, Supervisor,

Assistant, and Client user views with the main types of data used by

each user view.

We see from Table 11.7Table 11.7 that there is overlap in the data used by all

user views. However, the Director and Manager user views and the

Supervisor and Assistant user views show more similarities in terms

of data requirements. For example, only the Director and Manager

user views require data on branches and newspapers, whereas only

the Supervisor and Assistant user views require data on property

viewings. The Client user view requires access to the least amount of

data, and that is only the property and client data. Based on this

analysis, we use the centralized approach to first merge the

requirements for the Director and Manager user views (given the

collective name of BranchBranch user views) and the requirements for the

Supervisor, Assistant, and Client user views (given the collective name

of StaffClientStaffClient user views). We then develop data models representing

349

350

 

 

the Branch and StaffClient user views and then use the view

integration approach to merge the two data models.

Of course, for a simple case study like DreamHome, we could easily

use the centralized approach for all user views, but we will stay with

our decision to create two collective user views so that we can

describe and demonstrate how the view integration approach works

in practice in Chapter 17Chapter 17.

TABLE 11.7 Cross-reference of user views with the main types of data used by each.

DIRECTORDIRECTOR MANAGERMANAGER SUPERVISORSUPERVISOR ASSISTANTASSISTANT CLIENTCLIENT

branch X X

staff X X X

property

for rent

X X X X X

owner X X X X

client X X X X X

 

 

It is difficult to give precise rules as to when it is appropriate to use

the centralized or view integration approaches. The decision should

be based on an assessment of the complexity of the database system

and the degree of overlap between the various user views. However,

whether we use the centralized or view integration approach or a

mixture of both to build the underlying database, ultimately we need

to re-establish the original user views (namely Director, Manager,

Supervisor, Assistant, and Client) for the working database system. We

describe and demonstrate the establishment of the user views for the

database system in Chapter 18Chapter 18.

All of the information gathered so far on each user view of the

database system is described in a document called a users’users’

requirements specificationrequirements specification. The users’ requirements specification

describes the data requirements for each user view and examples of

how the data is used by the user view. For ease of reference, the users’

requirements specifications for the Branch and StaffClient user views

of the DreamHome database system are given in Appendix AAppendix A. In the

remainder of this chapter, we present the general systems

requirements for the DreamHome database system.

property

viewing

X X

lease X X X X

newspaper X X

350

351

 

 

The systems specification for the DreamHome database system

The systems specification should list all the important features for the

DreamHome database system. The types of features that should be

described in the systems specification include:

• initial database size;

• database rate of growth;

• the types and average number of record searches;

• networking and shared access requirements;

• performance;

• security;

• backup and recovery;

• legal issues.

Systems Requirements for DreamHome Database System Initial database size

(1) There are approximately 2000 members of staff working at over

100 branches. There is an average of 20 and a maximum of 40

members of staff at each branch.

(2) There are approximately 100,000 properties available at all

branches. There is an average of 1000 and a maximum of 3000

properties at each branch.

(3) There are approximately 60,000 property owners. There is an

average of 600 and a maximum of 1000 property owners at each

branch.

 

 

(4) There are approximately 100,000 clients registered across all

branches. There is an average of 1000 and a maximum of 1500

clients registered at each branch.

(5) There are approximately 4,000,000 viewings across all branches.

There is an average of 40,000 and a maximum of 100,000 viewings

at each branch.

(6) There are approximately 400,000 leases across all branches.

There are an average of 4000 and a maximum of 10,000 leases at

each branch.

(7) There are approximately 50,000 newspaper ads in 100

newspapers across all branches.

Database rate of growth

(1) Approximately 500 new properties and 200 new property owners

will be added to the database each month.

 

 

(2) Once a property is no longer available for rent, the corresponding

record will be deleted from the database. Approximately 100

records of properties will be deleted each month.

(3) If a property owner does not provide properties for rent at any

time within a period of two years, his or her record will be

deleted. Approximately 100 property owner records will be

deleted each month.

(4) Approximately 20 members of staff join and leave the company

each month. The records of staff who have left the company will

be deleted after one year. Approximately 20 staff records will be

deleted each month.

(5) Approximately 1000 new clients register at branches each month.

If a client does not view or rent out a property at any time within

a period of two years, his or her record will be deleted.

Approximately 100 client records will be deleted each month.

(6) Approximately 5000 new viewings are recorded across all

branches each day. The details of property viewings will be

deleted one year after the creation of the record.

(7) Approximately 1000 new leases will be recorded across all

branches each month. The details of property leases will be

deleted two years after the creation of the record.

(8) Approximately 1000 newspaper adverts are placed each week.

The details of newspaper adverts will be deleted one year after

the creation of the record.

The types and average number of record searches

351

352

 

 

(1) Searching for the details of a branch—approximately 10 per day.

(2) Searching for the details of a member of staff at a branch—

approximately 20 per day.

(3) Searching for the details of a given property—approximately

5000 per day (Monday to Thursday), and approximately 10,000

per day (Friday and Saturday). Peak workloads are 12.00–14.00

and 17.00–19.00 daily. (The workloads for property searches

should be reassessed after the DreamHome Web site is launched.)

(4) Searching for the details of a property owner—approximately 100

per day.

(5) Searching for the details of a client—approximately 1000 per day

(Monday to Thursday), and approximately 2000 per day (Friday

and Saturday). Peak workloads are 12.00–14.00 and 17.00–19.00

daily.

(6) Searching for the details of a property viewing—approximately

2000 per day (Monday to Thursday), and approximately 5000 per

day (Friday and Saturday). Peak workloads are 12.00–14.00 and

17.00–19.00 daily.

(7) Searching for the details of a lease—approximately 1000 per day

(Monday to Thursday), and approximately 2000 per day (Friday

and Saturday). Peak workloads are 12.00–14.00 and 17.00–19.00

daily.

Networking and shared access requirements

All branches should be securely networked to a centralized database

located at DreamHome’s main office in Glasgow. The system should

allow for at least two to three people concurrently accessing the

352

353

 

 

system from each branch. Consideration needs to be given to the

licensing requirements for this number of concurrent accesses.

Performance

(1) During opening hours, but not during peak periods, expect less

than a 1-second response for all single record searches. During

peak periods, expect less than a 5-second response for each

search.

(2) During opening hours, but not during peak periods, expect less

than a 5-second response for each multiple record search. During

peak periods, expect less than a 10-second response for each

multiple record search.

(3) During opening hours, but not during peak periods, expect less

than a 1-second response for each update/save. During peak

periods, expect less than a 5-second response for each

update/save.

Security

(1) The database should be password-protected.

(2) Each member of staff should be assigned database access

privileges appropriate to a particular user view, namely Director,

Manager, Supervisor, or Assistant.

(3) A member of staff should see only the data necessary to do his or

her job in a form that suits what he or she is doing.

(4) A client should see only property data and their own personal

details using the DreamHome Web site.

 

 

Backup and Recovery

The database should be backed up daily at 12 midnight.

Legal Issues

Each country has laws that govern the way that the computerized

storage of personal data is handled. As the DreamHome database

holds data on staff, clients, and property owners, any legal issues that

must be complied with should be investigated and implemented. The

professional, legal, and ethical issues associated with data

management are discussed in Chapter 21Chapter 21.

11.4.5 The DreamHome Case Study—Database Design

In this chapter we demonstrated the creation of the users’

requirements specification for the Branch and Staff user views and

the systems specification for the DreamHome database system. These

documents are the sources of information for the next stage of the

lifecycle called database designdatabase design. In Chapters 16Chapters 16 to 1919 we provide a

step-by-step methodology for database design and use the

DreamHome case study and the documents created for the

DreamHome database system in this chapter to demonstrate the

 

 

methodology in practice.

 

 

three people concurrently accessing the system from each branch.

Consideration needs to be given to the licensing requirements for this

number of concurrent accesses.

Performance

(1) During opening hours, but not during peak periods, expect less

than a 1-second response for all single record searches. During

peak periods, expect less than a 5-second response for each

search.

(2) During opening hours, but not during peak periods, expect less

than a 5-second response for each multiple record search. During

peak periods, expect less than a 10-second response for each

multiple record search.

(3) During opening hours, but not during peak periods, expect less

than a 1-second response for each update/save. During peak

periods, expect less than a 5-second response for each

update/save.

Security

(1) The database should be password-protected.

(2) Each member of staff should be assigned database access

privileges appropriate to a particular user view, namely Director,

Manager, Supervisor, or Assistant.

(3) A member of staff should see only the data necessary to do his or

her job in a form that suits what he or she is doing.

352

353

 

 

(4) A client should see only property data and their own personal

details using the DreamHome Web site.

Backup and Recovery

The database should be backed up daily at 12 midnight.

Legal Issues

Each country has laws that govern the way that the computerized

storage of personal data is handled. As the DreamHome database

holds data on staff, clients, and property owners, any legal issues that

must be complied with should be investigated and implemented. The

professional, legal, and ethical issues associated with data

management are discussed in Chapter 21Chapter 21.

11.4.5 The DreamHome Case Study—Database Design

In this chapter we demonstrated the creation of the users’

requirements specification for the Branch and Staff user views and

the systems specification for the DreamHome database system. These

documents are the sources of information for the next stage of the

lifecycle called database designdatabase design. In Chapters 16Chapters 16 to 1919 we provide a

 

 

step-by-step methodology for database design and use the

DreamHome case study and the documents created for the

DreamHome database system in this chapter to demonstrate the

methodology in practice.

Chapter Summary

• Fact-findingFact-finding is the formal process of using techniques such as

interviews and questionnaires to collect facts about systems,

requirements, and preferences.

• Fact-finding is particularly crucial to the early stages of the

database system development lifecycle, including the database

planning, system definition, and requirements collection and

analysis stages.

• The five most common fact-finding techniques are examining

documentation, interviewing, observing the enterprise in

operation, conducting research, and using questionnaires.

• There are two main documents created during the requirements

collection and analysis stage: the users’ requirementsusers’ requirements

specificationspecification and the systems specificationsystems specification.

• The users’ requirements specificationusers’ requirements specification describes in detail the

data to be held in the database and how the data is to be used.

• The systems specificationsystems specification describes any features to be included

in the database system, such as the performance and security

requirements.

Review Questions

353

354

 

 

11.1 Briefly describe what the process of fact-finding attempts to

achieve for a database developer.

11.2 Describe how fact-finding is used throughout the stages of the

database system development lifecycle.

11.3 For each stage of the database system development lifecycle

identify examples of the facts captured and the documentation

produced.

11.4 A database developer normally uses several fact-finding

techniques during a single database project. The five most

commonly used techniques are examining documentation,

interviewing, observing the business in operation, conducting

research, and using questionnaires. Describe each fact-finding

technique and identify the advantages and disadvantages of each.

11.5 Describe the purpose of defining a mission statement and

mission objectives for a database system.

11.6 What is the purpose of identifying the systems boundary for a

database system?

11.7 How do the contents of a users’ requirements specification

differ from a systems specification?

11.8 Describe one method of deciding whether to use either the

centralized or view integration approach, or a combination of

both when developing a database system with multiple user

views.

Exercises

11.9 Assume that you are an employee of a consultancy company

that specializes in the analysis, design, and implementation of

 

 

database systems. A client has recently approached your company

with a view to implementing a database system, but they are not

familiar with the development process.

 

 

 

 

 

 

Task: You are required to present an overview of the fact-finding techniques that your company intends to use to support the development of the client’s database system. With this task in mind, create a slide presentation and/or report that describes each fact-finding technique and how the fact-finding techniques will be used throughout the development of the database system.

No matter what kind of paper writing service you need, we’ll get it written. Place Your Order Now!