SlideShare uma empresa Scribd logo
1 de 64
i
CONTENTS PAGE NO
Abstract i
List of Figures ii
List of Screens iii
Symbols & Abbreviations iv
1. INTRODUCTION
1.1 Motivation 1
1.2 Problem definition 1
1.3 Objective of Project 2
1.4 Limitations of Project 2
1.5 Organization of Documentation 3
2. LITERATURE SURVEY
2.1 Introduction 4-8
2.2 Existing System 9
2.3 Disadvantages of Existing system 9
2.4 Proposed System 9
2.5 Conclusion 10
3. ANALYSIS
3.1 Introduction 11
3.2 Software Requirement Specification 12-16
3.2.1 User requirement
3.2.2 Software requirement
3.2.3 Hardware requirement
3.3 Content diagram of Project 17
3.4 Flowcharts 17-20
3.5 Conclusion 21
ii
4. DESIGN
4.1 Introduction 22
4.2 ER / UML diagram 22-33
4.3 Module design and organization 34
4.4 Conclusion 34
5. IMPLEMENTATION & RESULTS
5.1 Introduction 34
5.2 Method of Implementation 34-45
5.3 Conclusion 46
6. TESTING & VALIDATION
6.1 Introduction 51
6.2 Design of test cases and scenarios 52
6.3 Validation 56
6.4 Conclusion 56
7. CONCLUSION 57
i
ABSTRACT
This document specifies Voice application, is an application in which both the
input/output are through voice (speaking) rather than graphical user interface. The
application files can reside on local systems, an intranet or the internet. The users can
access the deployed voice applications anywhere and anytime.
In this application we use Voice Extensible Markup Language VoiceXML, is
designed for creating audio dialogs that feature synthesized speech, digitization audio,
recognition of spoken and DTMF key input, recoding of speech input, telephony, and
mixed initiative conversations. Its major goal is to bring the advantages of Web-based
development and content delivery to interactive voice response application.
ii
LIST OF FIGURES
S.NO FIGURE NAME PAGE NO
1-1 Voicexml architecture 6
3-2 Content diagram of application 17
3-2 Flow chart for application 18-20
4-1 ER diagram of application 24
4-2 Class diagram for application 27
4-3 Use case diagram for transaction 28
4-4 Sequence diagram for login 29
4-5 Sequence diagram for transfer money 30
4-6 Sequence diagram for balance enquiry 31
4-7 State chart diagram for transfer money 32
4-8 State chart diagram for balance enquiry 33
iii
LIST OF SCREENS
S.NO SCREEN NAMES PAGE NO
5-1 URl address of application 46
5-2 Entering user name and password 47
5-3 Entering account number and pin 48
5-4 Entering toaccount no to transfer money 49
5-5 Enter amount to transfer 50
iv
ABBREVIATIONS
VXML--voicexml
SRS- Software Requirement specification
ER-entity relationship
UML-unified modeling language
IVR-Interactive Voice Response
SIP-Session Initiation protocol
VoIP-Voice over Internet protocol
v
SYMBOLS
SYMBOL NAME DESCRIPTION
Flow Line
(Arrow, Connector)
Flow line connectors
show the direction that
the process flows.
Decision
Indicates a question or
branch in the process
flow. Typically, a
Decision flowchart
shape is used when
there are 2 options
(Yes/No, No/No-Go,
etc.)
Terminator
(Terminal Point, Oval)
Terminators show the
start and stop points in a
process. When used as a
Start symbol,
terminators depict a
trigger action that sets
the process flow into
motion.
Data
(I/O)
The Data flowchart
shape indicates inputs
to and outputs from a
process. As such, the
shape is more often
referred to as an I/O
shape than a Data
shape.
Off-Page Connector
Off-Page Connector
shows continuation of a
process flowchart onto
another page.
1
CHAPTER 1
INTRODUCTION
1.1 MOTIVATION
Voice banking provides a feasible solution to users. By using this application
we will get the services like transfer money and balance enquiry user can interact the
system using their voice. This voice banking application helps in such a way that it
just need voice to interact with system. This application may useful for the illiterate
people and it is very easy for those people who don’t have the knowledge of
computer.
This application is very Easy to use for people with no knowledge or fear of
computers. Voice interaction can escape the physical limitations on keypads and
displays as mobile devices become ever smaller. As a solution for building next-
generation interactive voice response telephone services.
1.2 PROBLEM DEFINITION
We have some problems in present scenario to get the banking service people
are manually go the bank like money transaction and people also get services through
online websites.
In present scenario we have some problems like, it is a time consuming
process. Illiterate people unable to get the services. In most of the countries around
the world some people even don’t have the knowledge of using a computer.
Especially in a country like India where literacy rate is very low, the major population
doesn’t have the knowledge of using computer and internet. Then in such case how
can we expect such kind of people to use the applications developed in those
environments.
2
1.3 OBJECTIVE OF PROJECT
Main objective of our project is to provide a feasible solution to users. By
using this application we can transfer money and get balance enquiry. User can easily
interact the system using their voice. This voice banking application helps in such a
way that it just need voice to interact with system. In the existing scenario to get the
banking service people are manually go the bank like money transaction and people
also get services through online websites. But we have to face some problems like if
we want to transfer money we need to go to the bank and wait in queue to get money
transaction it’s a time consuming.
process, though this online Banking have solution to such kind of problems
but What about Illiterate people or those people who don’t have knowledge about
computer. By using this application we can overcome these problems and it is easy
for user to use. Even illiterate people can access to application by using voice.
1.4 LIMITATIONS OF PROJECT
Every application has some limits as our application also has limits users are
restricted to use Dialup keys, which can be only a digit type. And user can only listen
the voice they can’t see any output though this is a voice application. And user should
speak clearly to execute the application.
3
1.5 ORGANIZATION OF DOCUMENTATION
The organization of this document follows a new approach which we find to
be best when discussing voice banking system. From this document user can easily
understand the aim of this application. How this application works, what its need, its
features etc.
Chapter 1: In this chapter we discuss about motivation of our application, problems
of existing system, Objectives of our application and Limitations of our application.
Chapter 2: Here we introduce a Literature Survey. We provide a thorough discussion
of a voice banking system, existing system, its disadvantages, solutions, proposed
system and its advantages.
Chapter 3: Analysis, in this chapter we present SRS. Modules of our application,
provisions, functionalities, Alerts, Queries and report. And finally providing a
software requirements specification, user requirement, software requirement and
hardware requirement.
Chapter 4: Design, in this chapter we discuss about designs such as Entity diagram
and uml diagram.
Chapter 5: Implementation, in this chapter we discuss methods of implementation
and their results.
Chapter 6: In this chapter we provide testing methods and validation which we use in
our application.
Chapter 7: In this chapter we discuss advantages of our application i.e. voice banking
system and voicexml.
4
CHAPTER 2
LITERATURE SURVEY
2.1 INTRODUCTION
Voice Extensible Markup Language VXML, or VoiceXML, technology
allows a user to interact with the Internet through voice-recognition technology, as a
response, Voice or Audio. VoiceXML is a dialog markup language designed for
telephony applications, where users are restricted to voice and DTMF (touch tone)
input. VoiceXML is a markup language that makes building voice applications easier,
in the same way that HTML simplifies building visual applications. VoiceXML also
reduces the amount of speech expertise that developers need.
VoiceXML applications can use the same existing back-end business logic as
their visual counterparts, enabling voice solutions to be introduced to new markets
quickly. Current and long-term development and maintenance costs are minimized by
leveraging the Web design skills and infrastructures already present in the enterprise.
Customers can benefit from a consistency of experience between voice and visual
applications. VoiceXML implements a client/server paradigm, where a Web server
provides VoiceXML documents that contain dialogs to be interpreted and presented to
a user. The user's responses are submitted to the Web server, which responds by
providing additional VoiceXML documents, as appropriate. VoiceXML allows you to
request documents and submit data to server scripts using Universal Resource
Identifiers (URIs). VoiceXML documents can be static, or they can be dynamically
generated by CGI scripts, Java Beans, ASPs, JSPs, Java servlets, or other server-side
logic. Unlike a proprietary Interactive Voice Response (IVR) system, VoiceXML
provides an open application development environment that generates portable
applications. This makes VoiceXML a cost-effective alternative for providing voice
access services.
Most installed IVR systems today accept input from the telephone keypad
only. In contrast, VoiceXML is designed predominantly to accept spoken input, but it
can also accept DTMF input, if desired. As a result, VoiceXML helps speed up
customer interactions by providing a more natural interface that replaces the
traditional, hierarchical IVR menu tree with a streamlined dialog using a flattened
command structure. It directly supports networked and Web-based applications,
5
meaning that a user at one location can access information or an application provided
by a server at another geographically or organizationally distant location. This
capitalizes on the connectivity and commerce potential of the World Wide Web.
Using a single VoiceXML browser to interpret streams of markup language
originating from multiple locations provides the user with a seamless conversational
experience across independent applications. For example, a voice portal application
might allow a user to temporarily suspend an airline purchase transaction to interact
with a banking application on a different server to check an account balance.
VoiceXML supports local processing and validation of user input. It supports
playback of prerecorded audio files. It supports recording of user input. The resulting
audio can be played back locally or uploaded to the server for storage, processing, or
playback at a later time. It defines a set of events corresponding to such activities as a
user request for help, the failure of a user to respond within a timeout period, and an
unrecognized user response. A VoiceXML application can provide catch elements
that respond appropriately to a given event for a particular context. It also supports
context-specific and tapered help using a system of events and catch elements. Help
can be tapered by specifying a count for each event handler, so that different event
handlers are executed depending on the number of times that the event has occurred in
the specified context. This can be used to provide increasingly more detailed
messages each time the user asks for help. VoiceXML supports sub dialogs, which are
roughly the equivalent of function or method calls. Sub dialogs can be used to provide
a disambiguation or confirmation dialog, and to create reusable dialog components.
HISTORY OF VOICEXML
 VoiceXML started with several informal gatherings in 1995 by Dave Ladd,
Chris Ramming, Ken Rehor, and Curt Tuckey of AT&T
 They were brainstorming ideas about how the Internet would affect telephony
applications
 Thus began the AT&T Phone Web project.
 AT&T, IBM, Lucent, and Motorola formed the VoiceXML Forum in March
1999, in order to develop a standard markup language for specifying voice
dialogs.
6
 By September 1999 the Forum released VoiceXML 0.9 for member comment,
and in March 2000 they published VoiceXML 1.0.
 Soon afterwards, the Forum turned over the control of the standard to the
W3C.
 The W3C produced several intermediate versions of VoiceXML 2.0, which
reached the final "Recommendation" stage in March 2004.
 VoiceXML2.1 added a relatively small set of additional features to
VoiceXML2.0, based on feedback from implementations of the 2.0 standard.
 It is backward compatible with VoiceXML2.0 and reached W3C
Recommendation status in June 2007.
ARCHITECTURE OF VOICEXML
Fig 2-1: Architecher of vxml
7
VOICEXML – ARCHITECTURE
A typical VoiceXML based system contains the four main components.
i. TELEPHONE NETWORK
Telephone Network Can be a PSTN network or VoIP packet network.
ii. VOICEXML GATEWAY
VoiceXML gateway consists of a VoiceXML interpreter integrated
with Media resources (Speech Recognition, Text-to-speech, Audio playback)
and Telephony resources (DTMF, Call Control). VoiceXML Gateway
downloads the applications from Application Server and interprets it.
iii. APPLICATION SERVER
Typically a Web Server that hosts the VoiceXML application and
business logic.
iv. TCP/IP NETWORK
LAN, WAN or public Internet. VoiceXML connects to Telephone Network on one
side and TCP/IP network and Application Server on the other side. VoiceXML
connects to Telephone Network on one side and TCP/IP network and Application
Server on the other side
SPEECH BROWSER
Whenever a user gives input through voice it will be redirected to the speech
browser for further processing of the input.
SPEECH RECOGNITION ENGINE
This is a component which is a part of the speech browser which converts the
spoken input into text upon validation with legal grammar provided and gives back
the valid processed input to the browser.
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.
8
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.
VoiceXML is a language for creating voice-user interfaces.
For Input, It uses Speech recognition and Touchtone (DTMF keypad). For
output, it uses Pre-recorded audio and Text-to-speech synthesis (TTS).
VoiceXML is based on the Worldwide Web Consortium's (W3C's) Extensible
Markup Language (XML).
Assume that you got a call on your IVR system
 Answers the call and starts executing your VoiceXML document. Under the
document’s control, the interpreter may perform actions such as: Sending
vocal prompts, messages, or other audio material (such as music or sound
effects) to the user.
 Accepting numeric input that the user enters by DTMF (telephone key tone)
signals.
 Accepting voice input and recognizing the words.
 Accepting voice input and simply recording it, without trying to recognize any
words. Sending the user’s information to a web site or other Internet server.
9
2.2 Existing System
In the present scenario to get the banking service people are manually go the
bank like money transaction and people get services through online websites for that
also user have to manually go to net café, which is not secure and user must have
knowledge about computer.
2.3 Disadvantages of Existing system
 In most of the countries around the world some people even don’t have the
knowledge of using a computer.
 Especially in a country like India where literacy rate is very low, the major
population doesn’t have the knowledge of using computer and internet.
 Then in such case how can we expect such kind of people to use the
applications developed in those environments.
 Its time consuming process.
 Illiterate people unable to get the services
2.4 Proposed System
This voice banking application helps in such a way that it just need voice to
interact with system. In order to develop this application voice banking provides a
feasible solution to user. By using this application we will get the services like
transfer money and balance enquiry user can interact with the system using their
voice.
 Despite the Internet's growing acceptance, the telephone network is still
more widely and readily accessible
 Telephones are simple to operate and use the most natural form of
communication, the human voice.
 Imagine a voice banking application which follows all the standards of a
web based application and enables user with all the comforts that a web
based application provides.
 Then such kind of application would definitely give a solution to the
people who are only comfortable with voice rather than other
environments.
10
2.5 Conclusion
Voice banking provides an easy way of banking services.Despite the Internet's
growing acceptance, the telephone network is still more widely and readily
accessible.By using this application Illiterate people can easily get the services even
though they don’t have knowledge about system they can access this application by
dialing the numbers through SIP phone.
11
CHAPTER 3
ANALYSIS
3.1 INTRODUCTION
The purpose of the SRS is to provide a detailed overview of our software
product, its parameters and goals. A Software requirements specification (SRS), a
requirements specification for a software system, is a complete description of the
behavior of a system to be developed and may include a set of use cases that describe
interactions the users will have with the software. In addition it also contains non-
functional requirements. Non-functional requirements impose constraints on the
design or implementation. The software requirements specification document enlists
all necessary requirements that are required for the project development. To derive the
requirements we need to have clear and thorough understanding of the products to be
developed. This is prepared after detailed communications with the project team and
customer. A complete specification of what the proposed system should do! The SRS
must correctly define all of the software requirements, but no more. The SRS should
not describe design, verification, or project management details, except for required
design constraints.To introduce the concepts of user and system requirements,
describe functional and non-functional requirements, to explain how software
requirements may be organised in a requirements document.
PURPOSE OF SRS DOCUMENT
SRS establishes basis of agreement between the user and the supplier. Users
needs have to be satisfied, but user may not understand software. Developers will
develop the system, but may not know about problem domain.SRS is the medium to
bridge the communications gap.
Need for SRS
It helps user to understand his needs. Users do not always know their needs
must analyze and understand the potential. The requirement process helps clarify
needs.SRS provides a reference for validation of the final product and gives a clear
understanding about what is expected.
12
3.2 SOFTWARE REQUIREMENT SPECIFICATION
SRS-VOICE BANKING
MODULES
1. Profile Management
2. Account Management
3. Transaction Management
Profile Management
Provision
Registration
 User_id
 User name
 Password
 Date_Of_Birth
 Gender
 Address
 Contact number
 Security Answer
 Registration Date
City
 City id
 City name
State
 State id
 State Name
13
Country
 Country id
 Country Name
Security Question
 Question id
 Question Description
Functionalities
1. User can select the city name
2. User can select the country name
3. User can submit the details
4. User can login into the system
5. User can select the security question
6. Account details are already associated with account management.
Alerts
Implicit alerts
 Registration Successful/failed
 Invalid User name/Password
 Successfully logged in
Queries
 What are the cities available?
 What are the states available?
 What are the countries available?
 What are the security questions available?
Report
 How many no of users registered over a period of time?
 How many no of users registered over a particular location?
14
Account Management
Provision
Bank
 Bank id
 Bank Name
 Branch
Account
 Account no
 Account Holder
 Pin no
 Balance
Account type
 Account type Name
Functionalities
1. User can select a particular bank
2. User can enquire about the information regarding balance
3. User can provide the destination account no to transfer the money
Alerts
 Invalid Destination Account no
 Bank name is not available
 Insufficient balance for transaction
Queries
 What is the destination account number?
 What are the banks available?
15
Report
 Comparison between number of account holders in a bank
 Comparison between number of account holder over a particular
account type
Transaction Management
Provision
Transaction
 Transaction id
 Transaction Date
 Transaction Amount
Transaction Type
 Transaction Type Name
Functionalities
1. User can get the transaction details
2. Transaction amount is transferred to destination account number
3. Source and destination details are already associated with account
Management.
Alerts
 Transaction is failed due to an error
 Transaction is successfully done.
Queries
 What is the transaction date?
 What is the transaction amount?
16
Report
 Number of transactions over a period of time to a particular bank?
3.2.1 USER REQUIREMENT
 User must have valid account registered in bank.
 User must have another valid account to perform transaction.
 Though this is voice application user requires a voice.
3.2.2 SOFTWARE REQUIREMENT
Client side
Technology: Voice XML
Server side
Front End
Operating System : Windows, MAC, Linux
Tools : JDBC, Eclipse Galileo
Technology : J2SE, J2EE, VXM
Back End:
Database : Oracle 10g
Server : Tomcat, VOXEO Prophecy server
3.2.3 Hardware requirement
Our application is voice banking system. In this application we
require a Hardware’s like
Client side : SIP Phone
Server Side
Processor : Intel(R) Core™2 Duo CPU
Hard disk : 40GB
Cache : 512KB
RAM : 1GB OR more
17
3.3 CONTENT DIAGRAM OF PROJECT
Fig 3-1: Content Diagram of project
3.4 Flowcharts
A flowchart is a type of diagram that represents an algorithm or process,
showing the steps as boxes of various kinds, and their order by connecting them with
arrows. This diagrammatic representation illustrates a solution to a given problem.
Process operations are represented in these boxes, and arrows; rather, they are implied
by the sequencing of operations. Flowcharts are used in analyzing, designing,
documenting or managing a process or program in various fields.
User
Database
Profile Management
Account Management
Transaction Management
18
NO
YES
NO
ENTER USER
NAME AND
PASSWORD
IS USER
NAME AND
PASSWORD
CORRECT?
START
ENTER BANK
NAME
ENTER
ACCOUNT
NUMBER AND
PIN
IS ACCOUNT
NUMBER AND
PIN IS
CORRECT?
1 21
19
BALANCE ENQUIRY
MONEY
TRANSFER
BALANCE
ENQUIRY OR
MONEY
TRANSFER?
PLEASE ENTER
ACCOUNT NO.
TO TRANSFER
MONEY
IS
ACCOUNT
NUMBER
CORRECT?
PLEASE
ENTER
AMOUNT
IF
BALANCE
>
AMOUNT
DISPLAY ACCOUNT
DETAILS
1 2
3 54 6
20
Fig 3-2: FLOW CHART OF BANKING SYSTEM
TRANSACTION
SUCCESSFUL
IN SUFFICIENT
BALANCE
EXIT
43 65
21
3.5 CONCLUSION
By seeing SRS user can easily know the modules of the application. User can
also know what the requirements of our application are like software requirement and
hard ware requirement. Content diagram, and flowchart by this we can understand the
flow of our application.
22
CHAPTER 4
DESIGN
4.1 INTRODUCTION
Software design is a process of problem solving and planning for software
solution. After the purpose and specification of software are determined, software
developers will design or employ designers to develop a plan for solution. It includes
low-level component and algorithm implementation issues as well as the architectural
view.
4.2 ER DIARAM
ER diagram is a graphical representation of entities and their relationships to
each other, typically used in computing in regard to the organization of data within
database or information systems. An entity is real world item or concept that exists on
its own.
A relationship is how the data is shared between entities. There are three types
of relationships between entities those are
1. ONE-TO-ONE
One instance of an entity (A) is associated with one other instance of
another entity (B). For example, in a database of employees, each employee
name (A) is associated with only one social security number (B).
One-to-one relationship
2. ONE-TO-MANY
One instance of an entity (A) is associated with zero, one or many
instances of another entity (B), but for one instance of entity B there is only
one instance of entity A. For example, for a company with all employees
working in one building, the building name (A) is associated with many
23
different employees (B), but those employees all share the same singular
association with entity A.
One-to-many relationship
3. MANY-TO-MANY
One instance of an entity (A) is associated with one, zero or many
instances of another entity (B), and one instance of entity B is associated with
one, zero or many instances of entity A. For example, for a company in which
all of its employees work on multiple projects, each instance of an employee
(A) is associated with many instances of a project (B), and at the same time,
each instance of a project (B) has multiple employees (A) associated with it.
Many-to-many relationship
24
Fig 4-1: ER-diagram of banking system
25
UML DIAGRAM
UML is a language. It is not simply a notation for drawing diagrams, but a
complete language for capturing knowledge (semantics) about a subject and
expressing knowledge (syntax) regarding the subject for the purpose of
communication.
UML applies to modeling and systems. Modeling involves a focus on
understanding a subject (system) and capturing and being able to communicate in this
knowledge.
It is the result of unifying the information systems and technology industry‘s
best engineering practices (principals, techniques, methods and tools) used for both
database and software modeling.
RELATIONSHIPS
There are four kinds of relationships in the UML.
1. Dependency
2. Association
3. Generalization
4. Realization
These relationships are the basic relational building blocks of the UML. These
are used to write well-formed models.
1. DEPENDENCY
A dependency is a semantic relationship between two things in which a change to one
thing may affect the semantics of the other thing.
The arrow head represents the independent element and the other end the
dependent element.
26
2. ASSOCIATION
Association describes how the elements in an UML diagram are associated. In
simple word it describes how many elements are taking part in an interaction.
The multiplicity is also mentioned at the ends (1, * etc) to show how many
objects are associated.
3. GENERALIZATION
A generalization is a specialization/ generalization relationship in which
objects of the specialized element (the child) are substitutable for objects of the
generalized element (the parent). Generalization describes the inheritance relationship
of the object oriented world. It is parent and child relationship.
REALIZATION
A realization is a semantic relationship between classifiers, wherein one
classifier specifies a contract that another classifier guarantees to carry out.
Realization
27
UML CLASS DIAGRAM
The UML class diagram is also known as object modeling. It is a static
analysis diagram. These diagrams show the static structure of the model. A class
diagram is a connection of static model elements, such as classes and their
relationships, connected as a graph to each other and to their contents.
Use visibility markers to signify who can access the information contained within a
class.
1. Private visibility hides information from anything outside the class partition.
2. Public visibility allows all other classes to view the marked information.
3. Protected visibility allows child classes to access information they inherited
from a parent class.
Fig 4-2: Class diagram of application
From class diagram we can easily understand that what is in our application
and how it will work.
28
USE-CASE DIAGRAM
The functionality of a system can be described in a number of different use-
cases, each of which represents a specific flow of events in a system. It is a graph of
actors, a set of use-cases enclosed in a boundary, communication, associations
between the actors and the use-cases, and generalization among the use-cases. Use
case is represented as an eclipse.
An actor can be defined as some internal or external entity that interacts with
the system.
Fig 4-3: Use case diagram for Transaction management
Here User is actor and login, pin valid; bank, transfer, transaction and balance
enquiry are use cases.
user
login pin valid
transfer
transaction
bank1
balance enquiry
balance
29
SEQUENCE DIAGRAM FOR CREATING A NEW ACCOUNT
Fig 4-4: Sequence diagram for creating a new account
Customer can login into account after login it checks in database whether its
account is available in database or not.
customer database
login
check the application is submitted or not
yes/account
no/login again
30
SEQUENCE DIAGRAM FOR TRANSFERRING MONEY
Fig 4-5: Sequence diagram for transferring money
This diagram is about transferring money from one account to another
account. First user select bank after selecting bank user has to login. After login it
checks whether the entered account is valid or not if valid then user needs to select
transaction type and he need to enter amount to transfer money.
user bank account transaction transactiontype
1.select bank
2.enter account number and pin
3.check account
4.select transactiontype
6.enter account number to transfer
7.entered account no
8.check account
5.transfer money
9.enter amount
10.transaction successful
31
SEQUENCE DIAGRAM FOR BALANCE ENQUIRY
Fig 4-6: Sequence diagram for balance enquiry
This diagram is about checking balance. First user select bank after selecting
bank user has to login. After login it checks whether the entered account is valid or
not if valid then all the details of the user will display.
bankuser account transaction transactiontype
1.select bank
2.enter account number and pin
3.check account
4.select transactiontype
5.balance enquiry
6.displayaccount details
32
STATE CHART DIAGRAM
It consists of state, events and activities. State diagrams are a familiar
technique to describe the behavior of a system. They describe all of the possible states
that a particular object can get into and how the object's state changes as a result of
events that reach the object. In most OO techniques, state diagrams are drawn for a
single class to show the lifetime behavior of a single object.
STATE CHART DIAGRAM FOR BALANCE ENQUIRY
Fig 4-7 State chart diagram for balance enquiry
Here circle is represented as initial state of transaction and double circle is
representation of end state and the balance enquiry and all the above are the remaining
states of the diagram.
enter user name and password
select
bank
select transaction
type
enter account
number and pin
balance
enquiry
details of account
balance
transaction
completed
33
STATE CHART DIAGRAM FOR TRANSFER MONEY
Fig 4-8: State chart diagram for transfer money
Here circle is represented as initial state of transaction and double circle is
representation of end state and the transfer money and all the above are the remaining
states of the diagram.
enter user name and password
select
bank
select transaction
type
enter account
number and pin
transfer
money
enter toaccount
number
transaction
successful
34
4.3 Module design and organization
Modules are categorize into 3 categories those are
 Profile management
 Account management
 Transaction management
In the first module that is profile management, user can get register, User can
select the city name, User can select the country name, User can login into the system, and
User can select the security question.
In the second module that is account management, User can select a particular
bank, User can enquire about the information regarding balance and User can provide
the destination account no to transfer the money.
In the third module that is transaction management, in which User can get the
transaction details, Transaction amount is transferred to destination account number.
4.4 Conclusion
In this chapter we use diagrams by seeing this diagram we can easily
understand how our application works. Users can easily get how over application will
work. Designing is a best approach for software developer.
35
CHAPTER 5
IMPLEMENTATION & RESULTS
5.1 INTRODUCTION
Implementation is the carrying out, execution, or practice of a plan, a method,
or any design for doing something. As such, implementation is the action that must
follow any preliminary thinking in order for something to actually happen. In an
information technology context, implementation encompasses all the processes
involved in getting new software or hardware operating properly in its environment,
including installation, configuration, running, testing, and making necessary changes.
The word deployment is sometimes used to mean the same thing.
5.2 METHOD OF IMPLEMENTATION
SERVLETS/JSP
A Servlet is a generic server extension. a Java class that can be loaded
Dynamically to expand the functionality of a server. Servlets are commonly used with
web servers. Where they can take the place CGI scripts. Unlike CGI and Fast CGI,
which use multiple processes to handle separate program or separate requests,
separate threads within web server process handle all servlets. This means that
servlets are all efficient and scalable. Servlets are portable; both across operating
systems and also across web servers. Java Servlets offer the best possible platform for
web application development.
Servlets are used as replacement for CGI scripts on a web server, they can
extend any sort of server such as a mail server that allows serveltst extend its
functionality perhaps by performing a virus scan on all attached documents or
handling mail filtering tasks.
Servlets provide a Java-based solution used to address the problems currently
associated with doing server-side programming including inextensible scripting
solutions platform-specific API’s and incomplete interface.
36
Servlets are objects that conform to a specific interface that can be plugged
into a Java-based server. Servlets are to the server-side what applets are to the server-
side what applets are to the client-side-object byte codes that can be dynamically
loaded off the net. They differ from applets in than they are faceless objects(without
graphics or a GUI component).They serve as platform independent, dynamically
loadable, plugable helper byte code objects on the server side that can be used to
dynamically extend server-side functionality.
For example an HTTP servlet can be used to generate dynamic HTML content
when you use servlets to do dynamic content you get the following advantages:
 They’re faster and cleaner then CGI scripts
 They use a standard API( the servlet API)
 They provide all the advantages of Java (run on a variety of servers
without needing to be rewritten.
ATTRACTIVENESS OF SERVLETS
They are many features of servlets that make them easy and attractive to tuse
these include:
 Easily configure using the GUI-based Admin tool]
 Can be Loaded and Invoked from a local disk or remotely across the
network.
 Can be linked together or chained, so that on servlet can call another
servlet, or several servlets in sequence.
 Can be called dynamically from within HTML, pages using server-side
include-tags.
 Are secure-even when downloading across the network, the servlet security
model and servlet and box protect your system from unfriendly behavior.,
ADVANTAGES OF THE SERVLET API
One of the great advantages of the servlet API is protocol independent. It
assumes nothing about
37
 The protocol being used to transmit on the net
 How it is loaded
 The server environment it will be running in
 These quantities are important, because it allows the Servlet API to be
embedded in many different kinds of servers. There are other advantages to
the servelt API as well These include:
 It’s extensible-you can inherit all your functionality from the base classes
made available to you
FEATURES OF SERVLETS
 Servlets are persistent. Servlet are loaded only by the web server and can
maintain services between requests.
 Servlets are fast. Since servlets only need to be lloaded once, they offer
much better performance over their CGI counterparts.
 Servlets are platform independent.
 Servlets are extensible Java is a robust, object-oriented programming
language, which easily can be extended to suit your needs.
 Servlets are secure
Servlets are used with a variety of client.
Servlets are classes and interfaces from tow packages, javax .servlet and
javax.servlet.http.Thejava.servlet package contains classes support generic, protocol-
independent servlets. The classes in the javax.servelt.http package to and HTTP
specific functionality extend these classes
Every servlet must implement the javax.serveltinterface.Most servlets implement
it by extending one of two classes.javax.servlet.GenericServlet or
javax.servlet.http.HttpServlet.A protocol-independent servlet should subclass
Generic-Servlet. While an Http servlet should subclass HttpServlet, which is itself a
subclass of Generic-servlet with added HTTP-specific functionality.
Unlike a java program, a servlet does not have a main() method, Instead the server
in the process of handling requests invoke certain methods of a servlet. Each time the
server dispatches a request to a servlet, it invokes the servelts Service () method,
38
A generic servlet should override its service() method to handle requests as
appropriate for the servlet. The service() accepts two parameters a request object and
a response object .The request object tells the servlet about the request, while the
response object is used to return a response
InContrast.anHttp servlet usually does not override the service () method. Instead
it overrides doGet() to handle GET requests and doPost() to handle Post requests. An
Http servlet can override either or both of these modules the service () method of
HttpServlet handles the setup and dispatching to all the doXXX() methods. Which is
why it usually should not be overridden
The remainders in the javax.servlet and javax.servlet.http.package are largely
support classes .The ServletRequest and ServletResponse classes in javax.servlet
provide access to generic server requests and responses while HttpServletRequest and
HttpServletResponse classes in javax.servlet provide access to generic server requests
and responses while HttpServletRequest and HttpServletResponse in
javax.servlet.http provide access a HTTP requests and responses. The
javax.servlet.http provide contains an HttpSession class that provides built-in session
tracking functionality and Cookie class that allows quickly setup and processing
HttpCookies.
LOADING SERVLETS
Servlets can be loaded from their places. From a directory that is on the
CLASSPATH. The CLASSPATH of the JavaWebServer includes service
root/classes/, which is where the system classes reside
From the <SERVICE_ROOT/servlets/directory. This is not in the server’s
classpath. A class loader is used to create servlets form this directory. New servlets
can be added-existing servlets can be recompiled and the server will notice these
changes. From a remote location. For this a code base like http://nine.eng/classes/foo
is required in addition to the servlet’s class name. Refer to the admin Gui docs on
servlet section to see how to set this up.
39
LOADING REMOTE SERVLETS
Remote servlets can be loaded by:
 Configuring the admin Tool to setup automatic loading of remote
servlets.
 Selection up server side include tags in .html files
 Defining a filter chain Configuration
INVOKING SERVLETS
A servlet invoker is a servlet that invokes the “server” method on a named servlet.
If the servlet is not loaded in the server, then the invoker first loads the servlet (either
form local disk or from the network) and the then invokes the “service” method. Also
like applets, local servlets in the server can be identified by just the class name. In
other words, if a servlet name is not absolute. It is treated as local.
A Client can Invoke Servlets in the Following Ways:
 The client can ask for a document that is served by the servlet.
 The client(browser) can invoke the servlet directly using a URL, once
it has been mapped using the SERVLET ALIASES Section of the
admin GUI
 The servlet can be invoked through server side include tags.
 The servlet can be invoked by placing it in the servlets/directory
 The servlet can be invoked by using it in a filter chain
THE SERVLET LIFE CYCLE
The Servlet life cycle is one of the most exciting features of Servlets. This life
cycle is a powerful hybrid of the life cycles used in CGI programming and lower-level
NSAPI and ISAPI programming.
The servlet life cycle allows servlet engines to address both the performance
and resource problems of CGI and the security concerts of low level server API
programming.
Servlet life cycle is highly flexible Servers have significant leeway in how
they choose to support servlets.
40
The only hard and fast rule is that a servlet engine must conform to the
following life cycle contact:
 Create and initialize the servlets
 Handle zero or more service from clients
 Destroy the servlet and then garbage collects it.
It’s perfectly legal for a servlet t be loaded, created an initialized in its own
JVM, only to be destroyed an garbage collected without handling any client request or
after handling just one request
The most common and most sensible life cycle implementations for HTTP
servelts are: Single java virtual machine and astatine persistence.
INIT () AND DESTROY ()
Just like Applets servlets can define init() and destroy() methods, A servlets
init(ServiceConfig) method is called by the server immediately after the server
constructs the servlet’s instance. Depanding on the server and its configuration, this
can be at any of these times
 When the server states
 When the servlet is first requested, just before the service() method is
invoked
 At the request of the server administrator
In any case, init() is guaranteed to be called before the servlet handles its first
request.The init() method is typically used to perform servlet initialization creating or
loading objects that are used by the servlet in handling of its request. In order to
providing a new servlet any information about itself and its environment, a server has
to call a serveltsinit() method and pass an object that implement the ServletConfig
interface.
This ServletConfig object supplies a servlet with information about its
initialization parameters. These parameters are given to the servlets and are not
associated with any single request. They can specify initial values, such as where a
counter should begin counting, or default values, perhaps a template to use when not
specified by the request.
41
The server calls a servlet’s destroy() method when the servlet is about to be
unloaded. In the destroy() method, a servlet should free any resources it has acquired
that will not be garbage collected. The destroy() method also gives a servlet a chance
to write out its unsaved. Cached information or any persistent information that should
be read during the next call to init().
SESSION TRACKING
HTTP is a stateless protocol, it provides no way for a server to recognize that a
sequence of requests is all from the same client. This causes a problem for application
such as shopping cart applications. Even in chat application server can’t know exactly
who’s making a request of several clients.
The solution for this is for client to introduce itself as it makes each request,
Eachclients needs to provide a unique identifier that lets the server identify it, or it
needs to give some information that the server can use to properly handle the request.
There are several ways to send this introductory information with each request
Such as:
JDBC
WHAT IS JDBC?
Any relational database, One can write a single program using the JDBC API,
and the JDBC is a Java API for executing SQL,Statements(As a point of interest
JDBC is trademarked name and is not an acronym; nevertheless, Jdbc is often thought
of as standing for Java Database Connectivity. It consists of a set of classes and
interfaces written in the Java Programming language. JDBC provides a standard API
for tool/database developers and makes it possible to write database applications
using a pure Java API.Using JDBC, it is easy to send SQL statements to virtually
program will be able to send SQL .statements to the appropriate database. The
Combination of Java and JDBC lets a programmer writes it once and run it anywhere
WHAT DOES JDBC DO
 Establish a connection with a database
 Send SQL statements and Process the results
42
JDBC Driver Types
 The JDBC drivers that we are aware of this time fit into one of four
categories
 JDBC-ODBCBridge plus ODBC driver
 Native-API party-java driver
 JDBC-Net pure java driver
 Native-protocol pure Java driver
An individual database system is accessed via a specific JDBC driver that
implements the java.sql.Driver interface. Drivers exist for nearly all-popular RDBMS
systems, through few are available for free. Sun bundles a free JDBC-ODBC bridge
driver with the JDK to allow access to a standard ODBC,data sources, such as a
Microsoft Access database, Sun advises against using the bridge driver for anything
other than development and very limited development.
JDBC drivers are available for most database platforms, from a number of
vendors and in a number of different flavors. There are four driver categories
TYPE 01-JDBC-ODBC BRIDGE DRIVER
Type 01 drivers use a bridge technology to connect a java client to an ODBC
database service. Sun’s JDBC-ODBC bridge is the most common type 01 driver.
These drivers implemented using native code.
TYPE 02-NATIVE-API PARTY-JAVA DRIVER
Type 02 drivers wrap a thin layer of java around database-specific native code
libraries for Oracle databases, the native code libraries might be based on the
OCI(Oracle call Interface) libraries, which were originally designed for c/c++
programmers, Because type-02 drivers are implemented using native code. in some
cases they have better performance than their all-java counter parts. They add an
element of risk, however, because a defect in a driver’s native code section can crash
the entire server.
TYPE 03-NET-PROTOCOL ALL-JAVA DRIVER
Type 03 drivers communicate via a generic network protocol to a piece of custom
middleware. The middleware component might use any type of driver to provide the
43
actual database access. These drivers are all java, which makes them useful for applet
deployment and safe for servlet deployment.
TYPE-04-NATIVE-PROTOCOL ALL-JAVA DRIVER
Type 04 drivers are the most direct of the lot. Written entirely in java, Type 04
drivers understand database-specific networking. protocols and can access the
database directly without any additional software
JDBC-ODBC BRIDGE
If possible use a Pure Java JDBC driver instead of the Bridge and an ODBC
driver. This completely eliminates the client configuration required by ODBC.It also
eliminates the potential that the Java VM could be corrupted by an error in the native
code brought in by the Bridge(that is, the Bridge native library, the ODBC driver
manager library, library, the ODBC driver library, and the database client library)
WHAT IS THE JDBC-ODBEBRIDGE ?
The JDBC-ODBCBridge is a Jdbc driver, which implements JDBC operations by
translating them into ODBC operations. To ODBC it appears as a normal application
program. The Bridge is implemented as the sun.jdbc.odbc Java package and contains
a native library used to access ODBC.The Bridge is joint development of Intervolve
and Java Software.
ORACLE 10g
Oracle databases refer to server-side memory structure as the SGA (system Global
Area). SGA typically holds cache information such as data-buffers, SQL commands
and user information. In addition to storage, the database consists of online redo logs,
which hold transactional history.
Oracle is a relational database management system, which organizes data in the
form of tables. Oracle is one of many database servers based on RDBMS model,
which manages a seer of data that attends three specific things-data structures, data
integrity and data manipulation.
With oracle cooperative server technology we can realize the benefits of open,
relational systems for all the applications. Oracle makes efficient use of all systems
resources, on all hardware architecture; to deliver unmatched performance, price
44
performance and scalability. Any DBMS to be called as RDBMS has to satisfy
Dr.E.F.Codd’s rule.
FEATURES OF ORACLE
PORTABLE
The Oracle RDBMS is available on wide range of platforms ranging from PCs
to super computers and as a multi user loadable module for Novel NetWare, if you
develop application on system you can run the same application on other systems
without any modifications.
COMPATIBLE
Oracle commands can be used for communicating with IBM DB2 mainframe
RDBMS that is different from Oracle, which is Oracle compatible with DB2. Oracle
RDBMS is a high performance fault tolerant DBMS, which is specially designed for
online transaction processing and for handling large database applications.
MULTITHREADED SERVER ARCHITECTURE
Oracle adaptable multithreaded server architecture delivers scalable high
performance for very large number of users on all hardware architecture including
symmetric multiprocessors (sumps) and loosely coupled multiprocessors.
Performance is achieved by eliminating CPU, I/O, memory and operating system
bottlenecks and by optimizing the Oracle DBMS server code to eliminate all internal
bottlenecks.
Oracle has become the most popular RDBMS in the market because of its ease of use
 Client/server architecture.
 Data independence.
 Ensuring data integrity and data security.
 Managing data concurrency.
 Parallel processing support for speed up data entry and online transaction
processing used for applications.
 DB procedures, functions and packages.
45
ECLIPSE
Eclipse is a multi-language software development environment comprising an
integrated development environment (IDE) and extensible plug-in system. Written
mostly in Java, Eclipse can be used to develop application in java.
APACHE TOMCAT
Tomcat is an open source web server and Servlet container developed by the
Apache Software Foundation (ASF). Tomcat implements the java Servlet and the Java
Server Page (JSP) specification from Sun micro systems, and provides a “pure
JAVA” HTTP web server environment for Java code to run in.
Apache Tomcat includes tools for configuration and management, but can also
be configured by editing XML configuration files.
VOXEO PROPHECY
Prophecy makes it easy for you to interact with customers in way to improve
service, drive sales and lower costs. Built on core principles of simplicity and open
standard, prophecy simplifies development and ease ongoing maintenance.
Voxeo prophecy is a powerful, 100% standards-based platform for speech,
IVR, VRU and SIP VoIP applications. Built natively on Voice-Over-IP (VoIP)
protocols, Prophecy seamlessly integrates into next generation contact center built on
IP communication. Prophecy was the first application platform to support VoiceXML,
CCXML, the first to be natively based on the Session Initiation Protocol (SIP) and
first to support HD audio and IPv6.
46
5.3 SCREEN SHORT
Screen 5-1: url address of application
In SIP phone we are Dialing url address of our application’s first page from
where our application will get start. Here url address is vb@127.0.0.1
47
Screen 5-2: Entering user name and password
In SIP phone we are giving user name and password. Here user name is 13
and password is 12.
48
Screen 5-3: Entering account number and pin
Here in SIP phone we are entering account number to transfer money. Here
account number is 1236 and pin is 11.
49
Screen 5-4: Entering account number to transfer money
Here in SIP phone we are entering toaccount number to transfer money. Here
account number is 1234.
50
Screen 5-5: Entering money to transfer amount
Here in SIP phone we are entering amount to transfer money from one
account to other. Here we are entering amount as 2000/-.
5.4 CONCLUSION
From this we can easily understand the implementation of our project and
which type of implementation we have done like we have use Oracle, Voxeo
Prophecy, Apache Tomcat, Eclipse etc.
51
CHAPTER 6
TESTING & VALIDATION
6.1 INTRODUCTION
Software testing is the process of evaluation a software item to detect
differences between given input and expected output. Also to assess the feature of A
software item. Testing assesses the quality of the product. Software testing is a
process that should be done during the development process. In other words software
testing is a verification and validation process.
BLACK BOX TESTING
The technique of testing without having any knowledge of the interior
workings of the application is Black Box testing. The tester is oblivious to the system
architecture and does not have access to the source code. Typically, when performing
a black box test, a tester will interact with the system's user interface by providing
inputs and examining outputs without knowing how and where the inputs are worked
upon.
WHITE BOX TESTING
White box testing is the detailed investigation of internal logic and structure of
the code. White box testing is also called glass testing or open box testing. In order to
perform white box testing on an application, the tester needs to possess knowledge of
the internal working of the code. The tester needs to have a look inside the source
code and find out which unit/chunk of the code is behaving inappropriately.
52
6.2 DESIGN OF TEST CASES AND SCENARIOS
S.NO INPUT EXPECTED
OUTPUT
OBSERVED
OUTPUT
TEST CASE
1. Enter your
name and
password
User should
give a valid
username and
password
We get a valid
username and
password
p
1. Select bank It should
prompt the list
of banks
Selected bank
information is
stored into the
database
P
2. Select bank It should
prompt the list
of banks
Selected bank
is not available
in database.
F
3. Enter account
number
User should
give a valid
account
number
We get valid
account
number
P
4. Enter account
number
User should
give a valid
account
number
We get Invalid
account
number
F
5. Enter valid pin
number
User should
give a valid pin
number
We get a valid
pin number
p
6. Enter valid pin
number
User should
give valid pin
number
We get Invalid
Pin number
F
7. Select
transaction
type
It should
prompt types of
transaction type
The selected
type should be
stored into the
database
P
8. Balance
enquiry
It should
prompt balance
detail of user
We get user’s
account
information
P
53
6.3 VALIDATION
Verification that something is correct or conforms to a certain standard. In
data collection or data entry, it is the process of ensuring that the data that are entered
fall within the accepted boundaries of the application collecting the data. For example,
if a program is collecting last names to be entered in a database, the program validates
that only letters are entered and not numbers; or in a survey collecting data in the form
of "yes" or "no" questions, the program validates that only those responses are used
and not some other word.
Validation procedures typically are written into the program code and are
therefore invisible to the user.
<nomatch>
The nomatch element is a syntactic shorthand for the expression <catch
event=”nomatch”>. This attribute allows the developer to assign handlers when the
caller inputs a value that is not recognized by any of the active grammars.
usage
<nomatch cond="CDATA" count="CDATA">
ATTRIBUTES
i) cond
Data Type: CDATA
Default: Optional (true)
The cond attribute specifies a Boolean expression, which must equate to ‘true’
in order for the content to be visited and executed. Any standard ECMAScript
Boolean value is valid for this attribute.
ii) count
Data Type: CDATA
Default: Optional
The count attribute allows the developer fine grained control over event
handling upon multiple event occurrences. When an event is thrown for the first time,
54
the catch element with a count of 1 will be executed. Upon the second instance of the
same event, the FIA will look for a catch handler with a count value of 2, if one
exists, otherwise, it will simply execute the catch handler with the count of 1 again.
CODE SAMPLES
<Nomatch count-cond> sample
<?xml version="1.0" encoding="UTF-8"?>
<vxml version = "2.1" xmlns="http://www.w3.org/2001/06/vxml">
<meta name="copyright" content="2012 Voxeo Corporation"/>
<meta name="maintainer" content="YOUR_EMAIL@HERE.COM"/>
<form id="F1">
<field name="F_1">
<nomatch cond="false" count="1">
<prompt>
this handler will never get executed because the condition is set to false.
</prompt>
</nomatch>
<nomatch cond="true" count="1">
<prompt> no match count one is successful. </prompt>
</nomatch>
</form>
</vxml>
<noinput>
The noinput tag acts as a syntactic shorthand for the expression <catch
event=”noinput”>. It allows the developer to assign event handlers when the
application expects voice or DTMF input, but has received none from the caller.
55
USAGE
<noinput cond="CDATA" count="CDATA">
ATTRIBUTES
i) cond
Data Type: CDATA
Default: Optional (true)
The cond attribute specifies a Boolean expression, which must equate to ‘true’ in
order for the content to be visited and executed. Any standard ECMAScript Boolean
value is valid for this attribute.
ii) count
Data Type: CDATA
Default: Optional
The count attribute allows the developer fine grained control over event handling
upon multiple event occurrences. When an event is thrown for the first time, the catch
element with a count of 1 will be executed. Upon the second instance of the same
event, the FIA will look for a catch handler with a count value of 2, if one exists,
otherwise, it will simply execute the catch handler with the count of 1 again.
CODE SAMPLES
<Noinput count-cond> sample
<?xml version="1.0" encoding="UTF-8"?>
<vxml version = "2.1" xmlns="http://www.w3.org/2001/06/vxml">
<meta name="copyright" content="2005 voxeo corporation"/>
<meta name="maintainer" content="YOUR_EMAIL@HERE.COM"/>
<form id="F1">
<field name="F_1">
<noinput cond="false" count="1">
<prompt>
This handler will never get executed, because the condition is set to false.
</prompt>
56
</noinput>
<noinput cond="true" count="1">
<prompt> no input count one is successful. </prompt>
</noinput>
<noinput cond="true" count="2">
<prompt> no input count two is successful. </prompt>
</noinput>
</field>
</form>
</vxml>
6.4 Conclusion
Validation Summary Reports provide an overview of the entire validation
project. We have tested our application and validations also done.
57
CHAPTER 7
CONCLUSION
Voice banking provides an easy way of banking services. By using this
application Illiterate people can easily get the services even though they don’t have
knowledge about system they can access this application by dialing the numbers
through SIP phone. And it is a very useful application.
FUTURE ENHANCEMENTS
This project is limited to balance enquiry, and transfer money from one
account to another. In future we can extend this project by adding more banks,
Appling for new check book, Date of transferring money and many more features.

Mais conteúdo relacionado

Mais procurados

Voice based banking system
Voice based banking systemVoice based banking system
Voice based banking systemJal Pari
 
Online Examination System Report
Online Examination System ReportOnline Examination System Report
Online Examination System ReportAnkan Banerjee
 
Fundamental software engineering activities
Fundamental software engineering activitiesFundamental software engineering activities
Fundamental software engineering activitiessommerville-videos
 
Feedback System in PHP
Feedback System in PHPFeedback System in PHP
Feedback System in PHPPrince Kumar
 
Software Project Management for 'Weather Forecasting using Data mining'
Software Project Management for 'Weather Forecasting using Data mining'Software Project Management for 'Weather Forecasting using Data mining'
Software Project Management for 'Weather Forecasting using Data mining'Rushikesh Mangrulkar
 
School management System
School management SystemSchool management System
School management SystemHATIM Bhagat
 
Pharmacy management system
Pharmacy management systemPharmacy management system
Pharmacy management systemsudiahmad1
 
7(srs template)
7(srs template)7(srs template)
7(srs template)randhirlpu
 
Railway reservation system
Railway reservation systemRailway reservation system
Railway reservation systemKOYELMAJUMDAR1
 
SRS document for Hotel Management System
SRS document for Hotel Management SystemSRS document for Hotel Management System
SRS document for Hotel Management SystemCharitha Gamage
 
Synopsis of online student feedback system(cse)
Synopsis of online student feedback system(cse)Synopsis of online student feedback system(cse)
Synopsis of online student feedback system(cse)shindept123
 
Hospital management System (asp.net with c#)Project report
Hospital management System (asp.net with c#)Project reportHospital management System (asp.net with c#)Project report
Hospital management System (asp.net with c#)Project reportabhishek singh
 
Online movie booking synopsis
Online movie booking  synopsisOnline movie booking  synopsis
Online movie booking synopsismca projects
 
Time Table Management System
Time Table Management SystemTime Table Management System
Time Table Management SystemMuhammad Zeeshan
 
Pharmacy management system fyp documentation
Pharmacy management system fyp documentationPharmacy management system fyp documentation
Pharmacy management system fyp documentationAbubakr Cheema
 

Mais procurados (20)

Voice based banking system
Voice based banking systemVoice based banking system
Voice based banking system
 
Online Examination System Report
Online Examination System ReportOnline Examination System Report
Online Examination System Report
 
Fundamental software engineering activities
Fundamental software engineering activitiesFundamental software engineering activities
Fundamental software engineering activities
 
Feedback System in PHP
Feedback System in PHPFeedback System in PHP
Feedback System in PHP
 
Software Project Management for 'Weather Forecasting using Data mining'
Software Project Management for 'Weather Forecasting using Data mining'Software Project Management for 'Weather Forecasting using Data mining'
Software Project Management for 'Weather Forecasting using Data mining'
 
SRS for Google Pay(Gpay)
SRS for Google Pay(Gpay)SRS for Google Pay(Gpay)
SRS for Google Pay(Gpay)
 
School management System
School management SystemSchool management System
School management System
 
Attendance management system
Attendance management systemAttendance management system
Attendance management system
 
Pharmacy management system
Pharmacy management systemPharmacy management system
Pharmacy management system
 
7(srs template)
7(srs template)7(srs template)
7(srs template)
 
Railway reservation system
Railway reservation systemRailway reservation system
Railway reservation system
 
Chat Application
Chat ApplicationChat Application
Chat Application
 
SRS document for Hotel Management System
SRS document for Hotel Management SystemSRS document for Hotel Management System
SRS document for Hotel Management System
 
Synopsis of online student feedback system(cse)
Synopsis of online student feedback system(cse)Synopsis of online student feedback system(cse)
Synopsis of online student feedback system(cse)
 
Hospital management System (asp.net with c#)Project report
Hospital management System (asp.net with c#)Project reportHospital management System (asp.net with c#)Project report
Hospital management System (asp.net with c#)Project report
 
Online movie booking synopsis
Online movie booking  synopsisOnline movie booking  synopsis
Online movie booking synopsis
 
Time Table Management System
Time Table Management SystemTime Table Management System
Time Table Management System
 
HOSPITAL MANAGEMENT SYSTEM project report
HOSPITAL MANAGEMENT SYSTEM project reportHOSPITAL MANAGEMENT SYSTEM project report
HOSPITAL MANAGEMENT SYSTEM project report
 
SRS document
SRS documentSRS document
SRS document
 
Pharmacy management system fyp documentation
Pharmacy management system fyp documentationPharmacy management system fyp documentation
Pharmacy management system fyp documentation
 

Semelhante a document for Voice banking system mini project

Toll application - .NET and Android - SRS
Toll application - .NET and Android - SRSToll application - .NET and Android - SRS
Toll application - .NET and Android - SRSArun prasath
 
IRJET- Voice based Retrieval for Transport Enquiry System
IRJET- Voice based Retrieval for Transport Enquiry SystemIRJET- Voice based Retrieval for Transport Enquiry System
IRJET- Voice based Retrieval for Transport Enquiry SystemIRJET Journal
 
Desktop Based Voice Assistant Application Using Machine Learning Approach
Desktop Based Voice Assistant Application Using Machine Learning ApproachDesktop Based Voice Assistant Application Using Machine Learning Approach
Desktop Based Voice Assistant Application Using Machine Learning ApproachIRJET Journal
 
Voice based autometedtransport enquiry system in #c by Rohit malav
Voice based autometedtransport enquiry system in #c by Rohit malavVoice based autometedtransport enquiry system in #c by Rohit malav
Voice based autometedtransport enquiry system in #c by Rohit malavRohit malav
 
Advanced Communication over LAN AJCSE Advanced Communication over LAN
Advanced Communication over LAN AJCSE Advanced Communication over LANAdvanced Communication over LAN AJCSE Advanced Communication over LAN
Advanced Communication over LAN AJCSE Advanced Communication over LANBRNSSPublicationHubI
 
Automatic Android Telecaller App Using REST API
Automatic Android Telecaller App Using REST APIAutomatic Android Telecaller App Using REST API
Automatic Android Telecaller App Using REST APIIRJET Journal
 
IRJET- IoT based Vending Machine with Cashless Payment
IRJET- IoT based Vending Machine with Cashless PaymentIRJET- IoT based Vending Machine with Cashless Payment
IRJET- IoT based Vending Machine with Cashless PaymentIRJET Journal
 
IRJET - Voice based Email for Visually Challenged People
IRJET - Voice based Email for Visually Challenged PeopleIRJET - Voice based Email for Visually Challenged People
IRJET - Voice based Email for Visually Challenged PeopleIRJET Journal
 
Cyber bidding gateway report on ASP .net
Cyber bidding gateway report on ASP .netCyber bidding gateway report on ASP .net
Cyber bidding gateway report on ASP .netGeorgekutty Francis
 
Software Evaluation
Software EvaluationSoftware Evaluation
Software EvaluationLori Gilbert
 
IRJET - Voice based E-Mail for Visually Impaired
IRJET - Voice based E-Mail for Visually ImpairedIRJET - Voice based E-Mail for Visually Impaired
IRJET - Voice based E-Mail for Visually ImpairedIRJET Journal
 
International Journal of Engineering Research and Development
International Journal of Engineering Research and DevelopmentInternational Journal of Engineering Research and Development
International Journal of Engineering Research and DevelopmentIJERD Editor
 
Instant message
Instant  messageInstant  message
Instant messagekplshrm222
 

Semelhante a document for Voice banking system mini project (20)

Toll application - .NET and Android - SRS
Toll application - .NET and Android - SRSToll application - .NET and Android - SRS
Toll application - .NET and Android - SRS
 
Resumeupdated
ResumeupdatedResumeupdated
Resumeupdated
 
Resumeupdated
ResumeupdatedResumeupdated
Resumeupdated
 
IRJET- Voice based Retrieval for Transport Enquiry System
IRJET- Voice based Retrieval for Transport Enquiry SystemIRJET- Voice based Retrieval for Transport Enquiry System
IRJET- Voice based Retrieval for Transport Enquiry System
 
Desktop Based Voice Assistant Application Using Machine Learning Approach
Desktop Based Voice Assistant Application Using Machine Learning ApproachDesktop Based Voice Assistant Application Using Machine Learning Approach
Desktop Based Voice Assistant Application Using Machine Learning Approach
 
Voice based autometedtransport enquiry system in #c by Rohit malav
Voice based autometedtransport enquiry system in #c by Rohit malavVoice based autometedtransport enquiry system in #c by Rohit malav
Voice based autometedtransport enquiry system in #c by Rohit malav
 
Advanced Communication over LAN AJCSE Advanced Communication over LAN
Advanced Communication over LAN AJCSE Advanced Communication over LANAdvanced Communication over LAN AJCSE Advanced Communication over LAN
Advanced Communication over LAN AJCSE Advanced Communication over LAN
 
Automatic Android Telecaller App Using REST API
Automatic Android Telecaller App Using REST APIAutomatic Android Telecaller App Using REST API
Automatic Android Telecaller App Using REST API
 
Onine exam 1
Onine exam 1Onine exam 1
Onine exam 1
 
CV_Prathap (1)
CV_Prathap (1)CV_Prathap (1)
CV_Prathap (1)
 
Project falcon1
Project falcon1Project falcon1
Project falcon1
 
Project report
Project report Project report
Project report
 
IRJET- IoT based Vending Machine with Cashless Payment
IRJET- IoT based Vending Machine with Cashless PaymentIRJET- IoT based Vending Machine with Cashless Payment
IRJET- IoT based Vending Machine with Cashless Payment
 
IRJET - Voice based Email for Visually Challenged People
IRJET - Voice based Email for Visually Challenged PeopleIRJET - Voice based Email for Visually Challenged People
IRJET - Voice based Email for Visually Challenged People
 
Cyber bidding gateway report on ASP .net
Cyber bidding gateway report on ASP .netCyber bidding gateway report on ASP .net
Cyber bidding gateway report on ASP .net
 
Voice browser
Voice browserVoice browser
Voice browser
 
Software Evaluation
Software EvaluationSoftware Evaluation
Software Evaluation
 
IRJET - Voice based E-Mail for Visually Impaired
IRJET - Voice based E-Mail for Visually ImpairedIRJET - Voice based E-Mail for Visually Impaired
IRJET - Voice based E-Mail for Visually Impaired
 
International Journal of Engineering Research and Development
International Journal of Engineering Research and DevelopmentInternational Journal of Engineering Research and Development
International Journal of Engineering Research and Development
 
Instant message
Instant  messageInstant  message
Instant message
 

Último

Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Disha Kariya
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxnegromaestrong
 
psychiatric nursing HISTORY COLLECTION .docx
psychiatric  nursing HISTORY  COLLECTION  .docxpsychiatric  nursing HISTORY  COLLECTION  .docx
psychiatric nursing HISTORY COLLECTION .docxPoojaSen20
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxiammrhaywood
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfagholdier
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.christianmathematics
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeThiyagu K
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...EduSkills OECD
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfAyushMahapatra5
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAssociation for Project Management
 
An Overview of Mutual Funds Bcom Project.pdf
An Overview of Mutual Funds Bcom Project.pdfAn Overview of Mutual Funds Bcom Project.pdf
An Overview of Mutual Funds Bcom Project.pdfSanaAli374401
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin ClassesCeline George
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdfQucHHunhnh
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactdawncurless
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...christianmathematics
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
fourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingfourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingTeacherCyreneCayanan
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17Celine George
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxAreebaZafar22
 

Último (20)

Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptx
 
psychiatric nursing HISTORY COLLECTION .docx
psychiatric  nursing HISTORY  COLLECTION  .docxpsychiatric  nursing HISTORY  COLLECTION  .docx
psychiatric nursing HISTORY COLLECTION .docx
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdf
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across Sectors
 
An Overview of Mutual Funds Bcom Project.pdf
An Overview of Mutual Funds Bcom Project.pdfAn Overview of Mutual Funds Bcom Project.pdf
An Overview of Mutual Funds Bcom Project.pdf
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
fourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingfourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writing
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 

document for Voice banking system mini project

  • 1. i CONTENTS PAGE NO Abstract i List of Figures ii List of Screens iii Symbols & Abbreviations iv 1. INTRODUCTION 1.1 Motivation 1 1.2 Problem definition 1 1.3 Objective of Project 2 1.4 Limitations of Project 2 1.5 Organization of Documentation 3 2. LITERATURE SURVEY 2.1 Introduction 4-8 2.2 Existing System 9 2.3 Disadvantages of Existing system 9 2.4 Proposed System 9 2.5 Conclusion 10 3. ANALYSIS 3.1 Introduction 11 3.2 Software Requirement Specification 12-16 3.2.1 User requirement 3.2.2 Software requirement 3.2.3 Hardware requirement 3.3 Content diagram of Project 17 3.4 Flowcharts 17-20 3.5 Conclusion 21
  • 2. ii 4. DESIGN 4.1 Introduction 22 4.2 ER / UML diagram 22-33 4.3 Module design and organization 34 4.4 Conclusion 34 5. IMPLEMENTATION & RESULTS 5.1 Introduction 34 5.2 Method of Implementation 34-45 5.3 Conclusion 46 6. TESTING & VALIDATION 6.1 Introduction 51 6.2 Design of test cases and scenarios 52 6.3 Validation 56 6.4 Conclusion 56 7. CONCLUSION 57
  • 3. i ABSTRACT This document specifies Voice application, is an application in which both the input/output are through voice (speaking) rather than graphical user interface. The application files can reside on local systems, an intranet or the internet. The users can access the deployed voice applications anywhere and anytime. In this application we use Voice Extensible Markup Language VoiceXML, is designed for creating audio dialogs that feature synthesized speech, digitization audio, recognition of spoken and DTMF key input, recoding of speech input, telephony, and mixed initiative conversations. Its major goal is to bring the advantages of Web-based development and content delivery to interactive voice response application.
  • 4. ii LIST OF FIGURES S.NO FIGURE NAME PAGE NO 1-1 Voicexml architecture 6 3-2 Content diagram of application 17 3-2 Flow chart for application 18-20 4-1 ER diagram of application 24 4-2 Class diagram for application 27 4-3 Use case diagram for transaction 28 4-4 Sequence diagram for login 29 4-5 Sequence diagram for transfer money 30 4-6 Sequence diagram for balance enquiry 31 4-7 State chart diagram for transfer money 32 4-8 State chart diagram for balance enquiry 33
  • 5. iii LIST OF SCREENS S.NO SCREEN NAMES PAGE NO 5-1 URl address of application 46 5-2 Entering user name and password 47 5-3 Entering account number and pin 48 5-4 Entering toaccount no to transfer money 49 5-5 Enter amount to transfer 50
  • 6. iv ABBREVIATIONS VXML--voicexml SRS- Software Requirement specification ER-entity relationship UML-unified modeling language IVR-Interactive Voice Response SIP-Session Initiation protocol VoIP-Voice over Internet protocol
  • 7. v SYMBOLS SYMBOL NAME DESCRIPTION Flow Line (Arrow, Connector) Flow line connectors show the direction that the process flows. Decision Indicates a question or branch in the process flow. Typically, a Decision flowchart shape is used when there are 2 options (Yes/No, No/No-Go, etc.) Terminator (Terminal Point, Oval) Terminators show the start and stop points in a process. When used as a Start symbol, terminators depict a trigger action that sets the process flow into motion. Data (I/O) The Data flowchart shape indicates inputs to and outputs from a process. As such, the shape is more often referred to as an I/O shape than a Data shape. Off-Page Connector Off-Page Connector shows continuation of a process flowchart onto another page.
  • 8. 1 CHAPTER 1 INTRODUCTION 1.1 MOTIVATION Voice banking provides a feasible solution to users. By using this application we will get the services like transfer money and balance enquiry user can interact the system using their voice. This voice banking application helps in such a way that it just need voice to interact with system. This application may useful for the illiterate people and it is very easy for those people who don’t have the knowledge of computer. This application is very Easy to use for people with no knowledge or fear of computers. Voice interaction can escape the physical limitations on keypads and displays as mobile devices become ever smaller. As a solution for building next- generation interactive voice response telephone services. 1.2 PROBLEM DEFINITION We have some problems in present scenario to get the banking service people are manually go the bank like money transaction and people also get services through online websites. In present scenario we have some problems like, it is a time consuming process. Illiterate people unable to get the services. In most of the countries around the world some people even don’t have the knowledge of using a computer. Especially in a country like India where literacy rate is very low, the major population doesn’t have the knowledge of using computer and internet. Then in such case how can we expect such kind of people to use the applications developed in those environments.
  • 9. 2 1.3 OBJECTIVE OF PROJECT Main objective of our project is to provide a feasible solution to users. By using this application we can transfer money and get balance enquiry. User can easily interact the system using their voice. This voice banking application helps in such a way that it just need voice to interact with system. In the existing scenario to get the banking service people are manually go the bank like money transaction and people also get services through online websites. But we have to face some problems like if we want to transfer money we need to go to the bank and wait in queue to get money transaction it’s a time consuming. process, though this online Banking have solution to such kind of problems but What about Illiterate people or those people who don’t have knowledge about computer. By using this application we can overcome these problems and it is easy for user to use. Even illiterate people can access to application by using voice. 1.4 LIMITATIONS OF PROJECT Every application has some limits as our application also has limits users are restricted to use Dialup keys, which can be only a digit type. And user can only listen the voice they can’t see any output though this is a voice application. And user should speak clearly to execute the application.
  • 10. 3 1.5 ORGANIZATION OF DOCUMENTATION The organization of this document follows a new approach which we find to be best when discussing voice banking system. From this document user can easily understand the aim of this application. How this application works, what its need, its features etc. Chapter 1: In this chapter we discuss about motivation of our application, problems of existing system, Objectives of our application and Limitations of our application. Chapter 2: Here we introduce a Literature Survey. We provide a thorough discussion of a voice banking system, existing system, its disadvantages, solutions, proposed system and its advantages. Chapter 3: Analysis, in this chapter we present SRS. Modules of our application, provisions, functionalities, Alerts, Queries and report. And finally providing a software requirements specification, user requirement, software requirement and hardware requirement. Chapter 4: Design, in this chapter we discuss about designs such as Entity diagram and uml diagram. Chapter 5: Implementation, in this chapter we discuss methods of implementation and their results. Chapter 6: In this chapter we provide testing methods and validation which we use in our application. Chapter 7: In this chapter we discuss advantages of our application i.e. voice banking system and voicexml.
  • 11. 4 CHAPTER 2 LITERATURE SURVEY 2.1 INTRODUCTION Voice Extensible Markup Language VXML, or VoiceXML, technology allows a user to interact with the Internet through voice-recognition technology, as a response, Voice or Audio. VoiceXML is a dialog markup language designed for telephony applications, where users are restricted to voice and DTMF (touch tone) input. VoiceXML is a markup language that makes building voice applications easier, in the same way that HTML simplifies building visual applications. VoiceXML also reduces the amount of speech expertise that developers need. VoiceXML applications can use the same existing back-end business logic as their visual counterparts, enabling voice solutions to be introduced to new markets quickly. Current and long-term development and maintenance costs are minimized by leveraging the Web design skills and infrastructures already present in the enterprise. Customers can benefit from a consistency of experience between voice and visual applications. VoiceXML implements a client/server paradigm, where a Web server provides VoiceXML documents that contain dialogs to be interpreted and presented to a user. The user's responses are submitted to the Web server, which responds by providing additional VoiceXML documents, as appropriate. VoiceXML allows you to request documents and submit data to server scripts using Universal Resource Identifiers (URIs). VoiceXML documents can be static, or they can be dynamically generated by CGI scripts, Java Beans, ASPs, JSPs, Java servlets, or other server-side logic. Unlike a proprietary Interactive Voice Response (IVR) system, VoiceXML provides an open application development environment that generates portable applications. This makes VoiceXML a cost-effective alternative for providing voice access services. Most installed IVR systems today accept input from the telephone keypad only. In contrast, VoiceXML is designed predominantly to accept spoken input, but it can also accept DTMF input, if desired. As a result, VoiceXML helps speed up customer interactions by providing a more natural interface that replaces the traditional, hierarchical IVR menu tree with a streamlined dialog using a flattened command structure. It directly supports networked and Web-based applications,
  • 12. 5 meaning that a user at one location can access information or an application provided by a server at another geographically or organizationally distant location. This capitalizes on the connectivity and commerce potential of the World Wide Web. Using a single VoiceXML browser to interpret streams of markup language originating from multiple locations provides the user with a seamless conversational experience across independent applications. For example, a voice portal application might allow a user to temporarily suspend an airline purchase transaction to interact with a banking application on a different server to check an account balance. VoiceXML supports local processing and validation of user input. It supports playback of prerecorded audio files. It supports recording of user input. The resulting audio can be played back locally or uploaded to the server for storage, processing, or playback at a later time. It defines a set of events corresponding to such activities as a user request for help, the failure of a user to respond within a timeout period, and an unrecognized user response. A VoiceXML application can provide catch elements that respond appropriately to a given event for a particular context. It also supports context-specific and tapered help using a system of events and catch elements. Help can be tapered by specifying a count for each event handler, so that different event handlers are executed depending on the number of times that the event has occurred in the specified context. This can be used to provide increasingly more detailed messages each time the user asks for help. VoiceXML supports sub dialogs, which are roughly the equivalent of function or method calls. Sub dialogs can be used to provide a disambiguation or confirmation dialog, and to create reusable dialog components. HISTORY OF VOICEXML  VoiceXML started with several informal gatherings in 1995 by Dave Ladd, Chris Ramming, Ken Rehor, and Curt Tuckey of AT&T  They were brainstorming ideas about how the Internet would affect telephony applications  Thus began the AT&T Phone Web project.  AT&T, IBM, Lucent, and Motorola formed the VoiceXML Forum in March 1999, in order to develop a standard markup language for specifying voice dialogs.
  • 13. 6  By September 1999 the Forum released VoiceXML 0.9 for member comment, and in March 2000 they published VoiceXML 1.0.  Soon afterwards, the Forum turned over the control of the standard to the W3C.  The W3C produced several intermediate versions of VoiceXML 2.0, which reached the final "Recommendation" stage in March 2004.  VoiceXML2.1 added a relatively small set of additional features to VoiceXML2.0, based on feedback from implementations of the 2.0 standard.  It is backward compatible with VoiceXML2.0 and reached W3C Recommendation status in June 2007. ARCHITECTURE OF VOICEXML Fig 2-1: Architecher of vxml
  • 14. 7 VOICEXML – ARCHITECTURE A typical VoiceXML based system contains the four main components. i. TELEPHONE NETWORK Telephone Network Can be a PSTN network or VoIP packet network. ii. VOICEXML GATEWAY VoiceXML gateway consists of a VoiceXML interpreter integrated with Media resources (Speech Recognition, Text-to-speech, Audio playback) and Telephony resources (DTMF, Call Control). VoiceXML Gateway downloads the applications from Application Server and interprets it. iii. APPLICATION SERVER Typically a Web Server that hosts the VoiceXML application and business logic. iv. TCP/IP NETWORK LAN, WAN or public Internet. VoiceXML connects to Telephone Network on one side and TCP/IP network and Application Server on the other side. VoiceXML connects to Telephone Network on one side and TCP/IP network and Application Server on the other side SPEECH BROWSER Whenever a user gives input through voice it will be redirected to the speech browser for further processing of the input. SPEECH RECOGNITION ENGINE This is a component which is a part of the speech browser which converts the spoken input into text upon validation with legal grammar provided and gives back the valid processed input to the browser. 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.
  • 15. 8 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. VoiceXML is a language for creating voice-user interfaces. For Input, It uses Speech recognition and Touchtone (DTMF keypad). For output, it uses Pre-recorded audio and Text-to-speech synthesis (TTS). VoiceXML is based on the Worldwide Web Consortium's (W3C's) Extensible Markup Language (XML). Assume that you got a call on your IVR system  Answers the call and starts executing your VoiceXML document. Under the document’s control, the interpreter may perform actions such as: Sending vocal prompts, messages, or other audio material (such as music or sound effects) to the user.  Accepting numeric input that the user enters by DTMF (telephone key tone) signals.  Accepting voice input and recognizing the words.  Accepting voice input and simply recording it, without trying to recognize any words. Sending the user’s information to a web site or other Internet server.
  • 16. 9 2.2 Existing System In the present scenario to get the banking service people are manually go the bank like money transaction and people get services through online websites for that also user have to manually go to net café, which is not secure and user must have knowledge about computer. 2.3 Disadvantages of Existing system  In most of the countries around the world some people even don’t have the knowledge of using a computer.  Especially in a country like India where literacy rate is very low, the major population doesn’t have the knowledge of using computer and internet.  Then in such case how can we expect such kind of people to use the applications developed in those environments.  Its time consuming process.  Illiterate people unable to get the services 2.4 Proposed System This voice banking application helps in such a way that it just need voice to interact with system. In order to develop this application voice banking provides a feasible solution to user. By using this application we will get the services like transfer money and balance enquiry user can interact with the system using their voice.  Despite the Internet's growing acceptance, the telephone network is still more widely and readily accessible  Telephones are simple to operate and use the most natural form of communication, the human voice.  Imagine a voice banking application which follows all the standards of a web based application and enables user with all the comforts that a web based application provides.  Then such kind of application would definitely give a solution to the people who are only comfortable with voice rather than other environments.
  • 17. 10 2.5 Conclusion Voice banking provides an easy way of banking services.Despite the Internet's growing acceptance, the telephone network is still more widely and readily accessible.By using this application Illiterate people can easily get the services even though they don’t have knowledge about system they can access this application by dialing the numbers through SIP phone.
  • 18. 11 CHAPTER 3 ANALYSIS 3.1 INTRODUCTION The purpose of the SRS is to provide a detailed overview of our software product, its parameters and goals. A Software requirements specification (SRS), a requirements specification for a software system, is a complete description of the behavior of a system to be developed and may include a set of use cases that describe interactions the users will have with the software. In addition it also contains non- functional requirements. Non-functional requirements impose constraints on the design or implementation. The software requirements specification document enlists all necessary requirements that are required for the project development. To derive the requirements we need to have clear and thorough understanding of the products to be developed. This is prepared after detailed communications with the project team and customer. A complete specification of what the proposed system should do! The SRS must correctly define all of the software requirements, but no more. The SRS should not describe design, verification, or project management details, except for required design constraints.To introduce the concepts of user and system requirements, describe functional and non-functional requirements, to explain how software requirements may be organised in a requirements document. PURPOSE OF SRS DOCUMENT SRS establishes basis of agreement between the user and the supplier. Users needs have to be satisfied, but user may not understand software. Developers will develop the system, but may not know about problem domain.SRS is the medium to bridge the communications gap. Need for SRS It helps user to understand his needs. Users do not always know their needs must analyze and understand the potential. The requirement process helps clarify needs.SRS provides a reference for validation of the final product and gives a clear understanding about what is expected.
  • 19. 12 3.2 SOFTWARE REQUIREMENT SPECIFICATION SRS-VOICE BANKING MODULES 1. Profile Management 2. Account Management 3. Transaction Management Profile Management Provision Registration  User_id  User name  Password  Date_Of_Birth  Gender  Address  Contact number  Security Answer  Registration Date City  City id  City name State  State id  State Name
  • 20. 13 Country  Country id  Country Name Security Question  Question id  Question Description Functionalities 1. User can select the city name 2. User can select the country name 3. User can submit the details 4. User can login into the system 5. User can select the security question 6. Account details are already associated with account management. Alerts Implicit alerts  Registration Successful/failed  Invalid User name/Password  Successfully logged in Queries  What are the cities available?  What are the states available?  What are the countries available?  What are the security questions available? Report  How many no of users registered over a period of time?  How many no of users registered over a particular location?
  • 21. 14 Account Management Provision Bank  Bank id  Bank Name  Branch Account  Account no  Account Holder  Pin no  Balance Account type  Account type Name Functionalities 1. User can select a particular bank 2. User can enquire about the information regarding balance 3. User can provide the destination account no to transfer the money Alerts  Invalid Destination Account no  Bank name is not available  Insufficient balance for transaction Queries  What is the destination account number?  What are the banks available?
  • 22. 15 Report  Comparison between number of account holders in a bank  Comparison between number of account holder over a particular account type Transaction Management Provision Transaction  Transaction id  Transaction Date  Transaction Amount Transaction Type  Transaction Type Name Functionalities 1. User can get the transaction details 2. Transaction amount is transferred to destination account number 3. Source and destination details are already associated with account Management. Alerts  Transaction is failed due to an error  Transaction is successfully done. Queries  What is the transaction date?  What is the transaction amount?
  • 23. 16 Report  Number of transactions over a period of time to a particular bank? 3.2.1 USER REQUIREMENT  User must have valid account registered in bank.  User must have another valid account to perform transaction.  Though this is voice application user requires a voice. 3.2.2 SOFTWARE REQUIREMENT Client side Technology: Voice XML Server side Front End Operating System : Windows, MAC, Linux Tools : JDBC, Eclipse Galileo Technology : J2SE, J2EE, VXM Back End: Database : Oracle 10g Server : Tomcat, VOXEO Prophecy server 3.2.3 Hardware requirement Our application is voice banking system. In this application we require a Hardware’s like Client side : SIP Phone Server Side Processor : Intel(R) Core™2 Duo CPU Hard disk : 40GB Cache : 512KB RAM : 1GB OR more
  • 24. 17 3.3 CONTENT DIAGRAM OF PROJECT Fig 3-1: Content Diagram of project 3.4 Flowcharts A flowchart is a type of diagram that represents an algorithm or process, showing the steps as boxes of various kinds, and their order by connecting them with arrows. This diagrammatic representation illustrates a solution to a given problem. Process operations are represented in these boxes, and arrows; rather, they are implied by the sequencing of operations. Flowcharts are used in analyzing, designing, documenting or managing a process or program in various fields. User Database Profile Management Account Management Transaction Management
  • 25. 18 NO YES NO ENTER USER NAME AND PASSWORD IS USER NAME AND PASSWORD CORRECT? START ENTER BANK NAME ENTER ACCOUNT NUMBER AND PIN IS ACCOUNT NUMBER AND PIN IS CORRECT? 1 21
  • 26. 19 BALANCE ENQUIRY MONEY TRANSFER BALANCE ENQUIRY OR MONEY TRANSFER? PLEASE ENTER ACCOUNT NO. TO TRANSFER MONEY IS ACCOUNT NUMBER CORRECT? PLEASE ENTER AMOUNT IF BALANCE > AMOUNT DISPLAY ACCOUNT DETAILS 1 2 3 54 6
  • 27. 20 Fig 3-2: FLOW CHART OF BANKING SYSTEM TRANSACTION SUCCESSFUL IN SUFFICIENT BALANCE EXIT 43 65
  • 28. 21 3.5 CONCLUSION By seeing SRS user can easily know the modules of the application. User can also know what the requirements of our application are like software requirement and hard ware requirement. Content diagram, and flowchart by this we can understand the flow of our application.
  • 29. 22 CHAPTER 4 DESIGN 4.1 INTRODUCTION Software design is a process of problem solving and planning for software solution. After the purpose and specification of software are determined, software developers will design or employ designers to develop a plan for solution. It includes low-level component and algorithm implementation issues as well as the architectural view. 4.2 ER DIARAM ER diagram is a graphical representation of entities and their relationships to each other, typically used in computing in regard to the organization of data within database or information systems. An entity is real world item or concept that exists on its own. A relationship is how the data is shared between entities. There are three types of relationships between entities those are 1. ONE-TO-ONE One instance of an entity (A) is associated with one other instance of another entity (B). For example, in a database of employees, each employee name (A) is associated with only one social security number (B). One-to-one relationship 2. ONE-TO-MANY One instance of an entity (A) is associated with zero, one or many instances of another entity (B), but for one instance of entity B there is only one instance of entity A. For example, for a company with all employees working in one building, the building name (A) is associated with many
  • 30. 23 different employees (B), but those employees all share the same singular association with entity A. One-to-many relationship 3. MANY-TO-MANY One instance of an entity (A) is associated with one, zero or many instances of another entity (B), and one instance of entity B is associated with one, zero or many instances of entity A. For example, for a company in which all of its employees work on multiple projects, each instance of an employee (A) is associated with many instances of a project (B), and at the same time, each instance of a project (B) has multiple employees (A) associated with it. Many-to-many relationship
  • 31. 24 Fig 4-1: ER-diagram of banking system
  • 32. 25 UML DIAGRAM UML is a language. It is not simply a notation for drawing diagrams, but a complete language for capturing knowledge (semantics) about a subject and expressing knowledge (syntax) regarding the subject for the purpose of communication. UML applies to modeling and systems. Modeling involves a focus on understanding a subject (system) and capturing and being able to communicate in this knowledge. It is the result of unifying the information systems and technology industry‘s best engineering practices (principals, techniques, methods and tools) used for both database and software modeling. RELATIONSHIPS There are four kinds of relationships in the UML. 1. Dependency 2. Association 3. Generalization 4. Realization These relationships are the basic relational building blocks of the UML. These are used to write well-formed models. 1. DEPENDENCY A dependency is a semantic relationship between two things in which a change to one thing may affect the semantics of the other thing. The arrow head represents the independent element and the other end the dependent element.
  • 33. 26 2. ASSOCIATION Association describes how the elements in an UML diagram are associated. In simple word it describes how many elements are taking part in an interaction. The multiplicity is also mentioned at the ends (1, * etc) to show how many objects are associated. 3. GENERALIZATION A generalization is a specialization/ generalization relationship in which objects of the specialized element (the child) are substitutable for objects of the generalized element (the parent). Generalization describes the inheritance relationship of the object oriented world. It is parent and child relationship. REALIZATION A realization is a semantic relationship between classifiers, wherein one classifier specifies a contract that another classifier guarantees to carry out. Realization
  • 34. 27 UML CLASS DIAGRAM The UML class diagram is also known as object modeling. It is a static analysis diagram. These diagrams show the static structure of the model. A class diagram is a connection of static model elements, such as classes and their relationships, connected as a graph to each other and to their contents. Use visibility markers to signify who can access the information contained within a class. 1. Private visibility hides information from anything outside the class partition. 2. Public visibility allows all other classes to view the marked information. 3. Protected visibility allows child classes to access information they inherited from a parent class. Fig 4-2: Class diagram of application From class diagram we can easily understand that what is in our application and how it will work.
  • 35. 28 USE-CASE DIAGRAM The functionality of a system can be described in a number of different use- cases, each of which represents a specific flow of events in a system. It is a graph of actors, a set of use-cases enclosed in a boundary, communication, associations between the actors and the use-cases, and generalization among the use-cases. Use case is represented as an eclipse. An actor can be defined as some internal or external entity that interacts with the system. Fig 4-3: Use case diagram for Transaction management Here User is actor and login, pin valid; bank, transfer, transaction and balance enquiry are use cases. user login pin valid transfer transaction bank1 balance enquiry balance
  • 36. 29 SEQUENCE DIAGRAM FOR CREATING A NEW ACCOUNT Fig 4-4: Sequence diagram for creating a new account Customer can login into account after login it checks in database whether its account is available in database or not. customer database login check the application is submitted or not yes/account no/login again
  • 37. 30 SEQUENCE DIAGRAM FOR TRANSFERRING MONEY Fig 4-5: Sequence diagram for transferring money This diagram is about transferring money from one account to another account. First user select bank after selecting bank user has to login. After login it checks whether the entered account is valid or not if valid then user needs to select transaction type and he need to enter amount to transfer money. user bank account transaction transactiontype 1.select bank 2.enter account number and pin 3.check account 4.select transactiontype 6.enter account number to transfer 7.entered account no 8.check account 5.transfer money 9.enter amount 10.transaction successful
  • 38. 31 SEQUENCE DIAGRAM FOR BALANCE ENQUIRY Fig 4-6: Sequence diagram for balance enquiry This diagram is about checking balance. First user select bank after selecting bank user has to login. After login it checks whether the entered account is valid or not if valid then all the details of the user will display. bankuser account transaction transactiontype 1.select bank 2.enter account number and pin 3.check account 4.select transactiontype 5.balance enquiry 6.displayaccount details
  • 39. 32 STATE CHART DIAGRAM It consists of state, events and activities. State diagrams are a familiar technique to describe the behavior of a system. They describe all of the possible states that a particular object can get into and how the object's state changes as a result of events that reach the object. In most OO techniques, state diagrams are drawn for a single class to show the lifetime behavior of a single object. STATE CHART DIAGRAM FOR BALANCE ENQUIRY Fig 4-7 State chart diagram for balance enquiry Here circle is represented as initial state of transaction and double circle is representation of end state and the balance enquiry and all the above are the remaining states of the diagram. enter user name and password select bank select transaction type enter account number and pin balance enquiry details of account balance transaction completed
  • 40. 33 STATE CHART DIAGRAM FOR TRANSFER MONEY Fig 4-8: State chart diagram for transfer money Here circle is represented as initial state of transaction and double circle is representation of end state and the transfer money and all the above are the remaining states of the diagram. enter user name and password select bank select transaction type enter account number and pin transfer money enter toaccount number transaction successful
  • 41. 34 4.3 Module design and organization Modules are categorize into 3 categories those are  Profile management  Account management  Transaction management In the first module that is profile management, user can get register, User can select the city name, User can select the country name, User can login into the system, and User can select the security question. In the second module that is account management, User can select a particular bank, User can enquire about the information regarding balance and User can provide the destination account no to transfer the money. In the third module that is transaction management, in which User can get the transaction details, Transaction amount is transferred to destination account number. 4.4 Conclusion In this chapter we use diagrams by seeing this diagram we can easily understand how our application works. Users can easily get how over application will work. Designing is a best approach for software developer.
  • 42. 35 CHAPTER 5 IMPLEMENTATION & RESULTS 5.1 INTRODUCTION Implementation is the carrying out, execution, or practice of a plan, a method, or any design for doing something. As such, implementation is the action that must follow any preliminary thinking in order for something to actually happen. In an information technology context, implementation encompasses all the processes involved in getting new software or hardware operating properly in its environment, including installation, configuration, running, testing, and making necessary changes. The word deployment is sometimes used to mean the same thing. 5.2 METHOD OF IMPLEMENTATION SERVLETS/JSP A Servlet is a generic server extension. a Java class that can be loaded Dynamically to expand the functionality of a server. Servlets are commonly used with web servers. Where they can take the place CGI scripts. Unlike CGI and Fast CGI, which use multiple processes to handle separate program or separate requests, separate threads within web server process handle all servlets. This means that servlets are all efficient and scalable. Servlets are portable; both across operating systems and also across web servers. Java Servlets offer the best possible platform for web application development. Servlets are used as replacement for CGI scripts on a web server, they can extend any sort of server such as a mail server that allows serveltst extend its functionality perhaps by performing a virus scan on all attached documents or handling mail filtering tasks. Servlets provide a Java-based solution used to address the problems currently associated with doing server-side programming including inextensible scripting solutions platform-specific API’s and incomplete interface.
  • 43. 36 Servlets are objects that conform to a specific interface that can be plugged into a Java-based server. Servlets are to the server-side what applets are to the server- side what applets are to the client-side-object byte codes that can be dynamically loaded off the net. They differ from applets in than they are faceless objects(without graphics or a GUI component).They serve as platform independent, dynamically loadable, plugable helper byte code objects on the server side that can be used to dynamically extend server-side functionality. For example an HTTP servlet can be used to generate dynamic HTML content when you use servlets to do dynamic content you get the following advantages:  They’re faster and cleaner then CGI scripts  They use a standard API( the servlet API)  They provide all the advantages of Java (run on a variety of servers without needing to be rewritten. ATTRACTIVENESS OF SERVLETS They are many features of servlets that make them easy and attractive to tuse these include:  Easily configure using the GUI-based Admin tool]  Can be Loaded and Invoked from a local disk or remotely across the network.  Can be linked together or chained, so that on servlet can call another servlet, or several servlets in sequence.  Can be called dynamically from within HTML, pages using server-side include-tags.  Are secure-even when downloading across the network, the servlet security model and servlet and box protect your system from unfriendly behavior., ADVANTAGES OF THE SERVLET API One of the great advantages of the servlet API is protocol independent. It assumes nothing about
  • 44. 37  The protocol being used to transmit on the net  How it is loaded  The server environment it will be running in  These quantities are important, because it allows the Servlet API to be embedded in many different kinds of servers. There are other advantages to the servelt API as well These include:  It’s extensible-you can inherit all your functionality from the base classes made available to you FEATURES OF SERVLETS  Servlets are persistent. Servlet are loaded only by the web server and can maintain services between requests.  Servlets are fast. Since servlets only need to be lloaded once, they offer much better performance over their CGI counterparts.  Servlets are platform independent.  Servlets are extensible Java is a robust, object-oriented programming language, which easily can be extended to suit your needs.  Servlets are secure Servlets are used with a variety of client. Servlets are classes and interfaces from tow packages, javax .servlet and javax.servlet.http.Thejava.servlet package contains classes support generic, protocol- independent servlets. The classes in the javax.servelt.http package to and HTTP specific functionality extend these classes Every servlet must implement the javax.serveltinterface.Most servlets implement it by extending one of two classes.javax.servlet.GenericServlet or javax.servlet.http.HttpServlet.A protocol-independent servlet should subclass Generic-Servlet. While an Http servlet should subclass HttpServlet, which is itself a subclass of Generic-servlet with added HTTP-specific functionality. Unlike a java program, a servlet does not have a main() method, Instead the server in the process of handling requests invoke certain methods of a servlet. Each time the server dispatches a request to a servlet, it invokes the servelts Service () method,
  • 45. 38 A generic servlet should override its service() method to handle requests as appropriate for the servlet. The service() accepts two parameters a request object and a response object .The request object tells the servlet about the request, while the response object is used to return a response InContrast.anHttp servlet usually does not override the service () method. Instead it overrides doGet() to handle GET requests and doPost() to handle Post requests. An Http servlet can override either or both of these modules the service () method of HttpServlet handles the setup and dispatching to all the doXXX() methods. Which is why it usually should not be overridden The remainders in the javax.servlet and javax.servlet.http.package are largely support classes .The ServletRequest and ServletResponse classes in javax.servlet provide access to generic server requests and responses while HttpServletRequest and HttpServletResponse classes in javax.servlet provide access to generic server requests and responses while HttpServletRequest and HttpServletResponse in javax.servlet.http provide access a HTTP requests and responses. The javax.servlet.http provide contains an HttpSession class that provides built-in session tracking functionality and Cookie class that allows quickly setup and processing HttpCookies. LOADING SERVLETS Servlets can be loaded from their places. From a directory that is on the CLASSPATH. The CLASSPATH of the JavaWebServer includes service root/classes/, which is where the system classes reside From the <SERVICE_ROOT/servlets/directory. This is not in the server’s classpath. A class loader is used to create servlets form this directory. New servlets can be added-existing servlets can be recompiled and the server will notice these changes. From a remote location. For this a code base like http://nine.eng/classes/foo is required in addition to the servlet’s class name. Refer to the admin Gui docs on servlet section to see how to set this up.
  • 46. 39 LOADING REMOTE SERVLETS Remote servlets can be loaded by:  Configuring the admin Tool to setup automatic loading of remote servlets.  Selection up server side include tags in .html files  Defining a filter chain Configuration INVOKING SERVLETS A servlet invoker is a servlet that invokes the “server” method on a named servlet. If the servlet is not loaded in the server, then the invoker first loads the servlet (either form local disk or from the network) and the then invokes the “service” method. Also like applets, local servlets in the server can be identified by just the class name. In other words, if a servlet name is not absolute. It is treated as local. A Client can Invoke Servlets in the Following Ways:  The client can ask for a document that is served by the servlet.  The client(browser) can invoke the servlet directly using a URL, once it has been mapped using the SERVLET ALIASES Section of the admin GUI  The servlet can be invoked through server side include tags.  The servlet can be invoked by placing it in the servlets/directory  The servlet can be invoked by using it in a filter chain THE SERVLET LIFE CYCLE The Servlet life cycle is one of the most exciting features of Servlets. This life cycle is a powerful hybrid of the life cycles used in CGI programming and lower-level NSAPI and ISAPI programming. The servlet life cycle allows servlet engines to address both the performance and resource problems of CGI and the security concerts of low level server API programming. Servlet life cycle is highly flexible Servers have significant leeway in how they choose to support servlets.
  • 47. 40 The only hard and fast rule is that a servlet engine must conform to the following life cycle contact:  Create and initialize the servlets  Handle zero or more service from clients  Destroy the servlet and then garbage collects it. It’s perfectly legal for a servlet t be loaded, created an initialized in its own JVM, only to be destroyed an garbage collected without handling any client request or after handling just one request The most common and most sensible life cycle implementations for HTTP servelts are: Single java virtual machine and astatine persistence. INIT () AND DESTROY () Just like Applets servlets can define init() and destroy() methods, A servlets init(ServiceConfig) method is called by the server immediately after the server constructs the servlet’s instance. Depanding on the server and its configuration, this can be at any of these times  When the server states  When the servlet is first requested, just before the service() method is invoked  At the request of the server administrator In any case, init() is guaranteed to be called before the servlet handles its first request.The init() method is typically used to perform servlet initialization creating or loading objects that are used by the servlet in handling of its request. In order to providing a new servlet any information about itself and its environment, a server has to call a serveltsinit() method and pass an object that implement the ServletConfig interface. This ServletConfig object supplies a servlet with information about its initialization parameters. These parameters are given to the servlets and are not associated with any single request. They can specify initial values, such as where a counter should begin counting, or default values, perhaps a template to use when not specified by the request.
  • 48. 41 The server calls a servlet’s destroy() method when the servlet is about to be unloaded. In the destroy() method, a servlet should free any resources it has acquired that will not be garbage collected. The destroy() method also gives a servlet a chance to write out its unsaved. Cached information or any persistent information that should be read during the next call to init(). SESSION TRACKING HTTP is a stateless protocol, it provides no way for a server to recognize that a sequence of requests is all from the same client. This causes a problem for application such as shopping cart applications. Even in chat application server can’t know exactly who’s making a request of several clients. The solution for this is for client to introduce itself as it makes each request, Eachclients needs to provide a unique identifier that lets the server identify it, or it needs to give some information that the server can use to properly handle the request. There are several ways to send this introductory information with each request Such as: JDBC WHAT IS JDBC? Any relational database, One can write a single program using the JDBC API, and the JDBC is a Java API for executing SQL,Statements(As a point of interest JDBC is trademarked name and is not an acronym; nevertheless, Jdbc is often thought of as standing for Java Database Connectivity. It consists of a set of classes and interfaces written in the Java Programming language. JDBC provides a standard API for tool/database developers and makes it possible to write database applications using a pure Java API.Using JDBC, it is easy to send SQL statements to virtually program will be able to send SQL .statements to the appropriate database. The Combination of Java and JDBC lets a programmer writes it once and run it anywhere WHAT DOES JDBC DO  Establish a connection with a database  Send SQL statements and Process the results
  • 49. 42 JDBC Driver Types  The JDBC drivers that we are aware of this time fit into one of four categories  JDBC-ODBCBridge plus ODBC driver  Native-API party-java driver  JDBC-Net pure java driver  Native-protocol pure Java driver An individual database system is accessed via a specific JDBC driver that implements the java.sql.Driver interface. Drivers exist for nearly all-popular RDBMS systems, through few are available for free. Sun bundles a free JDBC-ODBC bridge driver with the JDK to allow access to a standard ODBC,data sources, such as a Microsoft Access database, Sun advises against using the bridge driver for anything other than development and very limited development. JDBC drivers are available for most database platforms, from a number of vendors and in a number of different flavors. There are four driver categories TYPE 01-JDBC-ODBC BRIDGE DRIVER Type 01 drivers use a bridge technology to connect a java client to an ODBC database service. Sun’s JDBC-ODBC bridge is the most common type 01 driver. These drivers implemented using native code. TYPE 02-NATIVE-API PARTY-JAVA DRIVER Type 02 drivers wrap a thin layer of java around database-specific native code libraries for Oracle databases, the native code libraries might be based on the OCI(Oracle call Interface) libraries, which were originally designed for c/c++ programmers, Because type-02 drivers are implemented using native code. in some cases they have better performance than their all-java counter parts. They add an element of risk, however, because a defect in a driver’s native code section can crash the entire server. TYPE 03-NET-PROTOCOL ALL-JAVA DRIVER Type 03 drivers communicate via a generic network protocol to a piece of custom middleware. The middleware component might use any type of driver to provide the
  • 50. 43 actual database access. These drivers are all java, which makes them useful for applet deployment and safe for servlet deployment. TYPE-04-NATIVE-PROTOCOL ALL-JAVA DRIVER Type 04 drivers are the most direct of the lot. Written entirely in java, Type 04 drivers understand database-specific networking. protocols and can access the database directly without any additional software JDBC-ODBC BRIDGE If possible use a Pure Java JDBC driver instead of the Bridge and an ODBC driver. This completely eliminates the client configuration required by ODBC.It also eliminates the potential that the Java VM could be corrupted by an error in the native code brought in by the Bridge(that is, the Bridge native library, the ODBC driver manager library, library, the ODBC driver library, and the database client library) WHAT IS THE JDBC-ODBEBRIDGE ? The JDBC-ODBCBridge is a Jdbc driver, which implements JDBC operations by translating them into ODBC operations. To ODBC it appears as a normal application program. The Bridge is implemented as the sun.jdbc.odbc Java package and contains a native library used to access ODBC.The Bridge is joint development of Intervolve and Java Software. ORACLE 10g Oracle databases refer to server-side memory structure as the SGA (system Global Area). SGA typically holds cache information such as data-buffers, SQL commands and user information. In addition to storage, the database consists of online redo logs, which hold transactional history. Oracle is a relational database management system, which organizes data in the form of tables. Oracle is one of many database servers based on RDBMS model, which manages a seer of data that attends three specific things-data structures, data integrity and data manipulation. With oracle cooperative server technology we can realize the benefits of open, relational systems for all the applications. Oracle makes efficient use of all systems resources, on all hardware architecture; to deliver unmatched performance, price
  • 51. 44 performance and scalability. Any DBMS to be called as RDBMS has to satisfy Dr.E.F.Codd’s rule. FEATURES OF ORACLE PORTABLE The Oracle RDBMS is available on wide range of platforms ranging from PCs to super computers and as a multi user loadable module for Novel NetWare, if you develop application on system you can run the same application on other systems without any modifications. COMPATIBLE Oracle commands can be used for communicating with IBM DB2 mainframe RDBMS that is different from Oracle, which is Oracle compatible with DB2. Oracle RDBMS is a high performance fault tolerant DBMS, which is specially designed for online transaction processing and for handling large database applications. MULTITHREADED SERVER ARCHITECTURE Oracle adaptable multithreaded server architecture delivers scalable high performance for very large number of users on all hardware architecture including symmetric multiprocessors (sumps) and loosely coupled multiprocessors. Performance is achieved by eliminating CPU, I/O, memory and operating system bottlenecks and by optimizing the Oracle DBMS server code to eliminate all internal bottlenecks. Oracle has become the most popular RDBMS in the market because of its ease of use  Client/server architecture.  Data independence.  Ensuring data integrity and data security.  Managing data concurrency.  Parallel processing support for speed up data entry and online transaction processing used for applications.  DB procedures, functions and packages.
  • 52. 45 ECLIPSE Eclipse is a multi-language software development environment comprising an integrated development environment (IDE) and extensible plug-in system. Written mostly in Java, Eclipse can be used to develop application in java. APACHE TOMCAT Tomcat is an open source web server and Servlet container developed by the Apache Software Foundation (ASF). Tomcat implements the java Servlet and the Java Server Page (JSP) specification from Sun micro systems, and provides a “pure JAVA” HTTP web server environment for Java code to run in. Apache Tomcat includes tools for configuration and management, but can also be configured by editing XML configuration files. VOXEO PROPHECY Prophecy makes it easy for you to interact with customers in way to improve service, drive sales and lower costs. Built on core principles of simplicity and open standard, prophecy simplifies development and ease ongoing maintenance. Voxeo prophecy is a powerful, 100% standards-based platform for speech, IVR, VRU and SIP VoIP applications. Built natively on Voice-Over-IP (VoIP) protocols, Prophecy seamlessly integrates into next generation contact center built on IP communication. Prophecy was the first application platform to support VoiceXML, CCXML, the first to be natively based on the Session Initiation Protocol (SIP) and first to support HD audio and IPv6.
  • 53. 46 5.3 SCREEN SHORT Screen 5-1: url address of application In SIP phone we are Dialing url address of our application’s first page from where our application will get start. Here url address is vb@127.0.0.1
  • 54. 47 Screen 5-2: Entering user name and password In SIP phone we are giving user name and password. Here user name is 13 and password is 12.
  • 55. 48 Screen 5-3: Entering account number and pin Here in SIP phone we are entering account number to transfer money. Here account number is 1236 and pin is 11.
  • 56. 49 Screen 5-4: Entering account number to transfer money Here in SIP phone we are entering toaccount number to transfer money. Here account number is 1234.
  • 57. 50 Screen 5-5: Entering money to transfer amount Here in SIP phone we are entering amount to transfer money from one account to other. Here we are entering amount as 2000/-. 5.4 CONCLUSION From this we can easily understand the implementation of our project and which type of implementation we have done like we have use Oracle, Voxeo Prophecy, Apache Tomcat, Eclipse etc.
  • 58. 51 CHAPTER 6 TESTING & VALIDATION 6.1 INTRODUCTION Software testing is the process of evaluation a software item to detect differences between given input and expected output. Also to assess the feature of A software item. Testing assesses the quality of the product. Software testing is a process that should be done during the development process. In other words software testing is a verification and validation process. BLACK BOX TESTING The technique of testing without having any knowledge of the interior workings of the application is Black Box testing. The tester is oblivious to the system architecture and does not have access to the source code. Typically, when performing a black box test, a tester will interact with the system's user interface by providing inputs and examining outputs without knowing how and where the inputs are worked upon. WHITE BOX TESTING White box testing is the detailed investigation of internal logic and structure of the code. White box testing is also called glass testing or open box testing. In order to perform white box testing on an application, the tester needs to possess knowledge of the internal working of the code. The tester needs to have a look inside the source code and find out which unit/chunk of the code is behaving inappropriately.
  • 59. 52 6.2 DESIGN OF TEST CASES AND SCENARIOS S.NO INPUT EXPECTED OUTPUT OBSERVED OUTPUT TEST CASE 1. Enter your name and password User should give a valid username and password We get a valid username and password p 1. Select bank It should prompt the list of banks Selected bank information is stored into the database P 2. Select bank It should prompt the list of banks Selected bank is not available in database. F 3. Enter account number User should give a valid account number We get valid account number P 4. Enter account number User should give a valid account number We get Invalid account number F 5. Enter valid pin number User should give a valid pin number We get a valid pin number p 6. Enter valid pin number User should give valid pin number We get Invalid Pin number F 7. Select transaction type It should prompt types of transaction type The selected type should be stored into the database P 8. Balance enquiry It should prompt balance detail of user We get user’s account information P
  • 60. 53 6.3 VALIDATION Verification that something is correct or conforms to a certain standard. In data collection or data entry, it is the process of ensuring that the data that are entered fall within the accepted boundaries of the application collecting the data. For example, if a program is collecting last names to be entered in a database, the program validates that only letters are entered and not numbers; or in a survey collecting data in the form of "yes" or "no" questions, the program validates that only those responses are used and not some other word. Validation procedures typically are written into the program code and are therefore invisible to the user. <nomatch> The nomatch element is a syntactic shorthand for the expression <catch event=”nomatch”>. This attribute allows the developer to assign handlers when the caller inputs a value that is not recognized by any of the active grammars. usage <nomatch cond="CDATA" count="CDATA"> ATTRIBUTES i) cond Data Type: CDATA Default: Optional (true) The cond attribute specifies a Boolean expression, which must equate to ‘true’ in order for the content to be visited and executed. Any standard ECMAScript Boolean value is valid for this attribute. ii) count Data Type: CDATA Default: Optional The count attribute allows the developer fine grained control over event handling upon multiple event occurrences. When an event is thrown for the first time,
  • 61. 54 the catch element with a count of 1 will be executed. Upon the second instance of the same event, the FIA will look for a catch handler with a count value of 2, if one exists, otherwise, it will simply execute the catch handler with the count of 1 again. CODE SAMPLES <Nomatch count-cond> sample <?xml version="1.0" encoding="UTF-8"?> <vxml version = "2.1" xmlns="http://www.w3.org/2001/06/vxml"> <meta name="copyright" content="2012 Voxeo Corporation"/> <meta name="maintainer" content="YOUR_EMAIL@HERE.COM"/> <form id="F1"> <field name="F_1"> <nomatch cond="false" count="1"> <prompt> this handler will never get executed because the condition is set to false. </prompt> </nomatch> <nomatch cond="true" count="1"> <prompt> no match count one is successful. </prompt> </nomatch> </form> </vxml> <noinput> The noinput tag acts as a syntactic shorthand for the expression <catch event=”noinput”>. It allows the developer to assign event handlers when the application expects voice or DTMF input, but has received none from the caller.
  • 62. 55 USAGE <noinput cond="CDATA" count="CDATA"> ATTRIBUTES i) cond Data Type: CDATA Default: Optional (true) The cond attribute specifies a Boolean expression, which must equate to ‘true’ in order for the content to be visited and executed. Any standard ECMAScript Boolean value is valid for this attribute. ii) count Data Type: CDATA Default: Optional The count attribute allows the developer fine grained control over event handling upon multiple event occurrences. When an event is thrown for the first time, the catch element with a count of 1 will be executed. Upon the second instance of the same event, the FIA will look for a catch handler with a count value of 2, if one exists, otherwise, it will simply execute the catch handler with the count of 1 again. CODE SAMPLES <Noinput count-cond> sample <?xml version="1.0" encoding="UTF-8"?> <vxml version = "2.1" xmlns="http://www.w3.org/2001/06/vxml"> <meta name="copyright" content="2005 voxeo corporation"/> <meta name="maintainer" content="YOUR_EMAIL@HERE.COM"/> <form id="F1"> <field name="F_1"> <noinput cond="false" count="1"> <prompt> This handler will never get executed, because the condition is set to false. </prompt>
  • 63. 56 </noinput> <noinput cond="true" count="1"> <prompt> no input count one is successful. </prompt> </noinput> <noinput cond="true" count="2"> <prompt> no input count two is successful. </prompt> </noinput> </field> </form> </vxml> 6.4 Conclusion Validation Summary Reports provide an overview of the entire validation project. We have tested our application and validations also done.
  • 64. 57 CHAPTER 7 CONCLUSION Voice banking provides an easy way of banking services. By using this application Illiterate people can easily get the services even though they don’t have knowledge about system they can access this application by dialing the numbers through SIP phone. And it is a very useful application. FUTURE ENHANCEMENTS This project is limited to balance enquiry, and transfer money from one account to another. In future we can extend this project by adding more banks, Appling for new check book, Date of transferring money and many more features.