You are on page 1of 49

1.

INTRODUCTION
1.1 PROJECT DESCRIPTION The system consists of two users sender 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 to view 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.
1

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.

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.

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.1 TECHNICAL 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 since the 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

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 interface 2. 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
5

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

Format of the output Location of the output Frequency of the output Volume of the output Sequence of the output

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

4.3 PROCESS MODEL USED WITH JUSTIFICATION SDLC (Umbrella Model):


DOCUMENT CONTROL

Umbrella Activity
Business Requirement Documentation

Umbrella Activity

Requirements

Gathering

FEASIBILITY STUDY AND TEAM FORMATION

ANALYSIS & DESIGN

CODE

UNIT TEST

ASSESSMENT tNT

INTEGRATION & SYSTEM TESTING

DELIVERY/ INSTALLATION

ACCEPTANCE TEST

TRAINING

Umbrella Activity

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

4.3.1 Requirements Gathering stage: 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 not included 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.

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

10

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 detail that skilled programmers may develop the software with minimal additional input.

Fig4.4: Designing Stage

11

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 design elements previously documented, an online help system that describes the operation of
12

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

13

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

14

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

15

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.

User

Server
Request Response

Data Base

Fig 4.8: Architecture Flow

16

4.4.2 URL Pattern:

Presentation Layer

Response sent from the servlet

URL Request sent through the browser

SERVLETS AT THE SERVER SIDE

Reply from the database according to the statement

Verifying or updating the database through a statement

DATABASE

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

17

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.

18

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

19

4.6 UML DIAGRAMS

4.6.1 Class diagram:

Fig 4.10: Class diagram

20

4.6.2 Sequence diagram:

Fig 4.11: sequence diagram

4.6.3 Use case diagram:

Fig 4.12: Use case Diagram

21

4.6.4 Collaboration diagram:

1: provide contact details sender

user interface

2: record voice multime dia

3: voice recorded

4: searching bluetooth device

7: playing recoded voice

bluetooth

5: digital data transmission

receiver

network 6: data comes to receiver

Fig 4.13: Collaboration Diagram

4.6.5 State diagram:

Fig 4.14: State Diagram

22

4.6.6 Deployment diagram:

User Interface

Contacts

read_voice _data

Multimedia play_voice_ data

device_ number

Bluetooth Layer

send_data

send_digital_ voice

Network send_control _packet

.
Fig 4.15: Deployment diagram

23

4.6.7 Object diagram:

Fig 4.16: Object Diagram

24

4.6.8 Activity diagram:

Fig 4.17: Activity Diagram

25

5. HARDWARE AND SOFTWARE REQUIREMENTS


5.1 Software Requirements: Operating System Technology : Windows XP : J2SE,J2ME

5.2 Hardware Requirements: 1) 2 Mobile Phones 2) Bluetooth devices for PCs 3) LAN connection among PCs

26

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

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 called Java byte codes the 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.

28

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:

The Java Virtual Machine (Java VM) The Java 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.
29

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 justin-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 a servlet. 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.

30

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

structures, 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 gram

Protocol) sockets, and IP (Internet Protocol) addresses.

Internationalization: Help for writing programs that can be localized for users

worldwide. Programs can automatically adapt to specific locales and be displayed in the appropriate language.

Security: Both low level and high level, including electronic signatures, public Software components: Known as JavaBeans TM, can plug into existing component

and private key management, access control, and certificates.

architectures.

Object serialization: Allows lightweight persistence and communication via Java Database Connectivity (JDBCTM): Provides uniform access to a wide range

Remote Method Invocation (RMI).

of 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

31

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 Server Client 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.
32

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, or drivers. 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.

33

7.5.1 JDBC 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 Conformance SQL 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. JDBC must be implemental on top of common database interfaces The 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 Java interface that is consistent with the rest of the Java system

Because 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 simple This 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
34

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 possible Strong typing allows for more error checking to be done at compile time; also, less errors appear at runtime. 7. Keep the common cases simple Because 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.

35

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.

36

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 <sys/types.h> #include <sys/socket.h> 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.

37

8. OUTPUT SCREENS:
First we need to run PcServerRun.bat file on server system

Fig 8.1: Pc Server

38

Run BlueServerRun.bat file on Server system

Fig 8.2: BlueServer

39

Run PcClientRun.bat file in client systems adding ip address using add option in Server system in ServerRun.

Fig 8.3: Pc Client

40

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

41

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 per specification. 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 are correct 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 yet undiscovered 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 working correctly. It will give confidence to system designer, users of the system, prevent frustration during implementation process etc.,

42

9.2 TEST CASE DESIGN: 9.2.1 White box testing White 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 Testing Black 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 the Generic 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 computerbased system. This involves: Implementing the system in a simulated production environment and testing it. Introducing errors and testing for error handling.
43

9.2.6 Functional test Functional 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 Invalid Input Functions Output : identified classes of valid input must be accepted. : identified classes of invalid input must be rejected. : identified functions must be exercised. : 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 and Synchronization screens etc. The username should be retained throughout the application in the form of hidden variables or by using cookies. If the login user does not have enough privileges to invoke a screen, the link should 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

44

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

9.4.2 Test Results: All the test cases mentioned above passed successfully. No defects encountered.
45

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.

46

11.Future Enhancements:
The application can be enhanced with additional features such as: 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 of source and destination etc, at the service providers side and monitoring the table for user busy conditions.

47

Appendix
List of Acronyms RTM SRS LAN TCP UDP IP RMI JDBC ODBC GUI API SDLC URL CGI J2SE J2ME Requirement Traceability Matrix Software Requirement Specification Local Area Network Transmission Control Protocol User Datagram Protocol Internet Protocol Remote Method Invocation Java Data Base Connectivity Open Data Base Connectivity (Microsoft) Graphical User Interface Application User Interface Software Development Life Cycle Uniform Resource Locator Common Gateway Interface JAVA 2 Platform, Standard Edition JAVA 2 Platform, Micro Edition

48

BLIOGRAPHY:
References for the Project Development Were Taken From the

following Books and Web Sites .

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

49

You might also like