Professional Documents
Culture Documents
Existing System
Existing System
Existing System
INTRODUCTION
The present days people are facing the problem in shopping .If the required item is
present in the home foods or not. They have to move to the home and is has to check if the
required item is present in the home or not. So it takes lot of time to move to the home from
the present location. So the problem we are using this application are the People are facing
the problem like when they went to the shopping mall and when they are purchasing the
items they may confused because the specific item is present or not in home. Now we have to
go the home and check the item and return to the shopping mall and purchase the item. So it
takes lot of time. By using our application we can check the items are present or not in home
from the current location and purchase the items using credit card.
EXISTING SYSTEM
A person entering the shopping mall does not know what are the items located in the
Fredge he wanted to purchase the shopping mall. He/she has to look for that particular item
throughout the shopping mall. They should also enquire the details about items to call to the
Home. This is a time consuming process and the searching process vexes the customer.
Transaction is time consuming and he was went to the shopping mall.
PROPOSED SYSTEM
To overcome all these problems, we are developing a solution that is, instead of go
the home and search the items in Fredge and shopping mall, we can search for the item using
our mobile, through wireless communication which makes shopping easy.. Automatically we
can know the items in Fredge and offers on that particular product through the mobile. This
reduces the burden on the customer. Payment can also be done using our mobile.
FEASIBILITY STUDY
Many feasibility studies are disillusioning for both users and analysts. First, the study
often presupposes that when feasibility document is being prepared, the analyst is in a
position to evaluate solutions. Second, most studies tend to overlook the confusion inherent
in the system development the constraints and the assumed attitudes. If the feasibility study
is to serve as a decision document for a project, it must answer 3 key questions:
Economical
Technical
Behavioral
Economic Feasibility
This application on the client side has been developed using J2ME Wireless Toolkit
2.2, which is open source software. The hardware required is access point, which is not
expensive. Hence the application is economically feasible.
Technical Feasibility
As the application has been developed using J2ME Wireless Toolkit 2.2 and the
back end as Oracle, which utilizes minimum resources of the Personal computer, this project
is technically feasible.
Operational Feasibility
This project has been implemented by J2ME WIRELESS TOOLKIT and it
satisfies all the conditions and norms of the users.
MODULES:
They are four modules in our project.
1. Registration of Items:
Registration enables items to get into our service.
2. Smart Fredge: The RFID reader reads the items in the smart Fredge and stores in
the database and give response to the user.
3. Search items in the mobile:
The user can access the information about the items through Mobile with the server.
4. Purchase the Required Items
The user can easily purchase the required items through a credit card.
1. REGISTRATION OF ITEMS:
List of items.
Functionalities:
Queries:
Alerts:
Reports:
2. SMART FREDGE:
The RFID reader reads the items in the smart Fred and stores in the database and
give response to the user.
Provisions:
No of items.
Functionalities:
Queries:
Alerts:
Reports:
Functionalities:
Queries:
Alerts:
Reports:
Functionalities:
Queries:
Alerts:
Reports:
2.4 Technologies
2.4.1 ORACLE 10G
Oracle Database 10g is the first database designed for grid computing, the most
flexible and cost-effective way to manage enterprise information. It cuts costs of
management while providing the highest possible quality of service.
In addition to providing numerous quality and performance enhancements, Oracle
Database 10g significantly reduces the costs of managing the IT environment, with a
simplified install, greatly reduced configuration and management requirements, and
automatic performance diagnosis and SQL tuning.
These and other automated management capabilities help improve DBA and
developer productivity and efficiency.10g is Oracles grid computing product group
including a database management system (DBMS) and an application server. In addition to
supporting grid computing features such as resource sharing and automatic load balancing,
10g products automate many database management tasks. The Real Application Cluster
(RAC) component makes it possible to install a database over multiple servers JDBC.
2.4.2 JDBC (JAVA DATABASE CONNECTIVITY)
JDBC technology is an API(included in both J2SE and J2EE releases) that provides
cross DBMS connectivity to a wide range of SQL database and access to other tabular data
sources, such as spreadsheets or flat files. With a JDBC technology-enabled driver, you can
connect all corporate data even in a heterogeneous environment.
The JDBC API makes it possible to do three things:
A JDBC-ODBC bridge provides JDBC API access via one or more ODBC drivers.
A native-API partly Java technology-enabled driver converts JDBC calls into calls on
the client API for Oracle, Sybase, Informix, DB2, or other DBMS.
A net-protocol fully Java technology-enabled driver translates JDBC API calls into a
DBMS-independent net protocol which is then translated to a DBMS protocol by a
server.
JDBC ARCHITECTURE
The JDBC Architecture consists of two layers:
The JDBC Driver API, which supports the JDBC Manager-to-Driver Connection.
The JDBC API uses a driver manager and database-specific drivers to provide
transparent connectivity to heterogeneous databases. The JDBC driver manager ensures that
the correct driver is used to access each data source.
The location of the driver manager with respect to the JDBC drivers and the Java
application is shown in the figure below:
Java Application
Application
JDBC API
JDBC Driver
Manager
JDBC Driver
JDBC Driver
JDBC Driver
Oracle
SQL
Server
ODBC
Data
Source
Carrier signal generated by the reader (upon request from the host application)
Tag receives the carrier signal, modifies it and sends back the modulated signal.
Reader decodes the data and sends the results to the host application.
2.4.4 NETBEANS
Net Beans is first and foremost a well-crafted open source programmer's integrated
development environment (IDE). It's powerful, it's useful, it's extensible, it's open and it's
free. The practices which Net Beans imposes are fully as intricate as your current
development practices. More intricate, perhaps, because if you are a real programmer, you
will wish to supplement your work style with Net Beans rather than attempting to use Net
Beans to completely replace your current work style. The practice of Net Beans development
is not easier. It's just more effective than what you were doing before Net Beans.
It provides the services common to creating desktop applications such as window and
menu management, settings storage and is also the first IDE to fully support JDK 5.0
features.
FEATURES
Net Beans offers all the usual and expected features of an IDE:
A syntax-coloring editor aware not only of the Java language, but also XML, HTML
and many other languages
Component inspector
Object browser
Debugger
External CVS
Built-in CVS
11
In addition to its own internal build system and compiler, Net Beans offers integration
with external compilers and
APPLICATION
The Net Beans platform and IDE are free for commercial and non-commercial use,
and they are supported by Sun Microsystems.
It
can be
downloaded from
executed program will be displayed in the terminal window. In the above example the
program executed correctly and the intended message Welcome to Java displayed. If some
compile time and runtime errors were encountered, the appropriate exception message would
have also been displayed in this window.
2.4.5FRONT END PLATFORM J2ME
To develop the user screens onto the mobiles we can use many software such as
MVNO, WINDOWS MOBILE, SYMBIAN, EMBEDDED VISUAL C++ AND .NET, J2ME
etc. Among all these available software we have chosen J2ME.
Client: J2ME
Client sends a request to the web server and the web server in turn sends the request
to the database to perform the request and the database sends the response to the web server
and the web server to the client.
About J2ME
Sun Microsystems defines J2ME as "a highly optimized Java run-time environment
targeting a wide range of consumer products, including pagers, cellular phones, screenphones, digital set-top boxes and car navigation systems."
Announced in June 1999 at the Java One Developer Conference, J2ME brings the
cross-platform functionality of the Java language to smaller devices, allowing mobile
wireless devices to share applications. With J2ME, Sun has adapted the Java platform for
consumer products that incorporate or are based on small computing devices.
Why J2ME?
J2ME is targeted to devices with limited horsepower and is supported by 90% of new
devices released to market. J2ME allows devices to browse, download and install Java
applications and content similar to browser applications. Since J2ME applications are
installed on the device, the applications can run without network coverage unlike browser
applications that always need a connection. J2ME offers a way to enter and persistently store
data on the device making applications faster and more user-friendly. J2ME has a
programming language that is easy to master, a runtime environment that provides a secure
and portable platform and a very large developer community. A java developer can quickly
master J2ME coding conventions from smart cards all the way to high powered devices like
high end PDAs.
13
PROCESS CYCLE
This graphic depicts the devices that support J2ME applications and illustrates where
J2ME fits into the Java platform as shown: Different Java Platforms with Their Devices
14
16 or 32 bit processors
16 or 32 bit processors
The configurations help already a lot to distinguish different types of devices. But as
there so many types around they still have to be refined further because a configuration might
cover devices intended for totally different usage, like mobile phones and refrigerators, or
washing machines and set-top boxes. The mobile phone and e.g. a washing machine could
belong to the same configuration but it is obvious that a mobile phone application is not
expected to run on the washing machine or vice versa. Thus, the J2ME framework provides
the concept of a profile to achieve application environment portability. Profiles are
implemented on top of a configuration. Applications then are written for a specific profile, as
profiles are assembled for a specific configuration. Both profiles and configurations define a
set of Java API classes which can be used by the applications. A device that is designed to
support a profile or several profiles, agrees to implement all features and Java API classes
which are specified by the profile(s) and corresponding configuration. From an
implementation viewpoint, a profile is just a collection of Java APIs and class libraries
residing on top of a configuration and providing domain specific capabilities for devices in a
specific market segment.
MIDP: Mobile information device profile (on top of CLDC)
By building upon the CLDC, this profile will provide a standard platform for small,
resource-limited, wireless-connected mobile information devices like cellular phones and
two-way pagers. In addition to being wireless-connected, these devices have small
displays, limited input devices, limited local storage, battery life, and CPU power. Two types
of devices will be accommodated: mobile information appliances and voice communication
devices.
MIDlet Lifecycle
MIDlets move through a well-defines lifecycle consisting of five phases. It is the task
of the Application Management Software to move MIDlets through these phases:
Retrieval
The AMS retrieves the MIDlet from some source and reads the MIDlet into the
devices memory. The medium through which the MIDlet is downloaded depends on the
device. It could be loaded through a serial cable, an IRDA port, or a wireless network.
17
Installation
Once the MIDlet is downloaded, the AMS installs the MIDlet on the device. During
the installation process, the MIDP implementation verifies that the MIDlet does not violate
the devices security policies.
Launching
A MIDlet is launched when a user selects it using the interface provided in the device.
At this point, the MIDlet enters the KVM and the lifecycle methods of the MIDlet are
invoked.
Version Management
The AMS keeps track of all the MIDlets that are installed on the device including
their version numbers. This information is used to upgrade a MIDlet to its new version.
Removal
The AMS removes a MIDlet and cleans up the related resources from the memory.
A MIDlet can be in one of the three states after the Application Management Software
launches it
Pause: A MIDlet enters Paused state once it is created and initialized by the AMS. It can also
enter this state when it is Active.
Active: This state means the MIDlet is running normally. A MIDlet goes to the Active state
from the paused state if there are no runtime exceptions during its initialization.
Destroyed: This state means the MIDlet has released all its resources and is terminated. A
MIDlet can reach this state either from the paused state due to a runtime exception during its
initialization or from the active state when the user has chosen to close the application.
19
DISADVANTAGES:
1. If the requirements are gathered are inaccurate then the final product is inaccurate and
the error is known in the final phase of the model. Any sort of errors that cannot be
detected in any previous phase.
2. For long, object-oriented, complex and ongoing projects its a poor model.
3. This model has high risks.
20
The new user can login into the system by registering into the Admin and the login
into the system.
The customer can view the information about the offers on the desired products from
the profile based ads module.
The user can pay the bill using credit card/debit card from the implementation of the
bill payment module.
The existing system is completely dependent on the user to perform all the duties.
4.3HARDWARE INTERFACE:
Client Side Mobile Phone which is Access the Internet and Application.
Server Side
RAM
256 MB or more
Hard disk
Tools
21
4.4SOFTWARE INTERFACE:
Client Side
Programming language:
Tools
java1.5 or jdk5,j2me
J2ME toolkit2.5.2.
Operating system
Windows XP or later
Technology
Operating system
Windows XP or later
Technology
JDBC.
Tools
Database
Oracle 10g
Server
Server Side
Front End
Back End
22
23
Data Recording
Data Transcription
Data Conversion
Data Verification
Data Control
Data Transmission
Data Correction
One of the aims of the system analyst must be to select data capture method and
devices, which reduce the number of stages so as to reduce both the changes of errors and the
cost .Input types, can be characterized as:
External
Internal
Operational
Computerized
Interactive
Input files can exist in document form before being input to the computer. Input
design is rather complex since it involves procedures for capturing data as well as inputting it
to the computer.
5.1.2 OUTPUT DESIGN
Outputs from computer systems are required primarily to communicate the results of
processing to users. They are also used to provide a permanent copy of these result for latter
consultation .Computer output is the most important and direct source of information to the
users. Designing computer output should proceed in an organized well throughout the
24
manner. The right output must be available for the people who find the system easy o use.
The outputs have been defined during the logical design stage. If not, they should defined at
the beginning of the output designing terms of types of output connect, format, response etc,
Various types of outputs are
External outputs
Internal outputs
Operational outputs
Interactive outputs
All screens are informative and interactive in such a way that the user can fulfill his
requirements through asking queries.
5.2 UML Diagrams
INTRODUCTION:
Design is the place where quality is fostered in software development. Design is the
only way that we can accurately translate a users requirements into a finished software
product or system. Software design serves as the foundation for all software engineers and
software maintenance steps that follow. Without design we risk building an unstable design
one that will fail when small changes are made, one that may be difficult to test, and one
whose quantity cannot be assessed until late in the software engineering process.
Taking software requirements specification document of analysis phase as input to the design
phase we have drawn Unified Modeling Language (UML) diagrams. UML depends on the
Visual modeling of the system. Visual modeling is the process of taking the information from
the model and displaying it graphically using some sort of standards set of graphical
elements.
UML Diagrams are drawn using the Visual Paradigm Software. We seem to be able
to understand complexity better when it is displayed to us visually as opposed to written
textually. By producing visual models of a system, we can show how system works on
several levels. We can model the interactions between the users and the system.
25
(different objects).
Collaboration Diagram: Displays an interaction organized around the objects and their
links to one another. Numbers are used to show the sequence of messages.
State Diagram: Displays the sequences of states that an object of an interaction goes through
during its life in response to received stimuli, together with its responses and actions.
Activity Diagram: Displays a special state diagram where most of the states are action states
and most of the transitions are triggered by completion of the actions in the source states.
This diagram focuses on flows driven by internal processing.
Physical Diagrams:
Component Diagram: Displays the high level packaged structure of the code itself.
Dependencies among components are shown, including source code components, binary
code components, and executable components. Some components exist at compile time, at
link time, at run times well as at more than one time.
Deployment Diagram: Displays the configuration of run-time processing elements and the
software components, processes, and objects that live on them.
Software component
system can be Each of these views represents how a system can be modeled. This will enable
us to understand where exactly the UML diagrams fit in and their applicability. viewed from
a software life cycle perspective. Each of these views represents how a system can be
modeled. This will enable us to understand where exactly the UML diagrams fit in and their
applicability.
The different views are:
Design View:
The design view of a system is the structural view of the system. This gives an idea of
what a given system is made up of. Class diagrams and object diagrams form the design view
of the system.
Process View:
The dynamic behavior of a system can be seen using the process view. The different
diagrams such as the state diagram, activity diagram, sequence diagram, and collaboration
diagram are used in this view.
Component View:
Component view shows the grouped modules of a given system modeled using the
component diagram.
Deployment View:
The deployment diagram of UML is used to identify the deployment modules for a
given system.
Use case View:
Finally, we have the use case view. Use case diagrams of UML are used to view a
system from this perspective as a set of discrete activities or transactions.
27
<<include>>
Enterus ernam e
Regis ter
<<include>>
EnterPas s word
<<include>>
Login
Verifypas s word
<<include>>
ProdSearch
Selectproduct
Cus tom er
<<include>>
Viewads
Selectcategory
Addtocart
<<include>>
Billpaym ent
login
Administrator
Insert productdetails
Insert ads
28
29
30
31
(1,*)
(1,*)
(1,*)
CUSTOMER
ADS
VIEWS
(1,1)
PURCH
ASES
PRODUCT
pays
Has
(0,*)
(1,1)
has
(1,*)
(1,1)
BILL
32
33
Null?
Type
SHOPPING ID
NOT NULL
VARCHAR2(20)
Name
Null?
Type
USERNAME
NOT NULL
VARCHAR2(20)
PASSWORD
NOT NULL
VARCHAR2(20)
NAME
NOT NULL
VARCHAR(20)
ADDRESS
NOT NULL
VARCHAR (30)
PHONE NUMBER
NOT NULL
NUMBER (10)
EMAILID
NOT NULL
VARCHAR2(20)
GENDER
NOT NULL
CHAR (6)
Name
Null?
Type
PRODNAME
NOT NULL
VARCHAR2(20)
COST
NOT NULL
FLOAT
QUNANTITY
NOT NULL
NUMBER
EPC CODE
NUMBER
NUMBER
Name
Null?
Type
PRODNAME
NOT NULL
VARCHAR2(20)
COST
NOT NULL
FLOAT
QUANTITY
NUMBER
Name
Null?
Type
CARDNO
NOT NULL
NUMBER(16)
PIN
NOT NULL
NUMBER(4)
BALANCE
NOT NULL
NUMBER(20)
35
catch(Exception e){
e.printStackTrace();
}
}
public void display(){
f.setTicker(t);
f.append(tf1);
f.append(tf2);
f.append(it);
f.append(si);
f.addCommand(c1);
f.addCommand(c2);
f.setCommandListener(this);
sample.dis.setCurrent(f);
}
public void commandAction(Command c,Displayable d){
if(c == c1){
}
if(c == c2){
}
}
public void commandAction(Command c,Item i){
if(i == si){
try{
Thread t=new Thread(this);
t.start();
}
catch (Exception e){
e.printStackTrace();
}
}
37
}
public void run(){
s1=tf1.getString();
String s2=tf2.getString();
String url="http://localhost:8888/mobileApp/login?username="+s1+"&password="+s2;
String res=ConnectionUtility.sendResponse(url);
res=res.trim();
System.out.println(res);
if(res.equals("valid user")){
Alert a=new Alert("Login Alert","valid user",null,AlertType.INFO);
a.setTimeout(Alert.FOREVER);
sample.dis.setCurrent(a);
try{
Thread.sleep(2000);
}
catch (Exception ex){
ex.printStackTrace();
}
HomeForm hf = new HomeForm();
hf.display();
}
else{
Alert a1=new Alert("Login Alert","Not valid user ",null,AlertType.INFO);
a1.setTimeout(Alert.FOREVER);
sample.dis.setCurrent(a1);
}
}
}
Details Form:
import javax.microedition.lcdui.*;
public class DetailsForm implements CommandListener,ItemCommandListener,Runnable{
38
Form f;
Command c1,c2;
Ticker t;
ChoiceGroup cg;
StringItem si,si1,si2,si3,si4;
static String s1,s2;
String temp;
int flag;
public DetailsForm(){
f=new Form("Items details");
t=new Ticker("welcome to my app....");
c1=new Command("",Command.OK,1);
si=new StringItem("","Add to Cart",Item.BUTTON);
si.setLayout(Item.LAYOUT_CENTER);
si.setDefaultCommand(c1);
si.setItemCommandListener(this);
si4=new StringItem("","View Cart",Item.BUTTON);
si4.setLayout(Item.LAYOUT_CENTER);
si4.setDefaultCommand(c1);
si4.setItemCommandListener(this);
si1 = new StringItem("Quantity:","");
si2 = new StringItem("Price:","");
si3 = new StringItem("EPC code:","");
}
public void display(String resp){
f.setTicker(t);
f.append(si1);
f.append(si2);
f.append(si3);
int i=0;
if((i=resp.indexOf('$'))!=-1){
39
temp=resp.substring(0,i);
temp=temp.trim();
si1.setText(temp);
resp=resp.substring(i+1);
}
if((i=resp.indexOf('$'))!=-1){
temp=resp.substring(0,i);
temp=temp.trim();
si2.setText(temp);
resp=resp.substring(i+1);
}
if((i=resp.indexOf('$'))!=-1){
temp=resp.substring(0,i);
temp=temp.trim();
si3.setText(temp);
resp=resp.substring(i+1);
}
f.append(si);
f.append(si4);
f.setCommandListener(this);
sample.dis.setCurrent(f);
}
public void commandAction(Command c,Displayable d){
if(c==c1){
}
}
public void commandAction(Command c,Item i){
if(i==si){
try{
flag=0;
Thread t=new Thread(this);
40
t.start();
}
catch (Exception e){
e.printStackTrace();
}
}
if(i==si4){
try{
flag=1;
Thread t1=new Thread(this);
t1.start();
}
catch (Exception e){
e.printStackTrace();
}
}
}
public void run(){
if(flag==0){
s1=si2.getText();
s2=LoginForm.s1;
String
url="http://localhost:8888/mobileApp/add?username="+s2+"&product="+Items.s2+"&price
="+s1;
String res=ConnectionUtility.sendResponse(url);
res=res.trim();
System.out.println(res);
if(res.equals("inserted")){
Alert a=new Alert("items Alert","Added to Cart",null,AlertType.INFO);
a.setTimeout(Alert.FOREVER);
sample.dis.setCurrent(a);
41
try{
Thread.sleep(2000);
}
catch (Exception ex){
ex.printStackTrace();
}
HomeForm hf = new HomeForm();
hf.display();
}
else{
Alert a1=new Alert("items Alert"," Not Added",null,AlertType.INFO);
a1.setTimeout(Alert.FOREVER);
sample.dis.setCurrent(a1);
}
}
if(flag==1){
s1=si4.getText();
s2=LoginForm.s1;
String url="http://localhost:8888/mobileApp/cartdetails?username="+s2+"";
String res=ConnectionUtility.sendResponse(url);
res=res.trim();
System.out.println(res);
if(res.equals("")){
Alert a1=new Alert("items Alert"," No items",null,AlertType.INFO);
a1.setTimeout(Alert.FOREVER);
sample.dis.setCurrent(a1);
}
else{
CartForm cf = new CartForm();
cf.display(res);
}
42
}
}
}
Login servlet:
import javax.servlet.*;
import javax.servlet. Http.*;
import java.io.*;
import java.sql.*;
public class LoginServlet extends HttpServlet{
static Connection con;
static PreparedStatement pst;
static ResultSet rs;
public
void
service(HttpServletRequest
req,HttpServletResponse
res)throws
IOException,ServletException{
res.setContentType("text/html");
PrintWriter out=res.getWriter();
String s1=req.getParameter("username");
String s2=req.getParameter("password");
try{
Class.forName("oracle.jdbc.driver.OracleDriver");
con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","system","manag
er");
pst=con.prepareStatement("select * from register where username=? and password=?");
pst.setString(1,s1);
pst.setString(2,s2);
rs=pst.executeQuery();
if(rs.next()){
out.println("valid user");
System.out.println("valid user");
}
else{
43
void
service(HttpServletRequest
IOException,ServletException{
res.setContentType("text/html");
PrintWriter out=res.getWriter();
44
req,HttpServletResponse
res)throws
String s1=req.getParameter("ItemName");
try{
Class.forName("oracle.jdbc.driver.OracleDriver");
con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","system","manag
er");
pst=con.prepareStatement("select * from itemRegister where itemname=?");
pst.setString(1,s1);
rs=pst.executeQuery();
if(rs.next()){
String response = rs.getString(2)+"$"+rs.getString(3)+"$"+rs.getString(4)+"$";
out.println(response);
}
}
catch (Exception e){
e.printStackTrace();
}
finally{
try{
pst.close();
con.close();
}
catch (Exception e){
e.printStackTrace();
}
}
}
}
Pay servlet
public class PayServlet extends HttpServlet{
static Connection con; import javax.servlet.*;
import javax.servlet.http.*;
45
import java.io.*;
import java.sql.*;
static PreparedStatement pst;
static ResultSet rs;
public
void
service(HttpServletRequest
req,HttpServletResponse
res)throws
IOException,ServletException{
res.setContentType("text/html");
PrintWriter out=res.getWriter();
String s1=req.getParameter("Creditcardno");
String s2=req.getParameter("Pin");
String s3=req.getParameter("amt");
String s4=req.getParameter("username");
int amt = Integer.parseInt(s3);
try{
Class.forName("oracle.jdbc.driver.OracleDriver");
con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","system","manag
er");
pst=con.prepareStatement("select * from card5 where cardnumber=? and cardcode=?");
pst.setString(1,s1);
pst.setString(2,s2);
rs=pst.executeQuery();
if(rs.next()){
String balance = rs.getString(3);
int bal = Integer.parseInt(balance);
bal = bal-amt;
String bb = Integer.toString(bal);
pst=con.prepareStatement("update
card
set
cardcode=?");
pst.setString(1,bb);
pst.setString(2,s1);
pst.setString(3,s2);
46
balance=?
where
cardnumber=?
and
int i = pst.executeUpdate();
if(i>0){
pst=con.prepareStatement("delete from item where username=?");
pst.setString(1,s4);
int j = pst.executeUpdate();
if(j>0){
out.println("paid");
}
}
}
else{
out.println("Not valid card");
System.out.println("Not valid card");
}
}
catch (Exception e){
e.printStackTrace();
}
finally{
try
{
pst.close();
con.close();
}
catch (Exception ex){
ex.printStackTrace();
}
}
}
}
47
SCREEN SHOTS:
6.2 login Form
48
49
50
51
52
53
54
55
56
57
6.15Pay Form
6.15Pay Form
58
7. TESTING
A process of executing a program with the explicit intention of finding errors, that is
making the program fail.
SOFTWARE TESTING
It is the process of testing the functionality and correctness of software by running it.
Process of executing a program with the intent of finding an error
A good test case is one that has a high probability of finding an as yet undiscovered
error. A successful test is one that uncovers an as yet undiscovered error.
Software Testing is usually performed for one of two reasons
Defect detection
Reliability estimation
59
For the purpose of the current system we are assuming that in the event that errors
that are easily modifiable points to the later possibility, since repeating the entire testing
routine can be very time consuming. What we propose to do instead is to get it tested by one
or more persons who are not a part of the development team but is well versed with the
subject and with the concept of software testing. If we cannot detect any serious errors, it will
enable us to state with the more confidence that the software does actually conform to
expected standards.
60
Unit Testing
It concentrates on each unit of the software as implemented in source code and is a
white box oriented. Using the component level design description as a guide, important
control paths are tested to uncover errors within the boundary of the module. In the unit
testing, the step can be conducted in parallel for multiple components.
Integration Testing
Here focus is on design and construction of the software architecture. Integration
testing is a systematic technique for constructing the program structure while at the same
time conducting test to uncover errors associated with interfacing. The objective is to take
unit tested components and build a program structure that has been dictated by design.
Validation Testing
In this requirements established as part of software requirements analysis are
validated against the software that has been constructed i.e., validation succeeds when
software function in a manner that can be reasonably expected by the customer.+
System Testing
Is the menu bar displayed in the appropriate contested some system related features
included either in menus or tools? Do pull Down menu operation and Tool-bars work
properly? Are all menu function and pull down sub function properly listed?; Is it possible to
invoke each menu function using a logical assumptions that if all parts of the system are
correct, the goal will be successfully achieved .? In adequate testing or non-testing will leads
to errors that may appear few months later.
This creates two problems:
The effect of the system errors on files and records within the system.
The purpose of the system testing is to consider all the likely variations to which it will be
suggested and push the systems to limits.
The testing process focuses on the logical intervals of the software ensuring that all
statements have been tested and on functional interval is conducting tests to uncover errors
and ensure that defined input will produce actual results that agree with the required results.
Program level testing, modules level testing integrated and carried out.
61
User
1.
Run
Registration application.
Expected
Value
Actual Value
Result
Product
Search
Admin
Insert
Bill
Payment
1. Credit card
number
and
pin
number
should
be
taken
62
63
64
CONCLUSION
Integrated Shopping application with mobile as domain is successfully implemented
with all the features mentioned in the SRS. The project to a huge extent simplifies the
process of obtaining information whenever a RFID Readers enabled device request
information.
The software thus developed has been implemented successfully which has been
under observation for the past few days. Various tests have been performed to scrutinize the
validation of each data and the errors were stopped out and then finally cleared in a
sophisticated manner.
Even though the software has many advantages, some limitations also exists which
are meager and negligible. Those limitations need not be considered since it does not affect
the system as a whole. An attempt is made to maintain maximum perfection in documenting
the software in a simple, precise and in a self explanatory manner.
65
FUTURE ENHANCEMENTS
Further enhancement is the part, which tells that what changes can be done in the
future to meet the challenges. It also tells what are the parts that have to be changed to meet
the challenges that may arise in near future.
The project INTEGRATED SHOPPING has been done taking into consideration
all the factors of SRS and without any room for redundancy. There are some aspects which
can be further updated or modified in future if the changes are required. The enhancements
may be like we can add the all items in home to the system which guides the customer which
way to go for the product that they have searched for. The user has the freedom to change the
software according to the needs.
66
BIBLIOGRAPHY
Grady Booch, James Rumbaing, Ivar Jacobson, The Unified Modelling Language
User Guide, Publisher: Pearson Education.
Martin Fowler & Scott, UML Distilled Second Edition, Publisher Pearson
education
67