Chapter 3
Chapter 3
Bridging Communities
DATABASE SYSTEMS
Chapter 3 : Database Development Lifecycle and
Fact-finding Techniques
2
Database System Development Lifecycle
(1/27)
• Database system development lifecycle is a structured
approach to developing a database system, ensuring it
meets the needs of users and is efficiently designed,
implemented, and maintained.
• The lifecycle involves several stages, each with
specific activities and deliverables.
• The stages of the database system development
lifecycle are shown in Figure 10.1.
3
4
Database System Development Lifecycle
(4/27)
1. Database Planning
• Database planning is the management activities that
allow the stages of the database system development
lifecycle to be realized as efficiently and effectively as
possible (Connolly & Begg, 2015).
• Database planning must be integrated with the overall
information system strategy of the organization.
• The important steps in database planning include:
6
Database System Development Lifecycle
(5/27)
o Clearly defining the mission statement for the
database system which describes the major aims
of the database system.
o Identifying the mission objectives which ascertains
particular tasks that the database system must
support.
o The development of standards that govern how
data will be collected, how the format should be
specified, what documentation will be needed. 7
Database System Development Lifecycle
(6/27)
2. System Definition
• System definition describes the scope and boundaries
of the database system and the major user views
(Connolly & Begg, 2015).
• Before attempting to design a database system, it is
essential that we first identify the boundaries of the
system we are investigating and how it interfaces with
other parts of the organization’s information system.
8
Database System Development Lifecycle
(7/27)
• It is important that we include within our system
boundaries not only the current users and application
areas, but also future users and applications.
• Included within the scope and boundary of the
database system are the major user views that are to be
supported by the database.
• Figure 10.2 is a diagrammatic representation of a
database system with multiple user views.
9
Database System Development Lifecycle
(8/27)
10
Database System Development Lifecycle
(9/27)
3. Requirements Collection and Analysis
• Requirements collection and analysis is the process of
collecting and analyzing information about the part of
the organization that is to be supported by the
database system, and using this information to identify
the requirements for the new system (Connolly &
Begg, 2015).
11
Database System Development Lifecycle
(10/27)
• There are many techniques for gathering this
information, called fact-finding techniques.
• Information is gathered for each major user view
including:
▪ a description of the data used or generated;
▪ the details of how data is to be used or generated;
▪ any additional requirements for the new database
system.
12
Database System Development Lifecycle
(11/27)
• This information is then analyzed to identify the
requirements (features) to be included in the new
database system.
• These requirements are described in documents
collectively referred to as requirements specifications
for the new database system.
• The amount of data gathered depends on the nature of
the problem and the policies of the enterprise.
13
Database System Development Lifecycle
(12/27)
4. Database Design
• Database design is the process of creating a design
that will support the enterprise’s mission statement
and mission objectives for the required database
system (Connolly & Begg, 2015).
• The two main approaches to the design of a database
are referred to as “bottom-up” and “top-down.”
14
Database System Development Lifecycle
(13/27)
Bottom-up Approach
• The bottom-up approach begins at the fundamental level
of attributes (i.e., properties of entities and
relationships), which through analysis of the
associations between attributes are grouped into
relations that represent types of entities and relationships
between entities.
• The bottom-up approach is appropriate for the design of
simple databases with a relatively small number of
attributes.
15
Database System Development Lifecycle
(14/27)
Top-down Approach
• Top-down approach is the most appropriate strategy
for the design of complex databases.
• The top-down approach starts with the development of
data models that contain a few high-level entities and
relationships and then applies successive top-down
refinements to identify lower-level entities,
relationships, and the associated attributes.
16
Database System Development Lifecycle
(15/27)
• The top-down approach is illustrated using the
concepts of the entity-relationship (ER) model,
beginning with the identification of entities and
relationships between the entities, which are of interest
to the organization.
17
Database System Development Lifecycle
(16/27)
5. DBMS Selection
• DBMS selection is the selection of an appropriate
DBMS to support the database system (Connolly &
Begg, 2015).
• Selection can be done at any time prior to logical
design provided sufficient information is available
regarding system requirements such as performance,
security, ease of restructuring, & integrity constraints.
18
Database System Development Lifecycle
(17/27)
6. Application Design
• Application design is the design of the user interface
and the application programs that use and process the
database (Connolly & Begg, 2015).
• We must ensure that all the functionality stated in the
users’ requirements specification is present in the
application design for the database system.
19
Database System Development Lifecycle
(18/27)
• This involves designing the application programs that
access the database and designing the transactions.
• In addition to designing how the required functionality
is to be achieved, we have to design an appropriate
user interface to the database system.
• This interface should present the required information
in a user-friendly way.
20
Database System Development Lifecycle
(19/27)
7. Prototyping
• Prototyping refers to building a working model of a
database system (Connolly & Begg, 2015).
• A prototype is a working model that does not normally
have all the required features or provide all the
functionality of the final system.
21
Database System Development Lifecycle
(20/27)
• The main purpose of developing a prototype database
system is to allow users to use the prototype to
identify the features of the system that work well or
are inadequate, and suggest improvements or even
new features to the database system.
• There are two prototyping strategies in use today:
o requirements prototyping
o evolutionary prototyping.
22
Database System Development Lifecycle
(21/27)
▪ Requirements prototyping uses a prototype to
determine the requirements of a proposed database
system, and once the requirements are complete, the
prototype is discarded.
▪ Evolutionary prototyping uses a prototype to
determine the requirements of a proposed database
system, and once the requirements are complete, the
prototype is kept, but with further development
becomes the working database system. 23
Database System Development Lifecycle
(22/27)
8. Implementation
• Implementation refers to the physical realization of
the database and application designs (Connolly &
Begg, 2015).
• The database implementation is achieved using the
data definition language (DDL) of the selected DBMS
or a graphical user interface (GUI), which provides the
same functionality while hiding the low-level DDL
statements. 24
Database System Development Lifecycle
(23/27)
9. Data Conversion and Loading
• Data conversion and loading refers to transferring any
existing data into the new database and converting
any existing applications to run on the new database
(Connolly & Begg, 2015).
• This stage is required only when a new database
system is replacing an old system.
25
Database System Development Lifecycle
(24/27)
10. Testing
• Testing is the process of running the database system
with the intent of finding errors (Connolly & Begg,
2015).
• The newly developed database system should be
thoroughly tested using carefully planned test
strategies and realistic data, so that the entire testing
process is methodically and rigorously carried out.
26
Database System Development Lifecycle
(25/27)
11. Operational Maintenance
• Operational maintenance is the process of monitoring
and maintaining the database system following
installation (Connolly & Begg, 2015).
• The maintenance stage involves the following
activities:
o Monitoring the performance of the system
o Maintaining and upgrading the database system
27
Database System Development Lifecycle
(26/27)
• Once the database system is fully operational, close
monitoring takes place to ensure that performance
remains within acceptable levels.
• A DBMS normally provides various utilities to aid
database administration, including utilities to load data
into a database and to monitor the system.
• The utilities that allow system monitoring give
information on database usage, locking efficiency, and
query execution strategy. 28
Database System Development Lifecycle
(27/27)
• The monitoring process continues throughout the life
of a database system and in time may lead to
reorganization of the database to satisfy the changing
requirements.
• These changes in turn provide information on the
likely evolution of the system and the future resources
that may be needed.
29
Fact-Finding Techniques (1/34)
• Fact-finding techniques are methods used to gather
relevant information, data, and insights required for
system development, particularly during the early stages
of system analysis and design.
• These techniques help analysts understand the
requirements, processes, and challenges within an
organization to ensure that the final system or database
meets user needs and business objectives.
• The common fact-finding techniques used in database
design include: 30
Fact-Finding Techniques (2/34)
❑ Interviews
• Interviews involve direct communication between the
analyst and one or more individuals to elicit information
about the current system, requirements for a new system,
business processes, and potential issues.
• Interviews are one of the primary fact-finding
techniques used in system analysis and design to gather
detailed information from stakeholders.
• This helps in understanding their needs, processes, and
data requirements. 31
Fact-Finding Techniques (3/34)
32
Fact-Finding Techniques (4/34)
❑ Questionnaires
• Questionnaires consist of a set of structured questions
designed to obtain specific data, opinions, and insights
from stakeholders about the current system, user
requirements, or other relevant topics.
• This method can help gather structured data and
opinions.
33
Fact-Finding Techniques (5/34)
34
Fact-Finding Techniques (6/34)
❑ Observation
• Observation involves watching and recording how
users interact with a system or perform tasks within
their work environment.
• This technique allows analysts to gather data on actual
behaviors, workflows, and system usage, providing
insights that might not be captured through interviews
or questionnaires.
35
Fact-Finding Techniques (7/34)
36
Fact-Finding Techniques (8/34)
❑ Document Analysis
• Document analysis involves reviewing and analyzing
existing documentation related to the current system,
processes, and organizational context.
• This method is used to gather detailed information
about the system's history, requirements, policies,
procedures, and other relevant aspects without direct
interaction with stakeholders.
37
Fact-Finding Techniques (9/34)
38
Fact-Finding Techniques (10/34)
❑ Research and Literature Review
• A literature review involves systematically searching,
analyzing, and synthesizing existing research,
theories, models, and case studies relevant to the
subject of interest.
• The primary goal is to gather knowledge from existing
literature to inform and guide the development of new
systems, processes, or research projects.
39
Fact-Finding Techniques (11/34)
40
Fact-Finding Techniques (12/34)
❑ Prototyping
• Prototyping is a technique where a preliminary
version of a system or a component is built to explore
and refine requirements.
• Prototyping allows stakeholders to interact with a
working model of the system early in the development
process, providing valuable feedback that can help
clarify requirements, identify potential issues, and
guide further development. 41
Fact-Finding Techniques (13/34)
42
Fact-Finding Techniques (14/34)
❑ Brainstorming
• Brainstorming is a collaborative technique used to
generate ideas, solutions, and insights related to a
system, process, or problem.
• It is a creative and open-ended process where
participants are encouraged to freely share their
thoughts and suggestions without fear of criticism.
43
Fact-Finding Techniques (15/34)
• The goal of brainstorming is to
o explore a wide range of possibilities,
o uncover potential issues, and
o gather diverse perspectives that can inform the
development or improvement of a system.
44
Fact-Finding Techniques (16/34)
45
Fact-Finding Techniques (17/34)
❑ Joint Application Development (JAD) Sessions
• JAD sessions are collaborative meetings used in
systems development and fact-finding processes to
gather requirements and design solutions.
• These sessions involve key stakeholders, such as
business users, system analysts, and developers,
working together to discuss, refine, and agree on
system requirements and design elements.
46
Fact-Finding Techniques (18/34)
47
Fact-Finding Techniques (19/34)
❑ Data Modeling Workshops
• Data modeling workshops are collaborative sessions
designed to facilitate the creation and refinement of data
models, which represent the data structures and
relationships within a system or organization.
• These workshops are a key part of the fact-finding
process, especially in systems analysis and database
design, helping to ensure that data requirements are
accurately captured and understood.
48
Fact-Finding Techniques (20/34)
49
Fact-Finding Techniques (21/34)
❑ Data Profiling
• Data profiling is a process used in fact-finding to
analyze and assess the quality, structure, and content
of data within a system or database.
• The goal is to understand the data's characteristics and
identify any issues or opportunities for improvement
before using it for decision-making, reporting, or
system design.
50
Fact-Finding Techniques (22/34)
51
Fact-Finding Techniques (23/34)
❑ Use Cases and User Stories
• Use cases describe how a system will interact with
users (or other systems) to achieve a specific goal.
• They outline the sequence of actions that a system
performs in response to a user’s interaction.
• User stories are short, informal descriptions of a
feature or functionality from the perspective of an end
user.
52
Fact-Finding Techniques (24/34)
• They are typically written in a simple, non-technical
language.
• Identifying use cases and user stories can help capture
the specific interactions and requirements of different
user roles within the organization.
53
Fact-Finding Techniques (25/34)
54
Fact-Finding Techniques (26/34)
❑ Benchmarking
• Benchmarking is the process of measuring an
organization’s or system’s performance against others
considered as best in the industry or against established
standards to identify areas for improvement.
• Comparing the organization's database needs and
processes with similar organizations can provide
insights into best practices and potential improvements.
55
Fact-Finding Techniques (27/34)
56
Fact-Finding Techniques (28/34)
❑ Pilot Projects
• A pilot project is a trial run of a proposed solution or
process, conducted on a smaller scale to assess its
feasibility, identify potential problems, and gather
data before committing to a full-scale implementation.
• They help identify potential issues, validate
assumptions, and refine the solution based on real-
world feedback.
57
Fact-Finding Techniques (29/34)
58
Fact-Finding Techniques (30/34)
❑ Data Dictionary
• A data dictionary is a centralized collection of
definitions, descriptions, and attributes for data
elements used in a system or project.
• It provides detailed information about each data
element, including its purpose, format, constraints,
and relationships with other data elements.
59
Fact-Finding Techniques (31/34)
60
Fact-Finding Techniques (32/34)
❑ Reverse Engineering
• Reverse engineering is a process where you analyze
and deconstruct an existing system, product, or
process to understand its components, functionality,
and design.
• This method is used to gather information about a
system when the original documentation is
unavailable, incomplete, or outdated.
61
Fact-Finding Techniques (33/34)
62
Fact-Finding Techniques (34/34)
• Selecting the most appropriate fact-finding techniques
depends on the specific project, its complexity, and the
available resources.
• Combining these techniques is often used to
understand the organization's database requirements
comprehensively.
63
Reading Lists (1/2)
1. Silberschatz, A., Korth, H. F., & Sudarshan, S. (2020).
Database System Concepts (7th ed.). New York: McGraw-
Hill.
2. Lemahieu, W., Broucke, V. S., & Baesens, B. (2018).
Principles of database management: The practical guide to
storing, managing and analyzing big and small data.
Cambridge University Press.
3. Elmasri, R., & Navathe, S. (2017). Fundamentals of
Database Systems (7th ed.). Pearson India
64
Reading Lists (2/2)
4. Jukic, N., Vrbsky, S., & Nestorov, S. (2016). Database
systems: Introduction to databases and data warehouses.
Prospect Press.
5. Connolly, T., & Begg, C. (2015). Database Systems: A
Practical Approach to Design, Implementation, and
Management (6th ed.). Essex, Harlow, England: Pearson
Education Limited.
6. Hoffer, J. A., Ramesh, V., & Heikki, T. (2013). Modern
Database Management (11th ed.). Boston, U.S: Pearson
Education Limited. 65
66