Professional Documents
Culture Documents
“BOOK STORE”
Submitted by
I here by declare that the project report entitled “Book Store ”was prepared by me during
theyear2016-2017and was submitted to the Bangalore University, in partial fulfillment of the
requirements for the award of the Degree in Bachelor of Computer Applications. I also declare
that this project report is original and genuine and it has not been submitted to any other
University for the award of any degree, diploma or other similar titles or purposes.
(Marathalli) [USN:14VFSB7015]
CERTIFICATE
This is to certify that the project report entitled “BOOK STORE” Submitted by BITTU
SHARMA [14VFSB7015]. This report is an out come of genuine project work and has been
submitted in partial fulfillment for the award of the Degree of Bachelor of Computer
Applications, awarded by Bangalore University, during the academic year 2016-17.
1. ________________
2. ________________
ACKNOWLEDGEMENT
We express our deep sincere thanks to Dr. Mohan Maghnani, Chairman of New Horizon
Educational Institutions for providing the platform and infrastructure to do this project. This
project would not have been possible without the help and co-operation of many. At the outset, I
wish to record my profound gratitude to our principal Dr. R. Bodhisatvan
We are extremely thankful to Mr Nagaraju K, Head-Computer science for his unending support
and encouragement during the development of this project.
We would like to acknowledge the interest and the support extended by our project guide Mr. S
Sathya Franklin, Sr Asst. Professor, Department of Computer Science, to make this project
implementation successful.
Above all we would thank God for the blessings and my parents also for their valuable
suggestion and support in my project report
Finally, we extend my deep sense of gratitude to all those who made this project come alive and
encouraged and guided me from the start to finish.
INTRODUCTION
The goal of this project is to design an online bookstore named Bookshop.com that mainly sells
computer and technical books. The book inventories are stored in Oracle database. Customers
can access the bookstore web site through the World Wide Web. Customers will be able to
search the database to find the books they want, check the availability, and place the order to buy
the book using their internet banking/debit card.
This bookstore also provides a software bridge to two real commercial online bookstores:
Bookpools.com and Fatbrain.com. This bridge allows customers to search the inventory of these
real bookstores, and display the searching results such as the title, the price and availability of the
book.
The page contains of the signup options were the user are required to signup so that the user will
be able to login and use the service the of this site. The login is necessary because so that they
can search the book which the customers required and can purchase the book through online
At the login time only the user are required to enter the address so that the book which they have
purchased reaches them safely to their register address.
INDEX
CHAPTERS PAGE NO
CHAPTER:1 INTRODUCTION TO THE PROJECT
1.1. PROBLEM STATEMENT 6-7
1.1.1. MODULE DESCRIPTION 7-8
CHAPTER:2 SYSTEM ANALYSIS
2.1. REQUIREMENTS SPECIFICATION 9
2.2. HARDWARE REQUIREMENTS 10
2.3. SOFTWARE REQUIRMENTS 10-11
2.3.1. INTRODUCTION TO HTML
2.3.2. INTRODUCTION TO CSS 12-13
2.3.3. INTRODUCTION TO PHP 13
2.3.4. INTRODUCTION TO MYSQL 14
2.3.5. INTRODUCTION TO XAMPP 14-16
2.4. PROPOSED SYSTEM 16-17
CHAPTER:3 SYSTEM DESIGN
3.1. TABLE STRUCTURE 17-26
3.2. DATA FLOW DIAGRAM 27-35
CHAPTER:4 CODING AND DEVELOPMENT
4.1. SOURCE CODE 36-45
CHAPTER:5 TESTING AND IMPLEMENTATION
5.1. INTRODUCTION TO TESTING 46-48
5.2. TYPES OF TESTING USED 49-50
CHAPTER:6 CONCLUSION
6.1. FUTURE ENHANSMENT 51-52
APPENDICES 53
SCREENSHOTS / FORM DESIGNS 54-60
BIBLIOGRAPHY 61
Project description
Introduction:-
The users can login to the Bookshop.com website and avail the facilities of searching a various
numbers of books.The user can check the book which they required before that the user has to
register to this website.after the registration the user can search and selected and add it to the cart
and checkout for the payment gateway.
Modules Description
Once the user decides to checkout to buy books, users are asked to input his registration
information. If the user has account on the bookstore before, he just needs to input his userID
and password. This class collects the userID and password and then search to see if the info is
valid or not. If the info was matched to the record, user was redirect to continue checkout.
Otherwise, user was asked to input some personal info to create an account.
Logout:-
Sign In:-
The Sign in is use to create a new account to the first time customer, here the customer has to
enter all the information to get registered
BookDetails:-
To define the object for an individual book. Every book has ISBN number, the Title and Price.
BookSearch:-
The user can search the book by clicking on the search textbox at the corner of the home page.
User can add any displayed books into the shopping cart by pressing the 'add to cart' icon.
Shopping cart:-
This can hold a book in Shopping Cart Item and number of different books. Add method is to
add one Shopping Cart Item. Remove methods remove the items from the shopping cart
Add to Cart:-
It can be used to add book to the cart. The user can select the books which they wish to
buy can add to the cart.
ShowCart:-
The Showcartwill display all the books users add to his shopping cart.
CheckOut:-
This class first displays all the contents in the shopping cart, then prompat user to input his credit
card/debit card information which include the name on card, credit card/debit card number, the
type of credit card/debit card and expiration date. If either of them is empty, let user go back to
input again.
Administrator
1) Login
• Purpose: If the Administrator wants to get access to all the functionalities of Online Book
Store he should login using his username and password.
• Input: The Administrator will enter his username and password.
• Output: If it is a successful login the Administrator will be directed to his menu page. Else
if the Administrator enters invalid information he will be asked to check the entered
information.
Hardware requirements
Processor : Intel
Ram : 512 or More
Hard Disc : 40 GB or More
Monitor : LCD or LED
Keyboard : RS/32 or USB/normal
Mouse : compatible mouse
Software requirements specification establishes the basis for an agreement between customers
and contractors or suppliers (in market-driven projects, these roles may be played by the
marketing and development divisions) on what the software product is to do as well as what it is
not expected to do. Software requirements specification permits a rigorous assessment of
requirements before design can begin and reduces later redesign. It should also provide a realistic
basis for estimating product costs, risks, and schedules. Software requirements specification
prevents software projects from failure.[2]
The software requirements specification document enlists enough and necessary requirements
that are required for the project development. To derive the requirements we need to have clear
and thorough understanding of the products to be developed or being developed. This is achieved
and refined with detailed and continuous communications with the project team and customer till
the completion of the software.[2]
PURPOSE OF SRS
Client
User
Developer
The requirements of the system that will satisfy the needs of the clients and the concerns of the
users have to communicate to the developer. The problem is that, the developer usually doesn’t
understand the client’s problem and applications area. This causes a communication gap between
the parties involved in the development project.
The basic purpose of software requirement specification is to bridge this communication gap.
SRS is a medium through which the client and user needs are accurately specified; Indeed, SRS
forms the basis of software development. A good SRS should specify something very hard to
achieve and involving trade-offs and persuasion.
The introduction of software System offers strong and effective features such as providing new
services, performing activation in a different manner to collecting data which were either
impossible or unfeasible without a software system.
2.3.1. INTRODUCTION TO HTML
Hypertext Mark-up Language (HTML) is the standard mark-up language for creating
webpagesand web applications With Cascading Style Sheets(CSS) and JavaScript it forms a triad
of cornerstone technologies for the World Wide Web.Web browsers receive HTML documents
from a webserveror from local storage and render them into multimedia web pages. HTML
describes the structure of a web page semantically and originally included cues for the
appearance of the document.[4]
HTML elements are the building blocks of HTML pages. With HTML constructs, imagesand
other objects, such as interactive forms, may be embedded into the rendered page. It provides a
means to create structured documentsby denoting structural semantics for text such as headings,
paragraphs, lists, links, quotes and other items. HTML elements are delineated by tags, written
using angle brackets. Tags such as <img /> and <input /> introduce content into the page
directly. Others such as <p>...</p> surround and provide information about document text and
may include other tags as sub-elements. Browsers do not display the HTML tags, but use them to
interpret the content of the page. [4]
HTML can embed programs written in a scripting language such as JavaScript which affect the
behaviour and content of web pages. Inclusion of CSS defines the look and layout of content.
The World Wide Web Consortium (W3C), maintainer of both the HTML and the CSS standards,
has encouraged the use of CSS over explicit presentational HTML since 1997. [4]
History
In 1980, physicist Tim Berners-Lee, a contractor at CERN, proposed and prototyped ENQUIRE,
a system for CERN researchers to use and share documents. In 1989, Berners-Lee wrote a memo
proposing an Internet-based hypertextsystem. Berners-Lee specified HTML and wrote the
browser and server software in late 1990. That year, Berners-Lee and CERN data systems
engineer Robert Cailliau collaborated on a joint request for funding, but the project was not
formally adopted by CERN. In his personal notes from 1990 he listed "some of the many areas in
which hypertext is used" and put an encyclopaedia first. [4]
The first publicly available description of HTML was a document called "HTML Tags", first
mentioned on the Internet by Tim Berners-Lee in late 1991. It describes 18 elements comprising
the initial, relatively simple design of HTML. Except for the hyperlink tag, these were strongly
influenced by SGMLguide,an in-house Standard Generalized Mark-up Language(SGML)-based
documentation format at CERN. Eleven of these elements still exist in HTML 4. [4]
HTML is a mark-up language that web browsers use to interpret and compose text, images, and
other material into visual or audible web pages. Default characteristics for every item of HTML
mark-up are defined in the browser, and these characteristics can be altered or enhanced by the
web page designer's additional use of CSS. Many of the text elements are found in the 1988 ISO
technical report TR 9537 Techniques for using SGML, which in turn covers the features of early
text formatting languages such as that used by the RUNOFF commanddeveloped in the early
1960s for the CTSS (Compatible Time-Sharing System) operating system: these formatting
commands were derived from the commands used by typesetters to manually format documents.
However, the SGML concept of generalized mark-up is based on elements (nested annotated
ranges with attributes) rather than merely print effects, with also the separation of structure and
mark-up; HTML has been progressively moved in this direction with CSS. [5]
After the HTML and HTML+ drafts expired in early 1994, the IETF created an HTML Working
Group, which in 1995 completed "HTML 2.0", the first HTML specification intended to be
treated as a standard against which future implementations should be based.
Further development under the auspices of the IETF was stalled by competing interests. Since
1996, the HTML specifications have been maintained, with input from commercial software
vendors, by the World Wide Web Consortium (W3C).However, in 2000, HTML also became an
international standard (ISO/IEC 15445:2000). HTML 4.01 was published in late 1999, with
further errata published through 2001. In 2004, development began on HTML5 in the Web
Hypertext Application Technology Working Group (WHATWG), which became a joint
deliverable with the W3C in 2008, and completed and standardized on 28 October 2014.[5]
HTML 2.0 was published as IETF RFC 1866. Supplemental RFCs added capabilities:
HTML 3.2was published as a W3C Recommendation. It was the first version developed and
standardized exclusively by the W3C, as the IETF had closed its HTML Working Group on
September 12, 1996. [4]
Initially code-named "Wilbur", HTML 3.2 dropped math formulas entirely, reconciled
overlap among various proprietary extensions and adopted most of Netscape's visual mark-up
tags. Netscape's blink element and Microsoft's marquee elementwere omitted due to a mutual
agreement between the two companies. A mark-up for mathematical formulas similar to that
in HTML was not standardized until 14 months later in MathML.
Initially code-named "Cougar", HTML 4.0 adopted many browser-specific element types and
attributes, but at the same time sought to phase out Netscape's visual mark-up features by
marking them as deprecated in favour of style sheets. HTML 4 is an SGML application
conforming to ISO 8879 – SGML. [4]
HTML 4.0was reissued with minor edits without incrementing the version number.
HTML 4.01 was published as a W3C Recommendation. It offers the same three variations as
HTML 4.0 and its last errata were published on May 12, 2001.[4]
May 2000
ISO/IEC 15445:2000 ("ISO HTML", based on HTML 4.01 Strict) was published as an
ISO/IEC international standard. In the ISO this standard falls in the domain of the ISO/IEC
JTC1/SC34 (ISO/IEC Joint Technical Committee 1, Subcommittee 34 – Document
description and processing languages).[4]
After HTML 4.01, there was no new version of HTML for many years as development of the
parallel, XML-based language XHTML occupied the W3C's HTML Working Group through
the early and mid-2000s. [4]
November 1, 2016
October 1991
HTML Tags, an informal CERN document listing 18 HTML tags, was first mentioned in
public.
June 1992
First informal draft of the HTML DTD, with seven subsequent revisions (July 15, August 6,
August 18, November 17, November 19, November 20, November 22) [4]
November 1992
HTML DTD 1.1 (the first with a version number, based on RCS revisions, which start with
1.1 rather than 1.0), an informal draft
June 1993
Hypertext Mark-up Language was published by the IETF IIIR Working Group as an Internet
Draft (a rough proposal for a standard). It was replaced by a second version one month later,
followed by six further drafts published by IETF itselfthat finally led to HTML 2.0 in RFC
1866. [4]
November 1993
HTML+ was published by the IETF as an Internet Draft and was a competing proposal to the
Hypertext Mark-up Language draft. It expired in May 1994.
HTML 3.0 was proposed as a standard to the IETF, but the proposal expired five months
later (28 September 1995) without further action. It included many of the capabilities that
were in Raggett's HTML+ proposal, such as support for tables, text flow around figures and
the display of complex mathematical formulas. [4]
W3C began development of its own Arena browser as a test bed for HTML 3 and Cascading
Style Sheets, but HTML 3.0 did not succeed for several reasons. The draft was considered
very large at 150 pages and the pace of browser development, as well as the number of
interested parties, had outstripped the resources of the IETF. Browser vendors, including
Microsoft and Netscape at the time, chose to implement different subsets of HTML 3's draft
features as well as to introduce their own extensions to it. (see Browser wars). These
included extensions to control stylistic aspects of documents, contrary to the "belief [of the
academic engineering community] that such things as text color, background texture, font
size and font face were definitely outside the scope of a language when their only intent was
to specify how a document would be organized." Dave Raggett, who has been a W3C Fellow
for many years, has commented for example: "To a certain extent, Microsoft built its
business on the Web by extending HTML features." [4]
January 2008
HTML5 was published as a Working Draft by the W3C.
Although its syntax closely resembles that of SGML, HTML5 has abandoned any attempt to
be an SGML application and has explicitly defined its own "html" serialization, in addition to
an alternative XML-based XHTML5 serialization. [4]
On 14 February 2011, the W3C extended the charter of its HTML Working Group with clear
milestones for HTML5. In May 2011, the working group advanced HTML5 to "Last Call",
an invitation to communities inside and outside W3C to confirm the technical soundness of
the specification. The W3C developed a comprehensive test suite to achieve broad
interoperability for the full specification by 2014, which was the target date for
recommendation. In January 2011, the WHATWG renamed its "HTML5" living standard to
"HTML". The W3C nevertheless continues its project to release HTML5.[5]
In July 2012, WHATWG and W3C decided on a degree of separation. W3C will continue the
HTML5 specification work, focusing on a single definitive standard, which is considered as a
"snapshot" by WHATWG. The WHATWG organization will continue its work with HTML5
as a "Living Standard". The concept of a living standard is that it is never complete and is
always being updated and improved. New features can be added but functionality will not be
removed.
XHTML versions
XHTML 1.0 was published as a W3C Recommendation on January 26, 2000 and was
later revised and republished on August 1, 2002. It offers the same three variations as
HTML 4.0 and 4.01, reformulated in XML, with minor restrictions. [4]
XHTML 1.1 was published as a W3C Recommendation on May 31, 2001. It is based on
XHTML 1.0 Strict, but includes minor changes, can be customized, and is reformulated
using modules in the W3C recommendation "Modularization of XHTML", which was
published on April 10, 2001. [4]
XHTML 2.0 was a working draft; work on it was abandoned in 2009 in favour of work
on HTML5and XHTML5. XHTML 2.0 was incompatible with XHTML 1.x and,
therefore, would be more accurately characterized as an XHTML-inspired new language
than an update to XHTML 1.x. [4]
Cascading Style Sheets (CSS) is a style sheet language used for describing the presentation of a
document written in a mark-up language. Although most often used to set the visual style of web
pages and user interfaces written in HTML and XHTML, the language can be applied to any
XML document, including plain XML, SVG and XUL, and is applicable to rendering in speech,
or on other media. Along with HTML and JavaScript, CSS is a cornerstone technology used by
most websites to create visually engaging webpages, user interfaces for web applications, and
user interfaces for many mobile applications. [5]
CSS is designed primarily to enable the separation of document content from document
presentation, including aspects such as the layout, colors, and fonts. This separation can improve
content accessibility, provide more flexibility and control in the specification of presentation
characteristics, enable multiple HTML pages to share formatting by specifying the relevant CSS
in a separate .css file, and reduce complexity and repetition in the structural content. [5]
Separation of formatting and content makes it possible to present the same mark-up page in
different styles for different rendering methods, such as on-screen, in print, by voice (via speech-
based browser or screen reader), and on Braille-based tactile devices. It can also display the web
page differently depending on the screen size or viewing device. Readers can also specify a
different style sheet, such as a CSS file stored on their own computer, to override the one the
author specified. [5]
Changes to the graphic design of a document (or hundreds of documents) can be applied quickly
and easily, by editing a few lines in the CSS file they use, rather than by changing mark-up in the
documents.
The CSS specification describes a priority scheme to determine which style rules apply if more
than one rule matches against a particular element. In this so-called cascade, priorities (or
weights) are calculated and assigned to rules, so that the results are predictable.[5]
The CSS specifications are maintained by the World Wide Web Consortium (W3C). Internet
media type (MIME type) text/css is registered for use with CSS by RFC 2318 (March 1998).
The W3C operates a free CSS validation service for CSS documents.[5]
History
CSS was first proposed by HåkonWium Lie on October 10, 1994. At the time, Lie was working
with Tim Berners-Lee at CERN.Several other style sheet languages for the web were proposed
around the same time, and discussions on public mailing lists and inside World Wide Web
Consortium resulted in the first W3C CSS Recommendation (CSS1)being released in 1996. In
particular, Bert Bos' proposal was influential; he became co-author of CSS1 and is regarded as
co-creator of CSS. [5]
Style sheets have existed in one form or another since the beginnings of Standard Generalized
Mark-up Language (SGML) in the 1980s, and CSS was developed to provide style sheets for the
web. One requirement for a web style sheet language was for style sheets to come from different
sources on the web. Therefore, existing style sheet languages like DSSSL and FOSI were not
suitable. CSS, on the other hand, let a document's style be influenced by multiple style sheets by
way of "cascading" styles. [5]
As HTML grew, it came to encompass a wider variety of stylistic capabilities to meet the
demands of web developers. This evolution gave the designer more control over site appearance,
at the cost of more complex HTML. Variations in web browser implementations, such as
ViolaWWW and Worldwide Web, made consistent site appearance difficult, and users had less
control over how web content was displayed. The browser/editor developed by Tim Berners-Lee
had style sheets that were hard-coded into the program. The style sheets could therefore not be
linked to documents on the web. Robert Cailliau, also of CERN, wanted to separate the structure
from the presentation so that different style sheets could describe different presentation for
printing, screen-based presentations, and editors.[5]
Improving web presentation capabilities was a topic of interest to many in the web community
and nine different style sheet languages were proposed on the www-style mailing list. Of these
nine proposals, two were especially influential on what became CSS: Cascading HTML Style
Sheets and Stream-based Style Sheet Proposal (SSP). Two browsers served as test beds for the
initial proposals; Lie worked with Yves Lafon to implement CSS in DaveRaggett'sArena
browser. Bert Bos implemented his own SSP proposal in the Argo browser. Thereafter, Lie and
Bos worked together to develop the CSS standard (the 'H' was removed from the name because
these style sheets could also be applied to other mark-up languages besides HTML). [5]
Lie's proposal was presented at the "Mosaic and the Web" conference (later called WWW2) in
Chicago, Illinois in 1994, and again with Bert Bos in 1995. Around this time the W3C was
already being established, and took an interest in the development of CSS. It organized a
workshop toward that end chaired by Steven Pemberton. This resulted in W3C adding work on
CSS to the deliverables of the HTML editorial review board (ERB). Lie and Boswas the primary
technical staff on this aspect of the project, with additional members, including Thomas Reardon
of Microsoft, participating as well. In August 1996 Netscape Communication Corporation
presented an alternative style sheet language called JavaScript Style Sheets (JSSS). The spec was
never finished and is deprecated.By the end of 1996, CSS was ready to become official, and the
CSS level 1 Recommendation was published in December. [5]
Development of HTML, CSS, and the DOM had all been taking place in one group, the HTML
Editorial Review Board (ERB). Early in 1997, the ERB was split into three working groups:
HTML Working group, chaired by Dan Connolly of W3C; DOM Working group, chaired by
Lauren Wood of Soft Quad; and CSS Working group, chaired by Chris Lilleyof W3C. [5]
The CSS Working Group began tackling issues that had not been addressed with CSS level 1,
resulting in the creation of CSS level 2 on November 4, 1997. It was published as a W3C
Recommendation on May 12, 1998. CSS level 3, which was started in 1998, is still under
development as of 2014. [5]
In 2005 the CSS Working Groups decided to enforce the requirements for standards more
strictly. This meant that already published standards like CSS 2.1, CSS 3 Selectors and CSS 3
Text were pulled back from Candidate Recommendation to Working Draft level. [5]
2.3.3. INTRODUCTION PHP
PHP is a server-side scripting language designed primarily for web development but also used as
a general-purpose programming language. Originally created by RasmusLerdorf in 1994, the
PHP reference implementation is now produced by The PHP Development Team. PHP originally
stood for Personal Home Page, but it now stands for the recursive acronymPHP: Hypertext Pre-
processor.[1]
PHP code may be embedded into HTML or HTML5 mark-up, or it can be used in combination
with various web template systems, web content management systems and web frameworks.
PHP code is usually processed by a PHP interpreter implemented as a module in the web server
or as a Common Gateway Interface (CGI) executable. The web server software combines the
results of the interpreted and executed PHP code, which may be any type of data, including
images, with the generated web page. PHP code may also be executed with a command-line
interface(CLI) and can be used to implement standalonegraphical applications.[1]
The standard PHP interpreter, powered by the Zend Engine, is free software released under the
PHP License. PHP has been widely ported and can be deployed on most web servers on almost
every operating system and platform, free of charge.[2]
The PHP language evolved without a written formal specification or standard until 2014, leaving
the canonical PHP interpreter as a de facto standard. Since 2014 work has gone on to create a
formal PHP specification.[3]
HISTORY
RasmusLerdorf(left), who wrote the original Common Gateway Interface (CGI) component,
together with AndiGutmans (middle) and Zeev Suraski(right), who rewrote the parser that
formed PHP 3.[2]
PHP development began in 1995 when RasmusLerdorfwrote several Common Gateway Interface
(CGI) programs in C, which he used to maintain his personal homepage. He extended them to
work with web forms and to communicate with databases, and called this implementation
"Personal Home Page/Forms Interpreter" or PHP/FI.[3]
PHP/FI could help to build simple, dynamic web applications. To accelerate bug reporting and to
improve the code, Lerdorf initially announced the release of PHP/FI as "Personal Home Page
Tools (PHP Tools) version 1.0" on the Usenetdiscussion group
comp.infosystems.www.authoring.cgi on June 8, 1995. This release already had the basic
functionality that PHP has as of 2013//en.wikipedia.org/w/index.php?title=PHP&action=edit.
This included Perl-like variables, form handling, and the ability to embed HTML. The syntax
resembled that of Perl but was simpler, more limited and less consistent.[3]
Lerdorf did not intend the early PHP to become a new programming language, but it grew
organically, with Lerdorf noting in retrospect: "I don’t know how to stop it, there was never any
intent to write a programming language […] I have absolutely no idea how to write a
programming language, I just kept adding the next logical step on the way." A development team
began to form and, after months of work and beta testing, officially released PHP/FI 2 in
November 1997.[3]
The fact that PHP lacked an original overall design but instead developed organically has led to
inconsistent naming of functions and inconsistent ordering of their parameters. In some cases,
the function names were chosen to match the lower-level libraries which PHP was "wrapping",
while in some very early versions of PHP the length of the function names was used internally as
a hash function, so names were chosen to improve the distribution of hash values.[2]
PHP 3 and 4
Zeev Suraski and AndiGutmans rewrote the parserin 1997 and formed the base of PHP 3,
changing the language's name to the recursive acronymPHP: Hypertext Pre-processor.
Afterwards, public testing of PHP 3 began, and the official launch came in June 1998. Suraski
and Gutmans then started a new rewrite of PHP's core, producing the Zend Engine in 1999. They
also founded Zend Technologies in Ramat Gan, Israel. [2]
On May 22, 2000, PHP 4, powered by the Zend Engine 1.0, was released. As of August 2008
this branch reached version 4.4.9. PHP 4 is no longer under development nor will any security
updates be released.[3]
PHP 5
On July 13, 2004, PHP 5 was released, powered by the new Zend Engine II. PHP 5 included new
features such as improved support for object-oriented programming, the PHP Data Objects
(PDO) extension (which defines a lightweight and consistent interface for accessing databases),
and numerous performance enhancements. In 2008 PHP 5 became the only stable version under
development. Late static binding had been missing from PHP and was added in version 5.3.[3]
Many high-profile open-source projects ceased to support PHP 4 in new code as of February 5,
2008, because of the GoPHP5 initiative, provided by a consortium of PHP developers promoting
the transition from PHP 4 to PHP 5. [3]
Over time, PHP interpreters became available on most existing 32-bit and 64-bit operating
systems, either by building them from the PHP source code, or by using pre-built binaries. For
the PHP versions 5.3 and 5.4, the only available Microsoft Windows binary distributions were
32-bit x86 builds, requiring Windows 32-bit compatibility mode while using Internet
Information Services (IIS) on a 64-bit Windows platform. PHP version 5.5 made the 64-bit x86-
64 builds available for Microsoft Windows.[2]
However, a shortage of developers who understood the necessary changes, and performance
problems arising from conversion to and from UTF-16, which is rarely used in a web context, led
to delays in the project.As a result, a PHP 5.3 release was created in 2009, with many non-
Unicode features back-ported from PHP 6, notably namespaces. In March 2010, the project in its
current form was officially abandoned, and a PHP 5.4 release was prepared containing most
remaining non-Unicode features from PHP 6, such as traits and closure re-binding. Initial hopes
were that a new plan would be formed for Unicode integration, but as of 2014 none have been
adopted. [3]
PHP 7
During 2014 and 2015, a new major PHP version was developed, which was numbered PHP 7.
The numbering of this version involved some debate. While the PHP 6 Unicode experiment had
never been released, several articles and book titles referenced the PHP 6 name, which might
have caused confusion if a new release were to reuse the name. After a vote, the name PHP 7
was chosen. [3]
The foundation of PHP 7 is a PHP branch that was originally dubbed PHP next generation
(phpng). It was authored by Dmitry Stogov, XinchenHui and Nikita Popov, and aimed to
optimize PHP performance by refactoring the Zend Engine to use more compact data structures
with improved cache locality while retaining near-complete language compatibility. As of 14
July 2014//en.wikipedia.org/w/index.php?title=PHP&action=edit, Word Press-based
benchmarks, which served as the main benchmark suite for the phpng project, showed an almost
100% increase in performance. Changes from phpng are also expected to make it easier to
improve performance in the future, as more compact data structures and other changes are seen
as better suited for a successful migration to a just-in-time(JIT) compiler. Because of the
significant changes, the reworked Zend Engine is called Zend Engine 3, succeeding Zend Engine
2 used in PHP 5. [2]
Because of major internal changes in phpng, it must receive a new major version number of
PHP, rather than a minor PHP 5 release, according to PHP's release process. Major versions of
PHP are allowed to break backward-compatibility of code and therefore PHP 7 presented an
opportunity for other improvements beyond phpng that require backward-compatibility breaks,
including wider use of exceptions, reworking variable syntax to be more consistent and
complete, and the deprecation or removal of various legacy features.PHP 7 also introduced new
language features, including return type declarations for functions, which complement the
existing parameter type declarations, and support for the scalar types (integer, float, string, and
boolean) in parameter and return type declarations.[2]
2.3.4. INTRODUCTION MySQL
MySQL is written in Cand C++. Its SQL parser is written in yacc, but it uses a home-brewed
lexical analyser. MySQL works on many system platforms, including AIX, BSDi, FreeBSD, HP-
UX, eComStation, i5/OS, IRIX, Linux, macOS, Microsoft Windows, NetBSD, Novell NetWare,
OpenBSD, Open Solaris, OS/2Warp, QNX, Oracle Solaris, Symbian, SunOS, SCO Open Server,
SCO UnixWare, Sanos and Tru64. A port of MySQL to OpenVMS also exists.[1]
The MySQL server software itself and the client libraries use dual-licensing distribution. They
are offered under GPL version 2, beginning from 28 June 2000 (which in 2009 has been
extended with a FLOSS License Exception)or to use a proprietary license.[1]
Support can be obtained from the official manual. Free support additionally is available in
different IRC channels and forums. Oracle offers paid support via its MySQL Enterprise
products. They differ in the scope of services and in price. Additionally, a number of third party
organisations exist to provide support and services, including Maria DB and Percona.[1]
MySQL has received positive reviews, and reviewers noticed it "performs extremely well in the
average case" and that the "developer interfaces are there, and the documentation (not to mention
feedback in the real world via Web sites and the like) is very, very good". It has also been tested
to be a "fast, stable and true multi-user, multi-threaded sql database server". [1]
Features
MySQL is offered under two different editions: the open source MySQL Community Server and
the proprietary Enterprise Server.MySQL Enterprise Server is differentiated by a series of
proprietary extensions which install as server plugins, but otherwise shares the version
numbering system and is built from the same code base. [1]
Cross-platform support
Triggers
Cursors
Updatable views
Information schema
Performance Schema that collects and aggregates statistics about server execution and
query performance for monitoring purposes.
A set of SQL Mode options to control runtime behaviour, including a strict mode to
better adhere to SQL standards.[1]
Transactions with save points when using the default InnoDB Storage Engine. The NDB
Cluster Storage Engine also supports transactions.
ACID compliance when using InnoDB and NDB Cluster Storage Engines
SSL support
Query caching
Unicode support
Multiple storage engines, allowing one to choose the one that is most effective for each
table in the application.
Native storage engines InnoDB, MyISAM, Merge, Memory (heap), Federated, Archive,
CSV, Black hole, NDB Cluster.
The developers release minor updates of the MySQL Server approximately every two months.
The sources can be obtained from MySQL's website or from MySQL's GitHub repository, both
under the GPL license.[1]
3 . System Design
3.1Table description
Book
Category
Contact
Shipping details
Slno. Field name Field type Constraints Description
1. Id Int(11) Foreign key It will consist of
the id of the
items
2. Name Char(50) The name of the
user
3. Address Text It will consist of
the address
4. Postal code Int (20) The postal code
of the city
5. City Varchar(50) The user have
to enter their
city
6. State Varchar(50) The user have
to enter their
city
7. Phone Int(20) Users phone
number
user Registration
Slno. Field name Field type Constraints Description
1. Id Int(4) A unique id will
be given to the
user
2. Full name Varchar(20) Users full name
3. User name Varchar(20) User name
4. Password Varchar(20) Password
should be given
by the user
5. Gender Varchar(7) Gender of the
user
6. Email Varchar(20) The user email
id have to be
given
7. Contact Varchar(12) Foreign key The user should
provide their
contact number
8. City Varchar(20) User city name
should be
provided
Subcat
The DFD takes an input-process-output view of a system i.e. data objects flow into the software,
are transformed by processing elements, and resultant data objects flow out of the software.
Data objects represented by labelled arrows and transformation are represented by circles also
called as bubbles. DFD is presented in a hierarchical fashion i.e. the first data flow model
represents the system as a whole. Subsequent DFD refine the context diagram (level 0 DFD),
providing increasing details with each subsequent level.
The DFD enables the software engineer to develop models of the information domain &
functional domain at the same time. As the DFD is refined into greater levels of details, the
analyst performs an implicit functional decomposition of the system. At the same time, the DFD
refinement results in a corresponding refinement of the data as it moves through the processes
that embody the applications.
A context-level DFD for the system the primary external entities produce information for use by
the system and consume information generated by the system. The labelled arrow represents data
objects or object hierarchy.
A process is required for all the data transformation and Transfers. Therefore, never
connect a data store to a data Source or the destinations or another data store with just
a Data flow arrow.
Make sure the names of the processes accurately convey everything the process is
done.
4) Datastorage: Any store data but with no reference to the physical method of
storing.
(OR)
TYPES OF DFD:
We have DFD in 3 different levels they are:
1-level DFD
Context level
Book store
B_price
Book Category
Cat_id
B_page
B_publisher
B_subcat
B_Isbn
B_id B_name
Cat_name
Subcat_id
Subcat Parent_id
Contact
Con_id
Subcat_name
Query
Con_nm email
Shopping Phone
details
State
Id
Full name
City
User name
password
Gender
Contact email
4.1 SOURCE CODE:
Registration
<?php session_start(); ?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<?php
include("includes/head.inc.php");
?>
</head>
<body>
<!-- start header -->
<div id="header">
<div id="menu">
<?php
include("includes/menu.inc.php");
?>
</div>
</div>
<div id="logo-wrap">
<div id="logo">
<?php
include("includes/logo.inc.php");
?>
</div>
</div>
<!-- end header -->
<div id="page">
<!-- start content -->
<div id="content">
<div class="post">
<h1 class="title">Welcome to Registeration.</h1>
<div class="entry">
<br><br>
<?php
if(isset($_GET['error']))
{
echo '<font color="red">'.$_GET['error'].'</font>';
echo '<br><br>';
}
if(isset($_GET['ok']))
{
echo '<font color="blue">You are successfully Registered..</font>';
echo '<br><br>';
}
?>
<table>
<form action="process_register.php" method="POST">
<tr>
<td><b>Full Name :</b> </td>
<td><input type='text' size="30" maxlength="30" name='fnm'></td>
</tr>
<tr><td> </tr>
<tr>
<td><b>User Name :</b> </td>
<td><input type='text' size="30" maxlength="30" name='unm'></td>
<td> </td>
</tr>
<tr><td> </tr>
<tr>
<td><b>Password :</b> </td>
<td><input type='password' name='pwd' size="30"></td>
</tr>
<tr><td> </tr>
<tr>
<td><b>Confirm Password:</b> </td>
<td><input type='password' name='cpwd' size="30"></td>
</tr>
<tr><td> </tr>
<tr>
<td><b>Gender:</b> </td>
<td><input type="radio" value="Male" name="gender" id='m'><label>
Male</label>
<input type="radio" value="Female" name="gender" id='f'><label>Female</label></td>
<td> </td>
</tr>
<tr><td> </tr>
<tr>
<td><b>E-mail Address:</b> </td>
<td><input type='text' name='mail' size="30"></td>
</tr>
<tr><td> </tr>
<tr>
<td><b>Contact No.:</b> </td>
<td><input type='text' name='contact' size="30"></td>
</tr>
<tr><td> </tr>
<tr>
<td><b>City:</b> </td>
<td>
<select style="width: 195px;" name="city">
<option>Ahmedabad
<option>Baroda
<option>Jamnagar
<option>Rajkot
<option>Bangalore
<option>Mumbai
<option>Hydrabad
<option>Kolkata
<option>Punjab
<option>Pune
<option>Rajastan
<option>Andhrapradesh
<option>Madhyapradesh
</select>
</tr>
<tr><td> </tr>
<tr>
<td colspan='2' align='center'>
<input type='submit' value=" OK ">
</td>
</tr>
</form>
</table>
</div>
</div>
</div>
include("includes/search.inc.php");
?>
</div>
<!-- end sidebar -->
<div style="clear: both;"> </div>
</div>
<!-- end page -->
Login
<?php session_start();
require('includes/config.php');
if(!empty($_POST))
$msg="";
if(empty($_POST['usernm']))
if(empty($_POST['pwd']))
$msg[]="Password Incorrect........";
if(!empty($msg))
{
echo '<b>Error:-</b><br>';
foreach($msg as $k)
echo '<li>'.$k;
else
$unm=$_POST['usernm'];
$row=mysqli_fetch_assoc($res);
if(!empty($row))
if($_POST['pwd']==$row['u_pwd'])
{
$_SESSION=array();
$_SESSION['unm']=$row['u_unm'];
$_SESSION['uid']=$row['u_pwd'];
$_SESSION['status']=true;
if($_SESSION['unm']!="admin")
header("location:index.php");
else
header("location:admin/index.php");
else
else
}
}
else
header("location:index.php");
?>
Home page
<?php session_start();?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<?php
include("includes/head.inc.php");
?>
</head>
<body>
<div id="header">
<div id="menu">
<?php
include("includes/menu.inc.php");
?>
</div>
</div>
<div id="logo-wrap">
<div id="logo">
<?php
include("includes/logo.inc.php");
?>
</div>
</div>
<div id="page">
<div id="content">
<div class="post">
<h1 class="title">Welcome to
<?php
if(isset($_SESSION['status']))
{
echo $_SESSION['unm'];
else
?>
</h1>
<div class="entry">
<br>
<br>
</embed>
</object>
<br><br>
</div>
</div>
</div>
<!-- end content -->
<div id="sidebar">
<?php
include("includes/search.inc.php");
?>
</div>
</div>
<div id="footer">
<?php
include("includes/footer.inc.php");
?>
</div>
</body>
</html>
5.TESTING AND IMPLEMENTATION
5.1 Introduction:
Software testing is a critical element of software quality assurance and represents the
ultimate review of specification, design and coding. In fact, testing is the one step in the software
engineering process that could be viewed as destructive rather than constructive.
A strategy for software testing integrates software test case design methods into a well-
planned series of steps that result in the successful construction of software. Testing is the set of
activities that can be planned in advance and conducted systematically. The underlying
motivation of program testing is to affirm software quality with methods that can economically
and effectively apply to both strategic to both large and small-scale systems.
The software engineering process can be viewed as a spiral. Initially system engineering
defines the role of software and leads to software requirement analysis where the information
domain, functions, behaviour, performance, constraints and validation criteria for software are
established. Moving inward along the spiral, we come to design and finally to coding. To
develop computer software we spiral in along streamlines that decrease the level of abstraction
on each turn.
A strategy for software testing may also be viewed in the context of the spiral. Unit
testing begins at the vertex of the spiral and concentrates on each unit of the software as
implemented in source code. Testing progress by moving outward along the spiral to integration
testing, where the focus is on the design and the construction of the software architecture.
Talking another turn on outward on the spiral we encounter validation testing where
requirements established as part of software requirements analysis are validated against the
software that has been constructed. Finally we arrive at system testing, where the software and
other system elements are tested as a whole.
Unit testing:
Unit testing involves the design of test cases that validate that the internal program logic is
functioning properly, and that program inputs produce valid outputs. All decision branches and
internal code flow should be validated. It is the testing of individual software units of the
application .it is done after the completion of an individual unit before integration. This is a
structural testing, that relies on knowledge of its construction and is invasive. Unit tests perform
basic tests at component level and test a specific business process, application, and/or system
configuration. Unit tests ensure that each unique path of a business process performs accurately
to the documented specifications and contains clearly defined inputs and expected results.
Integration testing:
Integration tests are designed to test integrated software components to determine if they actually
run as one program. Testing is event driven and is more concerned with the basic outcome of
screens or fields. Integration tests demonstrate that although the components were individually
satisfaction, as shown by successfully unit testing, the combination of components is correct and
consistent. Integration testing is specifically aimed at exposing the problems that arise from the
combination of components.
Functional test:
Functional tests provide systematic demonstrations that functions tested are available as
specified by the business and technical requirements, system documentation, and user manuals.
System Test:
System testing ensures that the entire integrated software system meets requirements. It tests a
configuration to ensure known and predictable results. An example of system testing is the
configuration oriented system integration test. System testing is based on process descriptions
and flows, emphasizing pre-driven process links and integration points.
Test objectives
All field entries must work properly.
Pages must be activated from the identified link.
The entry screen, messages and responses must not be delayed.
Features to be tested
Verify that the entries are of the correct format
No duplicate entries should be allowed
All links should take the user to the correct page.
Test Results:
All the test cases mentioned above passed successfully. No defects encountered.
CONDITIONAL TESTING
In this part of the testing each of the conditions were tested to both true and false aspects. And all
the resulting paths were tested. So that each path that may be generate on particular condition is
traced to uncover any possible errors
LOOP TESTING
In this type of testing all the loops are tested to all the limits possible. The following exercise was tested
for all loops:
All the loops were tested at their limits, just above them and just below them.
All the loops were skipped at least once.
For nested loops test the inner most loop first and then work outwards.
For concatenated loops the values of dependent loops were set with the help of connected
loop.
Unstructured loops were resolved into nested loops or concatenated loops and tested as
above.
Each unit has been separately tested by the development team itself and all the input have been
validated.
This project is under the unit testing,white box testing
CONCLUSION:
Online Book store is an online web application where the customer can purchase books online.
Through a web browser the customer can search for books by its title or author, later can add to
the shopping cart and finally purchase the book
Home page:-
Login
Registration
Contact us:-
View cart:-
Shopping details
Checkout/payment option
Aboutus:-
BIBLIOGRAPHY:
4. Thomas Powell, ”HTML & CSS: The complete reference, fifth edition”
5. Eric A. Meyer, “CSS Pocket Reference: Visual Presentation for the Web”, fourth edition.
8.1WEBSITES:
6. http://www.w3schools.com/php.net/
7. www.Bookpool.com