Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
i
CONTENTS PAGE NO
Abstract i
List of Figures ii
List of Screens iii
Symbols & Abbreviations iv
1. INTRODUCTION
1.1 Motiva...
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. IMP...
i
ABSTRACT
This document specifies Voice application, is an application in which both the
input/output are through voice (...
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 cha...
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...
iv
ABBREVIATIONS
VXML--voicexml
SRS- Software Requirement specification
ER-entity relationship
UML-unified modeling langua...
v
SYMBOLS
SYMBOL NAME DESCRIPTION
Flow Line
(Arrow, Connector)
Flow line connectors
show the direction that
the process fl...
1
CHAPTER 1
INTRODUCTION
1.1 MOTIVATION
Voice banking provides a feasible solution to users. By using this application
we ...
2
1.3 OBJECTIVE OF PROJECT
Main objective of our project is to provide a feasible solution to users. By
using this applica...
3
1.5 ORGANIZATION OF DOCUMENTATION
The organization of this document follows a new approach which we find to
be best when...
4
CHAPTER 2
LITERATURE SURVEY
2.1 INTRODUCTION
Voice Extensible Markup Language VXML, or VoiceXML, technology
allows a use...
5
meaning that a user at one location can access information or an application provided
by a server at another geographica...
6
 By September 1999 the Forum released VoiceXML 0.9 for member comment,
and in March 2000 they published VoiceXML 1.0.
...
7
VOICEXML – ARCHITECTURE
A typical VoiceXML based system contains the four main components.
i. TELEPHONE NETWORK
Telephon...
8
TEXT TO SPEECH (TTS)
The speech browser will delegate the request to this component where it is
responsible for synthesi...
9
2.2 Existing System
In the present scenario to get the banking service people are manually go the
bank like money transa...
10
2.5 Conclusion
Voice banking provides an easy way of banking services.Despite the Internet's
growing acceptance, the te...
11
CHAPTER 3
ANALYSIS
3.1 INTRODUCTION
The purpose of the SRS is to provide a detailed overview of our software
product, i...
12
3.2 SOFTWARE REQUIREMENT SPECIFICATION
SRS-VOICE BANKING
MODULES
1. Profile Management
2. Account Management
3. Transac...
13
Country
 Country id
 Country Name
Security Question
 Question id
 Question Description
Functionalities
1. User can ...
14
Account Management
Provision
Bank
 Bank id
 Bank Name
 Branch
Account
 Account no
 Account Holder
 Pin no
 Balan...
15
Report
 Comparison between number of account holders in a bank
 Comparison between number of account holder over a pa...
16
Report
 Number of transactions over a period of time to a particular bank?
3.2.1 USER REQUIREMENT
 User must have val...
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...
18
NO
YES
NO
ENTER USER
NAME AND
PASSWORD
IS USER
NAME AND
PASSWORD
CORRECT?
START
ENTER BANK
NAME
ENTER
ACCOUNT
NUMBER AN...
19
BALANCE ENQUIRY
MONEY
TRANSFER
BALANCE
ENQUIRY OR
MONEY
TRANSFER?
PLEASE ENTER
ACCOUNT NO.
TO TRANSFER
MONEY
IS
ACCOUNT...
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 requireme...
22
CHAPTER 4
DESIGN
4.1 INTRODUCTION
Software design is a process of problem solving and planning for software
solution. A...
23
different employees (B), but those employees all share the same singular
association with entity A.
One-to-many relatio...
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 ...
26
2. ASSOCIATION
Association describes how the elements in an UML diagram are associated. In
simple word it describes how...
27
UML CLASS DIAGRAM
The UML class diagram is also known as object modeling. It is a static
analysis diagram. These diagra...
28
USE-CASE DIAGRAM
The functionality of a system can be described in a number of different use-
cases, each of which repr...
29
SEQUENCE DIAGRAM FOR CREATING A NEW ACCOUNT
Fig 4-4: Sequence diagram for creating a new account
Customer can login int...
30
SEQUENCE DIAGRAM FOR TRANSFERRING MONEY
Fig 4-5: Sequence diagram for transferring money
This diagram is about transfer...
31
SEQUENCE DIAGRAM FOR BALANCE ENQUIRY
Fig 4-6: Sequence diagram for balance enquiry
This diagram is about checking balan...
32
STATE CHART DIAGRAM
It consists of state, events and activities. State diagrams are a familiar
technique to describe th...
33
STATE CHART DIAGRAM FOR TRANSFER MONEY
Fig 4-8: State chart diagram for transfer money
Here circle is represented as in...
34
4.3 Module design and organization
Modules are categorize into 3 categories those are
 Profile management
 Account ma...
35
CHAPTER 5
IMPLEMENTATION & RESULTS
5.1 INTRODUCTION
Implementation is the carrying out, execution, or practice of a pla...
36
Servlets are objects that conform to a specific interface that can be plugged
into a Java-based server. Servlets are to...
37
 The protocol being used to transmit on the net
 How it is loaded
 The server environment it will be running in
 Th...
38
A generic servlet should override its service() method to handle requests as
appropriate for the servlet. The service()...
39
LOADING REMOTE SERVLETS
Remote servlets can be loaded by:
 Configuring the admin Tool to setup automatic loading of re...
40
The only hard and fast rule is that a servlet engine must conform to the
following life cycle contact:
 Create and ini...
41
The server calls a servlet’s destroy() method when the servlet is about to be
unloaded. In the destroy() method, a serv...
42
JDBC Driver Types
 The JDBC drivers that we are aware of this time fit into one of four
categories
 JDBC-ODBCBridge p...
43
actual database access. These drivers are all java, which makes them useful for applet
deployment and safe for servlet ...
44
performance and scalability. Any DBMS to be called as RDBMS has to satisfy
Dr.E.F.Codd’s rule.
FEATURES OF ORACLE
PORTA...
45
ECLIPSE
Eclipse is a multi-language software development environment comprising an
integrated development environment (...
46
5.3 SCREEN SHORT
Screen 5-1: url address of application
In SIP phone we are Dialing url address of our application’s fi...
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...
48
Screen 5-3: Entering account number and pin
Here in SIP phone we are entering account number to transfer money. Here
ac...
49
Screen 5-4: Entering account number to transfer money
Here in SIP phone we are entering toaccount number to transfer mo...
50
Screen 5-5: Entering money to transfer amount
Here in SIP phone we are entering amount to transfer money from one
accou...
51
CHAPTER 6
TESTING & VALIDATION
6.1 INTRODUCTION
Software testing is the process of evaluation a software item to detect...
52
6.2 DESIGN OF TEST CASES AND SCENARIOS
S.NO INPUT EXPECTED
OUTPUT
OBSERVED
OUTPUT
TEST CASE
1. Enter your
name and
pass...
53
6.3 VALIDATION
Verification that something is correct or conforms to a certain standard. In
data collection or data ent...
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...
55
USAGE
<noinput cond="CDATA" count="CDATA">
ATTRIBUTES
i) cond
Data Type: CDATA
Default: Optional (true)
The cond attrib...
56
</noinput>
<noinput cond="true" count="1">
<prompt> no input count one is successful. </prompt>
</noinput>
<noinput con...
57
CHAPTER 7
CONCLUSION
Voice banking provides an easy way of banking services. By using this
application Illiterate peopl...
Upcoming SlideShare
Loading in …5
×

document for Voice banking system mini project

6,020 views

Published on

Published in: Education
  • Be the first to comment

document for Voice banking system mini project

  1. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 27. 20 Fig 3-2: FLOW CHART OF BANKING SYSTEM TRANSACTION SUCCESSFUL IN SUFFICIENT BALANCE EXIT 43 65
  28. 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. 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. 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. 31. 24 Fig 4-1: ER-diagram of banking system
  32. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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.

×