Академический Документы
Профессиональный Документы
Культура Документы
P O Karimbam, Taliparamba
A PROJECT REPORT ON
KANNUR UNIVERSITY
By
CERTIFICATE
Internal Guide
We also declare that the matter embodied in the dissertation have not been
submitted by us or any other, fully or partially for the award of any other degree,
diploma or other title of recognition.
I am extremely obliged and thankful to Mr. Sunil Kumar, Mr. Dileep Kumar T,
Mr. Biju, Mrs. Sunitha, Miss Smitha Krishnan, Lecturers in Computer Science for their
valuable guidance at each and every stage of my project.
I express my sincere thanks to our Principal Mr. A.V Vijayan, for providing me
the necessary facilities to do the same.
With deep sense of gratitude I express my heartfelt thanks to Mr. Muhsin, Head
of the Computer Science Department who made valuable suggestions for successful
fulfillment of the project.
Last of all, my everlasting thanks go to my friends for their kindly and timely
help.
CONTENTS
1) Abstract
2) Introduction
3) System Analysis
3.1 Preliminary Study
3.2 Existing System
3.3 Proposed System
3) System Design
4.1 System Design
4.2 System Specification
4.2.1 Hardware Requirements
4.2.2 Software Requirements
4.3 Why use JAVA in Client and Server designing
4.4 Client-Server Communication
9) Conclusion
10) Bibliography
e-touch , A CHATTING APPLICATION
- “There’s no need to talk”
ABSTRACT
This application would help the student in our college lab to chat with each other. Student
of different classes could have their own chat rooms, so that they can chat with their own
companions. It would also have the capability to send private messages so that
The software that we have decided in our project is a Chat system. The
Chat system is a client-server based application, which helps the users to transfer
messages between them. This application reduces the communication complexities faces
by users in an intranet.
Even though we had a lot of chat servers running on the web, they cause
several difficulties, such as the user have to register with the service provider to chat,
which gives us to raise the problem that the user cannot chat with unregistered users,
The reason for choosing this particular project was due to the difficulties
that we faced during in our lab sessions. In our lab, we would be seated for apart, and
whenever somebody has to convey some messages or share some ideas; we would have
to wait till the lab sessions get over. This often creates a problem that the decrease in the
something to overcome this problem. Even though several commercial chat servers are
available, we are decided to develop a chat system that would enable effective
communications.
EXISTING SYSTEM
Even though applications such as ‘talk’ and ‘Win pop-up’ are available with the original
system, they provide only limited communication capability, such as ‘talk’ let us to talk
only a single person at a time, and with ‘Win pop-up’. We have to provide the system
name, which is quite difficult. Now that we didn’t have any software available with the
default distribution, that would serve our purpose; we decided to build a chat server of
our own. With the project in mind we look at the chat servers that are currently available.
Some of them were the Yahoo chat server, and MSN chat server. All these system
provide client program through which user program to the server and starts chatting.
They also provide an HTML interface through which the user can access the chat server.
The usual procedure in any chat system is that users are required to authenticate
themselves with in a valid user id and password, which they create before hand. Once the
user is authenticated they enter a room were they can chat with other users in the same
room. Every user is provided with a list of users on request from where the user can
change rooms and chat with available users. The user have options to send messages to
individual persons which are known as private messages, and they can also send public
messages which are send o all the users in that room. Today chat servers are also capable
of voice chat, video conferencing and sending message to mobile instruments. All current
chat servers are GUI based, and rarely one has a command line based interface. Current
chat servers are also capable of offline messages like even if a user is not currently
online, other users can send messages to that user which the user would re secure upon
Even though the current systems are highly complex and advance, we are
implement the authentication to process because then it would require users to register
themselves and also temporary users could not be able to use the service. We decided to
make it an open system where anybody can use the service. Our system would only
support transfer of text messages. Voice and video will not be supported. Three different
chat rooms are available with this system, so that others would not be disturbed. The
users would also be provided with information about currently online users. Our system
would also support group messages. There would be restricted on the name that they
choose to use during the chat session, as they had to be unique. We are planning to write
the server in JAVA. Our server program will work in any platform (LINUX OR
WINDOWS). This would help the server to deliver the messages more efficiently. Since
the clients would be from different architectures, so we decided to develop the client also
in JAVA.
Other than the Telnet, clients we are providing a client program, which
The basic components of a chat system consist of server and clients. The
duty of a server is to transfer the messages sent by clients to appropriate clients. Once
establish the clients should be able to connect to the server and exchange the messages. In
order to implement the chat server the design of the server is the most crucial. The most
important decision was to choose a language is which the server could be implemented.
As the server programming language, we select JAVA. JAVA had a wide option of
functions available for building network applications. Also the design of clients, we
decided to use JAVA, since the clients program would be platform independent and the
HARDWARE REQUIREMENTS
SOFTWARE REQUIREMENTS:
SERVER:
Operating System: Linux or Windows
CLIENT:
Operating System: Linux or Windows
JDK1.4.0 above
WHY USE JAVA IN CLIENT AND SERVER DESIGNING
The main reason for choosing JAVA is its innate properties like;
1) Architectural neutral
2) Platform independence
JAVA has AWT and SWING classes, which reduce the effort needed to
The server is bound to a fixed socket and listens for connection requests
from clients. The clients try to connect to server on this port and predefined host. Once
the communication channels are set up, both talk in terms of objects defined as protocols.
Upon receiving these objects the program then extracts relevant information and takes
appropriate actions. All communications are through server and may change the protocol
parameters if required.
DATA FLOW DIAGRAM
CLIENT-TO-CLIENT COMMUNICATION
SERVER TO CLIENT COMMUNICATION
CODING AND TESTING
CODING
The aim of the coding phase is to produce simple and clear programs.
Style is an important attribute of source code and can determine intelligibility of a
program. The elements of style include internal documentation, methods of data
declaration, procedures for statement construction etc. All the syntax and format errors of
the program must be detected and resolved. Coding produces modules that must be unit
tested. Modules are written in a programming language. The following are some of the
general coding principles:
In the coding phase, the output document is the code itself. After the source code is
generated, the function of the module should be apparent without reference to the design
specification.
TESTING
System testing is important for the success of any software system .It is done
to check whether the system has any bugs. In this phase, several tests and validations will
be carried out on modules to check for their functionality. Testing and debugging is a
very critical case in system development. The quality of the system is confirmed by the
thoroughness of its testing, duration and cost of testing and debugging is a significant
fraction of the system development cycle and hence influences overall productivity
during the system development. In this phase the errors in the program or module are
localized and modifications are done to eliminate them. Some of the methods for system
testing are given below:
Unit Testing
Unit testing is carried out Screen-wise, each screen been identified as an object.
Attention is diverted to individual modules, independently to one another to locate errors.
This has enabled the detection of errors in coding and logic.
In unit testing,
♦ Module interface is tested to ensure that information properly flows into and put of
the program under test.
♦ Local data structures are examined to ensure that data stored temporarily maintains
its integrity during all steps in algorithm execution.
♦ Boundary condition is tested to ensure that a module operates properly at boundaries
established to limit or restrict processing.
♦ All independent paths through the control structures are executed to ensure that all
statements in the module have been executed at least once.
♦ Error handling paths are also tested.
This test focuses verification effort on the smallest unit of software
design, the module. Here, the module interfaces, local data structure, boundary
conditions, and all independent paths and last but not the least, all error handling paths
were verified by inputting false data. Test of data flow across each module interface of
this software were done before any other test was initiated.
Integration Testing
TEST PLAN
The proposed project has undergone the formal process of implementation in the
same manner as every other system would undergo. The test plan was designed to test the
quality of the system.
Unit Testing:
Various test cases are prepared. For each module this test cases are
implemented and it is checked whether the module is executed as per the requirements
and outputs the desired result. The modules tested are acquisition, technical section,
circulation section modifications and search. They are tested and the errors found are
rectified.
Integration Testing
The modules are tested separately for accuracy and modules are integrated
together using bottom up integration i.e., by integrating from moving from the bottom to
the top .The system is checked and errors found during integration are rectified.
Validation Testing
Entering incorrect values does the validation testing and it is checked
whether the errors are being considered. Incorrect values are to be discarded. Proper
messages are given for incorrect entries.
System Testing
System testing was performed to verify that all system elements have been
properly [integrated and perform allocated function. Security testing was done to check
the security mechanisms built in to the system, which will protect it from improper
penetration. A user can login only by giving correct user name.
ABOUT THE SOFTWARE
A) SERVER SIDE:
* Server is a Frame, which has the following information. There are 3 chat rooms, which
the server is supervising. The frame shows all the three chat rooms as a TextArea, which
will display the messages from the students logging on to that chat room.
* The server can listen to all the information sent and exchanged among students of a
chat room. The server can also talk to any one particular chat room. There is a TextField
for the server to type in its messages and on pressing a "SEND" button that messages
should be sent to all clients logged on the chat room the server wants to talk to.
* Each client should login to the server before entering a chat room.
* It shall authenticate students’ requests to join the chat by means of a username and
password. After successful Login, the server will assign the client to the chat room it
requested to be signed in for. In This Application the Username and the Password are the
same.
* The server keeps track of the clients in each chat room and produces that data
whenever the server needs to see it.
* Whenever a client logs in or logs out, all the other clients present in that chat room are
notified of the new client entry/exit and when the client logs off, its information is
deleted.
* When a new user connects to the chat server, a new connection will be created to
service the client applet's communication.
Multiple clients can communicate with the server via a socket interface.
B) CLIENT SIDE:
* The client should log on to the server using a Username and Password. It should also
provide the server the chat room it wants to log on to.
* On sending the information to the client, the server authenticates the username and
password and if they match opens a new thread to service this client. If the user name and
password does not match, then the server should prompt the client. The Username and
Password should be same in this application.
* The client Applet/Frame shall has GUI for students to log to the server and to be able
to chat with other students (the interface displays a list of other students in the same chat
room).
* The interface has a TextArea to display the messages sent by other clients in that chat
room. The interface should also provide a TextField for the client to type its questions
and send it to the server.
* The client will be able to see the messages sent by the server to its chat room.
* Clients cannot see the messages sent by other clients present in different chat rooms.
* Whenever a fresh client logs on to the chat room in which the old client is logged on,
then the information about that client is visible immediately i.e. the all clients updates its
chat room list to display the new client automatically.
* The client can send messages to other students in the same chat room or ask his
instructor a question.
* The client shall be able to logout or to exit at any time.
OUPUT SCREEN SHOTS
The output of the software is just like this;
The server:
The client login screen:
After successful login:
On chatting:
CONCLUSION
is paid to the user's need and speed of server while designing the system. The whole
system developed was tested with actual data. The performance is evaluated, and is found
The current functioning of the system satisfies the developers. This software
would immensely helps the user in achieving his/her requirement more quickly without