Академический Документы
Профессиональный Документы
Культура Документы
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
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
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
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.
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
8|Page
Online Electronic Shopping
LIST OF SNAPSHOTS
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
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.
14 | P a g e
Online Electronic Shopping
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
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
17 | P a g e
Online Electronic Shopping
CHAPTER 6
TECHNOLOGICAL BACKGROUND
• 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
Customer
19 | P a g e
Online Electronic Shopping
Admin
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.
Login
Validate Check
validity
Input Items
Add Category
Back to Form
Delete/Modify Items
22 | P a g e
Online Electronic Shopping
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
Front End: web browser; Back End: web server; DB: database server
23 | P a g e
Online Electronic Shopping
CHAPTER 8
SYSTEM DESIGN SPECIFICATION
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:
24 | P a g e
Online Electronic Shopping
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
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
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
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:
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:
29 | P a g e
Online Electronic Shopping
8.6 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
1. Database (Cart)
31 | P a g e
Online Electronic Shopping
3. Database (Registration)
SNAPSHOT:9.3Registrationtable
4. Database (Order)
SNAPSHOT:9.4Order table
32 | P a g e
Online Electronic Shopping
6. Database (Feature)
SNAPSHOT:9.6Featuretable
33 | P a g e
Online Electronic Shopping
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
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
35 | P a g e
Online Electronic Shopping
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
36 | P a g e
Online Electronic Shopping
SUNDRY STORE
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
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.
38 | P a g e
Online Electronic Shopping
39 | P a g e
Online Electronic Shopping
40 | P a g e
Online Electronic Shopping
41 | P a g e
Online Electronic Shopping
42 | P a g e
Online Electronic Shopping
43 | P a g e
Online Electronic Shopping
44 | P a g e
Online Electronic Shopping
CHAPTER 11
IMPLEMENTATION TECHNOLOGIES
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.
46 | P a g e
Online Electronic Shopping
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.
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
1) Viewcart.jsp
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">
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 = " + "₹ " +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
<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">₹<%=rs.getString(4)%></i></p>
</div>
</div>
<%} }
catch(Exception e)
{
out.println(e);
}
%>
<%@ include file="footer.jsp" %>
3) Delete.jsp
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>
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
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.
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
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.
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
Development Tools
• NetBeans IDE
• Glassfish, a Java EE application server
• MySQL, a relational database management server (RDBMS)
• MySQL Workbench, a visual database design tool
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:
CHAPTER 12
57 | P a g e
Online Electronic Shopping
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.
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.
59 | P a g e
Online Electronic Shopping
CHAPTER 13
TESTING
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.
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.
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
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
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.
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.
• 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)
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.
66 | P a g e
Online Electronic Shopping
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.
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.
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