0% found this document useful (0 votes)
1K views115 pages

Online Book Purchase

The document describes a project report on an Online Book Purchase System. The system was developed at the Department of Computer Science at Reva Institute of Management Studies. The project aims to address the problems of managing a bookstore manually and reduce human error, workload, and improve security and record keeping through an online system. The report includes sections on system analysis, feasibility study, design, implementation, testing and conclusion of the online book purchase system project.

Uploaded by

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

Online Book Purchase

The document describes a project report on an Online Book Purchase System. The system was developed at the Department of Computer Science at Reva Institute of Management Studies. The project aims to address the problems of managing a bookstore manually and reduce human error, workload, and improve security and record keeping through an online system. The report includes sections on system analysis, feasibility study, design, implementation, testing and conclusion of the online book purchase system project.

Uploaded by

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

ONLINE BOOK PURCHASE SYSTEM

BANGALORE UNIVERSITY

RUKMINI EDUCATIONAL CHARITABLE TRUST

REVA INSTITUTE OF MANAGEMENT STUDIES


BANGALORE - 560064

Project Report on

ONLINE BOOK PURCHASE SYSTEM

Undertaken at
DEPARTMENT OF COMPUTER SCIENCE
REVA INSTITUTE OF MANAGEMENT STUDIES
For the partial fulfillment of the award of the
Degree of
Bachelor of Computer Application
Submitted by

VINAY M.C 154PSB7018

Under the guidance of


Mr. RUDRASWAMY Y J
Dept of Computer Science

1
ONLINE BOOK PURCHASE SYSTEM

CERTIFICATE
RUKMINI EDUCATIONAL CHARITABLE TRUST

REVA INSTITUTE OF MANAGEMENT STUDIES

DEPARTMENT OF COMPUTER SCIENCE

Certified that the project work entitled "ONLINE BOOK PURCHASE SYSTEM" is a
bonafide work carried out by VINAY M.C (154PSB7018).Of VI semester BCA in partial
fulfillment for the award of Bachelor of Computer Application from Bangalore University
during the academic year 2017 -2018 The project report has been approved as it has
satisfied the requirements of the project work prescribed by the University of Bangalore.

Signature of the HOD Signature of the principal


Mr. RUDRASWAMY Y J Prof. J VISHWANATH
Dept. Of Computer science REVA INSTITUTE OF MANAGEMENT STUDIES

Examiners. Signature of the Guide


Mr. RUDRASWAMY Y J
Lecturer
Dept. of Computer Science

2
ONLINE BOOK PURCHASE SYSTEM

ACKNOWLEDGEMENT

First and foremost I would like to express my gratitude to my guide


Mr.Madhusudhan , Mrs.Amutha and other faculty member for giving us
wonderful opportunity to work on the project.

This project is giving us fair exposure to some of the very interesting


features of “ONLINE BOOK PUCHASE SYSTEM” and “PHP” along
beyond doubt, and it will help us in the some of very exiting features
of “ONLINE BOOK PURCHASE SYSTEM”.

I am also thankful to all my lectures of REVA INSTITUTE OF


MANAGEMENT STUDIES who were simply full of ideas and
whenever there was any need , they shared those great ideas and
concept with us. and in the end, I would like to thank all those who
helped me during the testing phase of the project.

3
ONLINE BOOK PURCHASE SYSTEM

DECLARATION

I hereby declare that this project report entitled


“ONLINE BOOK PURCHASE SYSTEM” submitting for partially
fulfillment of the requirement for the BCA VI SEM. This report is
only for educational purpose and not for any other purpose.

VINAY MC (154PSB7018)
BCA VI SEM

4
ONLINE BOOK PURCHASE SYSTEM

CONTENTS
 SYNOPSIS
 SYSTEM STUDY AND ANALYSIS
 SYSTEM DESIGN
 DATA FLOW DIAGRAM
 ER DIAGRAM
 SOFTWARE DEVELOPMENT LIFE CYCLE
 DATABASE DESIGN
 SYSTEM REQUIREMENTS
 IMPLEMENTATION
 SCREEN SHOTS
 TESTING
 COCLUSION
 BIBILOGRAPHY

5
ONLINE BOOK PURCHASE SYSTEM

SYNOPSIS

6
ONLINE BOOK PURCHASE SYSTEM

ONLINE BOOK PURCHASE AT IT’S FINEST

AS THE NAME SPECIFIES “ONLINE BOOK PURCHASE SYSTEM” IS A

SOFTWARE DEVELOPED FOR PURCHASING THE BOOKS FOR THE

PEOPLE .FOR THE PAST FEW YEARS SO MANY TECHNOLOGY ARE

INCREASING AND BOOKS ON THAT ALSO INCREASING MOREOVER PEOPLE

ARE SHOWING INTERST ON READING BOOKS .AND HENCE THERE IS LOT OF

STRAIN ON THE PERSON WHO ARE RUNNING BOOK STORE AND

SOFTWARES’S ARE USUALLY USED IN THIS CONTEXT.THIS PROJECT DEALS

WITH PROBLEMS OF MANAGING A BOOK STORE AND AVOIDS THE

PROBLEMS WHICH OCCUR WHEN CARRIED MANUALLY

THE ADVANTAGES OF BOOK PURCHASE SYSTEM ARE:

 LESS HUMAN ERROR

 STRENGTH AND STRAIN OF MANUAL LABOUR CAN BE REDUCED

 HIGH SECURITY

 EASY TO HANDLE

7
ONLINE BOOK PURCHASE SYSTEM

 EASY DATA KEEPING

 EASY RECORD KEEPING

2. SYSTEM STUDY AND ANALYSIS

2.1 INTRODUCTION

System Study and Analysis is a process of gathering and interpreting facts, diagnosing

problems and the information to recommend improvements on the system. It is a

problem solving activity that requires intensive communication between the system

users and system developers. System analysis or study is an important phase of any

system development process. The system is studied to the minutest detail and analyzed.

The system analyst plays the role of the interrogator and dwells deep into the working of

the present system. The system is viewed as a whole and the input to the system are

identified. The outputs from the organizations are traced to the various

processes. System analysis is concerned with becoming aware of the problem,

identifying the relevant and decisional variables, analyzing and synthesizing the various

factors and determining an optimal or at least a satisfactory solution or program of

action.

8
ONLINE BOOK PURCHASE SYSTEM

A detailed study of the process must be made by various techniques like interviews,

questionnaires etc. The data collected by these sources must be scrutinized to arrive to a

conclusion. The conclusion is an understanding of how the system functions. This

system is called the existing system. Now the existing system is subjected to close study

and problem areas are identified. The designer now functions as a problem solver and

tries to sort out the difficulties that the enterprise faces. The solutions are given as

proposals. The proposal is then weighed with the existing system analytically and the

best one is selected. The proposal is presented to the user for an endorsement by the

user. The proposal is reviewed on user request and suitable changes are made. This is

loop that ends as soon as the user is satisfied with proposal.

Preliminary Study is the process of gathering and interpreting facts, using the

information for further studies on the system. Preliminary study is problem solving

activity that requires intensive communication between the system users and system

developers. It does various feasibility studies. In these studies a rough figure of the

system activities can be obtained, from which the decision about the strategies to be

followed for effective system study and analysis can be taken.

Here in the project Medical Billing System,

a detailed study of existing system is carried along with all the steps in system analysis.

An idea for creating a better project was carried and the next steps were followed.

2.2 FEASIBILITY STUDY

9
ONLINE BOOK PURCHASE SYSTEM

An important outcome of the preliminary investigation is the determination that the

system requested is feasible. Feasibility Study is carried out to select the best system

that meets the performance requirements.

Feasibility study is both necessary and prudent to evaluate the feasibility of the project

at the earliest possible time. It involves preliminary investigation of the project and

examines whether the designed system will be useful to the organization. Months or

Years of Effort, thousand for millions of money and untold professional embarrassment

can be averted if an in-conceived system is recognized early in the definition phase.

The different types of feasibility are: Technical Feasibility, Operational Feasibility,

Economical Feasibility.

2.2.1Technical Feasibility

Technical Feasibility deals with the hardware as well as software requirements.

Technology is not a constraint to type system development. We have to find out whether the

necessary technology, the proposed equipments have the capacity to hold the data, which is

used in the project, should be checked to carryout this technical feasibility.

The technical feasibility issues usually raised during the feasibility stage of

investigation includes these

 This software is running in windows 2000 Operating System, which can be easily

installed.

 The hardware required is Pentium based server.

 The system can be expanded.

2.2.2 Behavioral Feasibility

10
ONLINE BOOK PURCHASE SYSTEM

This feasibility test asks if the system will work when it is developed and

installed.

Operational feasibility in this project:

 The proposed system offers greater level of user-friendliness.

 The proposed system produces best results and gives high performance. It can be

implemented easily .So this project is operationally feasible.

2.2.3 Economical Feasibility

Economical Feasibility deals about the economical impact faced by the organization to

implement a new system. Financial benefits must equal or exceed the costs. The cost of

conducting a full system, including software and hardware cost for the class of

application being considered should be evaluated. Economic Feasibility in this project:

 The cost to conduct a full system investigation is possible.

 There is no additional manpower requirement.

 There is no additional cost involved in maintaining the proposed system.

11
ONLINE BOOK PURCHASE SYSTEM

2.4 EXISTING SYSTEM

At present, manual system is being utilized in the pharmacy. It requires the pharmacist to manually
monitor each drug that is available in the pharmacy. Pharmacy Management has kept paper record in
filing cabinets. Managing a very large pharmacy with records on papers will be tedious and difficult to
keep track of inventories with regards to the drugs in the store, expiry date, quantity of drugs available
based on the categories and their functions. This implies that these services will be manually completed
by the pharmacist. This usually leads to mistakes as the workload of the pharmacist increases. This
system also ensures that there exists a level of restricted access based on functionality and role. This
system also provides optimal drug inventory management by monitoring the drug movement in the
pharmacy. Significant amount of time is allocated for writing the order as the pharmacist needs to go
through the stock balance and make rough estimate of the amount to order based on Figures. The
system will not be able to handle drug prescription, drug to drug interaction.

In Existing system following points are observed:


 Chances of errors and data processing time
 Timely Due to manual process, required more time to complete user requirement
 It will increase updating is complicated.
 Security of data were not maintain

12
ONLINE BOOK PURCHASE SYSTEM

2.5 PROPOSED SYSTEM

It is the user friendly application for Pharmacist which reduces the burden and helps to manage all

sections of Pharmacy like Medicine Management and Billing etc., which improve the processing

efficiency. This will enhance the efficiency of clinical work and ease patient’s convenience, bearing in

mind that in Ethiopia is heading towards pharmaceutical care of patients. It deals with the automating

tasks of maintaining of Bills. In Pharmacy, Billing management is the key process. In addition, medical

system will be able to process drug prescription with ease. Including safe data store about medicine as

well as fast searching, delete and update of medicines. The medical billing system is built for the sake

of ensuring effective and clear data saving and manipulating as well as neat work on the pharmacy

medical products.

Advantages:

 The existing of Medical Store System is manually which require more paper work
so it needs to computerized the system to get following benefits.

 Computer enhances easy and simple means of Storing information. The space

occupied for storing of information is reduced.

 Computers helps in fast retrieval of information .we can search information in a

short of time.
 Maintenance of data is very easy and workload is reduced.

 It’s a paperless system.


 We can generated report on demand.
 It will give faster modification.

13
ONLINE BOOK PURCHASE SYSTEM

SYSTEM DESIGN
INTRODUCTION

System Design is the most creative and challenging phase in the system life cycle.

Design is the first step into the development phase for any engineered product or

system. Design is a creative process. A good design is the key to effective system.

System design is a solution how to approach the creation of a new system. System

design transforms a logic representation of what is required to do into the physical

specification. The specification is converted into physical reality during development.

3.2 LOGICAL DESIGN

The logical flow of a system and define the boundaries of a system. It includes the

following steps:

14
ONLINE BOOK PURCHASE SYSTEM

 Reviews the current physical system – its data flows, file content, volumes,

frequencies etc.

 Prepares output specifications – that is, determines the format, content and Frequency of

reports.

 Prepares input specifications – format, content and most of the input functions.

 Prepares edit, security and control specifications.

 Specifies the implementation plan.

 Prepares a logical design walk through of the information flow, output, input, controls

and implementation plan.

 Reviews benefits, costs, target dates and system constraints.

3.3 PHYSICAL DESIGN

Physical system produces the working systems by define the design specifications that

tell the programmers exactly what the candidate system must do. It includes the

following steps:

 Design the physical system.

 Specify input and output media.

 Design the database and specify backup procedures.

 Design physical information flow through the system and a physical design Walk

through.

 Plan system implementation.

 Prepare a conversion schedule and target date.

15
ONLINE BOOK PURCHASE SYSTEM

 Determine training procedures, courses and timetable.

 Devise a test and implementation plan and specify any new hardware/software.

 Update benefits , costs , conversion date and system constraints.

Design/Specification activities

 Concept formulation.

 Problem understanding.

 High level requirements proposals.

 Feasibility study.

 Requirements engineering.

 Architectural design.

3.4 INPUT DESIGN

Input Design deals with what data should be given as input, how the data should be

arranged or code, the dialog to guide the operating personnel in providing input,

methods for preparing input validations and steps to follow when error occur. Input

Design is the process of converting a user-oriented description of the input into a

computer-based system. This design is important to avoid errors in the data input

process and show the correct direction to the management for getting correct

information from the computerized system. It is achieved by creating user-friendly

screens for the data entry to handle large volume of data. The goal of designing input is

to make data entry easier and to be free from errors. The data entry screen is designed in

16
ONLINE BOOK PURCHASE SYSTEM

such a way that all the data manipulates can be performed. It also provides record

viewing facilities.

When the data is entered it will check for its validity. Data can be entered with the help

of screens. Appropriate messages are provided as when needed so that the user will not

be in maize of instant. Thus the objective of input design is to create an input layout that

is easy to follow.

In this project, the input design consists of a log in screen, tab for compression/

decompression, source and destination browsing button, a menu list for selecting the

algorithm, Compress/Decompress option, compress/decompress button.

3.5 OUTPUT DESIGN

A quality output is one, which meets the requirements of the end user and presents the

information clearly. The objective of output design is to convey information about past

activities, current status or projections of the future, signal important events,

opportunities, problems, or warnings, trigger an action, confirm an action etc. Efficient,

intelligible output design should improve the system’s relationship with the user and

helps in decisions making. In output design the emphasis is on displaying the output on

a CRT screen in a predefined format. The primary consideration in design of output is

the information requirement and objectives of the end users. The major formation of the

17
ONLINE BOOK PURCHASE SYSTEM

output is to convey the information and so its layout and design need a careful

consideration.

There is an output display screen for showing the compressed/decompressed file or

folder details (Original file size, Compressed/Decompressed file size, distinct

characters)

3.6 DATA FLOW DIAGRAM

Data flow oriented techniques advocate that the major data items handled by a

system must be first identified and then the processing required on these data items to

produce the desired outputs should be determined. The DFD (also called as bubble

chart) is a simple graphical formalism that can be used to represent a system in terms of

input data to the system, various processing carried out on these data, and the output

generated by the system. It was introduced by De Macro (1978), Gane and Sarson

(1979).The primitive symbols used for constructing DFD’s are:

Symbols used in DFD

A circle represents a process.

A rectangle represents external entity

18
ONLINE BOOK PURCHASE SYSTEM

A square defines a source or destination of the system data.

An arrow identifies dataflow.

Double line with one end closed indicates data store.

19
ONLINE BOOK PURCHASE SYSTEM

DATA FLOW DIAGRAM

20
ONLINE BOOK PURCHASE SYSTEM

LEVEL -1 DFD FOR ADMIN

21
ONLINE BOOK PURCHASE SYSTEM

LEVEL- 2 DFD FOR ADMIN

22
ONLINE BOOK PURCHASE SYSTEM

DFD FOR CUSTOMER

23
ONLINE BOOK PURCHASE SYSTEM

ENTITY RELATIONSHP DIAGRAM

24
ONLINE BOOK PURCHASE SYSTEM

SOFTWARE DEVELOPMENT LIFE CYCLE

The software development life cycle ( SDLC) is a framework defining task


performed at each step in the software development process . SDLC is a
structure followed by a development team within the software organization.
It consists of a detailed plan describing how to develop , maintain and replace
specific software. The life cycle defines a methodology for improving the
quality of software and the overall development process.

SDLC consists of following activities

PLANNING:

The most important parts of software development ,requirement gathering or


requirement analysis are usually done by the most skilled and experienced
software engineers in the organizations .
After the requirements are gathered from the client, a scope document is
created in which the scope of the project is determined and documented.

IMPLEMENTATION:
The software engineers start writing the code according to the client’s
requirements.

25
ONLINE BOOK PURCHASE SYSTEM

TESTING :
This is the process of finding defects or bugs in the created software.

DOCUMENTATION:

Every step in the project is documented for future reference and for the
improvement of the software in the development process. The design
documentation may include writing the application programming
interface(API) .

DEPLOYMENT AND MAINTAINENCE:

The software is deployed after it has been approved for release.

MAINTAINING:

Software maintenance is done for future reference. Software improvement


and new requirements (change requests)can take longer than the time needed
to create the initial development of the software.
26
ONLINE BOOK PURCHASE SYSTEM

WATERFALL MODEL:

This model involves finishing the first phase completely before commencing
the next one. When each phase is completed successfully , it is reviewed to
see if the project is on track and whether it is visible to continue.

INCREMENTAL MODEL:

This life cycle model involves multiple development cycles. The cycles are
divided up into smaller iterations. These iterations can be easily managed and
go through a set of phases including requirements , design , implementation
and testing . A working version of the software is produced during the first
iteration , so working software is created early in the development process.

SYSTEM ANALYSIS

System analysis aims at establishing requests for the system to be acquired,


developed and installed. It involves studying and analyzing the ways of an
organization currently processing the data to produce information. Analyzing
the problem thoroughly forms the vital part of the system study. In system
analysis, prevailing situation of problem carefully examined by breaking
them into sub problems. Problematic areas are identified and information is
27
ONLINE BOOK PURCHASE SYSTEM

collected. Data gathering is essential to any analysis of requests. It is


necessary that this analysis familiarizes the designer with objectives,
activities and the function of the organization in which the system is to be
implemented.

PROJECT IDENTIFICATION OF NEED


As the strength of the students is increasing at a tremendous speed, manual
maintenance of student admission is very difficult. Hence, the need for
online admission inevitable.
In case of manual system they need a lot of time, manpower etc. Here almost
all work is computerized. So the accuracy is maintained. Maintaining backup
is very easy. It can do with in a few minutes
PRELIMINARY INVESTIGATION
STUDY OF EXISTING SYSTEM
Today in colleges student details are entered manually. The student details in
separate records are tedious task. Referring to all these records and updating
is needed. There is a chance for more manual errors.
1. When the student comes in college.
2. First of all, he/she takes admission form from reception.
3. Fills it and submits it into office.4. Filled form is first checked with
documents like merit list an details came from university and verified by an
official person , if there is any mistake then it is corrected.
28
ONLINE BOOK PURCHASE SYSTEM

5. At the time of submission of it the fees is deposited by the candidate.


6. At the time of submission of admission form admission no. is assigned to
the candidate by the institute.
7. Candidate gets the receipt of fees deposition.

Disadvantages of Present System:-


1. Require much man power i.e. much efforts, much cost and hard to operate
and maintain.
2. Since, all the work is done in papers so it is very hard to locate a particular
student record when it is required.

PROPOSED SYSTEM
The main goal of the system is to automate the process carried out in the
organization with improved performance and realize the vision of paperless
admission. Some of the goals of the system are listed below:
 Manage large number of student details.
 Manage all details of student who registered for the course
 Create student accounts and maintain the details effectively.
 View all the details of the students.
 Reduce the work load in interview the students for selection.

29
ONLINE BOOK PURCHASE SYSTEM

 Activities like updating, modification, deletion of records should be


easier.

ECONOMIC FEASIBILITY

Economic analysis is most frequently used for evaluation of the effectiveness


of the system. More commonly knows as cost/benefit analysis the procedure
is to determine the benefit and saving that are expected from a system and
compare them with costs, decisions is made to design and implement the
system. This part of feasibility study gives the top management the economic
justification for the new system. This is an important input to the
management the management, because very often the top management does
not like to get confounded by the various technicalities that bound to be
associated with a project of this kind. A simple economic analysis that gives
the actual comparison of costs and benefits is much more meaningful in such
cases. It is economically feasible, it will only require a single operator to
operate the system, who is responsible for entering the data into the database
via a user interface provided to him, who can also able to show all the data in
html tabular form so to provide information regarding the students who are
either taken admission or to take admission, since it requires only a single
person to operate the whole system thus reduces the cost to operate the
system. Interviewing users , employees , managers , and customers .
. Developing and administering questionnaires to interested stakeholders ,
such as potential users of the information system.

30
ONLINE BOOK PURCHASE SYSTEM

. Observing or monitoring users of the current system to determine their


needs as well as their satisfaction and dissatisfaction with the current system.
.Collecting , examining and analyzing documents , reports , layouts ,
procedures , manuals and other documentation relating to the operations of
the current system.
. Modeling , observing and simulating the work activities of the current
system.

The goal of the feasibility study is to consider alternative information


systems solutions, evaluate their feasibility and the propose the alternative
most suitable to the organization .

TECHNICAL FEASIBILITY:

Technical feasibility centers on the existing manual system of the test


management process and to what extent it can support the system. According
to feasibility analysis procedure the technical feasibility of the system is
analyzed and the technical requirements such as software facilities,
procedure, inputs are identified. It is also one of the important phases of the
system development activities. It is technically feasible, since the whole
system is designed into the latest technologies like PHP and SQL Server
which are the most recent technologies to develop web based systems and
design databases. The system offers greater levels of user friendliness
combined with greater processing speed. Therefore, the cost of maintenance
31
ONLINE BOOK PURCHASE SYSTEM

can be reduced. Since, processing speed is very high and the work is reduced
in the maintenance point of view management convince that the project is
operationally feasible

OPERATIONAL FEASIBILITY

It is Operational feasible, since the system is providing a attractive user


interface to the operator/end user, so he feel very easy to work onto it.
Response to operator/end user is very fast and very good. Since, as we
mentioned above that it requires much less amount of cost, it uses computer
work so it is very fast to operate and it is very easy for user to work on it.

4. SOFTWARE ENGINEERING PARADIGMS APPLIED

The two main programming approaches are top-down approach and bottom-
up approaches. Here while doing the software for online placement system;
we use the bottom up approach. In bottom up method, the sub modules are
designed and developed and these are assembled together to get the main
system. The individual modules are coded and debugged with example data
given checks ready for the major project design. The individual module
transaction processing can be checked thoroughly so that minute mistakes
and correction can be passed from one module to other when required and
these requisition are also considered at the development stage of code
32
ONLINE BOOK PURCHASE SYSTEM

module. These checked and corrected modules will be integrated to make the
entire system. This project also followed the bottom up design. The sub
modules are prepared very keenly and minute notations are made.
In the online admission system, the sub modules are designed first, these sub
modules are integrated into main modules. Other modules also designed in
the same fashion. Each module is tested at the beginning when they are
integrated with the sub-modules These checked and corrected modules are
integrated to make the main system,
i.e. Online Admission System

33
ONLINE BOOK PURCHASE SYSTEM

3.7 DATABASE DESIGN

A database is an organized mechanism that has the capability of storing information

through which a user can retrieve stored information in an effective and efficient

manner. The data is the purpose of any database and must be protected.

The database design is a two level process. In the first step, user requirements are

gathered together and a database is designed which will meet these requirements as

clearly as possible. This step is called Information Level Design and it is taken

independent of any individual Database Management System (DBMS).

In the second step, this Information level design is transferred into a design for the

specific DBMS that will be used to implement the system in question. This step is called

Physical Level Design, concerned with the characteristics of the specific DBMS that

will be used. A database design runs parallel with the system design. The organization

of the data in the database is aimed to achieve the following two major objectives.

 Data Integrity

 Data independence

34
ONLINE BOOK PURCHASE SYSTEM

SOFTWARE REQUIREMENTS

OPERATING SYSTEM : WINDOWS

TECHNOLOGY : PHP/MYSQL

WEB TECHNOLOGIES : LOCAL INTERNET EXPLORER

IDE : ECLIPSE HELIOS

WEB SERVER : XAMPP SERVER V3.2.2

DATABASE : MY SQL 6.0

35
ONLINE BOOK PURCHASE SYSTEM

HARDWARE REQUIREMENTS

Section Requirements and Recommendations

Support Operating Systems Microsoft Windows 7 32/64 bit


Microsoft Windows 8 32/64 bit

Additional Software Adobe Acrobat Reader 4.0 or higher


Requirements

Display Minimum resolution 800 x 600 pixel


1024 x 768 pixel recommended

RAM 2 GB or more
4 GB or more recommended

CPU 1.5 GHz processor speed or higher

36
ONLINE BOOK PURCHASE SYSTEM

37
ONLINE BOOK PURCHASE SYSTEM

SOFTWARE DESCRIPTION

Overview of php and MS Access

Front End: PHP

PHP is a server-side, cross-platform, HTML-embedded scripting language.

PHP(recursive acronym for PHP: Hypertext Preprocessor) is a widely-used open source

general-purpose scripting language that is especially suited for web development and

can be embedded into HTML.

Currently there are over half a million domains running PHP. Much of PHP’s syntax is

borrowed from C, Java and Pearl with a couple of unique PHP-specific features thrown

in. The goal of the language is to allow web developers to write dynamically generated

pages quickly. PHP eliminates the need for numerous small cgi programs by allowing

you to place simple scripts directly in your HTML files. It also makes it easier to

manage large websites by placing all components of a web page in a single html file.

PHP is mainly focused on server-side scripting, so you can do anything any other CGI

program can do, such as collect form data, generate dynamic page content, or send and

receive cookies.

PHP can be used on all major operating systems, including Linux, many Unix variants

(including HP-UX, Solaris and Open BSD), Microsoft Windows, Mac OS X, RISC OS,

and

probably others. PHP has also support for most of the web servers today.

One of the strongest and most significant features in PHP is its support for a wide

38
ONLINE BOOK PURCHASE SYSTEM

range of databases. Writing a database-enabled web page is incredibly simple using one

of the database specific extensions (e.g., for mysql), or using an abstraction layer like

PDO, or connect to any database supporting the Open Database Connection standard via

the ODBC extension. Other databases may utilize URL or sockets, like Couch DB.

Back End: My SQL

My SQL is the world's most popular open source database software, with over 100

million copies of its software downloaded or distributed throughout it's history.

With its superior speed, reliability, and ease of use, My SQL has become the preferred

choice for Web, Web 2.0, SaaS, ISV, Telecom companies and forward-thinking

corporate IT Managers because it eliminates the major problems associated with

downtime, maintenance and administration

for modern, online applications.

My SQL is a open source Relational Database Management System. My SQL is very

fast reliable and flexible Database Management System. It provides a very high

performance and it is multi-threaded and multi user Relational Database management

system.

My SQL is one of the most popular Relational Database Management System on the

web. The My SQL Database has become the world's most popular open source

Database,

because it is free and available on almost all the platforms. The My SQL can run on

Unix ,

39
ONLINE BOOK PURCHASE SYSTEM

window, and Mac OS. My SQL is used for the internet applications as it provides good

speed

and is very secure. My SQL was developed to manage large volumes of data at very

high

speed to overcome the problems of existing solutions. My SQL can be used for variety

of

applications but it is mostly used for the web applications on the internet.

Application Server: Wampp Server

WAMP is a free and open source cross-platform web server solution stack package,

consisting mainly of the Apache HTTP Server, My SQL database, and interpreters for

scripts

written in the PHP and Perl programming languages.

WAMP's name is an acronym for- X (to be read as " cross " meaning

cross-

platform),Apache HTTP Server, My SQL, PHP, Perl.

The program is released under the terms of the GNU General Public License and acts as

a free web server capable of serving dynamic pages. WAMP is available for Microsoft

Windows, Linux, Solaris, and Mac OS X, and is mainly used for web development

projects. This

software is useful while you are creating dynamic web pages using programming

languages

like PHP, JSP, Servlets.

40
ONLINE BOOK PURCHASE SYSTEM

Requirements and features: WAMP requires only one zip, tar, 7z, or exe file to be

downloaded

and run, and little or no configuration of the various components that make up the web

server

is required. WAMP is regularly updated to incorporate the latest releases of

Apache/My SQL/PHP and Perl. It also comes with a number of other modules including

Open SSL and php My Admin.

Installing WAMP takes less time than installing each of its components separately.

Self-contained, multiple instances of XAMPP can exist on a single computer, and any

given

instance can be copied from one computer to another. It is offered in both a full,

standard

version and a smaller version.

Use: Officially, XAMPP's designers intended it for use only as a development

tool, to allow

website designers and programmers to test their work on their own computers without

any

access to the Internet. To make this as easy as possible, many important security features

are

disabled by default. In practice, however, XAMPP is sometimes used to actually serve

web

pages on the World Wide Web. A special tool is provided to password-protect the most

important parts of the package.

41
ONLINE BOOK PURCHASE SYSTEM

IDE: (Integrated Development Environment)

An integrated development environment (IDE) (also known as integrated design

environment, integrated debugging environment or interactive development

environment) is

a software application that provides comprehensive facilities to computer programmers

for

software development. An IDE normally consists of:

● a source code editor

● a compiler and/or an interpreter

● build automation tools

● a debugger

The boundary between an integrated development environment and other parts of the

broader software development environment is not well-defined. Sometimes a version

control

system and various tools are integrated to simplify the construction of a GUI. Many

modern

IDEs also have a class browser, an object inspector, and a class hierarchydiagram, for

use

with object-oriented software development.

We are using Dreamweaver as an IDE

42
ONLINE BOOK PURCHASE SYSTEM

1.SYSTEM TESTING AND IMPLEMENTATIONS

4.1 CODING

Admin

<?php

$title = "Administration section";

require_once "./template/header.php";

?>

<form class="form-horizontal" method="post" action="admin_verify.php">

<div class="form-group">

<label for="name" class="control-label col-md-4">Name</label>

<div class="col-md-4">

<input type="text" name="name" class="form-control">

</div>

</div>

<div class="form-group">

<label for="pass" class="control-label col-md-4">Pass</label>

<div class="col-md-4">

<input type="password" name="pass" class="form-control">


43
ONLINE BOOK PURCHASE SYSTEM

</div>

</div>

<input type="submit" name="submit" class="btn btn-primary">

</form>

<?php

require_once "./template/footer.php";

?>

Admin ADD

<?php

session_start();

require_once "./functions/admin.php";

$title = "Add new book";

require "./template/header.php";

require "./functions/database_functions.php";

$conn = db_connect();

if(isset($_POST['add'])){

$isbn = trim($_POST['isbn']);

44
ONLINE BOOK PURCHASE SYSTEM

$isbn = mysqli_real_escape_string($conn, $isbn);

$title = trim($_POST['title']);

$title = mysqli_real_escape_string($conn, $title);

$author = trim($_POST['author']);

$author = mysqli_real_escape_string($conn, $author);

$descr = trim($_POST['descr']);

$descr = mysqli_real_escape_string($conn, $descr);

$price = floatval(trim($_POST['price']));

$price = mysqli_real_escape_string($conn, $price);

$publisher = trim($_POST['publisher']);

$publisher = mysqli_real_escape_string($conn, $publisher);

// add image

if(isset($_FILES['image']) && $_FILES['image']['name'] != ""){

$image = $_FILES['image']['name'];

45
ONLINE BOOK PURCHASE SYSTEM

$directory_self = str_replace(basename($_SERVER['PHP_SELF']),

'', $_SERVER['PHP_SELF']);

$uploadDirectory = $_SERVER['DOCUMENT_ROOT'] .

$directory_self . "bootstrap/img/";

$uploadDirectory .= $image;

move_uploaded_file($_FILES['image']['tmp_name'],

$uploadDirectory);

// find publisher and return pubid

// if publisher is not in db, create new

$findPub = "SELECT * FROM publisher WHERE publisher_name =

'$publisher'";

$findResult = mysqli_query($conn, $findPub);

if(!$findResult){

// insert into publisher table and return id

$insertPub = "INSERT INTO publisher(publisher_name) VALUES

('$publisher')";

$insertResult = mysqli_query($conn, $insertPub);

if(!$insertResult){

46
ONLINE BOOK PURCHASE SYSTEM

echo "Can't add new publisher " . mysqli_error($conn);

exit;

$publisherid = mysql_insert_id($conn);

} else {

$row = mysqli_fetch_assoc($findResult);

$publisherid = $row['publisherid'];

$query = "INSERT INTO books VALUES ('" . $isbn . "', '" . $title . "', '" .

$author . "', '" . $image . "', '" . $descr . "', '" . $price . "', '" . $publisherid . "')";

$result = mysqli_query($conn, $query);

if(!$result){

echo "Can't add new data " . mysqli_error($conn);

exit;

} else {

header("Location: admin_book.php");

47
ONLINE BOOK PURCHASE SYSTEM

?>

<form method="post" action="admin_add.php" enctype="multipart/form-data">

<table class="table">

<tr>

<th>ISBN</th>

<td><input type="text" name="isbn"></td>

</tr>

<tr>

<th>Title</th>

<td><input type="text" name="title" required></td>

</tr>

<tr>

<th>Author</th>

<td><input type="text" name="author" required></td>

</tr>

<tr>

<th>Image</th>

<td><input type="file" name="image"></td>

</tr>

<tr>

48
ONLINE BOOK PURCHASE SYSTEM

<th>Description</th>

<td><textarea name="descr" cols="40"

rows="5"></textarea></td>

</tr>

<tr>

<th>Price</th>

<td><input type="text" name="price" required></td>

</tr>

<tr>

<th>Publisher</th>

<td><input type="text" name="publisher" required></td>

</tr>

</table>

<input type="submit" name="add" value="Add new book" class="btn btn-

primary">

<input type="reset" value="cancel" class="btn btn-default">

</form>

<br/>

<?php

if(isset($conn)) {mysqli_close($conn);}

49
ONLINE BOOK PURCHASE SYSTEM

require_once "./template/footer.php";

?>

Admin Books

<?php

session_start();

require_once "./functions/admin.php";

$title = "List book";

require_once "./template/header.php";

require_once "./functions/database_functions.php";

$conn = db_connect();

$result = getAll($conn);

?>

<p class="lead"><a href="admin_add.php">Add new book</a></p>

<a href="admin_signout.php" class="btn btn-primary">Sign out!</a>

<table class="table" style="margin-top: 20px">

<tr>

<th>ISBN</th>

<th>Title</th>

<th>Author</th>

50
ONLINE BOOK PURCHASE SYSTEM

<th>Image</th>

<th>Description</th>

<th>Price</th>

<th>Publisher</th>

<th>&nbsp;</th>

<th>&nbsp;</th>

</tr>

<?php while($row = mysqli_fetch_assoc($result)){ ?>

<tr>

<td><?php echo $row['book_isbn']; ?></td>

<td><?php echo $row['book_title']; ?></td>

<td><?php echo $row['book_author']; ?></td>

<td><?php echo $row['book_image']; ?></td>

<td><?php echo $row['book_descr']; ?></td>

<td><?php echo $row['book_price']; ?></td>

<td><?php echo getPubName($conn, $row['publisherid']); ?></td>

<td><a href="admin_edit.php?bookisbn=<?php echo

$row['book_isbn']; ?>">Edit</a></td>

<td><a href="admin_delete.php?bookisbn=<?php echo

$row['book_isbn']; ?>">Delete</a></td>

51
ONLINE BOOK PURCHASE SYSTEM

</tr>

<?php } ?>

</table>

<?php

if(isset($conn)) {mysqli_close($conn);}

require_once "./template/footer.php";

?>

Admin Delete

<?php

$book_isbn = $_GET['bookisbn'];

require_once "./functions/database_functions.php";

$conn = db_connect();

$query = "DELETE FROM books WHERE book_isbn = '$book_isbn'";

$result = mysqli_query($conn, $query);

if(!$result){

echo "delete data unsuccessfully " . mysqli_error($conn);

52
ONLINE BOOK PURCHASE SYSTEM

exit;

header("Location: admin_book.php");

?>

Admin Edit

<?php

session_start();

require_once "./functions/admin.php";

$title = "Edit book";

require_once "./template/header.php";

require_once "./functions/database_functions.php";

$conn = db_connect();

if(isset($_GET['bookisbn'])){

$book_isbn = $_GET['bookisbn'];

} else {

echo "Empty query!";

exit;
53
ONLINE BOOK PURCHASE SYSTEM

if(!isset($book_isbn)){

echo "Empty isbn! check again!";

exit;

// get book data

$query = "SELECT * FROM books WHERE

book_isbn = '$book_isbn'";

$result = mysqli_query($conn, $query);

if(!$result){

echo "Can't retrieve data " . mysqli_error($conn);

exit;

$row = mysqli_fetch_assoc($result);

?>

54
ONLINE BOOK PURCHASE SYSTEM

<form method="post" action="edit_book.php"

enctype="multipart/form-data">

<table class="table">

<tr>

<th>ISBN</th>

<td><input type="text" name="isbn"

value="<?php echo $row['book_isbn'];?>" readOnly="true"></td>

</tr>

<tr>

<th>Title</th>

<td><input type="text" name="title"

value="<?php echo $row['book_title'];?>" required></td>

</tr>

<tr>

<th>Author</th>

<td><input type="text"

name="author" value="<?php echo $row['book_author'];?>"

required></td>

55
ONLINE BOOK PURCHASE SYSTEM

</tr>

<tr>

<th>Image</th>

<td><input type="file"

name="image"></td>

</tr>

<tr>

<th>Description</th>

<td><textarea name="descr"

cols="40" rows="5"><?php echo $row['book_descr'];?></textarea>

</tr>

<tr>

<th>Price</th>

<td><input type="text" name="price"

value="<?php echo $row['book_price'];?>" required></td>

</tr>

<tr>

<th>Publisher</th>

56
ONLINE BOOK PURCHASE SYSTEM

<td><input type="text"

name="publisher" value="<?php echo getPubName($conn,

$row['publisherid']); ?>" required></td>

</tr>

</table>

<input type="submit" name="save_change"

value="Change" class="btn btn-primary">

<input type="reset" value="cancel" class="btn

btn-default">

</form>

<br/>

<a href="admin_book.php" class="btn btn-

success">Confirm</a>

<?php

if(isset($conn)) {mysqli_close($conn);}

require "./template/footer.php"

?>

57
ONLINE BOOK PURCHASE SYSTEM

Admin Signout

<?php

session_start();

session_destroy();

header("Location: index.php");

?>

Admin verify

<?php

session_start();

if(!isset($_POST['submit'])){

echo "Something wrong! Check again!";

exit;

require_once "./functions/database_functions.php";

$conn = db_connect();

$name = trim($_POST['name']);

$pass = trim($_POST['pass']);

58
ONLINE BOOK PURCHASE SYSTEM

if($name == "" || $pass == ""){

echo "Name or Pass is empty!";

exit;

$name = mysqli_real_escape_string($conn, $name);

$pass = mysqli_real_escape_string($conn, $pass);

$pass = sha1($pass);

// get from db

$query = "SELECT name, pass from admin";

$result = mysqli_query($conn, $query);

if(!$result){

echo "Empty data " . mysqli_error($conn);

exit;

$row = mysqli_fetch_assoc($result);

59
ONLINE BOOK PURCHASE SYSTEM

if($name != $row['name'] && $pass != $row['pass']){

echo "Name or pass is wrong. Check again!";

$_SESSION['admin'] = false;

exit;

if(isset($conn)) {mysqli_close($conn);}

$_SESSION['admin'] = true;

header("Location: admin_book.php");

?>

Books

<?php

session_start();

$count = 0;

// connecto database

require_once "./functions/database_functions.php";

$conn = db_connect();

60
ONLINE BOOK PURCHASE SYSTEM

$query = "SELECT book_isbn, book_image FROM books";

$result = mysqli_query($conn, $query);

if(!$result){

echo "Can't retrieve data " . mysqli_error($conn);

exit;

$title = "Full Catalogs of Books";

require_once "./template/header.php";

?>

<p class="lead text-center text-muted">Full Catalogs of Books</p>

<?php for($i = 0; $i < mysqli_num_rows($result); $i++){ ?>

<div class="row">

<?php while($query_row = mysqli_fetch_assoc($result)){ ?>

<div class="col-md-3">

<a href="book.php?bookisbn=<?php echo

$query_row['book_isbn']; ?>">

61
ONLINE BOOK PURCHASE SYSTEM

<img class="img-responsive img-thumbnail"

src="./bootstrap/img/<?php echo $query_row['book_image']; ?>">

</a>

</div>

<?php

$count++;

if($count >= 4){

$count = 0;

break;

} ?>

</div>

<?php

if(isset($conn)) { mysqli_close($conn); }

require_once "./template/footer.php";

?>

62
ONLINE BOOK PURCHASE SYSTEM

Cart

<?php

session_start();

$count = 0;

// connecto database

require_once "./functions/database_functions.php";

$conn = db_connect();

$query = "SELECT book_isbn, book_image FROM books";

$result = mysqli_query($conn, $query);

if(!$result){

echo "Can't retrieve data " . mysqli_error($conn);

exit;

$title = "Full Catalogs of Books";

require_once "./template/header.php";

?>

<p class="lead text-center text-muted">Full Catalogs of Books</p>

<?php for($i = 0; $i < mysqli_num_rows($result); $i++){ ?>

<div class="row">

<?php while($query_row = mysqli_fetch_assoc($result)){ ?>

<div class="col-md-3">

63
ONLINE BOOK PURCHASE SYSTEM

<a href="book.php?bookisbn=<?php echo $query_row['book_isbn']; ?>">

<img class="img-responsive img-thumbnail" src="./bootstrap/img/<?php echo

$query_row['book_image']; ?>">

</a>

</div>

<?php

$count++;

if($count >= 4){

$count = 0;

break;

} ?>

</div>

<?php

if(isset($conn)) { mysqli_close($conn); }

require_once "./template/footer.php";

?>

Checkout

<?php

// the shopping cart needs sessions, to start one

/*

Array of session(

cart => array (

64
ONLINE BOOK PURCHASE SYSTEM

book_isbn (get from $_GET['book_isbn']) => number of

books

),

items => 0,

total_price => '0.00'

*/

session_start();

require_once "./functions/database_functions.php";

// print out header here

$title = "Checking out";

require "./template/header.php";

if(isset($_SESSION['cart']) && (array_count_values($_SESSION['cart']))){

?>

<table class="table">

<tr>

<th>Item</th>

<th>Price</th>

<th>Quantity</th>

<th>Total</th>

</tr>

<?php

foreach($_SESSION['cart'] as $isbn => $qty){

65
ONLINE BOOK PURCHASE SYSTEM

$conn = db_connect();

$book =

mysqli_fetch_assoc(getBookByIsbn($conn, $isbn));

?>

<tr>

<td><?php echo $book['book_title'] . " by " .

$book['book_author']; ?></td>

<td><?php echo "$" . $book['book_price']; ?></td>

<td><?php echo $qty; ?></td>

<td><?php echo "$" . $qty * $book['book_price']; ?></td>

</tr>

<?php } ?>

<tr>

<th>&nbsp;</th>

<th>&nbsp;</th>

<th><?php echo $_SESSION['total_items']; ?></th>

<th><?php echo "$" . $_SESSION['total_price']; ?></th>

</tr>

</table>

<form method="post" action="purchase.php" class="form-horizontal">

<?php if(isset($_SESSION['err']) && $_SESSION['err'] == 1){ ?>

<p class="text-danger">All fields have to be filled</p>

<?php } ?>

<div class="form-group">

66
ONLINE BOOK PURCHASE SYSTEM

<label for="name" class="control-label col-md-4">Name</label>

<div class="col-md-4">

<input type="text" name="name" class="col-md-4"

class="form-control">

</div>

</div>

<div class="form-group">

<label for="address" class="control-label col-md-

4">Address</label>

<div class="col-md-4">

<input type="text" name="address" class="col-md-4"

class="form-control">

</div>

</div>

<div class="form-group">

<label for="city" class="control-label col-md-4">City</label>

<div class="col-md-4">

<input type="text" name="city" class="col-md-4"

class="form-control">

</div>

</div>

<div class="form-group">

<label for="zip_code" class="control-label col-md-4">Zip

Code</label>

67
ONLINE BOOK PURCHASE SYSTEM

<div class="col-md-4">

<input type="text" name="zip_code" class="col-md-4"

class="form-control">

</div>

</div>

<div class="form-group">

<label for="country" class="control-label col-md-

4">Country</label>

<div class="col-md-4">

<input type="text" name="country" class="col-md-4"

class="form-control">

</div>

</div>

<div class="form-group">

<input type="submit" name="submit" value="Purchase"

class="btn btn-primary">

</div>

</form>

<p class="lead">Please press Purchase to confirm your purchase, or Continue

Shopping to add or remove items.</p>

<?php

} else {

echo "<p class=\"text-warning\">Your cart is empty! Please make sure

you add some books in it!</p>";

68
ONLINE BOOK PURCHASE SYSTEM

if(isset($conn)){ mysqli_close($conn); }

require_once "./template/footer.php";

Edit book

<?php

// if save change happen

if(!isset($_POST['save_change'])){

echo "Something wrong!";

exit;

$isbn = trim($_POST['isbn']);

$title = trim($_POST['title']);

$author = trim($_POST['author']);

$descr = trim($_POST['descr']);

$price = floatval(trim($_POST['price']));

$publisher = trim($_POST['publisher']);

if(isset($_FILES['image']) && $_FILES['image']['name'] != ""){

$image = $_FILES['image']['name'];

$directory_self = str_replace(basename($_SERVER['PHP_SELF']), '',

$_SERVER['PHP_SELF']);

$uploadDirectory = $_SERVER['DOCUMENT_ROOT'] .

$directory_self . "bootstrap/img/";

69
ONLINE BOOK PURCHASE SYSTEM

$uploadDirectory .= $image;

move_uploaded_file($_FILES['image']['tmp_name'], $uploadDirectory);

require_once("./functions/database_functions.php");

$conn = db_connect();

// if publisher is not in db, create new

$findPub = "SELECT * FROM publisher WHERE publisher_name =

'$publisher'";

$findResult = mysqli_query($conn, $findPub);

if(!$findResult){

// insert into publisher table and return id

$insertPub = "INSERT INTO publisher(publisher_name) VALUES

('$publisher')";

$insertResult = mysqli_query($conn, $insertPub);

if(!$insertResult){

echo "Can't add new publisher " . mysqli_error($conn);

exit;

$query = "UPDATE books SET

70
ONLINE BOOK PURCHASE SYSTEM

book_title = '$title',

book_author = '$author',

book_descr = '$descr',

book_price = '$price'";

if(isset($image)){

$query .= ", book_image='$image' WHERE book_isbn = '$isbn'";

} else {

$query .= " WHERE book_isbn = '$isbn'";

// two cases for fie , if file submit is on => change a lot

$result = mysqli_query($conn, $query);

if(!$result){

echo "Can't update data " . mysqli_error($conn);

exit;

} else {

header("Location: admin_edit.php?bookisbn=$isbn");

?>

Process

<?php

session_start();

$_SESSION['err'] = 1;

foreach($_POST as $key => $value){

71
ONLINE BOOK PURCHASE SYSTEM

if(trim($value) == ''){

$_SESSION['err'] = 0;

break;

if($_SESSION['err'] == 0){

header("Location: purchase.php");

} else {

unset($_SESSION['err']);

require_once "./functions/database_functions.php";

// print out header here

$title = "Purchase Process";

require "./template/header.php";

// connect database

$conn = db_connect();

extract($_SESSION['ship']);

// validate post section

$card_number = $_POST['card_number'];

$card_PID = $_POST['card_PID'];

$card_expire = strtotime($_POST['card_expire']);

72
ONLINE BOOK PURCHASE SYSTEM

$card_owner = $_POST['card_owner'];

// find customer

$customerid = getCustomerId($name, $address, $city, $zip_code, $country);

if($customerid == null) {

// insert customer into database and return customerid

$customerid = setCustomerId($name, $address, $city, $zip_code,

$country);

$date = date("Y-m-d H:i:s");

insertIntoOrder($conn, $customerid, $_SESSION['total_price'], $date, $name,

$address, $city, $zip_code, $country);

// take orderid from order to insert order items

$orderid = getOrderId($conn, $customerid);

foreach($_SESSION['cart'] as $isbn => $qty){

$bookprice = getbookprice($isbn);

$query = "INSERT INTO order_items VALUES

('$orderid', '$isbn', '$bookprice', '$qty')";

$result = mysqli_query($conn, $query);

if(!$result){

echo "Insert value false!" . mysqli_error($conn2);

exit;

73
ONLINE BOOK PURCHASE SYSTEM

session_unset();

?>

<p class="lead text-success">Your order has been processed sucessfully. Please

check your email to get your order confirmation and shipping detail!.

Your cart has been empty.</p>

<?php

if(isset($conn)){

mysqli_close($conn);

require_once "./template/footer.php";

?>

Publisher

<?php

session_start();

require_once "./functions/database_functions.php";

$conn = db_connect();

$query = "SELECT * FROM publisher ORDER BY publisherid";

$result = mysqli_query($conn, $query);

if(!$result){

74
ONLINE BOOK PURCHASE SYSTEM

echo "Can't retrieve data " . mysqli_error($conn);

exit;

if(mysqli_num_rows($result) == 0){

echo "Empty publisher ! Something wrong! check again";

exit;

$title = "List Of Publishers";

require "./template/header.php";

?>

<p class="lead">List of Publisher</p>

<ul>

<?php

while($row = mysqli_fetch_assoc($result)){

$count = 0;

$query = "SELECT publisherid FROM books";

$result2 = mysqli_query($conn, $query);

if(!$result2){

echo "Can't retrieve data " . mysqli_error($conn);

exit;

while ($pubInBook = mysqli_fetch_assoc($result2)){

if($pubInBook['publisherid'] == $row['publisherid']){

75
ONLINE BOOK PURCHASE SYSTEM

$count++;

?>

<li>

<span class="badge"><?php echo $count; ?></span>

<a href="bookPerPub.php?pubid=<?php echo $row['publisherid'];

?>"><?php echo $row['publisher_name']; ?></a>

</li>

<?php } ?>

<li>

<a href="books.php">List full of books</a>

</li>

</ul>

<?php

mysqli_close($conn);

require "./template/footer.php";

?>

Purchase

<?php

session_start();

$_SESSION['err'] = 1;

foreach($_POST as $key => $value){

if(trim($value) == ''){

76
ONLINE BOOK PURCHASE SYSTEM

$_SESSION['err'] = 0;

break;

if($_SESSION['err'] == 0){

header("Location: checkout.php");

} else {

unset($_SESSION['err']);

$_SESSION['ship'] = array();

foreach($_POST as $key => $value){

if($key != "submit"){

$_SESSION['ship'][$key] = $value;

require_once "./functions/database_functions.php";

// print out header here

$title = "Purchase";

require "./template/header.php";

// connect database

if(isset($_SESSION['cart']) && (array_count_values($_SESSION['cart']))){

77
ONLINE BOOK PURCHASE SYSTEM

?>

<table class="table">

<tr>

<th>Item</th>

<th>Price</th>

<th>Quantity</th>

<th>Total</th>

</tr>

<?php

foreach($_SESSION['cart'] as $isbn => $qty){

$conn = db_connect();

$book =

mysqli_fetch_assoc(getBookByIsbn($conn, $isbn));

?>

<tr>

<td><?php echo $book['book_title'] . " by " .

$book['book_author']; ?></td>

<td><?php echo "$" . $book['book_price']; ?></td>

<td><?php echo $qty; ?></td>

<td><?php echo "$" . $qty * $book['book_price']; ?></td>

</tr>

<?php } ?>

<tr>

<th>&nbsp;</th>

78
ONLINE BOOK PURCHASE SYSTEM

<th>&nbsp;</th>

<th><?php echo $_SESSION['total_items']; ?></th>

<th><?php echo "$" . $_SESSION['total_price']; ?></th>

</tr>

<tr>

<td>Shipping</td>

<td>&nbsp;</td>

<td>&nbsp;</td>

<td>20.00</td>

</tr>

<tr>

<th>Total Including Shipping</th>

<th>&nbsp;</th>

<th>&nbsp;</th>

<th><?php echo "$" . ($_SESSION['total_price'] + 20); ?></th>

</tr>

</table>

<form method="post" action="process.php" class="form-horizontal">

<?php if(isset($_SESSION['err']) && $_SESSION['err'] == 1){ ?>

<p class="text-danger">All fields have to be filled</p>

<?php } ?>

<div class="form-group">

<label for="card_type" class="col-lg-2 control-label">Type</label>

<div class="col-lg-10">

79
ONLINE BOOK PURCHASE SYSTEM

<select class="form-control" name="card_type">

<option value="VISA">VISA</option>

<option value="MasterCard">MasterCard</option>

<option value="American Express">American Express</option>

</select>

</div>

</div>

<div class="form-group">

<label for="card_number" class="col-lg-2 control-label">Number</label>

<div class="col-lg-10">

<input type="text" class="form-control" name="card_number">

</div>

</div>

<div class="form-group">

<label for="card_PID" class="col-lg-2 control-label">PID</label>

<div class="col-lg-10">

<input type="text" class="form-control" name="card_PID">

</div>

</div>

<div class="form-group">

<label for="card_expire" class="col-lg-2 control-label">Expiry Date</label>

<div class="col-lg-10">

<input type="date" name="card_expire" class="form-control">

</div>

80
ONLINE BOOK PURCHASE SYSTEM

</div>

<div class="form-group">

<label for="card_owner" class="col-lg-2 control-label">Name</label>

<div class="col-lg-10">

<input type="text" class="form-control" name="card_owner">

</div>

</div>

<div class="form-group">

<div class="col-lg-10 col-lg-offset-2">

<button type="reset" class="btn btn-default">Cancel</button>

<button type="submit" class="btn btn-primary">Purchase</button>

</div>

</div>

</form>

<p class="lead">Please press Purchase to confirm your purchase, or Continue

Shopping to add or remove items.</p>

<?php

} else {

echo "<p class=\"text-warning\">Your cart is empty! Please make sure

you add some books in it!</p>";

if(isset($conn)){ mysqli_close($conn); }

require_once "./template/footer.php";

?>

81
ONLINE BOOK PURCHASE SYSTEM

Verify

<?php

$email = $_POST['inputEmail'];

$pswd = $_POST['inputPasswd'];

$conn = mysqli_connect("localhost", "root", "", "www_project");

if(!$conn){

echo "Cannot connecto to database " . mysqli_connect_error($conn);

exit;

$query = "SELECT username, password FROM admin";

$result = mysqli_query($conn, $query);

if(!$result){

echo "Empty!";

exit;

while ($row = mysqli_fetch_assoc($result)){

if($email == $row['username'] && $pswd == $row['password']){

echo "Welcome admin! Long time no see";

break;

82
ONLINE BOOK PURCHASE SYSTEM

?>

Database

-- phpMyAdmin SQL Dump

-- version 4.4.12

-- http://www.phpmyadmin.net

--

-- Host: 127.0.0.1

-- Generation Time: Dec 05, 2015 at 05:57 PM

-- Server version: 5.6.25

-- PHP Version: 5.6.11

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";

SET time_zone = "+00:00";

/*!40101 SET

@OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;

/*!40101 SET

@OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;

/*!40101 SET

@OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;

/*!40101 SET NAMES utf8mb4 */;

--

83
ONLINE BOOK PURCHASE SYSTEM

-- Database: `www_project`

--

-- --------------------------------------------------------

--

-- Table structure for table `admin`

--

CREATE TABLE IF NOT EXISTS `admin` (

`name` varchar(20) COLLATE latin1_general_ci NOT NULL,

`pass` varchar(40) COLLATE latin1_general_ci NOT NULL

) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;

--

-- Dumping data for table `admin`

--

INSERT INTO `admin` (`name`, `pass`) VALUES

('admin', 'd033e22ae348aeb5660fc2140aec35850c4da997');

-- --------------------------------------------------------

--

84
ONLINE BOOK PURCHASE SYSTEM

-- Table structure for table `books`

--

CREATE TABLE IF NOT EXISTS `books` (

`book_isbn` varchar(20) COLLATE latin1_general_ci NOT NULL,

`book_title` varchar(60) COLLATE latin1_general_ci DEFAULT NULL,

`book_author` varchar(60) COLLATE latin1_general_ci DEFAULT NULL,

`book_image` varchar(40) COLLATE latin1_general_ci DEFAULT NULL,

`book_descr` text COLLATE latin1_general_ci,

`book_price` decimal(6,2) NOT NULL,

`publisherid` int(10) unsigned NOT NULL

) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;

--

-- Dumping data for table `books`

--

INSERT INTO `books` (`book_isbn`, `book_title`, `book_author`, `book_image`,

`book_descr`, `book_price`, `publisherid`) VALUES

('978-0-321-94786-4', 'Learning Mobile App Development', 'Jakob Iversen, Michael

Eierman', 'mobile_app.jpg', 'Now, one book can help you master mobile app

development with both market-leading platforms: Apple''s iOS and Google''s Android.

Perfect for both students and professionals, Learning Mobile App Development is the

only tutorial with complete parallel coverage of both iOS and Android. With this guide,

85
ONLINE BOOK PURCHASE SYSTEM

you can master either platform, or both - and gain a deeper understanding of the issues

associated with developing mobile apps.\r\n\r\nYou''ll develop an actual working app on

both iOS and Android, mastering the entire mobile app development lifecycle, from

planning through licensing and distribution.\r\n\r\nEach tutorial in this book has been

carefully designed to support readers with widely varying backgrounds and has been

extensively tested in live developer training courses. If you''re new to iOS, you''ll also

find an easy, practical introduction to Objective-C, Apple''s native language.', '20.00', 6),

('978-0-7303-1484-4', 'Doing Good By Doing Good', 'Peter Baines', 'doing_good.jpg',

'Doing Good by Doing Good shows companies how to improve the bottom line by

implementing an engaging, authentic, and business-enhancing program that helps staff

and business thrive. International CSR consultant Peter Baines draws upon lessons

learnt from the challenges faced in his career as a police officer, forensic investigator,

and founder of Hands Across the Water to describe the Australian CSR landscape, and

the factors that make up a program that benefits everyone involved. Case studies

illustrate the real effect of CSR on both business and society, with clear guidance toward

maximizing involvement, engaging all employees, and improving the bottom line. The

case studies draw out the companies that are focusing on creating shared value in

meeting the challenges of society whilst at the same time bringing strong economic

returns.\r\n\r\nConsumers are now expecting that big businesses with ever-increasing

profits give back to the community from which those profits arise. At the same time,

shareholders are demanding their share and are happy to see dividends soar. Getting this

right is a balancing act, and Doing Good by Doing Good helps companies delineate a

plan of action for getting it done.', '20.00', 2),

86
ONLINE BOOK PURCHASE SYSTEM

('978-1-118-94924-5', 'Programmable Logic Controllers', 'Dag H. Hanssen',

'logic_program.jpg', 'Widely used across industrial and manufacturing automation,

Programmable Logic Controllers (PLCs) perform a broad range of electromechanical

tasks with multiple input and output arrangements, designed specifically to cope in

severe environmental conditions such as automotive and chemical plants.Programmable

Logic Controllers: A Practical Approach using CoDeSys is a hands-on guide to rapidly

gain proficiency in the development and operation of PLCs based on the IEC 61131-3

standard. Using the freely-available* software tool CoDeSys, which is widely used in

industrial design automation projects, the author takes a highly practical approach to

PLC design using real-world examples. The design tool, CoDeSys, also features a built

in simulator / soft PLC enabling the reader to undertake exercises and test the

examples.', '20.00', 2),

('978-1-1180-2669-4', 'Professional JavaScript for Web Developers, 3rd Edition',

'Nicholas C. Zakas', 'pro_js.jpg', 'If you want to achieve JavaScript''s full potential, it is

critical to understand its nature, history, and limitations. To that end, this updated

version of the bestseller by veteran author and JavaScript guru Nicholas C. Zakas covers

JavaScript from its very beginning to the present-day incarnations including the DOM,

Ajax, and HTML5. Zakas shows you how to extend this powerful language to meet

specific needs and create dynamic user interfaces for the web that blur the line between

desktop and internet. By the end of the book, you''ll have a strong understanding of the

significant advances in web development as they relate to JavaScript so that you can

apply them to your next website.', '20.00', 1),

('978-1-44937-019-0', 'Learning Web App Development', 'Semmy Purewal',

'web_app_dev.jpg', 'Grasp the fundamentals of web application development by

87
ONLINE BOOK PURCHASE SYSTEM

building a simple database-backed app from scratch, using HTML, JavaScript, and other

open source tools. Through hands-on tutorials, this practical guide shows inexperienced

web app developers how to create a user interface, write a server, build client-server

communication, and use a cloud-based service to deploy the application.\r\n\r\nEach

chapter includes practice problems, full examples, and mental models of the

development workflow. Ideal for a college-level course, this book helps you get started

with web app development by providing you with a solid grounding in the process.',

'20.00', 3),

('978-1-44937-075-6', 'Beautiful JavaScript', 'Anton Kovalyov', 'beauty_js.jpg',

'JavaScript is arguably the most polarizing and misunderstood programming language in

the world. Many have attempted to replace it as the language of the Web, but JavaScript

has survived, evolved, and thrived. Why did a language created in such hurry succeed

where others failed?\r\n\r\nThis guide gives you a rare glimpse into JavaScript from

people intimately familiar with it. Chapters contributed by domain experts such as Jacob

Thornton, Ariya Hidayat, and Sara Chipps show what they love about their favorite

language - whether it''s turning the most feared features into useful tools, or how

JavaScript can be used for self-expression.', '20.00', 3),

('978-1-4571-0402-2', 'Professional ASP.NET 4 in C# and VB', 'Scott Hanselman',

'pro_asp4.jpg', 'ASP.NET is about making you as productive as possible when building

fast and secure web applications. Each release of ASP.NET gets better and removes a lot

of the tedious code that you previously needed to put in place, making common

ASP.NET tasks easier. With this book, an unparalleled team of authors walks you

through the full breadth of ASP.NET and the new and exciting capabilities of ASP.NET

88
ONLINE BOOK PURCHASE SYSTEM

4. The authors also show you how to maximize the abundance of features that ASP.NET

offers to make your development process smoother and more efficient.', '20.00', 1),

('978-1-484216-40-8', 'Android Studio New Media Fundamentals', 'Wallace Jackson',

'android_studio.jpg', 'Android Studio New Media Fundamentals is a new media primer

covering concepts central to multimedia production for Android including digital

imagery, digital audio, digital video, digital illustration and 3D, using open source

software packages such as GIMP, Audacity, Blender, and Inkscape. These professional

software packages are used for this book because they are free for commercial use. The

book builds on the foundational concepts of raster, vector, and waveform (audio), and

gets more advanced as chapters progress, covering what new media assets are best for

use with Android Studio as well as key factors regarding the data footprint optimization

work process and why new media content and new media data optimization is so

important.', '20.00', 4),

('978-1-484217-26-9', 'C++ 14 Quick Syntax Reference, 2nd Edition', ' Mikael

Olsson', 'c_14_quick.jpg', 'This updated handy quick C++ 14 guide is a condensed code

and syntax reference based on the newly updated C++ 14 release of the popular

programming language. It presents the essential C++ syntax in a well-organized format

that can be used as a handy reference.\r\n\r\nYou won''t find any technical jargon,

bloated samples, drawn out history lessons, or witty stories in this book. What you will

find is a language reference that is concise, to the point and highly accessible. The book

is packed with useful information and is a must-have for any C++ programmer.\r\n\r\nIn

the C++ 14 Quick Syntax Reference, Second Edition, you will find a concise reference

to the C++ 14 language syntax. It has short, simple, and focused code examples. This

89
ONLINE BOOK PURCHASE SYSTEM

book includes a well laid out table of contents and a comprehensive index allowing for

easy review.', '20.00', 4),

('978-1-49192-706-9', 'C# 6.0 in a Nutshell, 6th Edition', 'Joseph Albahari, Ben

Albahari', 'c_sharp_6.jpg', 'When you have questions about C# 6.0 or the .NET CLR and

its core Framework assemblies, this bestselling guide has the answers you need. C# has

become a language of unusual flexibility and breadth since its premiere in 2000, but this

continual growth means there''s still much more to learn.\r\n\r\nOrganized around

concepts and use cases, this thoroughly updated sixth edition provides intermediate and

advanced programmers with a concise map of C# and .NET knowledge. Dive in and

discover why this Nutshell guide is considered the definitive reference on C#.', '20.00',

3);

-- --------------------------------------------------------

--

-- Table structure for table `customers`

--

CREATE TABLE IF NOT EXISTS `customers` (

`customerid` int(10) unsigned NOT NULL,

`name` varchar(60) COLLATE latin1_general_ci NOT NULL,

`address` varchar(80) COLLATE latin1_general_ci NOT NULL,

`city` varchar(30) COLLATE latin1_general_ci NOT NULL,

`zip_code` varchar(10) COLLATE latin1_general_ci NOT NULL,

90
ONLINE BOOK PURCHASE SYSTEM

`country` varchar(60) COLLATE latin1_general_ci NOT NULL

) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1

COLLATE=latin1_general_ci;

--

-- Dumping data for table `customers`

--

INSERT INTO `customers` (`customerid`, `name`, `address`, `city`, `zip_code`,

`country`) VALUES

(1, 'a', 'a', 'a', 'a', 'a'),

(2, 'b', 'b', 'b', 'b', 'b'),

(3, 'test', '123 test', '12121', 'test', 'test');

-- --------------------------------------------------------

--

-- Table structure for table `orders`

--

CREATE TABLE IF NOT EXISTS `orders` (

`orderid` int(10) unsigned NOT NULL,

`customerid` int(10) unsigned NOT NULL,

`amount` decimal(6,2) DEFAULT NULL,

91
ONLINE BOOK PURCHASE SYSTEM

`date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,

`ship_name` char(60) COLLATE latin1_general_ci NOT NULL,

`ship_address` char(80) COLLATE latin1_general_ci NOT NULL,

`ship_city` char(30) COLLATE latin1_general_ci NOT NULL,

`ship_zip_code` char(10) COLLATE latin1_general_ci NOT NULL,

`ship_country` char(20) COLLATE latin1_general_ci NOT NULL

) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=latin1

COLLATE=latin1_general_ci;

--

-- Dumping data for table `orders`

--

INSERT INTO `orders` (`orderid`, `customerid`, `amount`, `date`, `ship_name`,

`ship_address`, `ship_city`, `ship_zip_code`, `ship_country`) VALUES

(1, 1, '60.00', '2015-12-03 13:30:12', 'a', 'a', 'a', 'a', 'a'),

(2, 2, '60.00', '2015-12-03 13:31:12', 'b', 'b', 'b', 'b', 'b'),

(3, 3, '20.00', '2015-12-03 19:34:21', 'test', '123 test', '12121', 'test', 'test'),

(4, 1, '20.00', '2015-12-04 10:19:14', 'a', 'a', 'a', 'a', 'a');

-- --------------------------------------------------------

--

-- Table structure for table `order_items`

92
ONLINE BOOK PURCHASE SYSTEM

--

CREATE TABLE IF NOT EXISTS `order_items` (

`orderid` int(10) unsigned NOT NULL,

`book_isbn` varchar(20) COLLATE latin1_general_ci NOT NULL,

`item_price` decimal(6,2) NOT NULL,

`quantity` tinyint(3) unsigned NOT NULL

) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;

--

-- Dumping data for table `order_items`

--

INSERT INTO `order_items` (`orderid`, `book_isbn`, `item_price`, `quantity`)

VALUES

(1, '978-1-118-94924-5', '20.00', 1),

(1, '978-1-44937-019-0', '20.00', 1),

(1, '978-1-49192-706-9', '20.00', 1),

(2, '978-1-118-94924-5', '20.00', 1),

(2, '978-1-44937-019-0', '20.00', 1),

(2, '978-1-49192-706-9', '20.00', 1),

(3, '978-0-321-94786-4', '20.00', 1),

(1, '978-1-49192-706-9', '20.00', 1);

93
ONLINE BOOK PURCHASE SYSTEM

-- --------------------------------------------------------

--

-- Table structure for table `publisher`

--

CREATE TABLE IF NOT EXISTS `publisher` (

`publisherid` int(10) unsigned NOT NULL,

`publisher_name` varchar(60) COLLATE latin1_general_ci NOT NULL

) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=latin1

COLLATE=latin1_general_ci;

--

-- Dumping data for table `publisher`

--

INSERT INTO `publisher` (`publisherid`, `publisher_name`) VALUES

(1, 'Wrox'),

(2, 'Wiley'),

(3, 'O''Reilly Media'),

(4, 'Apress'),

(5, 'Packt Publishing'),

(6, 'Addison-Wesley');

94
ONLINE BOOK PURCHASE SYSTEM

--

-- Indexes for dumped tables

--

--

-- Indexes for table `admin`

--

ALTER TABLE `admin`

ADD PRIMARY KEY (`name`,`pass`);

--

-- Indexes for table `books`

--

ALTER TABLE `books`

ADD PRIMARY KEY (`book_isbn`);

--

-- Indexes for table `customers`

--

ALTER TABLE `customers`

ADD PRIMARY KEY (`customerid`);

--

-- Indexes for table `orders`

95
ONLINE BOOK PURCHASE SYSTEM

--

ALTER TABLE `orders`

ADD PRIMARY KEY (`orderid`);

--

-- Indexes for table `publisher`

--

ALTER TABLE `publisher`

ADD PRIMARY KEY (`publisherid`);

--

-- AUTO_INCREMENT for dumped tables

--

--

-- AUTO_INCREMENT for table `customers`

--

ALTER TABLE `customers`

MODIFY `customerid` int(10) unsigned NOT NULL

AUTO_INCREMENT,AUTO_INCREMENT=4;

--

-- AUTO_INCREMENT for table `orders`

--

ALTER TABLE `orders`

96
ONLINE BOOK PURCHASE SYSTEM

MODIFY `orderid` int(10) unsigned NOT NULL

AUTO_INCREMENT,AUTO_INCREMENT=5;

--

-- AUTO_INCREMENT for table `publisher`

--

ALTER TABLE `publisher`

MODIFY `publisherid` int(10) unsigned NOT NULL

AUTO_INCREMENT,AUTO_INCREMENT=7;

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT

*/;

/*!40101 SET

CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;

/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

97
ONLINE BOOK PURCHASE SYSTEM

Screenshots

98
ONLINE BOOK PURCHASE SYSTEM

99
ONLINE BOOK PURCHASE SYSTEM

100
ONLINE BOOK PURCHASE SYSTEM

101
ONLINE BOOK PURCHASE SYSTEM

102
ONLINE BOOK PURCHASE SYSTEM

103
ONLINE BOOK PURCHASE SYSTEM

104
ONLINE BOOK PURCHASE SYSTEM

105
ONLINE BOOK PURCHASE SYSTEM

Confirmation of order

106
ONLINE BOOK PURCHASE SYSTEM

107
ONLINE BOOK PURCHASE SYSTEM

108
ONLINE BOOK PURCHASE SYSTEM

109
ONLINE BOOK PURCHASE SYSTEM

TESTING

110
ONLINE BOOK PURCHASE SYSTEM

INTRODUCTION TO TESTING

Testing is a process of executing a program with the interest of finding an error. A good test is

one that has high probability of finding the yet undiscovered error. Testing should

systematically uncover different classes of errors in a minimum amount of time with a

minimum amount of efforts. Two classes of inputs are provided to test the process

1. A software configuration that includes a software requirement specification, a design

specification and source code.

2. A software configuration that includes a test plan and procedure, any testing tool and

test cases and their expected results.

Testing is divided into several distinct operations:

1.Unit Testing

Unit test comprises of a set tests performed by an individual program prior to the

integration of the unit into large system. A program unit is usually the smallest free

functioning part of the whole system. Module unit testing should be as exhaustive as

possible to ensure that each representation handled by each module has been tested. All

the units that makeup the system must be tested independently to ensure that they work

as required.

During unit testing some errors were raised and all of them were rectified and handled

well. The result was quiet satisfactory and it worked well.

2.Integration Testing

Integration testing is a system technique for constructing the program structure while at

the same time conducting tests to uncover errors associated with interfacing. The

111
ONLINE BOOK PURCHASE SYSTEM

objective is to take unit tested modules and build a program structure that has been

dictated by design. Bottom-up integration is the traditional strategy used to integrate the

components of a software system into functioning whole. Bottom-up integration consists

of unit test followed by testing of the entire system. A sub-system consists of several

modules that communicated with other defined interface.

The system was done the integration testing. All the modules were tested for their

compatibility with other modules. The test was almost successful. All the modules

coexisted very well, with almost no bugs. All the modules were encapsulated very well

so as to not hamper the execution of other modules.

3.Validation Testing

After validation testing, software is completely assembled as a package, interfacing

errors that have been uncovered and corrected and the final series of software test; the

validation test begins. Steps taken during software design and testing can greatly

improve the probability of successful integration in the larger system. System testing is

actually a series of different tests whose primary purpose is to fully exercise the

compute –based system.

4. Recovery Testing

It is a system that forces the software to fail in a variety of ways and verifies that the

recovery is properly performed.

5. Security Testing

It attempts to verify that protection mechanisms built into a system will in fact protect it

from improper penetration. The system’s security must of course be tested from in

112
ONLINE BOOK PURCHASE SYSTEM

vulnerability form frontal attack.

6. Stress Testing

Stress tools are designed to confront programs with abnormal situations. Stress testing

executes a system in a manner that demands resources in abnormal quantity and volume.

7. Black Box Testing

Black box testing is done to find out the following information as shown in below:

1. Incorrect or missing functions.

2. Interface errors.

3. Errors or database access.

4. Performance error.

5. Termination error.

The mentioned testing is carried out successfully for this application according to the

user’s requirement specification.

8. Test Data Output

After preparing test data, the system under study is tested using the test data. While

testing the system using test data, errors are again uncovered and corrected by using

above testing and corrections are also noted for future use.

113
ONLINE BOOK PURCHASE SYSTEM

BIBILOGRAPHY

PHP 5 AND MY SQL : McGRAW HILL PUBLICATION

JAVA SCRIPT : O’RIELLY PUBLICATION

HTML & CSS : THOMAS POWELL

BOOTSTRAP : O’ RIELLY PUBLICATION

114
ONLINE BOOK PURCHASE SYSTEM

CONCLUSION

The entire project has been developed and deployed as per the
requirements stated by the user , it is found to be bug free as per the
testing standards that is implemented. Any specification-untraced errors
will be concentrated in the coming versions, which are planned to be
developed in near future. This Project is Online Admission System.
So, The students can login and fill the application form for admission.

115

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy