Database Application Development

Download as pdf or txt
Download as pdf or txt
You are on page 1of 26

Database Application

Development

CS341
Information System (IS)
 Information system
 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.

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

 Is independent of how it may be realized


 Design
 Begins with a system specification
 Provides a detailed description of how a system should be
constructed
5
System Development Phases (cont.)
 Implementation
 The construction of a computer system according to a given
design document
 Involves Coding, Database construction, …
 Testing
 Compares the implemented system against the design
documents and requirements
 Produces an acceptance report
 Maintenance
 Involves dealing with changes in the requirements or the
implementation environment
 bug fixing, change of requirements, additional requirements

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

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.

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

 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

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

Client side interface or Middel 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