30-07-2013, 04:44 PM
ONLINE CHAT SERVER PROJECT REPORT
ONLINE CHAT.docx (Size: 385.99 KB / Downloads: 29)
INTRODUCTION
The simplest computer chatting is a method of sending, receiving, and storing typed messages with a network of users. This network could be WAN (Wide Area Network) or LAN(Local Area Network). Our chatting system will deal only with LAN’s (static IP address) and it is made up of two applications one runs on the server side (any computer on the network you choose it to be the server) while the other is delivered and executed on the client PC. Every time the client wants to chat he runs the client application, enter his user name and password where the server application is running, and hits the connect button and start chatting.
The system is many-to-many arrangement; every–one is able to “talk” to anyone else. Messages may be broadcasted to all receivers (recipients are automatically notified of incoming messages) or sent to special individuals (private chatting through server). Java is our programming language, TCP/IP is our network protocol, and finally windows sockets, RMI (Remote Method Invocation), and RTP (Real Time Transport Protocol) are our programming interface to have access to network functionality. This is a first glance at my senior project and the rest of explanations and ideas are eagerly waiting for you in the next chapters.
SYSTEM ANALYSIS
Systems analysis is the process of examining a business situation for the purpose of developing a system solution to a problem or devising improvements to such a situation. Before the development of any system can begin, a project proposal is prepared by the users of the potential system and/or by systems analysts and submitted to an appropriate managerial structure within the organization. So the objective of the system analysis phase is the establishment of the requirements for the system to be acquired, developed and installed. For this system analyst should develop alternative system and evaluate each in terms of cost, benefit and feasibility.
Requirement Analysis
Requirements analysis encompasses those tasks that go into determining the requirements of a new or altered system, taking account of the possibly conflicting requirements of the various stakeholders, such as users. Requirements analysis is critical to the success of project. Systematic requirement analysis is also known as requirements engineering.
Existing System
An existing system is one which does the same functionality as the one proposed. But there is no such system which provides the same functionality as the one proposed. In the present chat server systems like yahoo messenger, etc the video chatting is achieved by capturing the video from user device/web camera and capture the current still image from webcam and store this image to server. Then the other end user read this image from server for viewing the webcam of his partner. The main disadvantage/problem of this system is it consists of excessive write and read operations so time delay will occur for video chatting.
Proposed System
The proposed system overcomes all the above-mentioned problems. The proposed system is much helpful for the users. The system is to be implemented using the JAVA programming language. In proposed system we used a new protocol for audio, video transmission .That’s RTP (Real-time Transport Protocol).Using this protocol each users can conduct video conferencing without any delay because RTP don’t need the excessive write and read operations. We just stream the user’s webcam, audio device to a specific port in the server. Then the other users can view the webcam by receiving the RTP Stream from the Server. So there is no need of storage’s it will fast and we will get the real-time webcam streams without any delay. This RTP protocol will use for live video, audio broadcasting.
FEASIBILITY STUDY
The prime objective of feasibility study is to ensure that the problem is worth to be solved. At this stage a cost benefit analysis is performed to assertion that the benefit from the system will over rule the cost associated with the whole analysis, design and development of the new system. An important outcome of the preliminary investigation determining whether the system required is feasible.
Feasibility study is a test of proposed system regarding its efficiency, impact on the organization, ability to meet the needs of users and effective use of resources. Thus, when a new project is proposed, it normally goes through a feasibility study before it is approved for development.
All the projects are given unlimited resources and infinite time. Unfortunately, the development process of a computer-based system is time bound. Feasibility and risk analysis are related in many ways. If project risk is great, the feasibility of producing the quality software is reduced. There are three aspects in the feasibility study portion of the preliminary investigation.
JAVANetBeans
Java is a programming language originally developed by James Gosling at Sun Microsystems (which is now a subsidiary of Oracle Corporation) and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities. Java applications are typically compiled to byte code (class file) that can run on any Java Virtual Machine (JVM) regardless of computer architecture. Java is a general-purpose, concurrent, class-based, object-oriented language that is specifically designed to have as few implementation dependencies as possible. It is intended to let application developers "write once, run anywhere". Java is currently one of the most popular programming languages in use, and is widely used from application software to web applications.
The NetBeans IDE is a modular, standards-based, integrated development environment (IDE) written in the Java programming language. The NetBeans project consists of an open source IDE and an application platform, which can be used as a generic framework to build any kind of application. The NetBeans IDE is written in Java and can run anywhere a JVM is installed, including Windows, Mac OS, Linux, and Solaris.
SYSTEM DESIGN
Design is the first step in the development phase for any engineered product or system. It may be defined as: “ the process of applying or a various techniques and principles for the purpose of defining a device, a process or a system in sufficient detail to permit its physical realization ’’. Computer software design like engineering design in other disciplines changes continually as new methods, better analysis, and broader understanding evolve.
Using one of a number of design methods the design step produces a data design, an architectural design and a procedural design. Preliminary design is concerned with transformation requirements to data and software architectures. Details design focus on refinements to architectural representation that lead to detailed data structure and algorithmic representation for software. The data design transforms the information domain model created during analysis in to the data structures that will be required to implement the software. The architectural design defines the relationship among major structural components in to a procedural description of the software.
Implementation Procedure
The implementation stage of the software development is the process of converting a system specification into an executable system. Implementation is the process in which the theoretical design is changed into working system. The system can be implemented only after completing the testing. During implementation the software design is realized as a set of programs or program units. During implementation, each component of the design is implemented as program modules and each of these program modules are undergoing a unit testing. The end product of this phase is a set of program modules that have been individually tested.
Data Validation Testing:
At the culmination of integration testing software is completely assembled as a package. Interfacing errors have been uncovered and corrected and a final series of software test-validation testing begins. Validation testing can be defined in many ways, but a simple definition is that validation succeeds when the software functions in manner that is reasonably expected by the customer. The software is completely assembled as a package. After the validation testing, I got the result that the system completely satisfies the user needs. For this, I entered a user name that already exists in the registration table. Then I got the message that the user name already exists, enter another user id. Thus I confirmed that data validation takes place in this system. The fields which are mandatory should be filled by the user. Otherwise the values cannot be entered into the tables.