Database Application Development
Database Application Development
Database Application Development
Development
CS341
Information System (IS)
Information system
Collection
Management
Control, and
Dissemination of information throughout an organization
2
System 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).
Why CYCLE?
Software products move through a life cycle repeatedly
It is refined or redeveloped
Until it is finally retired from use
3
System Development Phases
The main phases of the system development life cycle:
1. Requirements Gathering
2. Analysis
3. Design
4. Implementation
5. Testing
6. Maintenance
4
System Development Phases (cont.)
Requirements Gathering
Produces a statement of user requirements
Involves consultation with stakeholders about what they want
from a system
Analysis
Starts with the statement of requirements
Produces a system specification
The specification is a formal representation of what a system should do
6
Requirements 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 ?
7
Requirements 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.
8
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?”
9
Design & Implementation - DB System
Design
Database design starts with a conceptual data model and
produces a specification of a logical schema
The output of this stage is a detailed relational specification
The logical schema of all 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 built!
Implementation
The creation or construction of a database according to the
specification of a logical schema
It is dependent on the choice of available DBMSs, database
tools and operating environment.
10
DBMS Architecture
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
11
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
12
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.
13
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)
14
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
15
File-Server Architecture (cont.)
16
File-Server Architecture (cont.)
Three main disadvantages of the file-server architecture
17
2-tier Database 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
18
2-tier Database Architecture (cont.)
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
19
2-tier Database Architecture (cont)
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
20
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 Database
Server Server
22
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
23
3-Tier Architecture
Network
DATABASE
Three-
tier
Application Architectures