Voice Transmission Through Lan Over Bluetooth

Embed Size (px)

Citation preview

  • 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