City Guide Complete
City Guide Complete
1 MOTIVATION
The project aims to show how the City Guide benefits people. The person
overlooks all the time to know accurate information about the city what he/she wants.
Presently if the person wants to know information about the city he/she needs to make a
call to service providers and interact with them to get the information and it is manual
process. By implementing this project user can know the accurate required information in
the form of text message or voice. By using this method user can get the information
quickly.
Actually the process going on here but they need huge amount to maintain
employees, systems, and servers etc., to provide information to the users. This is
completely manual process.
In the current system it is done manually. These operations are time consuming
process. It includes employees, money. The Voice based City Guide is to eliminate the
huge cost by converting it into web based computer process. The web based application
is completely client-server oriented for processing.
1
1.4 LIMITATIONS OF THE PROPOSED SYSTEM
The size of the database increases day-by-day, increasing the load on the database
back up and data maintenance activity.
2.1 INTRODUCTION:
The developer community has an opportunity to take advantage of the huge voice
applications market. Standards-based technologies are vital to developers in order to
2
ensure portability across vendors and to leverage existing Internet infrastructure.
VoiceXML is well on its way to becoming the standard that fulfills these needs. The
VoiceXML Forum is the industry organization that represents the VoiceXML user
community. The World Wide Consortium (W3C) accepted the VoiceXML 1.0
Specification as the "candidate recommendation." The 2.0 Specification is in the
preliminary draft stage.
In the current scenario the people who want to know the relevant information
about the city or a place, either takes the help of neighbors or they need to search the
internet and get the information about a city or place.
In IVR system user has to remember many numbers for several menus.
It is a time consuming process.
Internet is not flexible to everyone in order to know relevant information.
Situation where we don’t have any familiar people will be problematic.
The proposed voice based system make the work easy for users. This system
provides feasible solution for users and provides required information about the city
such as theatres, restaurants, shopping malls, hospitals, parks, etc..., through this voice
based system. As per the user’s requirement, requested information will be provided
through voice response over a call or a text message.
In order to avoid these problems in the existing system, the new system should
provide a facility to a user can easily interact with this voice based service. User can
know the information about the city, there’s no need to approach internet every time, we
are going integrate all the information of city, places information in to one application
such that user can know all information from our application.
3
2.5 CONCLUSION
Voice XML is an existing new standard with support from the largest companies
in the computing and telecommunications industries voice XML has been proposed as a
standard language to develop internet speech applications. Besides, the distributed
architecture of voice XML documents makes speech application possible to be shared in
the internet.
4
3.1 INTRODUCTION
The Main purpose for preparing this document is to give a general insight to the
analysis and requirements of the existing system or situation and for determining the
Operating characteristic of the System.
Requirements specifying set of features that the system must have. A functional
requirements is a specification of a function that the system must support, where as a
nonfunctional requirements is a constraint on the operation of the system that is not
related directly to function if the system.
Reliability
The system should be accessible by only the respective admin who are working
in that college. An authorized person who will be responsible for the data will maintain
master date and parameters. The data accessing techniques kept are transparent to the
end user. Users of the system are to all the end users. Data definition can be done only
by the administrators all the data storage should be up to date.
Performance
5
In order to get the high performance we need the server that requests at a time to
process and also we need a high speed internet connection.
Supportability
This should be able to support any number of contents can be deployed to the
particular zones. In similar at the same time administrator and users can proceed with
their work.
The needs, tasks and goals of the user are described in the user requirements. The
user requirements give satisfaction to the user and the acceptable level of the user
performance. The voice based application of the proposed system was developed which
was discussed in the literature review but the system has some problems in development,
maintenance and scalability.
The proposed system can be accessed by number of users from anywhere in the
world instead the internet access is must without any bandwidth problem. The other user
requirements in the proposed system are about the storage and retrieving of the data like
sending of feedback from the user to the instructor, login details and user registration
details.
Client side:
Technology : Voice XML
Server side:
Front End:
Operating System : Windows 7
Tools : JDBC, Eclipse Galileo
Technology : J2SE, J2EE, VXML
Back End:
Database : Oracle 10g
6
Server : Tomcat, VOXEO Prophecy server 11.6
Client side
Technology : Phone
Server Side:
Processor : Intel Pentium IV 2.66GHz
Hard disk : 40GB
Cache : 512KB
RAM : 1GB or more
Now-a-days all are familiar with Internet, the worldwide network of computers,
which connects together thousands of computer all over the world. These network
connections are increasing day by day in a rapid rate, so the network traffic is increasing
at a pulse rate. Computers connected to the net are from many different manufacturers,
running on different operating systems and they differ in architecture, computing power
and capacity.
By considering this point SUN Microsystems Corporation felt the need for a new
programming language suitable for this heterogeneous Environment and java was the
solution. This breaks barriers between different computers, chips and operating systems.
Using java your application become compatible with all operating systems.
Features of JAVA:
7
Simple
Secure
Portable
Object oriented
Robust
Multithreaded
Simple: It is simple for professional programmer to learn & they can use it effectively. If
we already know object oriented programming, then learning java is very easy. It inherits
syntax from c & object oriented features from c++, so if the user knows c\c++ then it will
be an easy way to do effective java programming.
Secure: As we know many people are affected by viral infection when they download an
executable file or program. Rather than, virus programs we have malicious programs that
can gather private information, such as credit card number, bank account balances &
passwords by searching the contents of your computers local file system. Java has a
better answer for these effects i.e., “FIREWALL” between networked application and
your computer.
Object-Oriented: Java is purely object oriented. The object model in java is simple and
easy to extend, while simple types, such as integers, are kept as high-performance non-
objects.
Robust: The ability to create robust programs was given a high priority in the design of
java. To gain reliability, java restricts you in a few key areas, to force you to find your
mistakes early in program development. At the same time, java frees you from having to
worry about many of the most common causes of programming errors. Because java is a
8
strictly typed language, it checks your code at Compile time. Java is robust for two
reasons; they are Memory management & mishandled exceptional task in traditional
programming environments.
What Is JDBC?
Java, being robust, secures, easy to use, easy to understand, and automatically
downloadable on a network, is an excellent language basis for database applications.
JDBC extends what can be done in Java. For example, with Java and the JDBC
API, it is possible to publish a web page, which contains an applet that uses information
obtained from a remote database. With more and more Programmers using the Java
Programming language, the need for easy database access from java is continuing to grow.
MIS managers like the combination of Java and JDBC because it makes
disseminating information easy and economical, Businesses can continue to use their
installed database and access information even if it is stored on different database
management systems. Development time for new application is short. A programmer can
write an application or an update once, put it on the server, and everybody has access to
the latest version. A Low Level API and a Base for Higher-level APIs.
JDBC is a “Low level “ interface that means that it is used to invoke SQL
commands directly, it works very well in this capacity and is easier to use than other
9
database connectivity APIs, but it was designed to be a base upon which to build higher
level interfaces and tools. A high level interface is “user-friendly”, using a more
understandable or more convenient API that is translated behind the scenes into a low
level interface such as JDBC. At the time of writing, two kinds of higher level APIs are
under development of top of JDBC.
1) An embedded SQL for Java. At least one vendor plan to build this DBMS implement
SQL, a language designed specifically for use with databases. JDBC requires that the
SQL statements be passed as Strings to Java methods. The embedded SQL preprocessor
then translates this JAVA/SQL mix into Java with JDBC calls.
ODBC 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.
A Java API like JDBC is needed in order to enable a “Pure Java” solution. When
ODBC is used, the ODBC Driver Manager and drivers must be manually installed on
every client machine. When the JDBC driver is written completely in Java, however,
JDBC code is automatically installable, portable, and secure on all platforms from
network computers to mainframes.
The JDBC drivers that we are aware of this time generally fit into one of four
categories:
The Java Soft bridge product provides JDBC access via ODBC drivers. As a
result, this kind of driver is most appropriate on a corporate network where client
installations are not a major problem, or for application server code written in Java in
three-tier architecture.
10
Native-API Partly JAVA Driver:
This kind of driver converts JDBC calls into calls on the Client API for Oracle,
Sybase, Informix and DB2.
This driver translates JDBC calls into a DBMS-independent net protocol, which is
then translated to a DBMS-protocol by a server. The specific protocol used depends on
the vendor.
This kind of driver converts JDBC calls directly into the network protocol used by
DBMS. Since many of these protocols are proprietary, the database vendors themselves
will be the primary source.
Java is an ideal language for persistent data storage. By using class inheritance
and data encapsulation, a Java application developed to work with one type of data
storage can be ported or extended to work with another. An example is an application
currently working with an RDBMS (Relational Database Management System) that is
extended to use RMI (Remote Method Invocation) to store data in a file.
A common misconception with Java is that database access can occur only with
JDBC (Java Database Connectivity) API. Although, the JDBC provides a handy set of
lower level classes to manage database connections and transactions; it is not a
mandatory component. Msql Java uses the Socket classes included in the java.net package
and the data input and output stream classes included in the java.io package. If you wanted to,
you could as easily connect to an Msql database using MsqlJava instead of the msql JDBC driver.
Additional efforts are underway to establish a standard Java class API to interface with
object DBMS’s (Database Management Systems). Companies are also creating their own
optimized data access classes, such as Microsoft’s DAO (Data Access Object) classes.
11
core classes grouped together into packages, two of these (java.net and java.io) provide
the classes necessary to connect to a database and send and receive data. However, most
of us do not want to create a socket and a stream data to and from it to implement a
simple transaction.
The JDBC consists of a basic set of interfaces and a Driver Manager class used as
the basis for several drivers. Drivers provide the functionality specific to a database or
database middleware layer.
Certain limitations became immediately apparent when using the JDBC. First; the
JDBC-ODBC Bridge used native method calls and a DLL (Dynamic Link Library) to
connect to a database, prohibiting its use in applets accessible through the Internet.
Because of applet security issues, the JDBC limits network connectivity to the same host
from which the applet was downloaded. For use with an applet, databases must be
installed on the same server as the HTTP server – a potential security risk. A workaround
is to have the driver access a middleware layer, which in turn accesses a database, which
located elsewhere. Several companies have produced this type of drivers.
As a handy way to explain the usefulness of the Database Metadata interface and
to provide a good first step for beginning to work with data access in Java, the Java
application was created to work with the JDBC-ODBC Bridge. This tool takes five
parameters: the ODBC database name as defined with the ODBC Administrator, the
username, the password (sorry the password is not encrypted), the information category,
and the information category option. Among the options the existing tool can provide is
information about the database, its procedures, tables’ columns and transactions.
The JDK1.1 documentation contains a list of the methods and variables for use
with the Database Metadata interface, which are too numerous to list here. Use the JDK
documentation to modify the tool to suit your needs or to have a little fun with some very
simple coding that provides very useful results.
12
Java Server Pages™ (JSP) is a new technology for web application development
that has received a great deal of attention since it was first announced.
In fact, JSP is a key part of the Java 2 Enterprise Edition (J2EE) platform and can take
advantage of the many Java Enterprise libraries, such as JDBC, JNDI, and Enterprise
Java Beans.
2. JSP supports a powerful model for developing web applications that separates
presentation from processing.
JSP ARCHITECTURE
13
Logic which is required is written at one place and can be accessed by all the
clients which are at different places when they require. So, in order to implement this, we
have two Architectures known as
Model 1 Architecture
Model 2 Architecture
Model-1 Architecture
Model-2 Architecture
Model-2 Architecture is also called as Java Strut. In this Model, presentation and
business logics are separated. We have View, Controller and Model three parts.
Model: Contains business logics which represent application state along with database.
View: A JSP act a view which receives data from the model this view doesn’t contain any
data manipulation logics.
14
Controller: Takes request from client, process the Model and provide information to
different JSP page and passing control to different views.
The number of applications currently being developed that are based on, or
make use of, XML documents is truly amazing (particularly when you consider that
XML is not yet a year old)! For our purposes, the word "document" refers not only to
traditional documents, like this one, but also to the myriad of other XML "data
formats". These include vector graphics, e-commerce transactions, mathematical
equations, object meta-data, server APIs, and a thousand other kinds of structured
information.
15
XML specifies neither semantics nor a tag set. In fact XML is really a meta-
language for describing markup languages. In other words, XML provides a facility to
define tags and the structural relationships between them. Since there's no predefined
tag set, there can't be any preconceived semantics. All of the semantics of an XML
document will either be defined by the applications that process them or by style sheets.
HTML, as we've already discussed, comes bound with a set of semantics and
does not provide arbitrary structure.
SGML provides arbitrary structure, but is too difficult to implement just for a
web browser. Full SGML systems solve large, complex problems that justify their
expense. Viewing structured documents sent over the web rarely carries such
justification.
DBMS is a collection of inter-related data and set of programs that allow several
users to access and manipulate data. Its main purpose is to provide users with an abstract
view of the data, i.e. the system hides certain details of how the data is stored and
maintained.
16
Database Management System is divided into 4 main components
Database
Hardware
Software
User
Hardware: The processor(s) and associated main memory that are used to support the
execution of database system software..
Software: The layer between the physical database and the users that handles all requests
from the user for access to the database.
Application Programmers
End User
Types of DBMS:
Hierarchical
Network
Inverted
Relational
17
manage the information stored in the database. The relational model has three different
aspects.
Structures
Operation
Integrity rules
Structures:
They are well-defined objects that store the data of a database structure and the
data contained within them can be manipulated by operations.
Operations:
They are clearly defined actions that allow users to manipulate the data and
structures of a database. The operations on a database must adhere to a predefined set of
integrity rules.
Integrity rules:
They are laws that govern which operations are allowed on the data and structures
of a database. Integrity rules protect the data and the structures of a database.
There is a single overall rule called “Zero Rule” which is a foundation rule that
covers all other rules. It states that “Any truly relational database must be manageable
entirely through its relational capabilities”.
18
Rule 6: The view update rule
Advantages of RDBMS:
Disadvantages of RDBMS:
Cost of software/hardware
19
require simultaneous DSS and OLTP access to the same time critical data, SQL Server
leads the industry in both performance and capability.
Portability:
SQL SERVER is fully portable to more than 80 distinct hardware and operating
systems platforms including UNIX, MSDOS, OS/2, Macintosh and dozens of proprietary
platforms. This portability gives complete freedom to choose the database server platform
that meets the system requirements.
Open Systems:
20
Feasibility study is conducted once the problem is clearly understood. Feasibility
study is a high level capsule version of the entire system analysis and design process. The
objective is to determine quickly at a minimum expense how to solve a problem. The
purpose of feasibility is not to solve the problem but to determine if the problem is worth
solving.
Many Feasibility study are disillusioning for both users analysts, First, the study
often presupposes that feasibility document is being prepared; the analyst is in a position
to evaluate solution. Second, most studies tend to overlook the confusion inherent in the
system development- the constraints and the assumed attribute. If the Feasibility study is
to serve as decision document for a project, it must answer 3 key questions:
Economic
Technical
Behavioral
Economic Feasibility:
This application on the client side has been developed using Voice XML which is
open source software. The hardware required is telephone, which is not expensive. Hence
the application is economically feasible.
Technical Feasibility:
As the application has been developed using JSP and the back end as oracle which
utilizes minimum resources of the personal computer, this project is Technical Feasible.
Here we work on my eclipse which is very comfortable even for the naïve users.
Behavioral Feasibility:
This project has been implemented using VOXEO and it satisfies all conditions
and norms of the organization and the users.
21
System design sits at the technical kernel of the software engineering process
and is applied regardless of the development paradigm and area of application. Design
is the first step in the development phase for any engineered product or system. The
designer’s goal is to produce a model or representation of an entity that will later be
built. Beginning, once system requirement have been specified and analyzed, system
design is the first of the three technical activities -design, code and test that is required
to build and verify software.
The importance can be stated with a single word “Quality”. Design is the place
where quality is fostered in software development. Design provides us with
representations of software that can assess for quality.
Design is the only way that we can accurately translate a customer’s view into a
finished software product or system. Software design serves as a foundation for all the
software engineering steps that follow. Without a strong design we risk building an
unstable system – one that will be difficult to test, one whose quality cannot be assessed
until the last stage.
22
4.2.1 Data Flow Diagrams
The DFD is intended to represent information Flow but it is not a flow chart and
is not intended decision-making, flow of control, loops and other procedural aspects of
the system. DFD is a useful Graphical tool and is applied at the earlier stages of
requirements analysis. It may be further refined at preliminary design stage and is used
as mechanism for top-level structural design for software. The DFD drawn first at a
preliminary level is further expanded into greater details:
Each of these rectangles may be decomposed further and given as more detailed
DFD.
2. An arrow identifies data flow. It is the pipeline through which the information
flows.
3. A circle or a bubble represents a process that transforms incoming data flow into
outgoing data flows.
23
Process that transform data flow.
Data flow
Data Store
What is a UML?
A model is a simplification of reality. We build models of complex systems
because we cannot comprehend such a system in entirety.
Why is UML?
Architects design buildings; Builders use the designs to create buildings. The
more complicated the building, the more critical the communication between architect
and builder. Blueprints are the standard graphical language that both architects and
builders must learn as part of their trade. The UML is applicable to object oriented
24
problem solving. Anyone interested in UML must be familiar with the underlying tenet of
object-oriented problem solving – it all begins with the construction of a model. A model
is an abstraction of the underlying problem. The domain is the actual world from which
the problem comes.
Unified Modeling Language (UML) is a language for visualizing, specifying,
constructing and documenting artifacts of the system.
25
Use case Diagram:
A use case diagram shows a set of use cases and actors (a special kind of class)
and their relationships. Use case diagrams address the static use case view of a system.
These diagrams are especially important in organizing and modeling the behaviors of a
system.
registration
login
make a call
information management
logout
26
login
maintaining city
maintain services
admin
maintain information
maintain feedback
logout
Class Diagram:
A class diagram shows a set of classes, interfaces, and collaborations and their
relationships. These diagrams are the most common diagram found in modeling object-
oriented systems. Class diagrams address the static design view of a system. Class
diagrams that include active classes address the static process view of a system.
27
user
user_id
user_name information management
password service selection service id
date of birth cat_id service name hospitals
address cat_name contact details hospital_id
mobile no. address h_name
email id provides services() contact number
provides service info() address
log in()
log out()
country
country_id educational
country_name institutes banks
edu_cat_id bank_id
edu_cat_name bank_name
contact details
address
timings
feedback state
feedback_id state_id
feedback_date state_name institute_info
records feedback() institute_id
institute_name
address
contact details
city
city_id
city_name
Sequence Diagrams:
28
registration city selection service information
: user
selection management
enter details
registers successfully
selects city
selects service
requests information
Collaboration Diagram:
A collaboration diagram model the inter actions between objects or path in terms
of sequenced messages. Communication diagram represents a combination of
information taken from class, sequence, and diagrams both the static structure and
dynamic behavior of a system.
29
registration
1: enter details
2: registers successfully
city selection
3: selects city
4: selects service
: user service
selection
information
management
Activity Diagram:
The Activity Diagram captures the process flows in the system. The workflow
behavior is described by the Activity Diagram. The Activity Diagram is similar to the
state diagram it consists of transactions, actions, initial states, activities and final states.
30
start
login
failure
Yes/no
success
feedback
selects
city
selects selects
service service
requests record
information feedback
stop
31
E-R Model
The most important aspect of the system is data design. The data must be
organized according to the system requirements. The database approach is used to store
and organize the data in developing the system. The database is an integrated collection
of data stored in different types of tables.
32
Some general objectives in establishing a database are as follows:
33
Table 4.4: Education Institutions Information Table
34
Table 4.7: Shopping Malls Table
35
5.1 ARCHITECTURE
Voice XML:
Voice Extensible Markup Language (VXML) is the W3C’s standard XML format
for specifying interactive voice dialogues between a human and a computer. It allows
voice applications to be developed and deployed in an analogous way to HTML for
visual applications. Just as HTML documents are interpreted by a visual web browser,
VoiceXML documents are interpreted by a voice browser. A Common architecture is to
deploy banks of voice browsers attached to the Public Switched Telephone Network
(PSTN) so that users can use a telephone to interact with voice applications.
Usage:
Many commercial VoiceXML applications have been deployed, processing
millions of telephone calls per day. These applications include: Conducting interviews,
order inquiry, package tracking, driving directions, emergency notifications, wake-up,
flight tracking, voice access to e-mail, customer relationship management, prescription
refilling, audio news magazines, voice dialing, real estate information and national
directory assistance applications.
VoiceXML uses are somewhat similar to HTML as they both are Markup
Language, but while HTML uses a PC with a web browser such as IE or Netscape to
display graphical web applications. VoiceXML uses a voice browser running on a
telephony server with audio output such as text-to-speech (TTS) or pre-recorded prompts
to enable web applications.
The real advantage of VoiceXML or HTML is that, we can create web sites with
audio interface that can be accessed by an ordinary telephone. Phones can be accessed
from everywhere and the availability of them is more than computers, hence they are
more portable and accessible than computers.
One example of VoiceXML application can be a voice portal, a telephone service
where caller dial a phone number to retrieve the information such as train information,
weather report and a movie information. As the following figure indicates VoiceXML
requires a voice browser that runs on a voice gateway node. This gateway node is
36
connected to both phone and Internet networks. The way VoiceXML works is the
application would prompt the user and then the user responses.
A VoiceXML document describes a new number of things including, spoken
prompts, output of audio files, speech recognition, touch tone recognition, input
recording, control of dialogue flow and telephony control. Picture below shows the
relationship between a traditional web application and a voice-enable web application.
37
Speech Browser: Whenever a user gives input through voice it will be redirected
to the speech browser for further processing of the input.
HTTP Server: It gets request in the form http request from the speech browser
which requests for a valid resource based on the user’s request. The http server
will process the request and will communicate with the back end (data base) and
give it back the response to the browser.
Text to Speech (TTS): The speech browser will delegate the request to this
component where it is responsible for synthesizing speech out of text or else plays
back the audio files back to the requested user.
FEATURES
Limitations of IVR system Application Logic is separated from the Voice
Interface. This has two main advantages
This enables businesses to use their existing investments in web technologies and
infrastructure.
Businesses can outsource the Voice Interface Design and hosting while having full
control on the application logic.
VoiceXML being an international standard lets you write the application once and
run anywhere.
VoiceXML is independent of Speech and Telephony platform. This gives
flexibility to choose the platform of choice.
VoiceXML is a simple scripting language. Application developers can develop
application with ease without worrying about the complexities of the platform.
38
Getting Start with VoiceXML Application
Go to Eclipse
Give the work space path for example E:\SampleProject and click “ok”
Click on File
Select New
Click Dynamic Web Project
A New Dynamic Web Project window will be opened there you need to enter the
project name
Give Project name as “Demo”
Click “Next”
Click “Finish”
39
Fig 5.3 Dynamic Web Project Name
40
Fig 5.5: Creating a Jsp Page
Write the app which prompts “Hi world how are you”
And configure the application with tomcat server and deploy it
The steps to configure
41
Select run on server
Fig 5.8:Finish
Select the version of the tomcat which you installed on your system
Next
42
Select your application and click on add
Finish
After completion of the above steps jus start the server and run the application
Select prophecy commander there you will get the dash board it consist of
Charts
New application
Voxeo Designer
Prophecy SIP phone
Development Guide
Prophecy Document
43
Select New application this option make you to configure the url where you can give
the starting point of your application means first page of the application from the first
page it can navigate to other page based on the users input
Give the application name, And select the virtual platform as default, and browser
type should be VXML for voice xml application and give the url of your application
from including the first page of the application so that the application navigation will
start from that page
44
Fig 5.11: Enter Application Name
If your application was deployed into more than one server you have the facility
of give more than one url (limit is 3 ) so that If the any problem occurs at first url
the control checks for the second url and delegates to third in case second option
fail.
Select Next
If the address which you want give is already exists the click on the add Existing
address
Else select Save and close
45
Fig 5.12: Application Saved
After completion of this process just go back to dash board and select the Prophecy
SIP phone so that you will get the virtual device where you can connect to the
application
In the address bar you need to specify the url it looks as follows
Let’s assume that your application was exist on 192.168.1.30 url then you need to specify
the url like
[email protected]
46
Fig 5.13: SIP Phone
Select dial and so that it will connect to the application and the flow will work based on
your ----business logic
1. REGISTRATION MODULE
This module is responsible for registering users. They can register by providing
details such as username, password, date of birth, address, email id, etc..,. User can
access this application by using the unique user id and password which is provided after
completing registration successfully. Registration process provides security for the
application from unauthorized access.
Userid
Username
Password
Date of Birth
Address:
47
Mobile number
Email Id
Country
State
City
Functionalities:
Alerts:
Implicit Alerts:
Query:
Reports:
In Service selection module the user can select any particular category of service.
Here different categories of services are provided such as educational institutions,
hospitals, banks, theatres, restaurants, Eseva etc…
48
Provision: Service selection
Service category
C id
C name
Functionalities:
Alerts:
Implicit alerts:
Queries:
Reports:
49
3. INFORMATION MANAGEMENT MODULE:
This module maintains the complete information about rendered services that are
associated with particular service category. It is under the control of admin.
1. Educational institutions
Institution Type
Ecid
Ecatname
Institution Information
Institution id
name of institution
ecid associated with Institution
address
contact details
city_id is associated with Registration
category_id is associated with Service selection
2. Shopping Malls
S id
S name
address
contact details
city_id is associated with Registration
category_id is associated with Service selection
3. Restaurants
R name
R id
address
contact details
city_id is associated with Registration
category_id is associated with Service selection
4. Hospitals
50
Hcid
Hcname
address
contact details
city_id is associated with Registration
category_id is associated with Service selection
5. Libraries:
Library_id
Library_name
Address
Contact details
city_id is associated with Registration
category_id is associated with Service selection
6. Parks
park_id
park_name
openingtime
closing time
entryfee
Address
Contact details
city_id is associated with Registration
category_id is associated with Service selection
51
7. Theaters:
Theater_id
Theater_name
Address
Contact details
city_id is associated with Registration
category_id is associated with Service selection
Show timings
show_id
time
Theater_id associated with theaters
8. Banks
Bid
Name
Address
Contact number
Timings
9. ATM’s
ATM id
Name
Address
city_id is associated with Registration
category_id is associated with Service selection
bank_id is associated with banks
52
10. Mee Seva
Mee seva id
address
contact number
timings
city_id is associated with Registration
category_id is associated with Service selection
Functionalities:
Alerts:
Implicit Alerts:
Information sent successfully.
Your required details are
Queries:
Reports:
53
4. FEEDBACK:
If the user wants to give feedback first he needs to log into our system. Now the
user selects the category and gives feedback on a particular service in the form of voice
and that is stored on the server.
Provision: Feedback
Feedback _id
Feedback date
Category_id is associated with Service Selection
User_id is associated with Registration
Functionalities:
Alerts:
Implicit Alerts:
Queries:
Reports:
54
6.1 INTRODUCTION
Knowing the specified function that a product has been designed to perform, determine
whether each function is fully operational.
55
A strategy for software testing may also be viewed in the context of the spiral.
Unit testing begins at the vertex of the spiral and concentrates on each unit of the
software as implemented in source code testing progress by moving outward along the
spiral to integration testing, where the focus is on the design and the construction of the
software architecture. Talking another turn on outward on the spiral we encounter
validation testing where requirements established as part of software requirements
analysis are validated against the that has been constructed. Finally we arrive at system
testing, where the software and other system elements are tested as a whole.
Unit Testing
.
Component Testing
Module Testing
Sub-System Testing
Integration Testing
System Testing
Unit testing focuses verification effort on the smallest unit of software design, the
module.
The unit testing we have is white box oriented and some modules the steps are
conducted in parallel.
56
1. White Box Testing:
All logical decisions have been exercised on their true and false sides.
All loops are executed at their boundaries and within their operational
bounds
All internal data structures have been exercised to assure their validity.
To follow the concept of white box testing we have tested each form. We have
created independently to verify that data flow is correct, all conditions are exercised to
check their validity, all loops are executed on their boundaries.
Established technique of flow graph with cyclomatic complexity was used to derive test
cases for all the functions. The main steps in deriving test cases were:
Use the design of the code and draw correspondent flow graph.
V(G)=E-N+2 OR
V(G)=p+1 OR
V(G)=Number of regions
3. Conditional Testing
57
In this part of the testing each of the conditions were tested to both true and false
aspects. And all the resulting paths were tested. So that each path that may be generate
on particular condition is traced to uncover any possible errors.
This type of testing selects the path of the program according to the location of
definition and use of variables. This kind of testing was used only when some local
variable were declared. The definition-use chain method was used in this type of testing.
These were particularly useful in nested statements.
5. Loop Testing
In this type of testing all the loops are tested to all the limits possible. The
following exercise was adopted for all loops:
All the loops were tested at their limits, just above them and just below them.
For nested loops test the inner most loop first and then work outwards.
For concatenated loops the values of dependent loops were set with the help of
connected loop.
Unstructured loops were resolved into nested loops or concatenated loops and
tested as above.
Each unit has been separately tested by the development team itself and all the input
have been validated.
Testing Strategies that are often adopted by the software development team
include: Unit testing, Integration testing, Functional testing, Validation testing and
System testing.
Unit Testing
Unit testing involves the design of test cases that validate that the internal
program logic is functioning properly, and that program input produces valid outputs.
58
All decision branches and internal code flow should be validated. It is the testing of
individual software units of the application. It is done after the completion of an
individual unit before integration. This is a structural testing, that relies on knowledge
of its construction and is invasive. Unit tests perform basic tests at component level and
test a specific business process, application, and/or system configuration. Unit tests
ensure that each unique path of a business process performs accurately to the
documented specifications and contains clearly defined inputs and expected results.
Integration Testing
59
Functional Test
Validation Testing:
Software testing and validation is achieved through a series of black box tests
that demonstrate conformity with requirements. A test procedure defines specific test
cases that will be used to demonstrate conformity with requirements. Both, the plan and
the procedure are designed to ensure that all functional requirements are achieved,
documentation is correct and other requirements are met. After each validation test case
has been conducted, one of the two possible conditions exists. They are,
60
The deviation or error discovered at this stage in project can rarely be corrected
prior to scheduled completion. It is necessary to negotiate with the customer to establish
a method for resolving deficiencies.
System Test:
System testing ensures that the entire integrated software system meets
requirements. It tests a configuration to ensure known and predictable results. An
example of system testing is the configuration oriented system integration test. System
testing is based on process descriptions and flows, emphasizing pre-driven process links
and integration points.
To test a system, you most construct some test input cases, and then describe
how the output will look. Next perform the test and compare the outcome with the
expected output. The good news is that the use cases developed during analysis can be
used to describe the usage test cases. Testing is the process of executing the program
with the intent of finding errors A good test case is the one that has a high probability of
detecting an as-yet undiscovered error A successful test case is the one that detects an
as-yet undiscovered error.
61
Table 6.1: Test Case Report
Status
62
required query
63
Table 6.2: Test Case for User Registration
Feature to be tested Whether the user enters all mandatory fields or not
If valid details are given then the user details will be stored
Description in the database. Otherwise information will not be stored in
database.
64
Test Case Identifier To Change Password
65
Test Location Browser Edit Profile
Feature to be tested Whether the user enters all mandatory fields or not
Input The user clicks on edit profile and fills the form.
Expected output The Student gets the updated details changed in database.
1. Home Page: This is the home page here user can register and log into the application
66
Fig 7.1: Home Page
Navigation: Open eclipse run “home page” on server. This page is useful for user
registration and Existing User login. Click on registration button for registering into
the site and login button for logging into the site.
67
2. Registration Page: Here the user needs to enter his basic details to register
Navigation: (to create new user) Enter “user name” enter “password” enter “Date
of Birth” enter “country” enter “state” enter “city” enter “address” enter
“mobile number” enter “E-mail id” Press “Submit” button
68
3. Registration Success: Here the page shows the user details
Navigation: The basic details submitted by the user in the previous page are displayed
here.
69
4. Login Page: This page is for edit profile details and password recovery.
Navigation: Enter log in details and press “Edit Profile” button to edit his profile
details and press “forgot password” is to recover his password…..
70
5. Profile Edit: Here the user can edit his profile details
Navigation: If the user wants to chance his details he/she can change the details and
press “Submit” button to save his details and “log out” button to log out from the
application.
71
6. Update Success: User updated his details successfully
Navigation: After clicking on “submit” button in the previous page his details are
updated and he can log out from the application after clicking on “log out” button.
72
7. Log Out: This is the log out page of the user
Navigation: After clicking on the “log out” button in the previous page now the user
logged out from the application and again if the user wants to log into the application by
clicking on “log in” button he can be logged in and the “home page” button to get
the home page.
73
8. Password Recovery: This page is to recover his forgotten password
Navigation: If the user forgets password, by entering “user id” and “email id” and
click on “submit” button to recover his password.
74
9. Password Sent Successfully: It displays password sent successfully
Navigation: As the details are submitted in the previous page now the user recieves
password to his mail id.
75
8.1 CONCLUSION
The project has been successfully implemented with all the features mentioned in
the SRS. The Project to a huge extent simplifies the process knowing the City
Information with Voice XML.
The planned project is developed by keeping in the view the problem of people to
know the information on their visit to a new place or city. It is aimed to provide a way
that is comfortable to the users. The deployment of our application will certainly resolve
the problem.
On a sample data set generated, the system was tested and the performance was
found satisfactory.
76
TEXTBOOK REFERENCES:
Herbert Scheldt, The complete reference JAVA2, 5th edition, Tata McGraw Hill
Publisher Company limited, 2002.
Steven Holzner, HTML BLACK BOOK, Dreamtech, 2000.
George Koch, Kevin loney, ORACLE, The complete reference, 3 rd edition, Tata
McGraw-Hill Publisher Company limited, 1997.
Ivan Bayross, SQL, PL/SQL the programming Language of Oracle, 2 nd edition, BPB
Publications, 2002.
WEB REFERENCES:
http://jain-sip-presence-proxy.dev.java.net
http://sip-communicator.dev.java.net
http://jcp.org/jsr/detail/032.jsp
http://java.sun.com/products/java-media/jmf2.1.1/apidocs/
http://www.w3.org/TR/2003/CR-voicexml120-20030220/
http://www.w3.org/TR/voicexml20/
http://www.w3.org/TR/2003/CR-voicexml20-20030128/
http://www.voicexml.org/
http://www.voicexmlreview.org/
77