voice transmission through lan over bluetooth
TRANSCRIPT
-
7/28/2019 Voice Transmission Through Lan Over Bluetooth
1/49
1
1. INTRODUCTION
1.1 PROJECT DESCRIPTION
The system consists of two userssender and receiver. The person who sets up the call is
considered as the sender. The other person is considered as the receiver. At the sender
side there are two main modules the sender mobile and sender side service provider.
Similarly, the receiver has two modules the receiver mobile and receiver side service
provider.
The sender mobile consists of four functional units. They are:
1. User interface
This unit acts as an interface between the application and the user. It enables the user toview the contacts, add new contact and thus set up the call. Appropriate messages such as
Calling, Call terminated etc are displayed to the user to make the system friendly.
2. Multimedia
This unit is responsible for buffering the audio data.
3. Hardware (microphone)
The microphone is responsible for reading audio signals from the user and converts it to
digital audio data.
4. Bluetooth communication layer
This unit is responsible for transmitting the audio packets and maintaining the connection
with sender side host.
The sender side service provider consists of two functional units. They are:
1. Bluetooth Communication Layer
It waits for any incoming connection request. Also receives the packets from senders
mobile and forwards it.
2. Network communication layer
It waits for acknowledgement from the receiver and exchanges data packets.
The receiver side service provider consists of two functional units. They are:
1. Bluetooth communication layer
Forward the received data packet to receivers mobile.
-
7/28/2019 Voice Transmission Through Lan Over Bluetooth
2/49
2
2. Network communication layer
Receives data packets from sender side service provider.
The receiver mobile consists of four functional units. They are:
1. User interface
This unit acts as an interface between the application and the user. It enables the user to
accept or reject the call. Appropriate messages such as Calling, Call terminated etc
are displayed to the user to make the system friendly.
2. Multimedia
This unit is responsible for buffering the received audio data.
3. Hardware (Speaker)
The speaker is responsible for reading audio data received and playing it.
4. Bluetooth communication layer
This unit is responsible for receiving the audio packets and maintaining the connection
with receiver side service provider.
-
7/28/2019 Voice Transmission Through Lan Over Bluetooth
3/49
3
2. PROBLEM DEFINITION
2.1 Existing System:
Mobile phones are having many facilities like sending SMS, calling some another one
etc., here we need to pay certain amount in order to utilize them. And with the help of
Bluetooth in Wireless Devices, we can transfer data to other devices for a certain range at
free of cost. It is not possible if the range is beyond the limit.
2.2 Proposed System:
In the proposed system, we make use of Bluetooth and LAN in order to make
communication at free of cost. Here we make half duplex communication to other device
even beyond the Bluetooth Limit with the help of LAN.
-
7/28/2019 Voice Transmission Through Lan Over Bluetooth
4/49
4
3. FEASIBILITY STUDY
The next step in analysis is to verify the feasibility of the proposed system. All
projects are feasible given unlimited resources and infinite time. But in reality both
resources and time are scarce. Project should confirm to time bounce and should be
optimal in there consumption of resources. This place a constant is approval of any
project. Feasibility has applied to Digital Tune pertains to the following areas:
Technical feasibility Operational feasibility Economical feasibility
3.1TECHNICAL FEASIBILITY:
To determine whether the proposed system is technically feasible, we should take into
consideration the technical issues involved behind the system.
3.2 OPERATIONAL FEASIBILITY:
To determine the operational feasibility of the system we should take into
consideration the awareness level of the users. This system is operational feasible sincethe users are familiar with the technologies and hence there is no need to gear up the
personnel to use system. Also the system is very friendly and to use.
3.3 ECONOMIC FEASIBILITY
To decide whether a project is economically feasible, we have to consider various
factors as:
Cost benefit analysis
Long-term returns Maintenance costs
-
7/28/2019 Voice Transmission Through Lan Over Bluetooth
5/49
5
4. SYSTEM ANALYSIS
4.1 STUDY OF THE SYSTEM
To provide flexibility to the users, the interfaces have been developed that are accessible
through a browser.
The GUIS at the top level have been categorized as
1. Administrative user interface2. The operational or generic user interface
The administrative user interface concentrates on the consistent information that is
practically, part of the organizational activities and which needs proper authentication for
the data collection. These interfaces help the administrators with all the transactional
states like Data insertion, Data deletion and Date updation along with the extensive data
search capabilities.
The operational or generic user interface helps the end users of the system in
transactions through the existing data and required services. The operational user
interface also helps the ordinary users in managing their own information in a customized
manner as per the included flexibilities
4.2 INPUT AND OUTPOUT REPRESENTETION
Input design is a part of overall system design. The main objective during the input
design is as given below:
To produce a cost-effective method of input. To achieve the highest possible level of accuracy. To ensure that the input is acceptable and understood by the user.INPUT STAGES:
The main input stages can be listed as below:
Data recording Data transcription Data conversion Data verification Data control Data transmission
Data validation Data correction
-
7/28/2019 Voice Transmission Through Lan Over Bluetooth
6/49
6
INPUT TYPES:
It is necessary to determine the various types of inputs. Inputs can be categorized as
follows:
External inputs, which are prime inputs for the system. Internal inputs, which are user communications with the system. Operational, which are computer departments communications to the
system?
Interactive, which are inputs entered during a dialogue.INPUT MEDIA:
At this stage choice has to be made about the input media. To conclude about the
input media consideration has to be given to;
Type of input Flexibility of format Speed Accuracy Verification methods Rejection rates Ease of correction Storage and handling requirements Security Easy to use Portability
Keeping in view the above description of the input types and input media, it can be said
that most of the inputs are of the form of internal and interactive. As
Input data is to be the directly keyed in by the user, the keyboard can be considered to be
the most suitable input device.
OUTPUT DEFINITION:
The outputs should be defined in terms of the following points:
Type of the output Content of the output
-
7/28/2019 Voice Transmission Through Lan Over Bluetooth
7/49
7
Format of the output Location of the output Frequency of the output
Volume of the output Sequence of the outputIt is not always desirable to print or display data as it is held on a computer. It should be
decided as which form of the output is the most suitable.
For Example
Will decimal points need to be inserted Should leading zeros be suppressed.OUTPUT MEDIA:
In the next stage it is to be decided that which medium is the most appropriate for the
output. The main considerations when deciding about the output media are:
The suitability for the device to the particular application. The need for a hard copy. The response time required. The location of the users The software and hardware available.
Keeping in view the above description the project is to have outputs mainly
coming under the category of internal outputs. The main outputs desired according to the
requirement specification are:
The outputs were needed to be generated as a hard copy and as well as queries to be
viewed on the screen. Keeping in view these outputs, the format for the output is taken
from the outputs, which are currently being obtained after manual processing. The
standard printer is to be used as output media for hard copies.
-
7/28/2019 Voice Transmission Through Lan Over Bluetooth
8/49
8
4.3 PROCESS MODEL USED WITH JUSTIFICATION
SDLC (Umbrella Model):
Fig 4.1: SDLC diagram
SDLC is nothing but Software Development Life Cycle. It is a standard which is used by
software industry to develop good software.
Stages in SDLC:
Requirement Gathering Analysis Designing Coding Testing Maintenance
Umbrella
Umbrella
Umbrella
FEASIBILITY STUDYAND
TEAM FORMATION
Business Requirement
Documentation
ANALYSIS &
DESIGNCODE UNIT TEST
DOCUMENT CONTROL
ASSESSMENT
TRAINING
INTEGRATION& SYSTEMTESTING
DELIVERY/INSTALLATION
ACCEPTANCE
TEST
RequirementsGatherin
-
7/28/2019 Voice Transmission Through Lan Over Bluetooth
9/49
9
4.3.1 Requirements Gatheringstage:
The requirements gathering process takes as its input the goals identified in the
high-level requirements section of the project plan. Each goal will be refined into a set of
one or more requirements. These requirements define the major functions of the intended
application, define
Operational data areas and reference data areas, and define the initial data entities. Major
functions include critical processes to be managed, as well as mission critical inputs,
outputs and reports. A user class hierarchy is developed and associated with these major
functions, data areas, and data entities. Each of these definitions is termed a Requirement.
Requirements are identified by unique requirement identifiers and, at minimum, contain a
requirement title and textual description.
Fig 4.2: Requirement Gathering Stage
These requirements are fully described in the primary deliverables for this stage: the
Requirements Document and the Requirements Traceability Matrix (RTM). The
requirements document contains complete descriptions of each requirement, including
diagrams and references to external documents as necessary. Note that detailed listings of
database tables and fields are notincluded in the requirements document.
The title of each requirement is also placed into the first version of the RTM, along
with the title of each goal from the project plan.
-
7/28/2019 Voice Transmission Through Lan Over Bluetooth
10/49
10
The purpose of the RTM is to show that the product components developed during
each stage of the software development lifecycle are formally connected to the
components developed in prior stages.
In requirements stage, the RTM consists of a list of high-level requirements, by title,
with a listing of associated requirements for each goal, listed by requirement title. In this
hierarchical listing, the RTM shows that each requirement developed during this stage is
formally linked to a specific product goal. In this format, each requirement can be traced
to a specific product goal, hence the term requirements traceability.
The outputs of the requirements definition stage include the requirements document,
the RTM, and an updated project plan.
Feasibility study is all about identification of problems in a project. No. of staff required to handle a project is represented as Team Formation, in this case
only modules are individual tasks will be assigned to employees who are working for
that project.
Project Specifications are all about representing of various possible inputs submittingto the server and corresponding outputs along with reports maintained by
administrator
4.3.2 Analysis Stage:
The planning stage establishes a bird's eye view of the intended software product,
and uses this to establish the basic project structure, evaluate feasibility and risks
associated with the project, and describe appropriate management and technical
approaches.
Fig 4.3: Analysis stage
-
7/28/2019 Voice Transmission Through Lan Over Bluetooth
11/49
11
The most critical section of the project plan is a listing of high-level product
requirements, also referred to as goals. All of the software product requirements to be
developed during the requirements definition stage flow from one or more of these goals.
The minimum information for each goal consists of a title and textual description,
although additional information and references to external documents may be included.
The outputs of the project planning stage are the configuration management plan, the
quality assurance plan, and the project plan and schedule, with a detailed listing of
scheduled activities for the upcoming Requirements stage, and high level estimates of
effort for the out stages.
4.3.3 Designing Stage:
The design stage takes as its initial input the requirements identified in the approved
requirements document. For each requirement, a set of one or more design elements will
be produced as a result of interviews, workshops, and/or prototype efforts. Design
elements describe the desired software features in detail, and generally include functional
hierarchy diagrams, screen layout diagrams, tables of business rules, business process
diagrams, pseudo code, and a complete entity-relationship diagram with a full data
dictionary. These design elements are intended to describe the software in sufficient detailthat skilled programmers may develop the software with minimal additional input.
Fig4.4: Designing Stage
-
7/28/2019 Voice Transmission Through Lan Over Bluetooth
12/49
12
When the design document is finalized and accepted, the RTM is updated to show that
each design element is formally associated with a specific requirement. The outputs of the
design stage are the design document, an updated RTM, and an updated project plan.
4.3.4 Development (Coding) Stage:
The development stage takes as its primary input the design elements described in
the approved design document. For each design element, a set of one or more software
artifacts will be produced. Software artifacts include but are not limited to menus, dialogs,
data management forms, data reporting formats, and specialized procedures and
functions. Appropriate test cases will be developed for each set of functionally related
software artifacts, and an online help system will be developed to guide users in their
interactions with the software.
Fig 4.5: Development Stage
The RTM will be updated to show that each developed artifact is linked to a specific
design element, and that each developed artifact has one or more corresponding test case
items. At this point, the RTM is in its final configuration. The outputs of the development
stage include a fully functional set of software that satisfies the requirements and designelements previously documented, an online help system that describes the operation of
-
7/28/2019 Voice Transmission Through Lan Over Bluetooth
13/49
13
the software, an implementation map that identifies the primary code entry points for all
major system functions, a test plan that describes the test cases to be used to validate the
correctness and completeness of the software, an updated RTM, and an updated project
plan.
4.3.5 Integration & Test Stage:
During the integration and test stage, the software artifacts, online help, and test
data are migrated from the development environment to a separate test environment. At
this point, all test cases are run to verify the correctness and completeness of the software.
Successful execution of the test suite confirms a robust and complete migration
capability. During this stage, reference data is finalized for production use and production
users are identified and linked to their appropriate roles. The final reference data (or links
to reference data source files) and production user list are compiled into the Production
Initiation Plan.
Fig 4.6: Integration and Testing stage
-
7/28/2019 Voice Transmission Through Lan Over Bluetooth
14/49
14
The outputs of the integration and test stage include an integrated set of software, an
online help system, an implementation map, a production initiation plan that describes
reference data and production users, an acceptance plan which contains the final suite of
test cases, and an updated project plan.
4.3.6 Installation & Acceptance Test:
During the installation and acceptance stage, the software artifacts, online help, and
initial production data are loaded onto the production server. At this point, all test cases
are run to verify the correctness and completeness of the software. Successful execution
of the test suite is a prerequisite to acceptance of the software by the customer.
After customer personnel have verified that the initial production data load is
correct and the test suite has been executed with satisfactory results, the customer
formally accepts the delivery of the software.
Fig 4.7: Installation and acceptance testing
-
7/28/2019 Voice Transmission Through Lan Over Bluetooth
15/49
15
The primary outputs of the installation and acceptance stage include a production
application, a completed acceptance test suite, and a memorandum of customer
acceptance of the software. Finally, the PDR enters the last of the actual labor data into
the project schedule and locks the project as a permanent project record. At this point the
PDR "locks" the project by archiving all software items, the implementation map, the
source code, and the documentation for future reference.
4.3.7 Maintenance:
Outer rectangle represents maintenance of a project, Maintenance team will start
with requirement study, understanding of documentation later employees will be assigned
work and they will undergo training on that particular assigned category.
For this life cycle there is no end, it will be continued so on like an umbrella (no
ending point to umbrella sticks).
-
7/28/2019 Voice Transmission Through Lan Over Bluetooth
16/49
16
4.4 SYSTEM ARCHITECTURE
4.4.1 Architecture flow:
Below architecture diagram represents mainly flow of requests from users to database
through servers. In this scenario overall system is designed in three tires separately using
three layers called presentation layer, business logic layer and data link layer. This project
was developed using 3-tier architecture.
Fig 4.8: Architecture Flow
Server
User
Data
Base
Request Response
-
7/28/2019 Voice Transmission Through Lan Over Bluetooth
17/49
17
4.4.2 URL Pattern:
Fig 4.9: URL Pattern
URL represents how the requests are flowing through one layer to another layer and how
the responses are getting by other layers to presentation layer through server in the
architecture diagram
Presentation Layer
SERVLETS ATTHE SERVER
SIDE
URL Request sent
through the browser
Response sent from the
servlet
DATABASE
Verifying or updating the
database through a
statement
Reply from the database
according to the
statement
-
7/28/2019 Voice Transmission Through Lan Over Bluetooth
18/49
18
4.5 SOFTWARE REQUIREMENT SPECIFICATION
What is SRS?
Software Requirement Specification (SRS) is the starting point of the software
developing activity. As system grew more complex it became evident that the goal of the
entire system cannot be easily comprehended. Hence the need for the requirement phase
arose. The software project is initiated by the client needs. The SRS is the means of
translating the ideas of the minds of clients (the input) into a formal document (the output
of the requirement phase.)
The SRS phase consists of two basic activities:
1) Problem/Requirement Analysis:The process is order and more nebulous of the two, deals with understand
the problem, the goal and constraints.
2) Requirement Specification:Here, the focus is on specifying what has been found giving analysis such
as representation, specification languages and tools, and checking the
specifications are addressed during this activity.
The Requirement phase terminates with the production of the validate SRS
document. Producing the SRS document is the basic goal of this phase.
4.5.1 ROLE OF SRS
The purpose of the Software Requirement Specification is to reduce the
communication gap between the clients and the developers. Software Requirement
Specification is the medium though which the client and user needs are accurately
specified. It forms the basis of software development. A good SRS should satisfy all the
parties involved in the system.
-
7/28/2019 Voice Transmission Through Lan Over Bluetooth
19/49
19
4.5.2 SCOPE
This document is the only one that describes the requirements of the system. It is
meant for the use by the developers, and will also be the basis for validating the final
delivered system. Any changes made to the requirements in the future will have to go
through a formal change approval process. The developer is responsible for asking for
clarifications, where necessary, and will not make any alterations without the permission
of the client
-
7/28/2019 Voice Transmission Through Lan Over Bluetooth
20/49
20
4.6 UML DIAGRAMS
4.6.1 Class diagram:
Fig 4.10: Class diagram
-
7/28/2019 Voice Transmission Through Lan Over Bluetooth
21/49
21
4.6.2 Sequence diagram:
Fig 4.11: sequence diagram
4.6.3 Use case diagram:
Fig 4.12: Use case Diagram
-
7/28/2019 Voice Transmission Through Lan Over Bluetooth
22/49
22
4.6.4 Collaboration diagram:
sender
user
interfacemultime
dia
bluetooth
network
receiver
1: provide contact details 2: record voice
3: voice recorded
4: searching bluetooth device
5: digital data transmission
6: data comes to receiver
7: playing recoded voice
Fig 4.13: Collaboration Diagram
4.6.5 State diagram:
Fig 4.14: State Diagram
-
7/28/2019 Voice Transmission Through Lan Over Bluetooth
23/49
23
4.6.6 Deployment diagram:
User
Interface Contacts
Multimedia
read_voice
_data
play_voice_
data
send_data
Bluetooth
Layer
device_
number
.
Network
send_digital_
voice
send_control
_packet
Fig 4.15: Deployment diagram
-
7/28/2019 Voice Transmission Through Lan Over Bluetooth
24/49
24
4.6.7 Object diagram:
Fig 4.16: Object Diagram
-
7/28/2019 Voice Transmission Through Lan Over Bluetooth
25/49
25
4.6.8 Activity diagram:
Fig 4.17: Activity Diagram
-
7/28/2019 Voice Transmission Through Lan Over Bluetooth
26/49
-
7/28/2019 Voice Transmission Through Lan Over Bluetooth
27/49
27
6. SYSTEM DESIGN
6.1 SYSTEM DESIGN:
System design is transition from a user oriented document to programmers or data base
personnel. The design is a solution, how to approach to the creation of a new system. This
is composed of several steps. It provides the understanding and procedural details
necessary for implementing the system recommended in the feasibility study. Designing
goes through logical and physical stages of development, logical design reviews the
present physical system, prepare input and output specification, details of implementation
plan and prepare a logical design walkthrough.
The database tables are designed by analyzing functions involved in
the system and format of the fields is also designed. The fields in the database tables
should define their role in the system. The unnecessary fields should be avoided because
it affects the storage areas of the system. Then in the input and output screen design, the
design should be made user friendly. The menu should be precise and compact.
6.2 INPUT/OUTPUT DESIGN
Input design: considering the requirements, procedures to collect the necessary input
data in most efficiently designed. The input design has been done keeping in view that,
the interaction of the user with the system being the most effective and simplified way.
Also the measures are taken for the following
Controlling the amount of input Avoid unauthorized access to the Music Store Eliminating extra steps Keeping the process simple At this stage the input forms and screens are designed.
Output design: All the screens of the system are designed with a view to provide the
user with easy operations in simpler and efficient way, minimum key strokes possible.
Instructions and important information is emphasized on the screen. Almost every
screen is provided with no error and important messages and option selection facilitates.
Emphasis is given for speedy processing and speedy transaction between the screens.
Each screen assigned to make it as much user friendly as possible by using interactive
procedures. So to say user can operate the system without much help from the operating
manual.
-
7/28/2019 Voice Transmission Through Lan Over Bluetooth
28/49
28
7. IMPLEMENTATION
OVERVIEW OF SOFTWARE DEVELOPMENT TOOLS
7.1 Java Technology
Java technology is both a programming language and a platform.
7.2 The Java Programming Language
The Java programming language is a high-level language that can be characterized
by all of the following buzzwords:
Simple Architecture neutral Object oriented Portable Distributed High performance Interpreted Multithreaded Robust Dynamic Secure
With most programming languages, you either compile or interpret a program so that you
can run it on your computer. The Java programming language is unusual in that a
program is both compiled and interpreted. With the compiler, first you translate a
program into an intermediate language calledJava byte codesthe platform-independent
codes interpreted by the interpreter on the Java platform. The interpreter parses and runs
each Java byte code instruction on the computer. Compilation happens just once;
interpretation occurs each time the program is executed. The following figure illustrates
how this works.
-
7/28/2019 Voice Transmission Through Lan Over Bluetooth
29/49
29
Fig 7.1: working of JAVA
You can think of Java byte codes as the machine code instructions for the Java
Virtual Machine(Java VM). Every Java interpreter, whether its a development tool or a
Web browser that can run applets, is an implementation of the Java VM. Java byte codes
help make write once, run anywhere possible. You can compile your program into byte
codes on any platform that has a Java compiler. The byte codes can then be run on any
implementation of the Java VM. That means that as long as a computer has a Java VM,
the same program written in the Java programming language can run on Windows 2000, a
Solaris workstation, or on an iMac.
7.3 The Java Platform
A platform is the hardware or software environment in which a program runs.
Weve already mentioned some of the most popular platforms like Windows 2000, Linux,
Solaris, and MacOS. Most platforms can be described as a combination of the operating
system and hardware. The Java platform differs from most other platforms in that its a
software-only platform that runs on top of other hardware-based platforms.
The Java platform has two components:
TheJava Virtual Machine (Java VM) TheJava Application Programming Interface (Java API)
Youve already been introduced to the Java VM. Its the base for the Java
platform and is ported onto various hardware-based platforms.
The Java API is a large collection of ready-made software components that provide many
useful capabilities, such as graphical user interface (GUI) widgets. The Java API is
grouped into libraries of related classes and interfaces; these libraries are known as
packages. The next section, What Can Java Technology Do?, highlights what
functionality some of the packages in the Java API provide.
The following figure depicts a program thats running on the Java platform. As the figure
shows, the Java API and the virtual machine insulate the program from the hardware.
-
7/28/2019 Voice Transmission Through Lan Over Bluetooth
30/49
30
Fig 7.2: Java Platform
Native code is code that after you compile it, the compiled code runs on a specific
hardware platform. As a platform-independent environment, the Java platform can be a
bit slower than native code. However, smart compilers, well-tuned interpreters, and just-
in-time byte code compilers can bring performance close to that of native code without
threatening portability.
What Can Java Technology Do?
The most common types of programs written in the Java programming language are
applets and applications. If youve surfed the Web, youre probably already familiar with
applets. An applet is a program that adheres to certain conventions that allow it to run
within a Java-enabled browser.
However, the Java programming language is not just for writing cute, entertaining
applets for the Web. The general-purpose, high-level Java programming language is also
a powerful software platform. Using the generous API, you can write many types of
programs.
An application is a standalone program that runs directly on the Java platform. A
special kind of application known as a server serves and supports clients on a network.
Examples of servers are Web servers, proxy servers, mail servers, and print servers.
Another specialized program is aservlet. A servlet can almost be thought of as an applet
that runs on the server side. Java Servlets are a popular choice for building interactive
web applications, replacing the use of CGI scripts. Servlets are similar to applets in that
they are runtime extensions of applications. Instead of working in browsers, though,
servlets run within Java Web servers, configuring or tailoring the server.
-
7/28/2019 Voice Transmission Through Lan Over Bluetooth
31/49
31
How does the API support all these kinds of programs? It does so with packages
of software components that provide a wide range of functionality. Every full
implementation of the Java platform gives you the following features:
The essentials: Objects, strings, threads, numbers, input and output, datastructures, system properties, date and time, and so on.
Applets: The set of conventions used by applets. Networking: URLs, TCP (Transmission Control Protocol), UDP (User Data gramProtocol) sockets, and IP (Internet Protocol) addresses.
Internationalization: Help for writing programs that can be localized for usersworldwide. Programs can automatically adapt to specific locales and be displayed in the
appropriate language.
Security: Both low level and high level, including electronic signatures, publicand private key management, access control, and certificates.
Software components: Known as JavaBeans TM, can plug into existing componentarchitectures.
Object serialization: Allows lightweight persistence and communication viaRemote Method Invocation (RMI).
J ava Database Connectivity (JDBCTM): Provides uniform access to a wide rangeof relational databases.
The Java platform also has APIs for 2D and 3D graphics, accessibility, servers,
collaboration, telephony, speech, animation, and more. The following figure depicts what
is included in the Java 2 SDK.
Fig 7.3: JAVA 2 SDK
-
7/28/2019 Voice Transmission Through Lan Over Bluetooth
32/49
32
7.4 ODBC
Microsoft Open Database Connectivity (ODBC) is a standard programming interface for
application developers and database systems providers. Before ODBC became a de facto
standard for Windows programs to interface with database systems, programmers had to
use proprietary languages for each database they wanted to connect to. Now, ODBC has
made the choice of the database system almost irrelevant from a coding perspective,
which is as it should be. Application developers have much more important things to
worry about than the syntax that is needed to port their program from one database to
another when business needs suddenly change.
Through the ODBC Administrator in Control Panel, you can specify the particular
database that is associated with a data source that an ODBC application program is
written to use. Think of an ODBC data source as a door with a name on it. Each door will
lead you to a particular database. For example, the data source named Sales Figures might
be a SQL Server database, whereas the Accounts Payable data source could refer to an
Access database. The physical database referred to by a data source can reside anywhere
on the LAN.
The ODBC system files are not installed on your system by Windows 95. Rather,
they are installed when you setup a separate database application, such as SQL ServerClient or Visual Basic 4.0. When the ODBC icon is installed in Control Panel, it uses a
file called ODBCINST.DLL. It is also possible to administer your ODBC data sources
through a stand-alone program called ODBCADM.EXE. There is a 16-bit and a 32-bit
version of this program and each maintains a separate list of ODBC data sources.
From a programming perspective, the beauty of ODBC is that the application can
be written to use the same set of function calls to interface with any data source,
regardless of the database vendor. The source code of the application doesnt change
whether it talks to Oracle or SQL Server. We only mention these two as an example.
There are ODBC drivers available for several dozen popular database systems. Even
Excel spreadsheets and plain text files can be turned into data sources. The operating
system uses the Registry information written by ODBC Administrator to determine which
low-level ODBC drivers are needed to talk to the data source (such as the interface to
Oracle or SQL Server). The loading of the ODBC drivers is transparent to the ODBC
application program. In a client/server environment, the ODBC API even handles many
of the network issues for the application programmer.
-
7/28/2019 Voice Transmission Through Lan Over Bluetooth
33/49
33
The advantages of this scheme are so numerous that you are probably thinking
there must be some catch. The only disadvantage of ODBC is that it isnt as efficient as
talking directly to the native database interface. ODBC has had many detractors make the
charge that it is too slow. Microsoft has always claimed that the critical factor in
performance is the quality of the driver software that is used. In our humble opinion, this
is true. The availability of good ODBC drivers has improved a great deal recently. And
anyway, the criticism about performance is somewhat analogous to those who said that
compilers would never match the speed of pure assembly language. Maybe not, but the
compiler (or ODBC) gives you the opportunity to write cleaner programs, which means
you finish sooner. Meanwhile, computers get faster every year.
7.5 JDBC
In an effort to set an independent database standard API for Java, Sun
Microsystems developed Java Database Connectivity, or JDBC. JDBC offers a generic
SQL database access mechanism that provides a consistent interface to a variety of
RDBMSs. This consistent interface is achieved through the use of plug-in database
connectivity modules, ordrivers. If a database vendor wishes to have JDBC support, he
or she must provide the driver for each platform that the database and Java run on.
To gain a wider acceptance of JDBC, Sun based JDBCs framework on ODBC.
As you discovered earlier in this chapter, ODBC has widespread support on a variety of
platforms. Basing JDBC on ODBC will allow vendors to bring JDBC drivers to market
much faster than developing a completely new connectivity solution.
JDBC was announced in March of 1996. It was released for a 90 day public review that
ended June 8, 1996. Because of user input, the final JDBC v1.0 specification was released
soon after.
The remainder of this section will cover enough information about JDBC for you
to know what it is about and how to use it effectively. This is by no means a complete
overview of JDBC. That would fill an entire book.
-
7/28/2019 Voice Transmission Through Lan Over Bluetooth
34/49
34
7.5.1 J DBC Goals
Few software packages are designed without goals in mind. JDBC is one that,
because of its many goals, drove the development of the API. These goals, in conjunction
with early reviewer feedback, have finalized the JDBC class library into a solid
framework for building database applications in Java.
The goals that were set for JDBC are important. They will give you some insight
as to why certain classes and functionalities behave the way they do. The eight design
goals for JDBC are as follows:
1. SQL Level API The designers felt that their main goal was to define a SQL interface for Java.
Although not the lowest database interface level possible, it is at a low enough level for
higher-level tools and APIs to be created. Conversely, it is at a high enough level for
application programmers to use it confidently. Attaining this goal allows for future tool
vendors to generate JDBC code and to hide many of JDBCs complexities from the end
user.
2. SQL ConformanceSQL syntax varies as you move from database vendor to database vendor. In an
effort to support a wide variety of vendors, JDBC will allow any query statement to be
passed through it to the underlying database driver. This allows the connectivity module
to handle non-standard functionality in a manner that is suitable for its users.
3. J DBC must be implemental on top of common database interfacesThe JDBC SQL API must sit on top of other common SQL level APIs. This goal
allows JDBC to use existing ODBC level drivers by the use of a software interface. This
interface would translate JDBC calls to ODBC and vice versa.
4. Provide a J ava interface that is consistent with the rest of the J ava systemBecause of Javas acceptance in the user community thus far, the designers feel that they
should not stray from the current design of the core Java system.
5. Keep it simpleThis goal probably appears in all software design goal listings. JDBC is no
exception. Sun felt that the design of JDBC should be very simple, allowing for only one
-
7/28/2019 Voice Transmission Through Lan Over Bluetooth
35/49
35
method of completing a task per mechanism. Allowing duplicate functionality only serves
to confuse the users of the API.
6. Use strong, static typing wherever possibleStrong typing allows for more error checking to be done at compile time; also, less
errors appear at runtime.
7. Keep the common cases simpleBecause more often than not, the usual SQL calls used by the programmer are simple
SELECTs, INSERTs, DELETEs and UPDATEs, these queries should be simple to perform
with JDBC. However, more complex SQL statements should also be possible.
7.6 NETWORKING
TCP/IP stack
The TCP/IP stack is shorter than the OSI one:
Fig 7.4: TCP/IP STACK
TCP is a connection-oriented protocol; UDP (User Datagram Protocol) is a
connectionless protocol.
-
7/28/2019 Voice Transmission Through Lan Over Bluetooth
36/49
36
IP datagrams
The IP layer provides a connectionless and unreliable delivery system. It considers
each datagram independently of the others. Any association between datagram must be
supplied by the higher layers. The IP layer supplies a checksum that includes its own
header. The header includes the source and destination addresses. The IP layer handles
routing through an Internet. It is also responsible for breaking up large datagram into
smaller ones for transmission and reassembling them at the other end.
TCP
TCP supplies logic to give a reliable connection-oriented protocol above IP. It
provides a virtual circuit that two processes can use to communicate.
Internet addresses
In order to use a service, you must be able to find it. The Internet uses an address
scheme for machines so that they can be located. The address is a 32 bit integer which
gives the IP address. This encodes a network ID and more addressing. The network ID
falls into various classes according to the size of the network address.
Network address
Class A uses 8 bits for the network address with 24 bits left over for other
addressing. Class B uses 16 bit network addressing. Class C uses 24 bit network
addressing and class D uses all 32.
Subnet address
Internally, the UNIX network is divided into sub networks. Building 11 is
currently on one sub network and uses 10-bit addressing, allowing 1024 different hosts.
Host address
8 bits are finally used for host addresses within our subnet. This places a limit of
256 machines that can be on the subnet.
-
7/28/2019 Voice Transmission Through Lan Over Bluetooth
37/49
37
Total address
Fig 7.5: IP Addressing
The 32 bit address is usually written as 4 integers separated by dots.
Port addresses
A service exists on a host, and is identified by its port. This is a 16 bit number. To
send a message to a server, you send it to the port for that service of the host that it is
running on. This is not location transparency! Certain of these ports are "well known".
Sockets
A socket is a data structure maintained by the system to handle network
connections. A socket is created using the call socket. It returns an integer that is like a
file descriptor. In fact, under Windows, this handle can be used with Read File and
Write File functions.
#include
#include
int socket(int family, int type, int protocol);
Here "family" will be AF_INET for IP communications, protocol will be zero, and type
will depend on whether TCP or UDP is used. Two processes wishing to communicate
over a network create a socket each. These are similar to two ends of a pipe - but the
actual pipe does not yet exist.
-
7/28/2019 Voice Transmission Through Lan Over Bluetooth
38/49
38
8. OUTPUT SCREENS:
First we need to run PcServerRun.bat file on server system
Fig 8.1: Pc Server
-
7/28/2019 Voice Transmission Through Lan Over Bluetooth
39/49
39
Run BlueServerRun.bat file on Server system
Fig 8.2: BlueServer
-
7/28/2019 Voice Transmission Through Lan Over Bluetooth
40/49
40
Run PcClientRun.bat file in client systems adding ip address using add option in Server
system in ServerRun.
Fig 8.3: Pc Client
-
7/28/2019 Voice Transmission Through Lan Over Bluetooth
41/49
41
After installing the mobile application in mobile to record and transfer file for
transmission the output screen of mobile is as below
Fig 8.4: Mobile Screen
-
7/28/2019 Voice Transmission Through Lan Over Bluetooth
42/49
42
9 .SOFTWARE TESTING
TESTING
Software testing is a critical element of software quality assurance and
represents the ultimate review of specification, design and code generation.
9.1 TESTING OBJECTIVES
To ensure that during operation the system will perform as perspecification.
TO make sure that system meets the user requirements during operation To make sure that during the operation, incorrect input, processing and
output will be detected
To see that when correct inputs are fed to the system the outputs arecorrect
To verify that the controls incorporated in the same system as intended Testing is a process of executing a program with the intent of finding an
error
A good test case is one that has a high probability of finding an as yetundiscovered error
The software developed has been tested successfully using the following testing
strategies and any errors that are encountered are corrected and again the part of the
program or the procedure or function is put to testing until all the errors are removed. A
successful test is one that uncovers an as yet undiscovered error.
Note that the result of the system testing will prove that the system is workingcorrectly. It will give confidence to system designer, users of the system, prevent
frustration during implementation process etc.,
-
7/28/2019 Voice Transmission Through Lan Over Bluetooth
43/49
43
9.2 TEST CASE DESIGN:
9.2.1 White box testingWhite box testing is a testing case design method that uses the control structure of
the procedure design to derive test cases. All independents path in a module are exercised
at least once, all logical decisions are exercised at once, execute all loops at boundaries
and within their operational bounds exercise internal data structure to ensure their
validity. Here the customer is given three chances to enter a valid choice out of the given
menu. After which the control exits the current menu.
9.2.2 Black Box TestingBlack Box Testing attempts to find errors in following areas or categories,
incorrect or missing functions, interface error, errors in data structures, performance error
and initialization and termination error. Here all the input data must match the data type
to become a valid entry.
The following are the different tests at various levels:
9.2.3 Unit Testing:
Unit testing is essentially for the verification of the code produced during the
coding phase and the goal is test the internal logic of the module/program. In theGeneric code project, the unit testing is done during coding phase of data entry
forms whether the functions are working properly or not. In this phase all the drivers
are tested they are rightly connected or not.
9.2.4 Validation Testing
This testing concentrates on confirming that the software is error-free in all respects. All
the specified validations are verified and the software is subjected to hard-core testing. It
also aims at determining the degree of deviation that exists in the software designed from
the specification; they are listed out and are corrected.
9.2.5 System Testing
This testing is a series of different tests whose primary is to fully exercise the computer-
based system. This involves:
Implementing the system in a simulated production environment and testing it. Introducing errors and testing for error handling.
-
7/28/2019 Voice Transmission Through Lan Over Bluetooth
44/49
44
9.2.6 Functional testFunctional tests provide a systematic demonstrations that functions tested are
available as specified by the business and technical requirements, system documentation ,
and user manuals.
Functional testing is centered on the following items:
Valid Input : identified classes of valid input must be accepted.
Invalid Input : identified classes of invalid input must be rejected.
Functions : identified functions must be exercised.
Output : identified classes of application outputs must be exercised.
Systems/Procedures : interfacing systems or procedures must be invoked.
Organization and preparation of functional tests is focused on requirements, key
functions, or special test cases. In addition, systematic coverage pertaining to identify
Business process flows; data fields, predefined processes, and successive processes must
be considered for testing. Before functional testing is complete, additional tests are
identified and the effective value of current tests is determined.
9.2.7 Integration Testing:
All the tested modules are combined into sub systems, which are then tested. The
goal is to see if the modules are properly integrated, and the emphasis being on the
testing interfaces between the modules. In the generic code integration testing is
done mainly on table creation module and insertion module.
Integration testing for Database Synchronization:
Testing the links that call the Change Username & password, Migration andSynchronization screens etc.
The username should be retained throughout the application in the form of hiddenvariables or by using cookies.
If the login user does not have enough privileges to invoke a screen, the linkshould be disabled.
Any modification in the Master server should be reflected in the Slave server. The XML file should retrieve only the records, which have been modified
-
7/28/2019 Voice Transmission Through Lan Over Bluetooth
45/49
45
9.3 Test strategy and approach
Field testing will be performed manually and functional tests will be written in
detail.
9.3.1 Test objectives
All field entries must work properly. Pages must be activated from the identified link. The entry screen, messages and responses must not be delayed.
9.3.2 Features to be tested
Verify that the entries are of the correct format No duplicate entries should be allowed All links should take the user to the correct page.
9.3.3 Test Results:
All the test cases mentioned above passed successfully. No defects encountered.
9.4 Acceptance Testing
User Acceptance Testing is a critical phase of any project and requires significant
participation by the end user. It also ensures that the system meets the functional
requirements.
9.4.1 Acceptance testing for Data Synchronization:
Users have separate roles to modify the database tables. The timestamp for all insertions and updating should be maintained. Users should have the ability to modify the privilege for a screen. Once the Synchronization starts, the Master server or Slave Server should not be
stopped without notifying the other.
The XML file should be generated in short time, i.e., before the next modificationoccurs.
9.4.2 Test Results:All the test cases mentioned above passed successfully. No defects
encountered.
-
7/28/2019 Voice Transmission Through Lan Over Bluetooth
46/49
46
10.Conclusion:
The Voice Communication is made possible by combining Local Area Network (LAN)
and Bluetooth technologies. The development of this application is mainly concentrated
on using the existing infrastructure available in the campus or the organization. Thus,
communication becomes cheaper. A half duplex form of communication is provided in
which only one user can speak at a time and the other one listens. This application is
developed for Smartphone supporting Java Technology.
-
7/28/2019 Voice Transmission Through Lan Over Bluetooth
47/49
47
11.Future Enhancements:
The application can be enhanced with additional features suchas:
Full duplex mode of communication can be supported. This can be achieved by having
two connections between the communicating parties.
Connection can be maintained even if the user moves between the ranges. This can be
achieved by intimating the nearby service providers that there may be an out of range
condition which has to be taken care of.
Support for service provider which have dynamic IP addresses. This is accomplished by
having a centralized server. All other service providers will register with the centralized
server by giving its IP address. The table of IP addresses will then be forwarded to the
service providers.
User busy conditions can be handled. This can be accomplished by having a dynamic
table with attributes, such as users status, Bluetooth address ofsource and destination
etc, at the service providers side and monitoring the table for user busy conditions.
-
7/28/2019 Voice Transmission Through Lan Over Bluetooth
48/49
48
Appendix
List of Acronyms
RTM Requirement Traceability Matrix
SRS Software Requirement Specification
LAN Local Area Network
TCP Transmission Control Protocol
UDP User Datagram Protocol
IP Internet Protocol
RMI Remote Method Invocation
JDBC Java Data Base Connectivity
ODBC Open Data Base Connectivity (Microsoft)
GUI Graphical User Interface
API Application User Interface
SDLC Software Development Life Cycle
URL Uniform Resource Locator
CGI Common Gateway Interface
J2SE JAVA 2 Platform, Standard Edition
J2ME JAVA 2 Platform, Micro Edition
-
7/28/2019 Voice Transmission Through Lan Over Bluetooth
49/49
BLIOGRAPHY:
References fo r the Pro ject Development Were Taken From the
fo l lo win g Bo o k s an d Web S i t es .
JAVA Technologies
JAVA Complete Reference
Java Script Programming by Yehuda Shiran
Mastering JAVA Security
JAVA2 Networking by Pistoria
JAVA Security by Scotl oaks
Head First EJB Sierra Bates
J2EE Professional by Shadab siddiqui
JAVA server pages by Larne Pekowsley
JAVA Server pages by Nick Todd
HTML
HTML Black Book by Holzner
JDBC
Java Database Programming with JDBC by Patel moss.
Software Engineering by Roger Pressman