2. ABSTRACT
• Modern hand held devices such as smart phones and
PDAs have become increasingly powerful in recent
years. Dramatic breakthroughs in processing power
along with the number of extra features included in
these devices have opened the doors to a wide range
of commercial possibilities.
• In particular, most cell phones regularly include
cameras, processors comparable to PCs from only a
few years ago, and internet access. However, even with
all these added abilities, there are few applications that
allow much passing of the environmental information
and location based services.
3. • As mobile devices become more like PCs they will come to replace
objects we tend to carry around such as checkbooks, credit cards,
cameras, planners, mp3 players, etc. In short, we will be using them
to accomplish our daily tasks. One application that falls into this
category is the Restaurant Billing Application developed for the
Google Android Phones.
•
• The prime objective of “Restaurant Billing Application” is to create a
full fledged Android application which could locate a list of
restaurants based on the location & type of the cuisine entered by
the user. The user not only finds all the restaurants in the city, but
also he can make a choice of the best restaurant based on the rating
& cuisine he chooses to have. The user can also map the location of
the restaurant on Google Maps rendered to the user on the phone
& find the path from his current location or from any other location
to the restaurant, the user has the facility to make a call directly to
the restaurant and can also obtain the detailed review of the
restaurant he chooses.
4. • The Project is developed in Java Programming
Language by using the Eclipse Ganymede
Integrated Development Environment (IDE).
We use the Android Software Development Kit
(SDK) which includes a variety of custom tools
that help us develop mobile applications on the
Android platform. The most important of these
are the Android Emulator and the Android
Development Tools (ADT) plug-in for Eclipse.
5. INTRODUCTION
• Modern hand held devices such as smart phones and
PDAs have become increasingly powerful in recent
years. Dramatic breakthroughs in processing power
along with the number of extra features included in
these devices have opened the doors to a wide range
of commercial possibilities. In particular, most cell
phones regularly include cameras, processors
comparable to PCs from only a few years ago, and
internet access. However, even with all these added
abilities, there are few applications that allow much
passing of the environmental information and location
based services.
•
6. • As mobile devices become more like PCs they
will come to replace objects we tend to carry
around such as checkbooks, credit cards,
cameras, planners, mp3 players, etc. In short,
we will be using them to accomplish our daily
tasks.
• One application that falls into this category is
the Restaurant Billing Application developed for
the Google Android Phones.
7. • The prime objective of “Restaurant Billing
Application” is to create a full fledged Android
application which could locate a list of
restaurants based on the location & type of the
cuisine entered by the user. The user not only
finds all the restaurants in the city, but also he
can make a choice of the best restaurant based
on the rating & cuisine he chooses to have
8. • The Project is developed in Java Programming
Language by using the Eclipse Ganymede
Integrated Development Environment (IDE). We
use the Android Software Development Kit
(SDK) which includes a variety of custom tools
that help us develop mobile applications on the
Android platform. The most important of these
are the Android Emulator and the Android
Development Tools (ADT) plug-in for Eclipse.
9. Modules:
• Admin
• User
• Admin:
This module can take cares all the operations such as
manage the menu of items in the restaurant. View the
orders and manages the employees and also manage the
financial transactions that can be involve in the restaurant
maintenance. Maintain the quantity details of the items.
• Some of the operations can be included as future scope of
the project that can be maintain in the transactions those
ca be entitled in the transactions.
10. • User:
User can responsible to check the
menu item .In the menu item they can choose
items those items can be ordered. So that
ordering of an item can be finished so that
they can maintain the complete order
information at their own end.
11. • Restaurant Billing application will fetch the
user friendliness to make their transactions. It
consumes their resources also i.e. effective
utilization of time by both restaurant
maintainer and also user who will avail this
facility.
12. FEASIBILITY STUDY
• All projects are feasible if they have unlimited
resources and infinite time. But the
development of software is plagued by the
scarcity of resources and difficult delivery
rates. It is necessary and prudent to evaluate
the feasibility of a project at the earliest
possible time. The three considerations are
involved in the feasibility analysis.
13. • Economic Feasibility :
• This procedure is to determine the benefits and
savings that are expected from a candidate
system and compare with cost. If benefits
outweigh cost then the decision is made to
design and implement the system.
• Otherwise further justification or alterations in
proposed systems that have to be made if it is
having a change of being approved. This is an
ongoing effort that improves any feasibility
costs spent on this project because here I am
using open source environments.
14. • Technical Feasibility :
• Technical feasibility centers on the existing
mobile system (hardware, software…etc) and to
what extent it can support the proposed
addition if the budget is a serious constraint,
then the project is judged not feasible. The
technical feasibilities are important role in my
project because here I am using android
operating system.
15. • Operational Feasibility :
• People are inherently resistant to change and
mobiles have been known to facilitate change.
In my project a technical people require to
configure the software and technical
background is necessary to work on the
sensors.
17. SYSTEM REQUIREMENT SPECIFICATION
• Functional Requirements
• Android APIs will be available on every Android
Phone, but there are a few APIs which have
special concerns: the “optional” APIs.
• These are “optional” in the sense that a given
handset may not support them fully or even at
all. For instance, a given handset may not have
GPS or Wi-Fi hardware. In this case, the APIs for
accessing these features will still be present, but
they may not work in the same way.
18. • For instance, the Location API will still exist on
devices without GPS, but there may simply be
no installed provider meaning that the API
can’t be usefully used.
19. Hardware Requirements :
• Minimum 80 GB Hard Disk Drive
• Android Phone (optional)
• P – IV with 2 GHz
• 1 GB RAM
20. Software Requirements :
• Operating System : Android, Windows XP,
LINUX
• Software : JAVA 1.5, Mobile IDE Plugins
• Development Tools : Android SDK, Eclipse
3.4 GANYMADE
• Database : SQLite
• Protocols : HTTP Protoocl
• Front-end : HTML
21. Nonfunctional Requirements :
• Safety Requirements :
• Never use an unapproved battery since this could
damage the phone and/or battery and could
cause the battery to explode.
• Do not dispose your battery by fire or with
hazardous or flammable materials.
• Make sure that no sharp edged items such as
animal’s teeth, nails come into contact with the
battery. There is a risk of this causing a fire.
• Do not use your phone in high explosive areas as
the phone may generate sparks.
22. Security Requirements :
• Android is a multi-process system, where each
application (and parts of the system) runs in its own
process.
• Most security between applications and the system is
enforced at the process level through standard Linux
facilities, such as user and group IDs that are assigned
to applications.
• Additional finer-grained security features are provided
through a “permission” mechanism that enforces
restrictions on the specific operations that a particular
process can perform, and per-URI permissions for
granting ad-hoc access to specific pieces of data.
23. • A central design point of the Android security
architecture is that no application, by default,
has permission to perform any operations that
would adversely impact other applications, the
operating system, or the user.
• This includes reading and writing the user’s
private data (such as contacts or e-mails),
reading or writing another application’s files,
performing network access, keeping the device
awake, etc.
24. PROJECT ANALYSIS
• Work Flow :
• Mobile :
• This is an Android based mobile device working on Linux operating
system. Applications in this mobile run on Dalvik Virtual Machine.
Applications are written using JAVA programming language.
Applications are developed using Android SDK.
• Adapter :
• An Adapter object acts as a bridge between an Adapter View
and the underlying data for that view. The adapter provides access
to the data items. The Adapter is also responsible for making a View
for each item in the data set. An Adapter View is a view whose
children are determined by an Adapter.
25. Connectivity Technologies :
• Android supports connectivity technologies
including GSM/EDGE, CDMA, EV-DO, UMTS,
Bluetooth, Wi-Fi and GPRS (General Packet
Radio Service). These connectivity
technologies are used depending upon the
locations.
26. Use case Diagrams
City,state
Dish type
History
Client Details of restaurent
Server
About
29. CODE IMPLEMENTATION
• Android :
• The Android platform is a software stack for
mobile devices including an operating system,
middleware and key applications. Developers can
create applications for the platform using the
Android SDK. Applications are written using the
Java programming language and run on Dalvik, a
custom virtual machine designed for embedded
use, which runs on top of a Linux kernel
30. • Android Architecture
• The following diagram shows the major
components of the Android operating system.
Each section is described in more detail below
31. • Applications
• Android will ship with a set of core applications
including an email client, SMS program,
calendar, maps, browser, contacts, and others.
All applications are written using the Java
programming language.
47. TESTING
• Testing is the process of executing a program with the intent of finding
errors.
• Testing Objectives
• The main objective of testing is to uncover a host of errors, systematically
and with minimum effort and time. Stating formally, we can say,
• Testing is a process of executing a program with the intent of finding an
error.
• A successful test is one that uncovers an as yet discovered error.
• A good test case is one that has a high probability of finding error, if it
exists.
• The tests are inadequate to detect possibly present errors.
• The software more or les confirms to the quality and reliable standards.
48. Software Testing
• It is the process of testing the functionality and
correctness of a software by running it.
• A good test case is the 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 the two reasons.
•
• Defect detection.
• Reliability estimation.
49. Black Box Testing
• Black Box Testing is not a type of testing; it instead is a
testing strategy, which does not need any knowledge of
internal design or code etc. As the name "black box"
suggests, no knowledge of internal logic or code
structure is required. The types of testing under this
strategy are totally based/focused on the testing for
requirements and functionality of the work
product/software application. Black box testing is
sometimes also called as "Opaque Testing",
"Functional/Behavioral Testing" and "Closed Box
Testing".
•
50. • The base of the Black box testing strategy lies in the
selection of appropriate data as per functionality and
testing it against the functional specifications in order to
check for normal and abnormal behavior of the system.
Now a days, it is becoming common to route the Testing
work to a third party as the developer of the system
knows too much of the internal logic and coding of the
system, which makes it unfit to test the application by
the developer.
In order to implement Black Box Testing Strategy, the
tester is needed to be thorough with the requirement
specifications of the system and as a user, should know,
how the system should behave in response to the
particular action.
•
51. White Box Testing
• White box testing is a security testing method that can be
used to validate whether code implementation follows
intended design, to validate implemented security
functionality, and to uncover exploitable vulnerabilities
White box testing is performed based on the knowledge of
how the system is implemented.
• White box testing includes analyzing data flow, control flow,
information flow, coding practices, and exception and error
handling within the system, to test the intended and
unintended software behavior. White box testing can be
performed to validate whether code implementation
follows intended design, to validate implemented security
functionality, and to uncover exploitable vulnerabilities.
52. • White box testing requires access to the
source code. Though white box testing can be
performed any time in the life cycle after the
code is developed, it is a good practice to
perform white box testing during the unit
testing phase
53. • Levels of Testing
• In order to uncover the errors present in different
phases we have the concept of levels of testing. The
basic levels of testing are
• Client needs
Acceptance Testing
• Requirements System
Testing
• Design
Integration Testing
• Code Unit
Testing