Escolar Documentos
Profissional Documentos
Cultura Documentos
E-Commerce Shopping Cart is Software designed for customers to order food online.
The main aim of the project is to provide service smart security to the customers. This
system provides good and efficient information and thus making the service smarter. It is
an interface for customers to browse the catalogue and order the food online. Using the
power of Internet multiple interest parties can order with complete security and control.
ESC system maintains and processes all sort of information pertaining to the order type
options control the life cycle of an order. It provides an end to end solution to sell and
manage.
By following this new approach the information can be accessed from anywhere just
with a mouse click. This helps the users by saving lot of time and providing the user with
up to date information.
This developed package provides a good interface between the user and the database.
This new approach will guide the user if at all any invalid entries are made and provide
feedback to the users.
This will sustain reasonable amount of traffic and provide the user with the required
information without any delay.
This project provides a very good user interface such that any one can easily
understand and can access the information with least effort.
INDEX
1. INTRODUCTION
1.1 EXISTING SYSTEM
2. SYSTEM SPECIFICATION
2.1 SOFTWARE REQUIREMENTS
2.2 HARDWARE REQUIREMENTS
3. REQUIREMENT ANALYSIS
3.1
PURPOSE
3.2
Overall Description
3.3
System Features
3.4
3.5
4. SYSTEM DESIGN
4.1 DATA DESIGN
4.2
ARCHITECHTURAL DESIGN
5. SYSTEM IMPLEMENTATION
5.1 SAMPLE CODE
5.2 SYSTEM TESTING
6. OUTPUT SCREENS
7. SYSTEM TOOLS
3
8. CONCLUSION
9. BIBILIOGRAPHY
INTRODUCTION
INTRODUCTION
E-Commerce Shopping Cart is Software designed for customers to order food
online. The main aim of the project is to provide service smart security to the customers.
This system provides good and efficient information and thus making the service smarter.
It is an interface for customers to browse the catalogue and order the food online. Using
the power of Internet multiple interest parties can order with complete security and
control.
ESC system maintains and processes all sort of information pertaining to the order
type options control the life cycle of an order. It provides an end to end solution to sell
and manage.
By following this new approach the information can be accessed from anywhere
just with a mouse click. This helps the users by saving lot of time and providing the user
with up to date information.
Goals For The System:
By following the new approach the information can be accessed from any where
just with a mouse click. This helps the user by saving lot of time.
The developed package should be able to create a good interface between user
and database.
It should guide the user if it all any invalid entries are made and provide feedback
to the users.
It should sustain reasonable amount of network traffic and provide the user with
the required information with out any delay.
This project provides a very good user interface for the user to access information
with least effort.
The system provides various functionalities to the user for any type of details
about the store.
Since the information is available on the server at any point of time from the store
1.3System Overview:
E-Commerce Shopping Cart (ESC) software designed for the customer to order
the food through online. Using the power of the Internet to open your order management
application to multiple interest parties, with complete security and control.
This project is a product for cooperate business centers. The implementation of
this project has following major process modules.
Modules
Browse
Registration
Login
View Items
Add_To_Cart
Remove_From_Cart
Time of Dispatch
Checkout
create new order. Adding additional items to take the union of the customers previous
order products and show after the login.
4. View Items:
The customer can at any point of time be able to view his/her shopped
products that are added to the basket and at the same time also able to update and delete
and individual and group products from the shopping list. There will be an option for the
customer to increase (+) and decrease (-) the quantity of an individual product in the
shopping basket.
5. Add_To_Cart:
The application will allow the customer to add individual products or group
of products from the shopping cart, and will automatically update the totals and others.
6. Remove_ From _Cart:
The application will allow the customer to remove individual products or group
of products from the shopping cart, and will automatically update the totals and others.
7. Time of Dispatch:
In this module the time will be displayed to the customers for delivery and it also
gives the customers option of giving time for delivery.
8. Checkout:
The customer confirms the order by clicking the checkout.
10
SYSTEM SPECIFICATION
SYSTEM SPECIFICATIONS
11
12
REQUIREMENT ANALYSIS
Purpose
13
This SRS describes the software functional requirements for ECOMMERCE SHOPPING CART (ESC). This software is intended to be used by
the storeowner that will implement and verify the correct functioning of the
system. By adopting this process the customers can order food online and also
allow them to pay for the order with their credit/debit card.
3.1.2 Project Scope and Product Features
The ESC will provide an interface for customers to browse the catalogue
before or after login. Here the customer is allowed to view his/her shopped
products that are added to the basket .The customer can also update and delete and
individual and group products from the shopping list. Here the customer is given
an option to increase and decrease the quantity of individual products in the
shopping basket. The application even allows the customer to remove selected
items from the shopping cart, and will automatically update the totals and others.
The application will allow the customer to carry on shopping with the click button.
In the register phase of the application, customer will be allowed to input their
post code to validate whether the shop/store delivers the order to that post code. If
the validation returns true and the order can be delivered to the customer address.
The customer is required to fill a registration form including all the necessary
details that are required to fulfill the order dispatch. The customers can order food
from the on-line store to be delivered to specified area through which the time of
the customer is been saved. The main idea behind this software is that the
customer can get his food faster.
3.1.3 References
1. Cafeteria Ordering System Vision and Scope Document.
14
Storeowner:
The storeowner checks the order and address of the customer, generates the bill
and asks his staff to prepare the order and asks the delivery staff to deliver it to specified
address. He asks the delivery boy get sign of the customer on confirmation bill.
3.2.4 Assumptions and Dependencies
AS-1: The ESC is open for lunch and dinner everyday.
DE-1: The operation of the ESC depends on changes being made in the store.
Depending on the availability of food items as ESC orders are accepted.
15
3.3.1 Browse
Stimulus/Response Sequences
Stimulus: Customer will give the yoursite.com to enter into the store.
Response: System shows the name and other contextual information regarding online
store.
Stimulus: Customer request for the catalogue.
Response: System displays the catalogue which is in the database.
Stimulus: Customer requests for category.
Response: The system will give all type of information regarding that category.
Stimulus: Customer requests to place an order for one or more items.
Response: System will store the list of items which are selected into the temporary
database.
Functional Requirements
Ordering. Option: The customer when selects the ordering option the system
shall displays the catalogue.
Select.Catageory: The customer has the choice of either selecting from range
of categories or searching with a given name.
Select.NoSearch: If there is no search, then the application will show the
customer with an alternative choice.
Order. Place: The System will allow the customer to place an order for one
or more items.
3.3.2 Registration
Functional Requirements
Order. Register: If the customer is not registered, the system shall give the customer
options to register now and continue placing an order.
3.3.3 Time of Dispatch
Stimulus/Response Sequences
16
View. Item: The system shall display all items the items selected by the customer.
3.3.4 View_Item
Stimulus/Response Sequences
Stimulus: Customer requests to view the selected items.
Response: The system will display the list of items selected.
Functional Requirements
17
Update. Item: The system shall allow the customer to add individual or group of items
to already existing list.
3.3.6 Remove_From_Cart
Functional Requirements
Delete. Item: The system shall allow the customer to delete individual or group items
from already selected list and system will automatically update the totals and others.
18
All Web pages generated by the system shall be fully downloadable in no more
than 10 seconds.
19
The details of the customer are passed on the secure server where he/she pays for
the order.
3.5.3 Security Requirements
All network transactions that involve financial information or personally
identifiable information shall be encrypted.
20
SYSTEM DESIGN
21
distinct boundaries between incoming and outgoing data. The Data Flow diagrams
allocate control input, processing, and output along three separate modules.
The Interface Design describes internal and external program interfaces
as well as the design of human interface. Internal and external interface designs are based
on the information obtained from the analysis model.
The Procedural Design describes structured programming concepts
using graphical, tabular, and textual notations. These design mediums enable the designer
to represent procedural detail that facilitates translation to code. This blueprint for
implementation forms the basis for all subsequent software engineering work.
The SDD contains the following documents:
o
Architecture Design
Data Design
Interface Design
Procedural Design
22
activities and the arcs specify data items transmitted between processing nodes. A data
flow diagram might represent data flow between sequential routines, data flow concurrent
process, or data flow in a distributed computing system, where each node represents a
geographically remote processing unit.
Unlike flow charts, data flow diagrams do not indicate decision logic or condition
under which various nodes in the diagram might be activated. Data flow diagrams can be
expressed using special symbols. These symbols can be used to denote processing nodes,
data nodes, data sources and data stores.
File
Process
23
24
Customer
Browse
Product
catalogue
Registrati
on
Login
Add/Delete
Items
25
Checkout
CONTEXT-LEVEL
BROWSE
REGISTRATION
LOGIN
USER
USER
INTERACT
S
ES
C
ADD TO CART
VIEW LIST
REMOVE FROM
LIST
TIME OF
DISPATCH
CHECK OUT
26
27
28
29
The data design specifies how the data of the program is going to be
stored. This includes all major data structures and methods. For each data structure, the
actions that can be performed on it are specified.
Name
C_ID
Null?
NOT NULL
Type
NUMBER(5)
C_NAME
VARCHAR2(100)
C_DESC
VARCHAR2(150)
Subcategory Table
Name
Null?
Type
SC_ID
NOT NULL
NUMBER(5)
C_ID
NOT NULL
NUMBER(5)
SC_NAME
COST
SC_DESC
VARCHAR2(100)
NOT NULL
NUMBER(7,2)
VARCHAR2(100)
Register Table
31
Name
Null?
Type
F_NAME
VARCHAR2(25)
SURNAME
VARCHAR2(26)
FULL_ADD
VARCHAR2(50)
TOWN
VARCHAR2(15)
COUNTRY
VARCHAR2(20)
POSTCODE
NUMBER(6)
H_PHONE
NUMBER(11)
MOBILE
NUMBER(11)
PASSWORD
VARCHAR2(30)
MAIL_ID
VARCHAR2(50)
Feedback Table
Name
Null?
Type
CO_NAME
VARCHAR2(50)
BEST_TIME
VARCHAR2(10)
MAIL_ID
VARCHAR2(50)
PHONE
NUMBER(10)
MOBILE
NUMBER(12)
CMT
VARCHAR2(200)
32
Name
Null?
Type
SESSIONID
NOT NULL
VARCHAR2(100)
C_ID
NOT NULL
NUMBER(5)
SC_ID
NOT NULL
NUMBER(5)
COST
NUMBER(8,2)
SC_NAME
VARCHAR2(100)
QTY
NUMBER(5)
Order_Info Table
Name
ORDER_ID
Null?
NOT NULL
Type
NUMBER(5)
NAME
VARCHAR2(25)
ADDRESS
VARCHAR2(100)
PHONE
NUMBER(11)
MOBILE
NUMBER(11)
TIME_OF_DIS
NUMBER(3)
DEL_TIME
NUMBER(3)
Order_Info1 Table
Name
Null?
Type
ORDER_ID
NUMBER(5)
C_ID
NUMBER(5)
SC_ID
NUMBER(5)
COST
NUMBER(8,2)
SC_NAME
VARCHAR2(100)
QTY
NUMBER(5)
33
SYSTEM IMPLEMENTATION
34
35
<TR>
<TD align="center">
<A href="contact.htm" value="homepage"><b><FONT
face="Arial, Helvetica, sans-serif" size=3>CONTACT US
</font></b></A></TD>
</TR>
36
37
return;
}
document.productform.action="ordering.jsp?itemno="+document.productfmno.va
lue+"&title="+document.productform.title.value+"&qty="+document.productform.qty.va
lue+"&price="+document.productform.price.value;
</SCRIPT>
<%! String oid;
int z=0 ;%>
<%
String s=request.getParameter("c_id");
if(s! =null)
{
oid=s; }
%>
<%
ResultSet rs1=st.executeQuery("select max(sc_id) from subcategory where
c_id="+Integer.parseInt(oid));
if(rs1.next())
{
out.println(rs1.getInt(1));
}
rs1.close();
%>
<%
38
39
alt=\""+rs2.getString(5)+"\"
src=\"one_files/info.gif\" align=left border=0></TD>");
out.println("<TD width=\"40%\" bgColor="+color+"><SPAN
class=productdisplay>"+rs2.getString(3)+"</SPAN></TD>");
out.println("<TD width=\"8%\" bgColor="+color+"><IMG src=\"one_files/0.gif\"
align=center border=0></TD>");
out.println("<TD width=\"8%\" bgColor="+color+"><SPAN
class=productdisplay>Rs."+rs2.getFloat(4)+"</SPAN></TD>");
out.println("<TD width=\"10%\" bgColor="+color+"><SPAN
class=productdisplay><INPUT size=2 value=1
name=qty"+rs2.getInt(1)+"></SPAN></TD>");
out.println("<TD width=\"10%\" bgColor="+color+"><A style=\"COLOR: #000000;
TEXT-DECORATION: underline\" href=\"javascript:addtobasket("+rs2.getInt(1)+")\"
><IMG alt=\"Enter quantity and click this button.\" src=\"one_files/sbasket.gif\"
border=0></A></TD>");
%>
</TR>
<%
}
%>
40
The selected items are viewed with the individual price of the item and quantity
and totals are made. The items which are selected are retrieved from the database. Any
updations done will be modified in the database also.
41
stmt.setInt(3,j[0]);
int m=stmt.executeUpdate();
stmt.close();
}
if(formaction.equals("increment"))
{
String itemno=request.getParameter("incrementitem");
String qty=request.getParameter("incrementqty");
String price=request.getParameter("incrementprice");
StringTokenizer s=new StringTokenizer(itemno,",");
int i=0;
int[] j=new int[2];
while(s.hasMoreTokens())
{
j[i]=Integer.parseInt(s.nextToken());
i++;
}
42
stmt.setInt(4,j[1]);
stmt.setInt(5,j[0]);
int m=stmt.executeUpdate();
stmt.close();
}
if(formaction.equals("decrement"))
{
String itemno=request.getParameter("decrementitem");
String qty=request.getParameter("decrementqty");
String price=request.getParameter("decrementprice");
StringTokenizer s=new StringTokenizer(itemno,",");
int i=0;
int[] j=new int[2];
while(s.hasMoreTokens())
{
j[i]=Integer.parseInt(s.nextToken());
i++;
}
PreparedStatement stmt = con.prepareStatement("update temporder set
cost=?,qty=? where sessionid=? and c_id=? and sc_id=?");
stmt.setFloat(1,(Integer.parseInt(qty) * Float.parseFloat(price)));
stmt.setInt(2,Integer.parseInt(qty));
stmt.setString(3,session.getId());
stmt.setInt(4,j[1]);
43
stmt.setInt(5,j[0]);
int m=stmt.executeUpdate();
stmt.close();
}
}catch(Exception e)
{ System.out.println(e); }
%>
5.1.4 Registration:
All the information given by the customer will be stored in the database for delivery
of an order.
<%@ include file="makecon.jsp" %>
<%
try {
String firstname=request.getParameter("firstname");
String lastname=request.getParameter("lastname");
String address1=request.getParameter("address1");
String town=request.getParameter("town");
String state=request.getParameter("state");
String postcode1=request.getParameter("postcode1");
String phone=request.getParameter("phone");
String mobile=request.getParameter("mobile");
String pass=request.getParameter("pass");
String email=request.getParameter("email");
44
45
<%
}
session.setAttribute("loginid",email);
session.setAttribute("name",firstname);
} catch(Exception e)
{
%>
<jsp:forward page="failure.html" />
<%
}
%>
<script language="javaScript">
function validateForm(form)
{
flag=true
p=document.registerform.pass.value
psize=p.length
cp=document.registerform.repass.value
cpsize=cp.length
if(psize!=cpsize)
{
flag=false
}
for(i=0;i<prize++)
46
{
s=p.substring(i,i+1)
s1=cp.substring(i,i+1)
if(s!=s1)
{
flag=false
}
}
if(flag)
{
document.registerform.submit()
}
else
{
alert("Password and Confirm password are not same")
document.registerform.repass.select()
}
}
function num(numfield)
{
var f=true
n=numfield.value
nsize=n.length
for(i=0;i<nsize;i++)
{
47
s=n.substring(i,i+1)
if(s<'0' || s>'9')
{
f=false
}
}
if(!f)
{
alert("pls enter numbers only")
numfield.select()
}
}
</script>
</HEAD>
5.1.5 Checkout:
The user when wants to confirm his/her order tries to checkout where they have to
login for confirmation and all the information of the customer when login will be stored
in to database including time of dispatch given by the customer and the order given.
48
49
addr=rs.getString(3);
}
rs=st.executeQuery("select max(order_id) from order_info");
if(rs.next())
{
order_id=rs.getInt(1);
}
PreparedStatement stmt = con.prepareStatement("insert into order_info
values(?,?,?,?,?,?,?)");
stmt.setInt(1,++order_id);
stmt.setString(2,name);
stmt.setString(3,addr);
stmt.setLong(4,phone);
stmt.setLong(5,mobile);
stmt.setInt(6,Integer.parseInt(takeway));
stmt.setInt(7,Integer.parseInt(delivery));
int m=stmt.executeUpdate();
stmt = con.prepareStatement("insert into order_info1 values(?,?,?,?,?,?)");
rs=st.executeQuery("select * from temporder where
sessionid='"+session.getId()+"'");
while(rs.next())
{
stmt.setInt(1,order_id);
50
stmt.setInt(2,rs.getInt(2));
stmt.setInt(3,rs.getInt(3));
stmt.setFloat(4,rs.getFloat(4));
stmt.setString(5,rs.getString(5));
stmt.setInt(6,rs.getInt(6));
stmt.executeUpdate();
}
int n=st.executeUpdate("delete from temporder where
sessionid='"+session.getId()+"'");
if(n==0)
{
System.out.println("temporder not cleared");
}
session.removeAttribute("name");
session.removeAttribute("loginid");
%>
<jsp:forward page="thank.htm" />
<%
}
%>
51
The philosophy behind testing is to find errors. Test cases are devised with us in
mind .A strategy employed for system testing is code testing.
Unit Testing.
Link Testing.
Integration testing
Unit Testing:
In this application developer tests the programs up as system. Software units in a
system are the modules and routines that are assembled and integrated to form a specific
function. Unit testing first done on modules, independent of one another to locate errors.
This enables to detect errors. Through this error resulting from interaction between
modules initially avoided.
Link Testing:
52
Link testing does not test software but rather the integration of each module. The
programmer tests where modules are designed with different parameters, length, type etc.
Integration testing:
All the tested modules are combined into sub system, which are then tested. The
goal is to see if the modules are properly integrated, and emphasis being on the testing
interfaces between the modules.
It is a test case method used on functional requirements of the software .it will
help a software engineer to derive sets of input conditions that will exercise all the
functional requirements of the program .Black Box testing attempts to find errors in the
following categories:
Incorrect or missing functions.
Interface errors.
Errors in data structures.
Performance errors.
Initialization and termination errors.
WHITE BOX TESTING:
53
It is a test case design method that uses the control structures of the
procedural design to derive test cases. Using test cases this testing software Engineer can
derive the following test cases:
Executing all loops at their boundaries and within their operational boundaries.
Physical security:
Physical security is maintained by having the back up of all the data that is needed
for the project to run.
5.2.5 Os security:
The platform that we are using is Win NT which is protected made kernel and
this give the programming to run on its own protected made which makes project to
be handled on its won resources and which also works as the client in many cases.
54
55
OUTPUT SCREENS
HOME PAGE
56
ORDERING PAGE
57
SUBCATEGORIES PAGE
58
59
60
CHECK PINCODE
61
62
REGISTRATION FORM
63
64
REGISTRATION COMPLETED
65
LOIGIN OPTION
66
67
CART CLEARED
68
VIEW CART
69
70
INVALID QUANTITY
71
72
CHECKOUT FORM
73
LOGOUT FORM
74
75
SYSTEM TOOLS
76
77
cover shortly. The question now becomes why do you need JDBC?There are several
answers to this question:
1. ODBC is not appropriate for direct for direct use from Java because it uses a C
interface. Calls from Java to native C code have a number of drawbacks in the
security implementation, robustness, and automatic portability of applications.
2. A literal translation ODBC C API in to java API would not be desirable for
example, java has no pointers and ODBC makes copious use of them, including
the notoriously error prone generic pointer void*. You can think of JDBC as
ODBC translated in object-oriented interface that is natural for java program.
3
DBC is hard to learn. It mixes simple and advanced features together, and it has
complex options even for simple queries. JDBC, on the other hand, was designed
to keep simple things simple while allowing more advanced capabilities where
required
4. A Java API like JDBC is needed in order to enable a pure java solution. When
ODBC is used, the ODBC driver manger and drive must be manually installed
on every client machine. When the JDBC driver is written in java, however,
JDBC code is automatically installable, portable and secure on all java
platforms from network computers to mainframes
JDBC-ODBC Bridge
If possible, use a pure Java JDBC driver instead of the Bridge and an ODBC
driver. This completely eliminates the client configuration required by ODBC. It also
eliminates the potential that the java VM could be corrupted by an error in the native
code brought in by the Bridge (that is, the Bridge native library, the ODBC driver
manager library, the ODBC driver library, and the data base client library
What is the JDBC-ODBC Bridge?
The JDBC ODBC Bridge is a Jdbc driver, which implements JDBC
operations by translating them in to ODBC operations. To ODBC it appears as a
normal application program, the Bridge implements JDBC for any data base for
which an ODBC driver is available the bridge is implemented as the Sun.jdbc.odbc
java package and contains a native library used to access ODBC. The Bridge is a joint
development of intervolve and java soft.
JAVA SERVER PAGES (JSP)
Java server pages are a simple, yet powerful technology for creating and
maintaining dynamic-content web pages. Based on the Java programming language, Java
server pages offers proven portability, open standards, and a mature re-usable component
model. The Java server pages architecture enables the separation of content generation
from content presentation. This separation not ease maintenance headaches, it also allows
web team members to focus on their areas of expertise .Now, web page designer can
79
Features of JSP:
Portability:
Java server pages files can be run on any web server or web-enabled application
server that provides support for them. Dubbed the JSP engine, this support involves
recognition, translation, and management of the Java Server Pages life cycle and its
components.
Components:
It was mentioned earlier that the Java Server Pages architecture can include
reusable Java components. The components currently supported include Servlets.
Processing:
A Java Server Pages file is essentially an HTML document with JSP scripting or
tags. The Java Server Pages file has a JSP extension to the Server as a Java Server Pages
file.
Before the page is served, the Java Server Pages syntax is parsed and processed into
a Servlet on the server side .The Servlet that is generated outputs real content in straight
HTML for responding to the client.
80
Move SQL statements to data base engine for preprocessing and execution
Execute stored procedures.
Inspect and modify the results from the select statements.
FEATURES OF ORACLE
Some of the features of oracle supported for the project are as follows:
81
82
1. It is a unified language.
2. It is a common language for relational database.
3. It is a non-procedural language.
83
CONCLUSION
84
Conclusion
The theme of the project is to provide service smart, security to the customer. This
site provides a good and efficient way of ordering food through online which saves the
time of the customer.
This system provides good and efficient information and thus making the
service smarter. It is an interface for customers to browse the catalogue and order the
food online. ESC makes customer service easier as required by the customer. ESC system
maintains and processes all sort of information pertaining to the order type options
control the life cycle of an order. By following this new approach the information can be
accessed from anywhere just with a mouse click. This helps the users by saving lot of
time and providing the user with up to date information. The Internet also provides an
inexpensive and secured method for capturing orders electronically and easily integrated
with the customers.
This site also provides a feedback form such that any customer can give
comments to the storeowner.
85
BIBILIOGRAPHY
86
BIBILIOGRAPHY
87