Вы находитесь на странице: 1из 71

Online Electronic Shopping

A
ProjectReport
On
ONLINE ELECTRONIC SHOPPING
Submitted
In partial fulfillment of requirements for the degree of

Bachelor of Technology
In
Computer Science & Engineering
Submitted by

1|Page
Online Electronic Shopping

Contents
DECLARATION ................................................................................................................ .................................. III
CERTIFICATE ..................................................................................................................................................... IV
ACKNOWLEDGEMENT ............................................................................................................ ......................... V
ABSTRACT ......................................................................................................................................................... VI
LIST OF FIGURES ............................................................................................................ ................................. VII
LIST OF SNAPSHOTS ..................................................................................................................................... VIII
LIST OF ABBREVIATIONS .............................................................................................................................. IX

CHAPTER 1 (INTRODUCTION) ...................................................................................................................... 1


CHAPTER 2 ( PROJECT OVERVIEW) .......................................................................................................... 2
CHAPTER 3 (SYSTEM STUDY) ....................................................................................................................... 3
3.1 EXISTING SYSTEM 3
3.2 DRAWBACKS IN THE EXISTING SYSTEMS 3
CHAPTER 4 (SYSTEM ANALYSIS)................................................................................................................. 4
4.1 PURPOSE 4
4.2 SCOPE 4
4.3 NEED FOR THE PROPOSED SYSTEM: 4
4.4 FEASIBILITY STUDY: 5
4.4.1 Technical Feasibility: ........................................................................................................................... 5
4.4.2 Financial Feasibility: ............................................................................................................................ 5
4.4.3 Operational Feasibility: ........................................................................................................................ 5
CHAPTER 5 (SOFTWARE REQUIREMENTS SPECIFICATION) ............................................................. 6
5.1 PERFORMANCE REQUIREMENTS: 6
5.2 NON-FUNCTIONAL REQUIREMENTS: 6
5.3 VARIOUS OTHER NON-FUNCTIONAL REQUIREMENTS ARE: 7
5.4 HARDWARE INTERFACE: 7
CHAPTER 6 (TECHNOLOGICAL BACKGROUND) .................................................................................... 8
6.1 THE TOOLS USED TO DEVELOP THE SHOPPING CART INCLUDE: 8
CHAPTER 7 (SYSTEM ANALYSIS & DESIGN) ............................................................................................ 9
7.1 USE CASES: 9
7.1.1Customer Interface ................................................................................................................................ 9
7.1.2Admin Interface .................................................................................................................................. 11
7.2SEQUENCE DIAGRAMS 12
7.2.1Admin Interface .................................................................................................................................. 12
7.2.2 Customer Interface ............................................................................................................................. 13
CHAPTER 8 (SYSTEM DESIGN SPECIFICATION) ................................................................................... 14
8.1 ARCHITECTURAL DESIGN 14
8.1.1 DATA FLOW DIAGRAMS: ............................................................................................................. 14
8.2 DFD CONTEXT LEVEL: 15
8.2.1 DFD Level 1: ..................................................................................................................................... 16
8.2.2 DFD LEVEL 2: .................................................................................................................................. 17
8.3 PHYSICAL TRANSACTION: 18
8.4 LOGIN: 19
8.5 REGISTRATION: 19
8.6 INTIMATION: 20
CHAPTER 9 (DATABASE DESIGN) .............................................................................................................. 21
9.1 DATABASE STRUCTURE 21

2|Page
Online Electronic Shopping

9.2E-R DIAGRAM 24
9.2.1 Connectivity and Cardinality ............................................................................................................. 24
9.2.2 E-R Notation ...................................................................................................................................... 25
9.3E-R DIAGRAM (ONLINE SHOPPING) 26
9.4FUNCTIONAL DIAGRAM: 27
CHAPTER 10 (USER INTERFACE DESIGN) ............................................................................................... 28
10.1 USER INTERFACE DESIGN: 28
CHAPTER 11 (IMPLEMENTATION TECHNOLOGIES)........................................................................... 35
11.1 BACK-END WEB DEVELOPMENT TECHNOLOGY 35
11.2 JSP ARCHITECTURE 36
11.3 INTEGRATING THE WEBSITE AND DATABASE 37
11.4 ONLINE ELECTRONIC SHOPPING APPLICATION 37
11.4.4 MySQL Database ............................................................................................................................. 45
11.5 BACK-END WEB DEVELOPMENT TECHNOLOGY 45
11.6 NETBEANS IDE (FRAMEWORK) 46
11.6.1 NetBeans Features ............................................................................................................................ 47
11.6.2 NetBeans Uses ................................................................................................................................. 47
CHAPTER 12 (INTEGRATING THE WEB APPLICATION) ..................................................................... 48
12.1 WEB BASED APPLICATION DEVELOPMENT 48
12.2 INTEGRATION OF PAYMENT GATEWAY (PAYPAL) 49
CHAPTER 13 (TESTING) ................................................................................................................................ 50
13.1 UNIT TESTING 50
13.2 INTEGRATION TESTING50
13.3 Validation Testing ........................................................................................................................................ 51
CHAPTER 14 (SOFTWARE QUALITY ASSURANCE PLAN) ................................................................... 52
CONCLUSION ................................................................................................................................................... 58
FUTURE SCOPE OF PROJECT ..................................................................................................................... 59
BIBLIOGRAPHY ............................................................................................................................................... 60

3|Page
Online Electronic Shopping

DECLARATION

I hereby declare that this submission is our own work and that to the best of our knowledge
and beliefs. It contains no material previously published or written by neither any person
nor material which to a substantial extent has been accepted for the award of any other
degree or diploma of the university or other institute of higher learning, except where due
acknowledgement has been made in the text.

4|Page
Online Electronic Shopping

CERTIFICATE

This is to certify that Project report entitled “ONLINE ELECTRONIC SHOPPING”,


submitted by Abhishek Singh Chauhan, Amit Verma, Arnika Gupta, Kulendra Singh Yadav
for partial fulfilment of the requirement for the award of degree Bachelors of Technology in
Department of Computer Science & Engineering of Dr. A.P.J Abdul Kalam University,
Lucknow is a record of the candidates’ own work carried out by them under my supervision.
The matter embodied in this report is original and has not been submitted for the award of
any other degree.

Date: Supervisor
24/04/2018 Mr. Chandrabhan Singh
(Head of Department)

5|Page
Online Electronic Shopping

ACKNOWLEDGEMENT

In completing this project, we have been fortunate enough to have help, support and
encouragement from many people. I would like to acknowledge them for their cooperation.

Firstly, we would like to thank Mr. Chandrabhan Singh, HOD Department of Computer
Science & Engineering, Ansal Technical Campus, Lucknow; for guiding us through each
and every step of the process with knowledge and support. His thoughts have been a
constant source of inspiration for us.

We would also like to acknowledge the contribution of all faculty members of the department
for their kind assistance, suggestions and cooperation throughout the development of the
project.

Finally, we would like to thank our classmates for the encouragement and help during the
project.

6|Page
Online Electronic Shopping

ABSTRACT

The business-to-consumer aspect of electronic commerce (e-commerce) is the most visible


business use of the World Wide Web. The primary goal of an e-commerce site is to sell
goods and services online.

This project deals with developing an e-commerce website ‘Online Electronic Shopping’. It
provides the user with a catalog of different mobiles available for purchase in the store. In
order to facilitate online purchase a shopping cart is provided to the user. After selection of
the items, he is forwarded to Payment Gateway process. The system is implemented using a
3-tier approach, with a backend database, a middle tier of Sun J2EE 1.4 application server
and JSP, and a web browser as the front-end client.

In order to develop an e-commerce website, a number of technologies must be studied and


understood. These include multi-tiered architecture, server and client-side scripting
techniques, implementation technologies such as JSP, programming language (such as
JAVA, JavaScript, and Bootstrap), relational databases (such as MySQL).

This is a project chosen with the objective to develop a basic website where a consumer is
provided with a shopping cart application and also to know about the technologies used to
develop such an application.

7|Page
Online Electronic Shopping

LIST OF FIGURES

FIGURE 7.1: USE CASE DIAGRAM (CUSTOMER INTERFACE) 9


FIGURE 7.1.2: USE CASE DIAGRAM (ADMIN INTERFACE) 11
FIGURE 7.2.1: SEQUENCE DIAGRAM (ADMIN INTERFACE) 12
FIGURE 7.2.2: SEQUENCE DIAGRAM (USER’S INTERFACE) 13
FIGURE 8.2: DFD CONTEXT LEVEL 15
FIGURE 8.2.1: DFD LEVEL 1 16
FIGURE 8.2.2: DFD LEVEL 2 17
FIGURE 8.3: DFD PHYSICAL TRANSACTION 18
FIGURE 8.4: DFD LOGIN PROCESS 19
FIGURE 8.5: DFD REGISTRATION PROCESS 19
FIGURE 8.6: DFD INTIMATION 20
FIGURE 9.3: E-R DIAGRAM 26
FIGURE 9.4: FUNCTIONAL DIAGRAM 27
FIGURE:10.3 ALL PRODUCT PAGE 29
FIGURE:10.4 ALL SINGLE PAGE 29
FIGURE:10.5 VIEW CART PAGE 30
FIGURE:10.6 SHIPPING ADDRESS PAGE 30
FIGURE:10.7 ONLINE PAYMENT PAGE 30
FIGURE:10.8 SEARCH PAGE 31
FIGURE:10.9 LOGIN PAGE 31
FIGURE:10.10 SIGNUP PAGE 32
FIGURE:10.11 ADMIN LOGIN PAGE 32
FIGURE:10.12 INSERT PRODUCT DETAIL PAGE 33
FIGURE:10.13 VIEW PRODUCT PAGE 33
FIGURE:10.14 ORDER VIEW PAGE 34

8|Page
Online Electronic Shopping

LIST OF SNAPSHOTS

SNAPSHOT 9.1: CART TABLE 21


SNAPSHOT 9.2: PRODUCT DETAIL TABLE 21
SNAPSHOT 9.3: REGISTRATION TABLE 22
SNAPSHOT 9.4: ORDER TABLE 22
SNAPSHOT 9.5: FINAL PRODUCT DETAIL TABLE 22
SNAPSHOT 9.6: FEATURE TABLE 23

9|Page
Online Electronic Shopping

LIST OF ABBREVIATIONS

DB Database
DFD Data Flow Diagram
EREntity-Relationship
UI User Interface Design
JSP Java Server Pages
MVC Model-View-Controller
SRS System Requirements Specification

10 | P a g e
Online Electronic Shopping

CHAPTER 1
INTRODUCTION
Online shopping is the process whereby consumers directly buy goods, services etc. from a
seller interactively in real-time without an intermediary service over the internet. Online
shopping is the process of buying goods and services from merchants who sell on the
Internet. Since the emergence of the World Wide Web, merchants have sought to sell their
products to people who surf the Internet. Shoppers can visit web stores from the comfort of
their homes and shop as they sit in front of the computer. Consumers buy a variety of items
from online stores.

In fact, people can purchase just about anything from companies that provide their products
online. Mobiles and Laptops are among the hundreds of products consumers can buy from an
online store. Many people choose to conduct shopping online because of the convenience.

For example, when a person shops at a brick-and-mortar store, she has to drive to the store,
find a parking place, and walk throughout the store until she locates the products she needs.
After finding the items she wants to purchase, she may often need to stand in long lines at the
cash register. Despite the convenience of online shopping, not everyone chooses to purchase
items and services online.

Some people like the idea of physically going to a store and experiencing the shopping
process. Online shopping doesn't permit shoppers to touch products or have any social
interaction. It also doesn't allow them to take the merchandise home the same day they buy it.

Online shopping allows you to browse through endless possibilities, and even offers merchandise
that's unavailable in stores. If you're searching for a nice product that may not be distributed
locally, you're sure to find what you're looking for on the internet. What's even more useful is the
ability to compare items, similar or not, online. You can search through multiple stores at the
same time, comparing material quality, sizes and pricing simultaneously.

Say 'goodbye' to the days when you stood in line waiting, and waiting, and waiting some
more for a store clerk to finally check out your items. Online shopping transactions occur
instantly-saving you time to get your other errands done! Additionally, unlike a store, online
shopping has friendly customer service representatives available 24 hours a day, 7 days a
week to assist you with locating, purchasing and shipping your merchandise.

11 | P a g e
Online Electronic Shopping

CHAPTER 2
PROJECT OVERVIEW
Once customer visited our webpage, at that time automatically one shopping cart will be
created, once user select an item it will be added to cart. In case user thinks the selected item
is not useful for me, then he can delete that item from shopping cart.

Suppose a customer selected some items, but in his credit or debit cart hasn’t that much
balance, then he does logout from the website, the selected items are stored at cart with
specific users with his allotted carts, after some days he bought those items then
automatically items get deleted from the cart.

12 | P a g e
Online Electronic Shopping

CHAPTER 3
SYSTEM STUDY

Information system’s projects originate from many reasons:


• To achieve greater speed in processing data,
• Better accuracy and improved consistency,
• Faster information retrieval,
• Integration of business areas,
• Reduced cost and better security.
The sources also vary project proposals originate with department managers, senior
executives and systems analysis. Sometimes the real origin is an outside source, such as a
government agency which stipulates a system’s requirements the organisation must meet.
When the request is made, the first system’s activity, the preliminary investigation, begins.
The activity has three parts:
• Request clarification,
• Feasibility study and
• Request approval.

3.1 Existing System


The existing system was an automated system. But it was found to be inefficient in meeting
the growing demands of population.

3.2 Drawbacks in the existing systems


Disadvantage of the existing system:
• Time Consuming
• Expensive
• Needed an agent
• We have to go out for that.

13 | P a g e
Online Electronic Shopping

CHAPTER 4
SYSTEM ANALYSIS

• This system is all about the converting the shopping system from manual to online.
• Customer can buy products online after login to the site.
• Administrator is adding product to database.
• Administrator can edit or delete the products from the database.
• After buying and making payment the products are send to customer’s address that he has
given.

4.1 Purpose
Online shopping tries to enhance access to care and improve the continuity and efficiency of
services. Depending on the specific setting and locale, case managers are responsible for a
variety of tasks, ranging from linking clients to services to actually providing intensive
shopping and delivery services themselves.
Main objective: -
• To shop while in the comfort of your own home, without having to step out of the door.
• Sell at lower rate due to less overhead.
• Provide home delivery free of cost.
• No wait to see the product, if someone else is taking that.

4.2 Scope
This product has great future scope. Online shopping Internet software developed on and for the
Windows and later versions environments and Linux OS. This project also provides security with
the use of Login-id and Password, so that any unauthorized users cannot use your account. The
only Authorized that will have proper access authority can access the software.

4.3 Need for the proposed system:


The online shopping is an easy to maintain, ready to run, scalable, affordable and reliable
cost saving tool from Software Associates suited for small, medium, and large shopping
complex and shopping malls.

14 | P a g e
Online Electronic Shopping

Features and Benefits:


• Providing security
• Low cost
• Basic computer knowledge required
• Configurable and extensible application UI design
The proposed system can be used even by the naïve users and it does not require any
educational level, experience, and technical expertise in computer field but it will be of good
use if the user has the good knowledge of how to operate a computer.

4.4 Feasibility study:


A feasibility study is a short, focused study, which aims to answer a number of questions:
• Does the system contribute to the overall objectives of the organizations?
• Can the system be implemented using current technology and within given cost and
schedule constrains?
• Can the system be integrated with systems which are already in place?

4.4.1 Technical Feasibility:

• Is the project feasibility within the limits of current technology?


• Does the technology exist at all?
• Is it available within given resource constraints (i.e., budget, schedule)?

4.4.2 Financial Feasibility:

• Is the project possible, given resource constraints?


• Are the benefits that will accrue from the new system worth the costs?
• What are the savings that will result from the system, including tangible and
intangible ones?
• What are the development and operational costs?

4.4.3 Operational Feasibility:

Define the urgency of the problem and the acceptability of any solution; if the system is
developed, will it be used? Includespeople-oriented and social issues: internal issues, such as
manpower problems, labour objections, manager resistance, organizational conflicts and
policies; also, external issues, including social acceptability, legal aspects and government
regulations.

15 | P a g e
Online Electronic Shopping

CHAPTER 5
SOFTWARE REQUIREMENTS SPECIFICATION

System requirements are expressed in a software requirement document. The Software


Requirements Specification (SRS) is the official statement of what is required by the system
developers. This requirement document includes the requirements definition and the
requirements specification. The software requirement document is not a design document. It
should set out what the system should do without specifying how it should be done.
The requirement set out in this document is complete and consistent.

The software specification document satisfies the following: -


• It specifies the external system behaviour.
• It specifies constraints on the implementation.
• It is easy to change.
• It serves as reference tool for system maintainers.
• It records forethought about the life cycle of the system.
• It characterizes acceptable response to undesired events.

5.1 Performance Requirements:


In order to maintain an acceptable speed at maximum number of uploads allowed from a
particular customer will be any number of users can access the system at any time. It also
connections to the servers will be based on the criteria of attributes of the user like his
location, and server will be working whole 24X 7 times.

5.2 Non-Functional Requirements:


Following Non-functional requirements will be there in the Insurance on internet:
• Secure access of confidential data (customer’s details).
• 24 X 7 availability.
• Better component design to get better performance at peak time.
• Flexible service-basedarchitecture will be highly desirable for future extension.

Non-functional requirements define system properties and constraints. It arises through user
needs, because of budget constraints or organizational policies, or due to the external factors
such as safety regulations, privacy registration and so on.

16 | P a g e
Online Electronic Shopping

5.3 Various other Non-functional requirements are:


• Security
• Reliability
• Maintainability
• Portability
• Extensibility
• Reusability
• Application Affinity/Compatibility
• Resource Utilization

5.4 Hardware Interface:


Hardware requirements for Insurance on internet will be same for both the parties which are
follows:
• Processor: - Core i5 and above
• RAM: - 2 GB
• HD: - 50 GB
• NIC: - For each party

17 | P a g e
Online Electronic Shopping

CHAPTER 6
TECHNOLOGICAL BACKGROUND

6.1 The tools used to develop the shopping cart include:


• JAVA programming language

• Java Server Pages(JSP) server-side scripting technology

• MySQL database server

• JavaScript

• HTML
• BOOTSTRAP

Java was designed to have the look and feel of the C++ language, but it is simpler to use than
C++ and enforces an object-oriented programming model. Java can be used to create
complete applications that may run on a single computer or be distributed among servers and
clients in a network.

JavaServer Pages (JSP) is a technology that helps software developers create dynamically
generated web pages based on HTML, XML, or other document types.

MySQL is a very fast, robust, relational database management system (RDBMS). A database
enables the users to efficiently store, search, sort, and retrieve data.

Alongside HTML and CSS, JavaScript is one of the three core technologies of the World
Wide Web. JavaScript enables interactive web pages and thus is an essential part of web
applications.

Bootstrap is a free and open-source front-end library for designing websites and web
applications. It contains HTML- and CSS-based design templates for typography, forms,
buttons, navigation and other interface components, as well as
optional JavaScript extensions.

There are advantages of using these tools to develop and run the software. These are free to
download from the internet if one does not have any tools.

18 | P a g e
Online Electronic Shopping

CHAPTER 7
SYSTEM ANALYSIS & DESIGN

The system was analysed and designed before implementation began.


In this section, use cases, sequence diagrams, and webpage diagrams are described in details.

7.1 Use Cases:


The following use cases outline the requirements for the online shopping.
They have been revised during the course of the project to more accurately reflect the system.

7.1.1 Customer Interface

Customer

Figure 7.1: Use Case Diagram (Customer Interface)

19 | P a g e
Online Electronic Shopping

1. Customer shops for a product


The customer initiates this action by clicking on the desired category for item to be displayed.
The page sends a message to the server requesting a listing of all products from the particular
category from the database. The action is complete when a page is returned for the customer
to view, which contains available products with product names along with their picture, price,
capacity, and an option to add the product to the shopping cart. There is an option to link to
next page, if more products are available than can fit on the page. If a given item is out of
stock, a drop-down button with a message “not available” is displayed.

2. Customer searches for item


The customer starts this action by typing a query into a text box named description to search
for description of an item. The page sends a message to the server asking for a listing of
products, whose names match the query, from the database. The action is complete when a
page is returned for the customer to view, which contains a list of the resulting products along
with their picture, price, and an option to add the product to the shopping cart. If a given
description doesn’t match with any descriptions in the database, a message indicating such is
displayed instead of the option to add to cart. The customer can also search for an item using
model number or combination of both description and model.

3. Customer adds an item to cart


The customer initiates this action by clicking on the buy button on the right side of to a
product’s listing. An item is added to the cart including the price and displayed with the total
price. If the product already exists in the customer’s cart, its quantity is increased by 1. There
is a Continue Shopping button for the customer to continuing shopping for other products.

4. Customer views cart


The customer initiates this action by clicking on the view cart button, available on any
webpage. The page sends message to the server and shows a list of all products in the
customer’s cart, along with their quantity and total price.

5. Customer removes item from cart


The customer starts this action by clicking on the Remove button on the view cart page. The
web page sends a message to the server, which removes the product from the customer’s
shopping cart.

6. Customer changes quantity from cart


The customer starts this action by changing the quantity of the item and clicking on the
Change button on the view cart page. The web page sends a message to the server, which
updating the product from the customer’s shopping cart.

7. Customer checks out


The customer starts this action by click on checkout button the on the view cart page. A
check out page is displayed letting the customer to create a new account or sign in depending
the customer status. An existing customer would sign in his/her email address and password
and click sign in button. The web page is sending the message to the server. Then, the server
validated the email address and password from the database. If they are both correct, then a
shipping and billing information page is displayed letting the customer to fill out the
20 | P a g e
Online Electronic Shopping

information. After submitting billing and shipping information, a confirmation page is


displayed showing item in the customer’s cart and billing and shipping information.

8. Customer sends order


The customer starts this action by clicking on the send order from Confirm Information page.
Once send order button is clicked, the page is sending the message to the server, which sends
emails to the customer and sale person. It also stores the customer’s cart and billing and
shipping information into the database.

7.1.2 Admin Interface

Admin

Figure 7.1.2: Use case Diagram (Admin Interface)

1. Admin logs in
The admin starts this action by inputting the username and password and clicking on the
submit button. The page is sent the message to the server to validate the information from the
database. After successful validation, the logged in page is returned with options for the
admin to add, modify, or delete products, or query information.

2. Admin inserts item


The admin starts this action by clicking the Input Items button from the logged in page. The
page is displayed with a form for the admin to insert item and its details. Once Insert button is
clicked, the web page sends this information to the server, which in turns stores it in the
database.
21 | P a g e
Online Electronic Shopping

3. Admin removes item


The admin starts this action by clicking on the Remove Items button. The web page is
displayed a dropdown menu for the admin to send the item he/she wants to delete. Once,
delete button is clicked, the page is send message to the server which in turns tells the
database to remove the item

4. Admin modifies item


The admin starts this action by clicking on the Modify Items button. The web page is displayed a
list available product from the database. The admin then chooses the item he/she wants to modify
by clicking on particular item. A page is displayed letting the admin to modify all item
information, except its UPC code and model name. Once, the Modify button is clicked, the web
page sends a message to the server, which updating the information from the database.

7.2 Sequence Diagrams


The next step is to develop scenarios through sequence diagrams. The sequence diagram below
outlines the requirements for online shopping.

7.2.1 Admin Interface

Front End Back End Database

Login
Validate Check
validity

Input Items
Add Category
Back to Form
Delete/Modify Items

Display Results Input into Table

Logout Delete/ Overwrite items

Figure 7.2.1: Sequence Diagram (Admin Interface)

22 | P a g e
Online Electronic Shopping

7.2.2 Customer Interface

Front End Back End Database

Select Products
Display Products Query Products

Buy Items
Show Cart
Change/Remove Quantity
Update Cart
View Cart
Display Cart Details
Continue Shopping
Display Products
Checkout
Display Form Check Validity
Account Sign In/Up
Shipping Form
Order Confirmation Show Store Information
Send Order

Figure 7.2.2: Sequence Diagram (User’s Interface)

Front End: web browser; Back End: web server; DB: database server

23 | P a g e
Online Electronic Shopping

CHAPTER 8
SYSTEM DESIGN SPECIFICATION

8.1 ARCHITECTURAL DESIGN


8.1.1 DATA FLOW DIAGRAMS:

Data flow diagrams (DFD) was first developed by LARRY CONSTANTINE as way
representing system requirements in a graphical form; this lead to modular design.
A DFD describes what data flow (logical) rather than how they are processed, so it does not
depend on hardware, software, data structure or file organization. It is also known as ‘bubble
chart’.
A Data Flow Diagrams is a structured analysis and design tool that can be used for
flowcharting in place of, or in association with, information-oriented and process-oriented
systems flowcharts. A DFD is a network that describes the flow of data and the processes that
change, or transform, data throughout a system. This network is constructed by using a set of
symbols that do not imply a physical implementation. It has the purpose of clarifying system
requirements and identifying major transformations that will become programs in system
design. So, it is the starting point of the design phase that functionality decomposes the
requirement specifications down to the lowest level of detail. 20 The symbols used to prepare
DFD do not imply a physical implementation, a DFD can be considered to an abstract of the
logic of an information-oriented or a process-oriented system flow-chart. For these reasons
DFDs are often referred to as logical data flow diagrams. The four basic symbols used to
construct data flow diagrams are shown below:

A rectangle represents a data source or destination.

A directed line represents the flow of data that is data stream.

An enclosed figure, usually a circle or an oval bubble represent


a process that transforms data streams.

An open-ended rectangle represents data storage.

24 | P a g e
Online Electronic Shopping

8.2 DFD Context Level:

Figure 8.2: DFD Context Level

The System is recognized as a complete system “Cart System. Admin, Users, Shipping Agent
are the main actors for this system.

25 | P a g e
Online Electronic Shopping

8.2.1 DFD Level 1:

Figure 8.2.1: DFD Level 1

User can Log-in, add, remove items to cart, register, pay. Admin can have privileged login,
they can change, modify catalogue, maintain user data. After adding items to cart they can
make order. The orders are stored in order database. The orders are processed and items from
the warehouse are delivered to customer by shipping agent.

26 | P a g e
Online Electronic Shopping

8.2.2 DFD LEVEL 2:

Figure 8.2.2: DFD Level 2

Customer/User can browse the catalogue and can add items to their cart for ordering.
Moreover, Customer can remove items from their cart. and after adding items to their cart
they can checkout and move to Ordering. For Order a customer need to be log-in.

27 | P a g e
Online Electronic Shopping

8.3 Physical Transaction:

Figure 8.3: DFD Physical Transaction

At the time of delivery, A shipping Agent which will take the items from warehouse along
with the bill and deliver the item to customer. Customer will pay the respective bill and the
bill will be stored in transaction database. For keeping record of cash transaction, we have a
transaction database which will store bill amount and bill id.

28 | P a g e
Online Electronic Shopping

8.4Login:

Figure 8.4: DFD Login Process

User enter their login-id along with password. If the entered data is valid combination, then
home page will be displayed otherwise a message intimating user about them in-appropriate
login details.

8.5 Registration:

Figure 8.5: DFD Registration Process

29 | P a g e
Online Electronic Shopping

8.6 Intimation:

Figure 8.6: DFD Intimation

After placing Order Customer will be intimated by order confirmation mail and sending a
SMS containing order details and delivery time. Profile database will be used to get email-id
and mobile number of customer.

30 | P a g e
Online Electronic Shopping

CHAPTER 9
DATABASE DESIGN

9.1 Database Structure


In this project, MySQL is used as the backend database. MySQL is an open source database
management system. Here we are including the details of each details.

1. Database (Cart)

SNAPSHOT:9.1 Cart table

2. Database (Product detail)

SNAPSHOT:9.1 Product detail table

31 | P a g e
Online Electronic Shopping

3. Database (Registration)

SNAPSHOT:9.3Registrationtable

4. Database (Order)

SNAPSHOT:9.4Order table

5. Database (Final Product detail)

SNAPSHOT:9.5Final product detail table

32 | P a g e
Online Electronic Shopping

6. Database (Feature)

SNAPSHOT:9.6Featuretable

7. Database (Category detail)

SNAPSHOT:9.7 Category detail table

8. Database (shipping address)

SNAPSHOT:9.8Shipping address table

33 | P a g e
Online Electronic Shopping

9.2 E-R Diagram


The Entity-Relationship (ER) model was originally proposed by Peter in 1976
[Chen76] as a way to unify the network and relational database views. Simply stated
the ER model is a conceptual data model that views the real world as entities and
relationships. A basic component of the model is the Entity-Relationship diagram
which is used to visually represents data objects. Since Chen wrote his paper the
model has been extended and today it is commonly used for database design for the
database designer, the utility of the ER model is:
• it maps well to the relational model. The constructs used in the ER model can
easily be transformed into relational tables.

• it is simple and easy to understand with a minimum of training. Therefore, the


model can be used by the database designer to communicate the design to the end
user.
• In addition, the model can be used as a design plan by the database developer to
implement a data model in a specific database management software.

9.2.1 Connectivity and Cardinality

The basic types of connectivity for relations are: one-to-one, one-to-many, and many-
to-many. A one-to-one (1:1) relationship is when at most one instance of entity A is
associated with one instance of entity B. For example, "employees in the company are
each assigned their own office. For each employee, there exists a unique office and
for each office there exists a unique employee.

A one-to-many (1: N) relationships is when for one instance of entity A, there are
zero, one, or many instances of entity B, but for one instance of entity B, there is only
one instance of entity A. An example of a 1: N relationships is a department has many
employees each employee is assigned to one department.
A many-to-many (M: N) relationship, sometimes called non-specific, iswhen for one
instance of entity A, there are zero, one, or many instances of entity B and for one
instance of entity B there are zero, one, or many instances of entity A. The
connectivity of a relationship describes the mapping of associated

9.2.2 E-R Notation

There is no standard for representing data objects in ER diagrams. Each modelling


methodology uses its own notation. The original notation used by Chen is widely used
in academics’ texts and journals but rarely seen in either CASE tools or publications
by non-academics. Today, there are a number of notations used, among the more
common are Bachman, crow's foot, and IDEFIX.

All notational styles represent entities as rectangular boxes and relationships as lines
connecting boxes. Each style uses a special set of symbols to represent the cardinality
of a connection. The notation used in this document is from Martin. The symbols used
for the basic ER constructs are:
 entities are represented by labelled rectangles. The label is the name ofthe
entity. Entity names should be singular nouns.
34 | P a g e
Online Electronic Shopping

 relationships are represented by a solid line connecting two entities.The name


of the relationship is written above the line. Relationship names should be
verbs
 attributes, when included, are listed inside the entity rectangle.Attributes
which are identifiers are underlined. Attribute names should be singular
nouns.
 cardinality of many is represented by a line ending in a crow's foot. Ifthe
crow's foot is omitted, the cardinality is one.
 existence is represented by placing a circle or a perpendicular bar onthe line.
Mandatory existence is shown by the bar (looks like a 1) next to the entity for
an instance is required. Optional existence is shown by placing a circle next to
the entity that is optional.

35 | P a g e
Online Electronic Shopping

9.3 E-R Diagram (Online Shopping)

Add Products Name


Admin

Image

Category

Size

Colour
Buy
User Name
Description
Pin

Id
Price
Customer
Address
Email

Contact

Debit Card
Details Pur
chas
e
Det
Make ails
Payment PayPal
Credit Card
Details

Figure 9.3: E-R Diagram

36 | P a g e
Online Electronic Shopping

9.4 Functional Diagram:

SUNDRY STORE

Customers Services Admin Services

Shopping Cart Add/Edit Store


Setting
Browse

Create Cart

Search
Add/Edit Product
Add/Delete Items Cart

Add to Cart
Add/Edit
Customer Items/Products
Authentication

User Profile

Purchase Details

Update

Add

Figure 9.4: Functional Diagram

37 | P a g e
Online Electronic Shopping

CHAPTER 10
USER INTERFACE DESIGN

Before implementing the actual design of the project, a few user interface designs were
constructed to visualize the user interaction with the system as they browse for mobiles,
create a shopping cart and purchase mobiles. The user interface design will closely follow our
Functional Decomposition Diagram show the initial designs of the web pages.

10.1 User Interface Design:


In NetBeans, we have designed this interface in the view folder of NetBeans framework.
This view controlled by CIController. We are using bootstrap in the theme design.

Fig. No. 10.1 Index Page

Figure:10.2 Product Page

38 | P a g e
Online Electronic Shopping

Figure:10.3 All Product Page

Figure:10.4 All Single Page

39 | P a g e
Online Electronic Shopping

Figure:10.5 View Cart Page

Figure:10.6 Shipping Address Page

Figure:10.7 Online Payment Page

40 | P a g e
Online Electronic Shopping

Figure:10.8 Search Page

Figure:10.9 Login Page

41 | P a g e
Online Electronic Shopping

Figure:10.10 Signup Page

Figure:10.11 Admin Login Page

42 | P a g e
Online Electronic Shopping

Figure:10.12 Insert Product Detail Page

Figure:10.13 View Product Page

43 | P a g e
Online Electronic Shopping

Figure:10.14 Order View Page

44 | P a g e
Online Electronic Shopping

CHAPTER 11
IMPLEMENTATION TECHNOLOGIES

11.1 Back-End Web Development Technology


While there are numerous technologies for building web applications that serve dynamic
content, the one that has really caught the attention of the development community is Java
Server Pages (JSP). And not without ample reason either. JSP not only enjoys cross-platform
and cross-Web-server support, but effectively melds the power of server-side Java
technology with the WYSIWYG features of static HTML pages.

JSP pages typically comprise of:


• Static HTML/XML components.
• Special JSP tags

Figure 11.1: Back End Development & Framework

Optionally, snippets of code written in the Java programming language called “scriptlets”
Consequently, you can create and maintain JSP pages by conventional HTML/XML tools. It
is important to note that the JSP specification is a standard extension defined on top of the
Servlet API. Thus, it leverages all of your experience with servlets. There are significant
differences between JSP and servlet technology. Unlike servlets, which is a programmatic
technology requiring significant developer expertise, JSP appeals to a much wider audience.

45 | P a g e
Online Electronic Shopping

It can be used not only by developers, but also by page designers, who can now play a more
direct role in the development life cycle. Another advantage of JSP is the inherent separation
of presentation from content facilitated by the technology, due its reliance upon reusable
component technologies like the JavaBeans component architecture and Enterprise
JavaBeans technology. This course provides you with an in-depth introduction to this
versatile technology, and uses the TomcatJSP 1.1 Reference Implementation from the
Apache group for running the example programs.

11.2 JSP Architecture


The purpose of JSP is to provide a declarative, presentation-centric method of developing
servlets. As noted before, the JSP specification itself is defined as a standard extension on
top the Servlet API. Consequently, it should not be too surprisingly that under the covers,
servlets and JSP pages have a lot in common. Typically, JSP pages are subject to a
translation phase and a request processing phase. The translation phase is carried out only
once, unless the JSP page changes, in which case it is repeated. Assuming there were no
syntax errors within the page, the result is a JSP page implementation class file that
implements the Servlet interface, as shown below.

Figure:11.1 JSP Architecture

46 | P a g e
Online Electronic Shopping

11.3 Integrating the Website and Database


Customers ordering from an e-commerce website need to be able to get information about a
vendor’s products and services, ask questions, select items they wish to purchase, and submit
payment information. Vendors need to be able to track customer inquiries and preferences
and process their orders. So, a well-Organized database is essential for the development and
maintenance of an e-commerce site.

In a static Web page, content is determined at the time when the page is created. As users
access a static page, the page always displays the same information. Example of a static Web
page is the page displaying company information. In a dynamic Web page, content varies
based on user input and data received from external sources. We use the term “data-based
Web pages” to refer to dynamic Web pages deriving some or all of their content from data
files or databases.

A data-based Web page is requested when a user clicks a hyperlink or the submit button on a
Web page form. If the request comes from clicking a hyperlink, the link specifies either a
Web server program or a Web page that calls a Web server program.
In some cases, the program performs a static query, such as “Display all items from the
Inventory”. Although this query requires no user input, the results vary depending on when
the query is made. If the request is generated when the user clicks a form submit button,
instead of a hyperlink, the Web server program typically uses the form inputs to create a
query. For example, the user might select five mobiles to be purchased and then submit the
input to the Web server program. The Web server program then services the order,
generating a dynamic Web page response to confirm the transaction. In either case, the Web
server is responsible for formatting the query results by adding HTML tags. The Web server
program then sends the program’s output back to the client’s browser as a Web page.

11.4Online Electronic Shopping Application

The objective of this application is to provide the user an online website where they can buy
mobiles from the comfort of their home. A shopping cart is used for the purpose. The user
can select the desired mobiles, place them in the shopping cart and purchase them using a
Credit Card. The user’s order will be shipped according to the type of shipping selected at
the time of placing the order.

47 | P a g e
Online Electronic Shopping

Website consists of the following web pages:


1. Home.jsp
2. Product.jsp
3. Cart.jsp
4. Filter.jsp
5. Filter1.jsp
6. Filter2.jsp
7. Login.jps
8. Registration.jsp
9. Admin.jsp
10. Adminlogin.jsp
11. Insert_feature.jsp
12. Update_feature.jsp
13. Headrr.jsp
14. Footer.jsp
15. Mobile.jsp
16. Viewcart.jsp
17. Address.jsp
18. Single.jsp
19. Show.jsp
20. About.jsp
21. Mail.jsp

1) Viewcart.jsp

<%@page import="java.sql.*" %>


<%@page import="javax.sql.*" %>
<%@page import="java.sql.Connection"%>
<%@include file="header.jsp" %>
<%
// PreparedStatementps= "";
String email=(String)session.getAttribute("uid");

int total = 0,number=0;


try
{

48 | P a g e
Online Electronic Shopping

if (email != null)
{
Class.forName("com.mysql.jdbc.Driver");
Connection
con=DriverManager.getConnection("jdbc:mysql://localhost:3306/purchase","ro
ot","amit@123");
PreparedStatement ps2 = con.prepareStatement("select * from cart1 where
email=?");
ps2.setString(1,email);
ResultSet rs2 = ps2.executeQuery();

%>
<div class="col-md-6">
<table class="table">
<thead style="width: 60px">
<tr>
<th scope="col">Image</th>
<th scope="col">Modal</th>
<th scope="col">Price</th>
<th scope="col">Remove</th>
<th scope="col">Quantity</th>
</tr>
</thead>
</table>

<%
while (rs2.next())
{
%>

<form>
<% String m = request.getParameter("msg");
if (m != null) {
%>
<h1><%=m%></h1>
<%}%>

49 | P a g e
Online Electronic Shopping

<table class="table">

<tbody style="width: 60px">


<tr>
<th scope="row">
<imgsrc="images/<%=rs2.getString(6)%>" height="50" /></th>
<td><%=rs2.getString(4)%>
</td>
<td><%=rs2.getString(5)%></td>
<td><a href="cartProductDeleteDemo.jsp?id=<%=rs2.getString(1)%>&&
email=<%=session.getAttribute("uid")%>">Delete Product</a></td>
<td><%=rs2.getString(7)%></td>
</tr>
<%
String productprice=rs2.getString(8); //output= value
of productid=7 is stored in variable productid from product table

total+=Integer.parseInt(productprice);
number+=1;
%>
<!--<input type="submit" name="cart" value="Add To Cart">-->
</form>
</div>
<% } %>
</tbody>
</table>
</div></div>
<div class="col-sm-6" style="padding-top: 60px; padding-left: 10%">
<div class="card">
<div class="card-body">
<p style="font-size: 16px">
<%
out.print("Number Of Items = " + " " + number + "<br>" + "" + "<br> ");
out.print("Total Amount = " + "&#8377; " +total + " <br><br> ");
//response.sendRedirect("orderProduct.jsp");
%>
</p>

50 | P a g e
Online Electronic Shopping

<div class="row">
<div class="col-md-3">
<a class="btnbtn-primary" href="paymentmode.jsp?total&& number &&
email=<%=session.getAttribute("uid")%>">Buy Now</a>
</div>
<div class="col-md-4">
<a class="btnbtn-primary" href="mobile.jsp"><span>Continue
Shopping</span></a>
</div>

</div>
</div>
</div>
</div>
<!--<div style="width: 100% ; height: 400px">

</div>-->
<%
}
else
{
%>
<script>alert("You are not logged in");
window.location.href = "login.jsp";
</script>

<a href="login.jsp">Login</a>
<%}
}
catch (Exception e)
{
out.print(e);
}

%>

2) Filter.jsp

51 | P a g e
Online Electronic Shopping

<%@page import="java.sql.*" %>


<%@page import="javax.sql.*" %>
<%@page import="java.sql.Connection"%>
<%@ include file="header.jsp" %>

<div class="agile_ecommerce_tab_leftmobiles_grid">
<%
try {
Class.forName("com.mysql.jdbc.Driver");
Connection
conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/purchase","r
oot","amit@123");
PreparedStatement ps1=conn.prepareStatement("SELECT * FROM
productdetail WHERE price BETWEEN 8000 AND 15000 UNION SELECT *
FROM productdetail WHERE Price > 8000 AND Price < 15000");
// ps1.setString(1,fname);
ResultSetrs=ps1.executeQuery();
while(rs.next())
{
%>
<div class="col-md-4
agileinfo_new_products_gridagileinfo_new_products_grid_mobiles">

<div class="w3ls_mobiles_grid_right_grid4">
<div>
<imgsrc="images/<%=rs.getString(6)%>" height="220" width="220"></img>

</div>

<h5><a
href="single.jsp?link=<%=rs.getString(1)%>"><%=rs.getString(2)%><%=rs.ge
tString(3)%></a></h5>
<div class="simpleCart_shelfItem">
<p><span></span><i
class="item_price">&#8377;<%=rs.getString(4)%></i></p>

<form action="cartInsert.jsp" method="get">


<input type="hidden" name="product_id" value="<%=rs.getString(1)%>" />
<input type="hidden" name="model" value="<%=rs.getString(3)%>" />
52 | P a g e
Online Electronic Shopping

<input type="hidden" name="price" value="<%=rs.getString(4)%>" />

<input type="hidden" name="images" value="<%=rs.getString(6)%>" />

<button type="submit" class="w3ls-cart">Add to cart</button>


</form>
</div>

</div>
</div>

<%} }
catch(Exception e)
{
out.println(e);
}
%>
<%@ include file="footer.jsp" %>

3) Delete.jsp

<%@page contentType="text/html" pageEncoding="UTF-8"%>

<%@ page import="java.sql.*" %>


<%@ page import="java.io.*" %>
<%@ include file="header.jsp" %>
<%

String link = request.getParameter("link");

try
{
Class.forName("com.mysql.jdbc.Driver");

53 | P a g e
Online Electronic Shopping

Connection con =
DriverManager.getConnection("jdbc:mysql://localhost:3306/purchase","root","a
mit@123");
Statement st= con.createStatement();
PreparedStatementps = con.prepareStatement("delete from productdetail where
product_id='"+link+"'");
ps.executeUpdate();
con.close();
ps.close();
}
catch(Exception ex)
{
out.println(ex.getMessage());
}
%>
<h1>Record Deleted...</h1><br>
<center><a href="admin.jsp">Go Back</a></center>

11.4.4 MySQL Database

In this project, MySQL is used as the backend database. MySQL is an open source database
management system. The features of MySQL are given below:

54 | P a g e
Online Electronic Shopping

• MySQL is a relational database management system. A relational database stores


information in different tables, rather than in one giant table. These tables can be
referenced to each other, to access and maintain data easily.
• MySQL is open source database system. The database software can be used and
modify by anyone according to their needs.
• It is fast, reliable and easy to use. To improve the performance, MySQL is
multithreaded database engine. A multithreaded application performs many tasks at
the same time as if multiple instances of that application were running
simultaneously.

In being multithreaded MySQL has many advantages. A separate thread handles each
incoming connection with an extra thread that is always running to manage the connections.
Multiple clients can perform read operations simultaneously, but while writing, only hold up
another client that needs access to the data being updated. Even though the threads share the
same process space, they execute individually and because of this separation, multiprocessor
machines can spread the thread across many CPUs as long as the host operating system
supports multiple CPUs. Multithreading is the key feature to support MySQL’s performance
design goals. It is the core feature around which MySQL is built.

11.5 Back-End Web Development Technology


A front-end web development framework is simply a collection of production ready
HTML/CSS/JavaScript components that we can use in our designs. There are many frameworks out
there but some of them stand out from the crowd. For your facilitation below you will find outlined
some of the most powerful and popular frameworks available today. Bear in mind that these are not
just CSS grids or so, but instead full-featured front-end development frameworks.

Bootstrap is definitely the most popular and widely used framework, nowadays. It’s a
beautiful, intuitive and powerful web design kit for creating cross browser, consistent and
good-looking interfaces. It offers many of the popular UI components with a plain-yet-
elegant style, a grid system and JavaScript plugins for common scenarios.
It is built with LESS and consists of four main parts:
• Scaffolding – global styles, responsive 12-column grids and layouts. Bear in mind that
Bootstrap doesn’t include responsive features by default. If your design needs to be
responsive you have to enable this functionality manually.
• Base CSS – this includes fundamental HTML elements like tables, forms, buttons,
and images, styled and enhanced with extensible classes.
• Components – collection of reusable components like dropdowns, button groups,
navigation controls (tabs, pills, lists, breadcrumbs, pagination), thumbnails, progress
bars, media objects, and more.
• JavaScript – jQuery plugins which bring the above components to life, plus
transitions, modals, tool tips, popovers, scrollspy (for automatically updating nav
targets based on scroll position), carousel, typeahead (a fast and fully-featured
autocomplete library), affix navigation, and more.
Bootstrap is already powerful enough to empower any web interface. But in order to make
more use of it and making the development process easier, you can find plenty of tools and
resources that complement it. Some of them are listed below:
55 | P a g e
Online Electronic Shopping

• jQuery UI Bootstrap – an awesome resource for jQuery and Bootstrap fans that
combines the power of both. It brings nicely the slickness of Bootstrap to jQuery UI
widgets.
• jQuery Mobile Bootstrap Theme – similar to the jQuery UI theme above, this is a
theme built for jQuery Mobile. It is a handy resource if you have a web front-end built
with Bootstrap and want to offer a similar look for mobile.
• Fuel UX – this extends Bootstrap with additional lightweight JavaScript controls. It’s
easy to install, customize, update, and optimize.
• StyleBootstrap.info – Bootstrap has its own customizer but StyleBootstrap is a more
detailed one with color pickers and the ability to style each component differently

• Bootswatch – a nice set of free themes for Bootstrap.


• Bootsnipp – a good collection of design elements and HTML snippets for Bootstrap.
It offers also form and button builders.
• LayoutIt – drag and drop interface builder based on the elements and components of
Bootstrap. It helps you to compose your design visually by placing and arranging
different elements into your layout via drag and drop and then allows you to edit their
properties. You get the base code and then expand it. Simple and easy.

11.6 NetBeans IDE (Framework)

NetBeans IDE is a free, open source, integrated development environment (IDE) that enables
you to develop desktop, mobile and web applications. The IDE supports application
development in various languages, including Java, HTML5, PHP and C++. The IDE provides
integrated support for the complete development cycle, from project creation through
debugging, profiling and deployment. The IDE runs on Windows, Linux, Mac OS X, and
other UNIX-based systems.

The IDE provides comprehensive support for JDK 7 technologies and the most recent Java
enhancements. It is the first IDE that provides support for JDK 7, Java EE 7, and JavaFX 2.
The IDE fully supports Java EE using the latest standards for Java, XML, Web services, and
SQL and fully supports the Glassfish Server, the reference implementation of Java EE.

11.6.1 NetBeans Features


Some of the important features ofNetBeans are listed below −
56 | P a g e
Online Electronic Shopping

• Best Support for Latest Java Technologies


• Fast & Smart Code Editing
• Easy & Efficient Project Management
• Rapid User Interface Development
• Write Bug Free Code

Concepts

• Front-end development
• Web application project structure
• Data modeling
• Database connectivity
• Object-relational mapping
• Session management
• Transactional business logic
• Client and server-side validation
• Localization
• Web application security
• Design patterns, including Model-View-Controller (MVC) and Session Facade

Technologies

• HTML, CSS, and JavaScript technologies


• Servlet and Java Server Pages (JSP) technologies
• Enterprise JavaBeans (EJB) technology
• Java Persistence API (JPA)
• The Java Server Pages Standard Tag Library (JSTL)
• Java Database Connectivity (JDBC)

Development Tools

• NetBeans IDE
• Glassfish, a Java EE application server
• MySQL, a relational database management server (RDBMS)
• MySQL Workbench, a visual database design tool

11.6.2 NetBeans Uses

Firstly, the term IDE stands for integrated development environment. The purpose of an
IDE has traditionally been to maximize a developer's productivity by providing tools and
support such as:

• a source code editor


• a compiler and build automation tools
• a window system for viewing projects and project artefacts
• integration with other commonly-used services

CHAPTER 12
57 | P a g e
Online Electronic Shopping

INTEGRATING THE WEB APPLICATION

Customers ordering from an e-commerce website need to be able to get information about a
vendor’s products and services, select items they wish to purchase, and submit payment
information. Vendors need to be able to track customer inquiries and preferences and process
their orders. So, a well-organized database is essential for the development and maintenance
of an e-commerce site.
In a static Web page, content is determined at the time when the page is created. As users access
a static page, the page always displays the same information. Example of a static Web page is the
page displaying company information. In a dynamic Web page, content varies based on user
input and data received from external sources. We use the term “data-based Web pages” to refer
to dynamic Web pages deriving some or all of their content from data files or databases.

A data-based Web page is requested when a user clicks a hyperlink or the submit button on a
Web page form. If the request comes from clicking a hyperlink, the link specifies either a
Web server program or a Web page that calls a Web server program. In some cases, the
program performs a static query, such as “Display all items from the Inventory”. Although
this query requires no user input, the results vary depending on when the query is made. If the
request is generated when the user clicks forms submit button, instead of a hyperlink, the
Web server program typically uses the form inputs to create a query. For example, the user
might select five mobiles to be purchased and then submit the input to the Web server
program. The Web server program then services the order, generating a dynamic Web page
response to confirm the transaction. In either case, the Web server is responsible for
formatting the query results by adding HTML tags. The Web server program then sends the
program’s output back to the client’s browser as a Web page.

12.1 Web Based Application Development


The Web is built on the Hypertext Transfer Protocol. HTTP is a client/server request/reply
protocol that is stateless. That is, the protocol does not make any association between one
transaction and another; e.g.: time since the last transaction, type or client involved in the last
transaction, what data was exchanged between the client and the server. As far as HTTP is
concerned, each transaction is a discrete event. But this is not what we want in a shopping
cart application because we need to preserve the user’s shopping selection as they proceed
with their purchase, in addition it is useful to have the access to their past purchase history
and personal preferences.
Carrying information from one page to another can be achieved by several ways, such as
Cookies, Session variables, Post variables, etc.

A cookie is a small file that has a maximum age, a domain and path of applicability, and a
security specification. Any time a server sends a response to a client, it may include one or
more Set-Cookie headers. When a client receives a Set-cookie header, it stores the content of
the header and the cookie, for later use. In our application, every time the client selects an
item to put in the shopping cart, the server can send a SetCookie whose content is the ID of
the item, and whose domain and path of applicability are the URL of the order/payment page.
Then, when the user goes to order and pay, the client will send the Cookie headers for each of
the selected items. Upon receiving this request, the server can parse the supplied cookies and
charge the user appropriately for the selected items. Cookies may also be used to identify the
users.
58 | P a g e
Online Electronic Shopping

However, cookies are very insecure to use since they are transmitted as plain text and the
server has no control over how cookies are stored in at the client’s side. Another approach is
based on a notion of session ID. These notions provide means for the server to track the
requests of a client through a “session”, but unlike cookies, which are stored on the client,
Session variables are stored on the Server. A session starts when a user logs in and ends when
they log off from the website.

The Session object is used to store information about or change settings for a user session.
Variables stored in the Session object hold information about one single userand are available
to all pages in one application. Common information stored in session variables are name, id,
and preferences. The server creates a new Session object for each new user and destroys the
Session object when the session expires.

12.2 Integration of Payment Gateway (PayPal)


PayPal Holdings, Inc. is an American company operating a worldwide online payments
system that supports online money transfers and serves as an electronic alternative to
traditional paper methods like checks and money orders.
In this NetBeans application, we’ll display some products from the database along with the
Buy button. Clicking on Buy button, the buyer would be redirected to the PayPal site. After
completion of payment, the buyer will come back to the website. Using PayPal IPN (Instant
Payment Notification) service, we will check the payment status and store the transaction
details in the database.
PayPal payment gateway in NetBeans, create a Sandbox test account for testing PayPal
transaction. We have the Business account and Personal account from your Sandbox account.
Controller has three methods, success (), cancel (), and ipn(). success () method responsible
for displaying the transaction data on payment success. cancel () method is requested on
payment cancel by the buyer. ipn() method gets the transaction data by PayPal IPN and insert
the transaction data into the database.

59 | P a g e
Online Electronic Shopping

CHAPTER 13
TESTING

Software Testing is an empirical investigation conducted to provide stakeholders with


information about the quality of the product or service under test, with respect to the context
in which it is intended to operate. Software Testing also provides an objective, independent
view of the software to allow the business to appreciate and understand the risks at
implementation of the software. Test techniques include, but are not limited to, the process of
executing a program or application with the intent of finding software bugs. It can also be
stated as the process of validating and verifying that a software program/application/product
meets the business and technical requirements that guided its design and development, so that
it works as expected and can be implemented with the same characteristics.

Software Testing, depending on the testing method employed, can be implemented at any
time in the development process, however the most test effort is employed after the
requirements have been defined and coding process has been completed.

13.1 Unit Testing


The primary goal of unit testing is to take the smallest piece of testable software in the
application, isolate it from the remainder of the code, and determine whether it behaves
exactly as you expect. Each unit is tested separately before integrating them into modules to
test the interfaces between modules. Unit testing has proven its value in that a large
percentage of defects are identified during its use.
Unit testing is a software verification and validation method where the programmer gains
confidence that individual units of source code are fit for use. A unit is the smallest testable part
of an application. In procedural programming a unit may be an individual program, function,
procedure, etc., while in object-oriented programming, the smallest unit is a class, which may
belong to a base/super class, abstract class or derived/child class.

Ideally, each test case is independent from the others: substitutes like method stubs, mock
objects, fakes and test harnesses can be used to assist testing a module in isolation. Unit tests
are typically written and run by software developers to ensure that code meets its design and
behaves as intended. Its implementation can vary from being very manual (pencil and paper)
to being formalized as part of build automation.

13.2 Integration Testing

Integration testing, also known as integration and testing (I&T) is a software development
process which program unit are combined and tested as groups in multiple ways. In this
context, a unit is defined as the smallest testable part of an application. Integration testing can
expose problems with the interfaces among program components before trouble occurs in
real-world program execution. Integration testing is a component of Extreme Programming
(XP), a pragmatic method of software development that takes a meticulous approach to
building a product by means of continual testing and revision.
There are two major ways of carrying out an integration test, called the bottom-up method and
the top-down method. Bottom-up integration testing begins with unit testing, followed by tests of
60 | P a g e
Online Electronic Shopping

progressively higher-level combinations of units called modules or builds. In top-down


integration testing, the highest-level modules are tested first and progressively lower-level
modules are tested after that. In a comprehensive software development environment, bottom-up
testing is usually done first, followed by top-down testing.

13.3 Validation Testing

At the validation level, testing focuses on user visible actions and user recognizable output
from the system. Validations testing is said to be successful when software functions in a
manner that can be reasonably expected by the customer. Two types of validation testing

 Alpha testing is simulated or actual operational testing by potential users/customers or


an independent test team at the developers' site. Alpha testing is often employed for
off-the-shelf software as a form of internal acceptance testing, before the software
goes to beta testing.
 Beta testing comes after alpha testing. Versions of the software, known as beta
version, are released to a limited audience outside of the programming team. The
software is released to groups of people so that further testing can ensure the product
has few faults or bugs. Sometimes, beta versions are made available to the open
public to increase the feedback field to a maximal number of future users.
 Grey box testing is the combination of black box and white box testing. Intention of
this testing is to find out defects related to bad design or bad implementation of the
system.it is used for web application.

61 | P a g e
Online Electronic Shopping

CHAPTER 14
SOFTWARE QUALITY ASSURANCE PLAN

Each development and maintenance project should have a Software Quality Assurance Plan
that specifies its goals, the SQA tasks to be performed, the standards against which the
development work is to be measured, and the procedures and organizational structure.
The IEEE Standards for the Software Quality Assurance Plans states that the plan should
contain the following sections:
• Purpose Reference documents
• Management Documentation
• Standards, practices and conventions
• Reviews and Audits
• Configuration Management
• Problem reporting and corrective action
• Tools, techniques and methodologies
• Code Control
• Media Control
• Supplier Control
• Records collection, maintenance and retention.

1. Purpose, Scope and Overview:


The purpose of this Software Quality Assurance (SQA) Plan is to establish the goals,
processes, and responsibilities required to implement effective quality assurance functions for
the ONLINE SHOPPING.
The ONLINE SHOPPING Software Quality Assurance plan provides the framework
necessary to ensure a consistent approach to software quality assurance throughout the
project life cycle.
This plan establishes the SQA activities performed throughout the life cycle of the ONLINE
SHOPPING. Specifically, this SQA Plan will show that the SQA function is in place for this
project. It will show that the SQA group has a reporting channel to senior management that is
independent of the project manager, the project’s software engineering group, and software
related groups that include Software Configuration Management (SCM), System and
Software Test, and Logistics.
The goal of the SQA program is to verify that all software and documentation to be delivered
meet all technical requirements.

2. Reference documents:
Software Quality Assurance, Principles and Practice: Nina S Godbole.

62 | P a g e
Online Electronic Shopping

3. Management:
An IEEE standard lays down three aspects that should be covered in the Software Quality
Assurance Plan:
Organization:
The organization section includes the roles of the team members, their hierarchy etc. It is
important that the head of the Software Quality Assurance (SQA) function in the organization
has the adequate authority to be able to perform independent verification that the processes
are adhered to.
The following describes the functional groups that influence and control software quality.
a). Program Management/Line Management (Sponsor) is responsible for:
the following items: Identifying an individual or group independent from the Project to audit
and report on the project’s SQA function.
Identifying the quality factors to be implemented in the system and software.
b). Project Management is responsible for:
Resolving and following-up on any quality issues raised by SQA.
Identifying, developing and maintaining planning documents Such as the Program
Management Plan.
c). System Engineering is responsible for:
Implementing the engineering practices, processes, and procedures as defined in
program/project planning documents.
d). Software Design/Development is responsible for:
Identifying, implementing, and evaluating the quality factors to be implemented in the
software.
e). Software Test is responsible for:
Verifying, Implementing the software test practices, processes, and procedures as defined in
program/project planning documents.
f). System Test is responsible for:
Verifying the quality factors are implemented in the system (software and hardware).
g). Logistics is responsible for:
Reviewing and commenting on the SQA Plan.

Implementing the quality program in accord ONLINE SHOPPING assurance with this SQA
plan.
h). Software Configuration Management (SCM) is responsible for:
Implementing the SCM practices, processes, and procedures as defined in reference and other
program/project planning documents.
i). Independent Verification and Validation (IV& V) is responsible for:
63 | P a g e
Online Electronic Shopping

Implementing the practices, processes, and procedures as defined for IV&V in program
/project planning documents.
j). Systems Engineering Process Office (SEPO) is responsible for:
Maintaining the SQA Process.
Ensuring SQA training availability.

Providing assistance in software process engineering and software process improvement.


a) Tasks:
An SQA task is performed in relationship to what software development activities are taking
place. One or more SQA tasks can be performed concurrently until a task is completed.
The following are the tasks of SQA plan:
• Evaluate System Requirements Analysis Process
• Evaluate System Design Process
• Evaluate Software Requirements Analysis Process
• Evaluate Software Design Process
• Evaluate Software Tools
• Evaluate Software Implementation and Unit Testing Process
• Evaluate End-item delivery Process
• Evaluate Configuration Management Process
b) Responsibilities: The project manager and design/development teams have
primaryresponsibility for the quality controls applied during the development of the software
project.

The quality manager will:


Define the responsibilities of quality personnel in the form of quality assurance procedures
applicable to the project.
• Agree to the quality plan with the project manager.
• Approve the plan of the audits for the project which are to be carried out by quality
personnel.
• Resolve any disagreement between the project manager and quality personnel on
matters relating to quality.

• Review the activities performed by project personnel to ensure that the requirements
of the quality plan and quality procedures are being satisfied.
Quality personnel will:

• Carry out planned internal audits of the project to assess compliance with quality
objectives.
• Agree on corrective action with the project manager for any discrepancies, non-
conformities found and ensure that corrective action is taken. Evaluate defect trends
and take appropriate action.

64 | P a g e
Online Electronic Shopping

4. Documentation:
The basic purpose of the documentation section of the Software Quality Assurance Plan is to
describe the documentation to be produced and how it is to be reviewed. The documentation
section normally includes the following:
• Software Requirements Specification (SRS)
• Software Design Description
• Software Verification Plan
• Software Verification report
• Reference to Software Standards (ISO, CMM, IEEE etc) and procedures mentioned
and defined as in the Quality Manual and Quality Management System
• User guides, operators and programmers manual
• Configuration Management Plan
• Software Quality Objectives.
5. Standards, practices and conventions:
To verify the delivery of a fully conforming, high-quality product, every individual assigned
to the project will participate in quality assurance. This section describes the procedures used
by SQA to verify that the quality assurance provisions of this SQA Plan and applicable
standards, practices, conventions, and metrics are met.
The following measurements will be made and used to determine the cost and schedule status
of the SQA activities:
a. SQA milestone dates (planned)
b. SQA milestone dates (completed)
c. SQA work scheduled (planned)
d. SQA work completed (actual)
e. SQA effort expended (planned)
f. SQA effort expended (actual
g. SQA funds expended (planned)

6. Reviews and Audits:


The review and audits sections of Software Quality Assurance Plan will state which technical
and managerial reviews will be undertaken and how they will be carried out. The ANSI
standard suggests that the following would be a minimum set of reviews:

• Software Requirements Specification Review: This review is held to approve the


document defining the software requirements specifications and it aims to check the
adequacy of the requirements.
• Primary Design Review: The purpose of this review is to approve formally, the
software top-level design document.
• Critical Design Review: The purpose of this review is to approve the software
detailed design document as a basis for further development work.

65 | P a g e
Online Electronic Shopping

• Software Verification Review: The purpose of this review is to approve the test plan.
It is the evaluation of the adequacy and completeness of the methods described.
• Functional Audit: This is held to verify that all the requirements in the software
requirements specification have been met.
• Physical Audit: This is held to verify that the software and its documentation are
internally consistent prior to delivery to the user.
• In-Process Audit: In-Process audits of a sample design are held to verify the
consistency of the design.

7. Configuration Management:
This Configuration Management section of the Software Quality Assurance Plan covers
configuration identification, configuration control, configuration status accounting, and
configuration auditing.

8. Problem reporting and corrective action:


This section of the Software Quality Assurance plan describes the system, which ensures that
software problems are documented and resolved. It should be a closed-loop system. All the
problems should be promptly reported at appropriate level, acted upon and resolved. Each
problem should be analysed to determine its significance and causes and classified by
category and each problem must have severity level and a priority number.
For each problem, some corrective action and a target completion date should be identified.
The appropriate level of management should be made aware of the problems and adverse
trends. The corrective action taken will be evaluated to ensure that it solved the problem
without introducing any new problems. Management should monitor the status of all
unresolved problems.

9. Tools, techniques and methodologies:


Tools - SQA software tools include, but are not limited to, operating system utilities,
debuggingaids, documentation aids, checklists, structuring pre-processors, file comparators,
structure

analysers, code analysers, standards auditors, simulators, execution analysers, performance


monitors, statistical analysis packages, software development folder/files, software
traceability matrices, test drivers, test case generators, static or dynamic test tools, and
information engineering CASE tools.
Techniques - Techniques include review of the use of standards, software
inspections,requirements tracing, requirements and design verification, reliability
measurements and assessments, and rigorous or formal logic analysis.
Methodologies - Methodologies are an integrated set of the above tools and techniques.
Themethodologies should be well documented for accomplishing the task or activity and
provide a description of the process to be used.

66 | P a g e
Online Electronic Shopping

10. Code Control:


Code control includes the items listed below:
• Identifying, labelling, and cataloguing the software to be controlled
• Identifying the physical location of the software under control
• Identifying the location, maintenance, and use of backup copies
• Distributing copies of the code
• Identifying the documentation that is affected by a
• Establishing a new version
• Regulating user access to the code.

11. Media Control:

The Media Control section of the Software Quality Assurance Plan will describe how the
media are to be protected from unauthorized access or damage. Security threats to a software
project come from the following environmental factors:
• Fire Damage
• Water Damage
• Energy Variations
• Structural Damage
• Pollution
• Unauthorized Intrusion
• Viruses and Worms
• Misuse of Software, Data and Services.

12. Supplier Control:

Prior to any purchase of software to support the development effort, SQA and project
members will define and provide complete requirements to the supplier/vendor. The Software
Tool Evaluation Process will be followed. Part of the evaluation process will require the
supplier or vendor to describe their technical support, handling of user questions and
problems, and software product upgrades.
13. Records collection, maintenance and retention:

SQA activities are documented by records and reports that provide a history of product
quality throughout the software life cycle. Measurement data collected will be reviewed for
trends and process improvement.
All SQA records will be collected and maintained in the SDL or archival storage for the life
cycle of the product.

67 | P a g e
Online Electronic Shopping

CHAPTER 15
CONCLUSION

The project entitled “Online Electronic Shopping” is developed using JSP as front end and
MYSQL database in back end to computerize the process of online buying and selling of
mobiles in a showroom. This project covers only the basic features required.
However, a lot of features are already incorporated in this project. The main beneficiaries are
both customers as well as ADMIN who consume more time while dealing with mobiles.
Moreover, extra features can be identified and incorporated in the future In order to
accommodate additional features it will take longer time and effort to understand the
requirement and converting it into computerized system.

68 | P a g e
Online Electronic Shopping

CHAPTER 16
FUTURE SCOPE OF PROJECT

I will fix bugs if they are found. More features will be added into this application.
• Product Review
• Product Rating
• More Payment Gateway
The project made here is just to ensure that this product could be valid in today real
challenging world. Here all the facilities are made and tested. Currently the system works for
limited number of administrators to work. We implement vendor dashboard in this, so that
every product seller can add their products by direct login to the dashboard and add, delete
and modify the products. In near future, it will be extended for many types of insurance
policies so that efficiency can be improved.

69 | P a g e
Online Electronic Shopping

CHAPTER 17
BIBLIOGRAPHY
WEBSITE:
1. NetBeans IDE 8.2 (https://netbeans.org/.com)
2. The Java EE 5 Tutorial (https://docs.oracle.com/javaee/5/tutorial/doc/)
1. Object-relational impedance mismatch (http://en.wikipedia.org/wiki/Object-
Relational_impedance_mismatch)
2. Bootstrap Theme (https://getbootstrap.com/)
3. Bootstrap module (https://codepen.io/)
4. http://www.agilemodeling.com/artifacts/dataFlowDiagram.htm for definition of Data
Flow Diagram.
5. http://www.informatik.uni-bremen.de/uniform/gdpa_d/methods/m-fctd.htm
fordefinition of Functional Decomposition.

BOOKS:
1. JSP 2.0: The Complete Reference, Second Edition | By Phillip Hanna.

2. High Performance MySQL: Optimization, Backups, Replication, and More, by Baron


Schwartz, Peter Zaitsev, Vadim Tkachenko, Jeremy Zawodny, Arjen Lentz, Derek J.
Balling.

3. MySQL: The Complete Reference by Vikram Vaswani

4. Laufer, K. A hike through post-EJB J2EE Web application architecture. Part II.
Computing in Science & Engineering.Volume 8, Issue 2, March-April 2006
Page(s):79 – 87

5. Chris Richardson. Untangling enterprise Java. Queue. Volume 4, Issue 5 (June 2006).
Component Technologies. Pages:36 – 44. 2006. ISSN: 1542-7730

70 | P a g e
Online Electronic Shopping

71 | P a g e

Вам также может понравиться