document for voice banking system mini project

85
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 1

Upload: jal-pari

Post on 06-May-2015

1.843 views

Category:

Education


1 download

TRANSCRIPT

Page 1: document for Voice banking system mini project

CONTENTS PAGE NO

Abstract i

List of Figures ii

List of Screensiii

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

1

Page 2: document for Voice banking system mini project

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

2

Page 3: document for Voice banking system mini project

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.

i

Page 4: document for Voice banking system mini project

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

ii

Page 5: document for Voice banking system mini project

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

iii

Page 6: document for Voice banking system mini project

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

iv

Page 7: document for Voice banking system mini project

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.

v

Page 8: document for Voice banking system mini project

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.

1

Page 9: document for Voice banking system mini project

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.

2

Page 10: document for Voice banking system mini project

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.

3

Page 11: document for Voice banking system mini project

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,

4

Page 12: document for Voice banking system mini project

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.

5

Page 13: document for Voice banking system mini project

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

6

TTS or Audio

Speech Browser

Speech Recognition Engine

HTTP Server

Application Code

Voice App Code

VoiceXML

JSPs & Java

TextGram

marsTextAudio

Audio Out

Audio In

Request (URL)Markup VXML

Request

Markup

Data Request

Data

Pronunc

Audio

Grammars

Docs

Config

Config

Back End

VOICE

SERVER

SERVER

1

2

3

4

Page 14: document for Voice banking system mini project

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.

7

Page 15: document for Voice banking system mini project

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.

8

Page 16: document for Voice banking system mini project

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.

9

Page 17: document for Voice banking system mini project

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.

10

Page 18: document for Voice banking system mini project

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.

11

Page 19: document for Voice banking system mini project

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

12

Page 20: document for Voice banking system mini project

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?

13

Page 21: document for Voice banking system mini project

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?

14

Page 22: document for Voice banking system mini project

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?

15

Page 23: document for Voice banking system mini project

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

16

Page 24: document for Voice banking system mini project

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.

17

UserDatabase

Profile Management

Account Management

Transaction Management

Page 25: document for Voice banking system mini project

NO

YES

NO

18

ENTER USER NAME AND PASSWORD

IS USER NAME AND PASSWOR

D

START

ENTER BANK NAME

ENTER ACCOUNT

NUMBER AND PIN

IS ACCOUNT NUMBER AND

PIN IS CORRECT?

1 21

Page 26: document for Voice banking system mini project

BALANCE ENQUIRY

MONEY

TRANSFER

19

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

Page 27: document for Voice banking system mini project

Fig 3-2: FLOW CHART OF BANKING SYSTEM

20

TRANSACTION SUCCESSFUL IN SUFFICIENT

BALANCE

EXIT

43 65

Page 28: document for Voice banking system mini project

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.

21

Page 29: document for Voice banking system mini project

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

22

Page 30: document for Voice banking system mini project

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

23

Page 31: document for Voice banking system mini project

Fig 4-1: ER-diagram of banking system

24

Page 32: document for Voice banking system mini project

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.

25

Page 33: document for Voice banking system mini project

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

26

Page 34: document for Voice banking system mini project

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.

27

Page 35: document for Voice banking system mini project

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.

user

login pin valid

transfer

transaction

bank1

balance enquiry

balance

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.

28

Page 36: document for Voice banking system mini project

SEQUENCE DIAGRAM FOR CREATING A NEW ACCOUNT

customer database

login

check the application is submitted or not

yes/account

no/login again

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.

29

Page 37: document for Voice banking system mini project

SEQUENCE DIAGRAM FOR TRANSFERRING 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

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.

30

Page 38: document for Voice banking system mini project

SEQUENCE DIAGRAM FOR BALANCE ENQUIRY

bankuser account transaction transactiontype

1.select bank

2.enter account number and pin

3.check account

4.select transactiontype

5.balance enquiry

6.display account details

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.

31

Page 39: document for Voice banking system mini project

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

enter user name and password

select bank

select transaction type

enter account number and pin

balance enquiry

details of account balance

transaction completed

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.

32

Page 40: document for Voice banking system mini project

STATE CHART DIAGRAM FOR TRANSFER MONEY

enter user name and password

select bank

select transaction type

enter account number and pin

transfer money

enter toaccount number

transaction successful

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.

33

Page 41: document for Voice banking system mini project

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.

34

Page 42: document for Voice banking system mini project

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.

35

Page 43: document for Voice banking system mini project

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

36

Page 44: document for Voice banking system mini project

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 l\loaded 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,

37

Page 45: document for Voice banking system mini project

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.

38

Page 46: document for Voice banking system mini project

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.

39

Page 47: document for Voice banking system mini project

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.

40

Page 48: document for Voice banking system mini project

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

41

Page 49: document for Voice banking system mini project

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

42

Page 50: document for Voice banking system mini project

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

43

Page 51: document for Voice banking system mini project

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.

44

Page 52: document for Voice banking system mini project

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.

45

Page 53: document for Voice banking system mini project

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 [email protected]

46

Page 54: document for Voice banking system mini project

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.

47

Page 55: document for Voice banking system mini project

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.

48

Page 56: document for Voice banking system mini project

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.

49

Page 57: document for Voice banking system mini project

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.

50

Page 58: document for Voice banking system mini project

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.

51

Page 59: document for Voice banking system mini project

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

52

Page 60: document for Voice banking system mini project

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,

53

Page 61: document for Voice banking system mini project

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="[email protected]"/>

<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.

54

Page 62: document for Voice banking system mini project

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="[email protected]"/>

<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>

55

Page 63: document for Voice banking system mini project

</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.

56

Page 64: document for Voice banking system mini project

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.

57