0% found this document useful (0 votes)
2 views29 pages

Chapter 3

Chapter Three discusses database application development, emphasizing the importance of information systems and the software development life cycle (SDLC). It outlines the main phases of system development, including requirements gathering, analysis, design, implementation, testing, and maintenance. Additionally, it explores various database architectures, such as tele-processing, file-server, 2-tier, and 3-tier architectures, highlighting their advantages and disadvantages.

Uploaded by

r
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views29 pages

Chapter 3

Chapter Three discusses database application development, emphasizing the importance of information systems and the software development life cycle (SDLC). It outlines the main phases of system development, including requirements gathering, analysis, design, implementation, testing, and maintenance. Additionally, it explores various database architectures, such as tele-processing, file-server, 2-tier, and 3-tier architectures, highlighting their advantages and disadvantages.

Uploaded by

r
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 29

CHAPTER THREE

DATABASE APPLICATION
DEVELOPEMENT
WHAT IS INFORMATION SYSTEM?

◇ Information system is a Collection, Management, Control,


and Dissemination of information throughout an
organization
◇ Database is a fundamental component of IS

◇ Database development and usage should be viewed from


perspective of the wider requirements of the
organization.
SOFTWARE DEVELOPMENT LIFE CYCLE?

◇ The core aspect of software engineering is the subdivision of


the development process into a series of phases, or steps

◇ Each phase focuses on one aspect of the development


■ Each phase in the life cycle can be checked for correctness
before moving on to the next phase
◇ The collection of these steps is referred to as the Software
Development Life Cycle (SDLC).

◇ Software products move through a life cycle repeatedly


■ It is refined or redeveloped
■ Until it is finally retired from use
THE MAIN PHASES OF SYSTEM DEVELOPMENT
LIFE CYCLE

Requirements
Gathering Analysis Design

Implementation Testing Maintenance

4
SYSTEM DEVELOPMENT PHASES

THE MAIN PHASES OF SYSTEM


DEVELOPMENT LIFE CYCLE
◇ Requirements Gathering ◇ Analysis
■ Produces a statement of ■ Starts with the statement of
user requirements requirements
■ Involves consultation with ■ Produces a system
stakeholders about what specification
○ The specification is a formal
they want from a system
representation of what a
system should do

5
THE MAIN PHASES OF SYSTEM
DEVELOPMENT LIFE CYCLE
◇ Design ◇ Implementation
■ Begins with a system ■ The construction of a
specification computer system according
■ Provides a detailed to a given design document
description of how a ■ Involves Coding, Database
system should be construction, …
constructed

6
THE MAIN PHASES OF SYSTEM
DEVELOPMENT LIFE CYCLE
◇ Testing ◇ Maintenance
■ Compares the ■ Involves dealing with
implemented system changes in the requirements
against the design or the implementation
documents and environment
requirements ■ bug fixing, change of
■ Produces an acceptance requirements, additional
report requirements

7
SYSTEM DEVELOPMENT
PHASES
REQUIREMNET GATHERING –DB SYSTEM
◇ Requirements Gathering involves understanding the proposed system
◇ The purpose is to obtain and document
■ the data and
■ functional requirements
◇ The result of this step is a document that includes:
■ The persistent data that users want to store
■ The description of the meaning of the data elements
◇ The data description should answer
■ what are the data items ?
■ what are the properties of the data items ?
■ what relationships hold between the data items ?
■ what constraints apply ?
REQUIREMNET GATHERING –DB SYSTEM
◇ Different Methods are used to understand the system:
■ Interviewing end users
○ Individual interviews and
○ group discussions
■ Questionnaire survey
■ Direct observation of the work process
■ Examining different documents
○ Forms
○ Reports
○ Receipts
○ Invoices, etc.
ANALYSIS –DB SYSTEM

◇ Analysis produces a conceptual data model


■ a detailed description of the data that will suit user requirements
◇ The conceptual data model
■ provides a shared, formal representation of what is being
communicated between clients and developers
■ It is concerned with the meaning and structure of data
■ It is a formal representation of what data a database should
contain and the constraints the data must satisfy.
◇ The conceptual data model is expressed in terms that is
independent of how the model may be implemented.
■ Focuses on the questions, “What is required?” not “How is it
achieved?”
DESIGN & IMPLEMENTATION –DB SYSTEM
◇ Implementation
◇ Design ■ The creation or
■ Database design starts with construction of a
a conceptual data model database according to
and produces a the specification of a
specification of a logical logical schema
schema ■ It is dependent on the
■ The output of this stage is a choice of available
detailed relational DBMSs, database tools
specification and operating
○ The logical schema of all environment.
the tables and constraints
needed to satisfy the
description of the data in
the conceptual data model
○ This is a description of
HOW the database is to be
DBMS ARCHITECTURE
DESIGN –DB SYSTEM
◇ DBMS describes the design of a database and its related
elements
◇ It describes
■ The Database
■ The Application Program that is used to access the database
■ The user who miniplates the data
Database Application Architecture
◇ Common architectures that are used to implement
multi-user database management systems
■ Tele-processing
■ File-Server Architecture
■ 2-tier Architecture
■ 3-tier Architecture
Tele-Processing / Mainframes
◇ The traditional architecture for
multi-user systems
◇ There is one computer with a
single central processing unit
(CPU) and a number of terminals
◇ User terminals are typically ‘dumb’
ones
■ i.e. incapable of functioning on
their own.
■ User terminals are just cabled to
the main computer.
Disadvantage of Tele-Processing
◇ The architecture placed a tremendous burden
on the central computer
◇ The central computer had to
■ Run the application programs
■ Run the DBMS
■ Carry out a significant amount of work on behalf
of the terminals (such as formatting data for
display on the screen)
File-Server Architecture
◇ Processing is distributed over the network
■ Typically a local area network (LAN).
◇ Each workstation runs its own
■ Application
■ DBMS
◇ Applications and the DBMS request files from the file-
server when necessary
◇ The file-server holds the files required by applications
and the DBMS.
■ The file-server acts simply as a shared hard disk drive
File-Server Architecture (cont.)

19
File-Server Architecture
◇ Three main disadvantages of the file-server
architecture
1. There is a large amount of network traffic.
2. A full copy of the DBMS is required on each
workstation.
3. Concurrency, recovery, and integrity control are more
complex because there can be multiple DBMSs
accessing the same files at the same time.
File-Server Architecture
◇ Also called Thick Client
◇ Users run an application on their local computer
■ This is the Client
◇ The Client connects over a network to the
Database Server
◇ The Client application is responsible for both
■ business logic and
■ display output to the user
2-tier Database Architecture
◇ There is an Application layer between the user and
the DBMS
◇ The Application layer:
■ Communicates the user's request to the database
management system and
■ Sends the response from the DBMS to the user.
◇ Most DBMS vendors provide ODBC drivers for their
DBMS
■ ODBC(Open Database Connectivity)
■ An application interface
■ The API allows the client program to call the DBMS
2-tier Database Architecture
◇ 2-tier architecture provides the
database extra security as it is not
exposed to the End-User directly
■ Access is always via the DBMS
◇ Security can be improved by adding
security and authentication checks
in the Application layer
2-Tier Architecture
Step 1. Client application send
request for data

Network

DATABASE

Step 2.
Step3: Display results (Data) to the
client • Retrieve the data from the database
• Manipulating data according to the
client’s request
• Send back results to the client
3-tier Application Architecture
◇ The Application logic is run in two locations

Application Database
Client Server Database
Server

◇ This is the most commonly used architecture for web


applications
◇ The client is run on the user's local computer
■ Also called Thin Client
■ Focused on displaying results to the user
◇ The business logic is located in server applications running
on a server

25
Server Applications
 Server Applications are multithreaded application
capable of working with many concurrent users
 Server Applications reside on an Application Server
○ Examples: Web Server - Apache and Microsoft's IIS
 Thin clients request functions from the server
application
 Server Applications connections to the database
 The Server Application can be running on the same
server as the Database Server, or it can connect
across the network to a separate server operating as a
database server
3-Tier Architecture
Network

DATABASE

Client side interface or Middle Tier Storage


browser (Business logic)

 Client Services - Provide the user interface and preliminary


processing.
 Check / Validation of data
 Make sure that the data is in the proper format,
 Data services - Handle the data storage, retrieval and
processing.
Two-tier

Three-tier
Application Architectures

You might also like