Download - Client Server Chatting
-
7/24/2019 Client Server Chatting
1/66
-
7/24/2019 Client Server Chatting
2/66
INTRODUCTION
PURPOSE OF THE PROJECT
This Project Entitled as MULTI-CHATROOM is used basically for chatting
purpose with the remote clients or users on Internet or local networks. Here in
this project a jaa client ! serer combination is used to chat with remote users.
"hen a #lient wants to chat with a user on a remote host$ he sends a re%uest to
the &erer with a identification name like chat'id$ the serer responds to the
re%uest by identifying the client'id which is already registered in the serer
domain and when matched his re%uest is granted and the client can begin to chat
with the remote users present on the internet or local network.
The power of Internet is such that it integrates together ()*s located across
dierse software and hardware forms into a single large communication network that
spans the globe. The client needs to hae a client software such as *etscape
*aigator or Internet E+plorer to retriee information as well as chat on the
www. """ is referred to as *etsurfing. )nd it supports chatting$ te+t$ ideo and
audio.
The benefit of using ,MULTI-CHATROOM- oer other chatting tools is
that$ with the help of jaa$ the programmer can create applet applications which can
be use the internet as a serer. )pplets are machine independent and so jaa programs
can run on any computer on the internet.
The term client!serer is used in the conte+t of networking$ what it actually
means.
It is important to understand the terms client!serer because the ,MULTI-
CHATROOM- project is supported completely by client!serer model. ) serer is
anything that has some resource that can be shared. There are compute serers$ which
proide computing power$ web serers$ which store web pages. ) client is simply any
-
7/24/2019 Client Server Chatting
3/66
other entity that wants to gain access to a particular serer. The interaction between
clientserer is like an interaction between an electrical socket and a lamp. The serer
is a permanently aailable resource while client is free to ,unplug- after it has been
sered.
The program's premier feature is its whiteboard drawing utility. You can draw
freehand, do circles, squares, lines, text, or paste image files to the canvas. This is
ideal when users want to "sketch" concepts for one another. sers can interact
publicly with everyone else on the server, or they can chat!draw privately using ava
#hat's "whisper mode". sers can create and manage chat rooms, which can be
either "public" or "private". The server will also store and manage answering
machine$style messages for users who aren't online, and instant messages can be
sent to those who are. %dditionally, users who aren't watching their screens can be
paged with sound.
PROBLEMS EXISTING IN SYSTEM
Hae u eer thought that we can chat with people residing )t far of places i.e.$
remote chatting around the world now we can do this$ thats what technology is all
about and u will be surprised that u can chat with people all oer the globe just sitting
at your P#$ sounds interesting yes/$ just at the click of a button u can communicate
and share information between different users who are present on their terminals at
the time you logged in. )ll this can be done through a program called #H)T and the
project MULTI-CHATROOM is all about chatting.
The program is called #hat$ when you are #hatting$ eerything you type will instantly
be transmitted around the world to other users that might be watching their terminals
at the time. They can then type something and respond to your messages$ and ice
ersa. #hatting is based on a client'serer model. #lients are programs that connect to
a serer0 a serer is a program that transports data$ 1messages2$ from a user client to
another. There are clients running on many different systems that allow you to
connect to a #hat serer. Currently most of the current Chat applications are text
based and few are capable of transferring tiny images, but there lacks a Chat system
for the technical people who can chat as well as they can represent their ideas in the
-
7/24/2019 Client Server Chatting
4/66
form of drawing the pictures online.Many vendors distribute even these technologies
separately but to obtain these features at one system will be the haunting task.
So what should we do and how should we solve the problem that even the technical
people are benefited by this chatting technology.
Through current chatting technologies we are able to send only text
Based messages to people and tiny images, but this type of chatting is not helping the
technical people to work efficiently when the uestion of sending big pictures like say
business plans to the customers that is the business clients to approve of the plan or
the client pro!ect, imagine big business plans and deals getting approved through
chatting and large business pro!ects started, how beneficial it will be to the technical
people as well the client on the other side. "et#s see how to solve this problem.
SOLUTION TO THE PROBLEM
To solve the inconveniences as mentioned above, an $MULTI-
CHATROOM% is proposed. The proposed system#s premier feature is its
whiteboarddrawing utility. &ou can draw freehand, do circles, suares, lines, text, or
paste image files to the canvas. This is ideal when users want to 'sketch' concepts
for one another. This feature of $MULTI-CHATROOM% can be a boon for the
technical people who want to share their ideas or concepts in the pictorial form. This
system includes the facilities of traditional chat servers and clients like providing a
window for each (ther user, )hisper chat, multiple chat rooms etc. )ith the help of
the *)+T- B(/0# drawing utility now the technical people can carry out their
tasks easily and can share their big picture plans regarding their business to the
clients, exchange ideas and concepts and many more things, basically exchange as
well as share the information along with the using the drawing utility even long
conversations can be made between two users which may be important business
meetings or deals to be sanctioned and all this is carried out with the support of
applets with the help of image based web menu images can be transferred.
-
7/24/2019 Client Server Chatting
5/66
Scope of the project
""" is called the "orld "ide "eb. """ supports many kinds of te+t$
pictures$ ideo and audio. """ resources through a web browser which basically a
program that runs on the internet.
There are two kinds of browsers 32 te+t only browsers and 42 graphical
browsers. 5raphical browsers like *etscape *aigator and Internet E+plorer are
popular. These browsers proide you Inline images$ fonts 6 document layouts. "hen
you access a """ serer$ the document is transferred to your computer and then the
connection is terminated.
The "orld "ide "eb is a network of information$ accessible ia an easy'to'
use interface. The information is often presented in hyperte+t or multimedia and
proided by serers located around the world. The usability of the "eb depends
largely on the performance of these serers.
This application is a 7aa client!serer combination$ which can be used to chat oer
the Internet or local networks
"ith these features and with the adent of """$ "eb browsers and with
,MULTI-CHATROOM-$ Internet has become the media of applications.
"e can use ,MULTI-CHATROOM- for following actiities8
To e+change information and conerse with friends and family.
To participate in group discussions through public news bulletin board.
9or Entertainment.
(eisure actiities.
)ccess business while at home.
)t any gien point of time$ up'to'date information is proided.
HARARE AN! SOFARE SPECIFICATION
-
7/24/2019 Client Server Chatting
6/66
The proposed system should hae the following features8'
The #hat &erer and #lients Interface should be as simple as possible so that
they can be configured een by a na:e user.
&erer should maintain a list of #lients and list of the clients who are currently
on line.
&erer should be able to create facility for one to one communication and
multiple user communication at once.
) user can able to sae the chatting information if he feels conersation is
important.
SOFTARE " HAR!ARE RE#UIREMENTS FOR CLIENT "
SER$ER
OPERATING SYSTEM "I*;
FRONT EN! 7)D)
SER$ER SI!E SCRIPTING 7)D) >IPT
CLIENT SI!E SCRIPTING 7)D) >IPT
CONNECTION PROTOCOL T#P ! IP
PROCESSOR PENTIUM IV
CLOCK SPEED 2 GHZ
SYSTEM BUS 32 BIT
RAM 512 MB
HDD 40GB
MONITOR SVGA COLOR
KEY BOARD 108 KEYS
MODEM 56 KBPS
MOUSE PS/2
FDD 1.44 MB
PROJECT ANALYSIS
%& STU!Y OF THE SYSTEM
-
7/24/2019 Client Server Chatting
7/66
This application can be mainly diided into two modules8
3. &erer
4. #lient
This project ,MULTI-CHATROOM- is mainly depended on client!serer
model. The client re%uests the serer and serer responses by granting the clients
re%uest.
The proposed system should proide both of the aboe features along with the
followed ones8
SER$ER' The serer should be able to perform the following features8
The first and foremost problem is to find the serer. "e should identify the
program in the serer which processes the clients re%uest.
)dministrator #lient who will be acting as a super user.
#reating of priate room with the password facility to enable priate chats with
the users online. The serer is always waiting for clients re%uests .The clients
come and go down but the serer remains the same.
CLIENT' The client should be able to perform the following features8
&hould be able to send message to anybody in the room with clients uni%ue chat
name created in the serer for chatting purpose.
Should be provided with the drawing tools like free hand, rectangle, oval, line and
also sending text message over the room.
In all the network applications$ we find two sort program where the first i.e.$
serer sends the information and the second i.e.$ client receies the information.
(& INPUT AN! OUTPUT'
The user has to proide to which serer it has to connect. In this$ the serer
name to be proided is local host.
-
7/24/2019 Client Server Chatting
8/66
The user has to proide the username and the password for proceeding with the
serer for chatting purpose.
)& PROCESS MO!EL USE! ITH JUSTIFICATION
The model used here is a SPIRAL MO!EL. This odel demands a direct
consideration of technical risk at all stages of the project and if properly applied it
reduces risk before they become problematic$ hence it becomes easier to handle a
project when using this kind of model where in the end user can ealuate the
program at the end of each stage and suggest modification if re%uired. In this way
the >isk anagement of Project is carried out efficiently through &piral model.
-
7/24/2019 Client Server Chatting
9/66
&piral model
The general idea behind &piral odel is that you dont define eerything in detail atthe ery beginning. Bou start small$ define your important features$ try them out$ get
feedback from your customers$ and then moe on to the ne+t leel. Bou repeat this
until you hae the final product. Each time around the &piral inoles @ steps8
3. ;etermine objecties$ alternaties and constraints.
4. Identify and resole risks.
F. Ealuate alternaties.
G. ;eelop and test the current leel.. Plan the ne+t leel.
@. ;ecide on the approach for the ne+t leel.
In this model$ software tester gets a chance to influence the product early by being
inoled in the preliminary design phases. He can see where the project has comefrom and where is it going. )lso$ the cost of finding problems is low since they are
found early.
-
7/24/2019 Client Server Chatting
10/66
-
7/24/2019 Client Server Chatting
11/66
3. &E'#)&E ;I)5>)8
-
7/24/2019 Client Server Chatting
12/66
!ATA FLO !IAGRAMS
&BC
-
7/24/2019 Client Server Chatting
13/66
*ero +e,e+ ./0r/1
#lient re%uests serice to serer and &erer grants the re%uest through a
response.
-
7/24/2019 Client Server Chatting
14/66
#lient has to first register himself in the serer to begin chatting. &erer
encrypts the P&"; and client is registered$ welcome message prompted
by serer.
-
7/24/2019 Client Server Chatting
15/66
#lient can send message to another client through serer.
#lient can send offline messages to other clients$ serer stores and forwards
the messages when other users log on.
-
7/24/2019 Client Server Chatting
16/66
#lient logs out of chat$ serer notifies 6 updates all other users by a message.
-
7/24/2019 Client Server Chatting
17/66
&erer shuts down by sending message and closes connection by giing a
prompt.
% LE$EL !F!'
-
7/24/2019 Client Server Chatting
18/66
C+/22 !./0r/1 Of Ser,er'
-
7/24/2019 Client Server Chatting
19/66
-
7/24/2019 Client Server Chatting
20/66
C+/22 !./0r/1 for C+.e3t'
-
7/24/2019 Client Server Chatting
21/66
Act.,.t4 !./0r/1 For Lo0.3'
-
7/24/2019 Client Server Chatting
22/66
Act.,.t4 !./0r/1 For Ch/tt.30'
-
7/24/2019 Client Server Chatting
23/66
2.11) Se56e3ce !./0r/1'
-
7/24/2019 Client Server Chatting
24/66
-
7/24/2019 Client Server Chatting
25/66
OUTPUT SCREENS
-
7/24/2019 Client Server Chatting
26/66
Ser,er St/rte
-
7/24/2019 Client Server Chatting
27/66
C+.e3t St/rte .3 /3other 7.3o7
-
7/24/2019 Client Server Chatting
28/66
C+.e3t Lo0.3 to Ser,er
-
7/24/2019 Client Server Chatting
29/66
Co33ect.o3 E2t/8+.2h.30 Bet7ee3 t7o c+.e3t2
-
7/24/2019 Client Server Chatting
30/66
Ch/tt.30 Bet7ee32 T7o C+.e3t2
-
7/24/2019 Client Server Chatting
31/66
Ch/tt.30 Bet7ee32 three C+.e3t2
-
7/24/2019 Client Server Chatting
32/66
Sho7.30 Ho7 to !.2co33ect
-
7/24/2019 Client Server Chatting
33/66
A++ U2er2 !.2co33ecte
-
7/24/2019 Client Server Chatting
34/66
-
7/24/2019 Client Server Chatting
35/66
MY ROLES AN! RESPOSNSIBILITY
)s team member of this project$ I was gien the following responsibilities8
I was inoled in the re%uirement gathering for the modules of designing and
coding.
I was responsible for documenting the re%uirement.
I was responsible for creating the client$ serer module.
I am also responsible for coding and implementation of the modules8
-
7/24/2019 Client Server Chatting
36/66
PROJECT CO!ING
%9 CO!E EXPLANATION
The MULTI-CHATROOM application is deeloped used awt 1)bstract
"indow Toolkit2.
Thej/,/9/7tpackage is much useful for creating user interfaces and for painting
graphics and images. ) user interface object such as a button or a scrollbar is
called$ in )"T terminology$ a component. The #omponent class is the root of all
)"T components. &ome components fire eents when a user interacts with the
components. ) container is a component that can obtain components and other
containers. ) container can also hae a layout manager that controls the isual
placement of components in the container.
The j/,/9/7t package implements different interfaces like
L/4o6tM/3/0er$ which defines the interface for classes that know how to layout
#ontainers.
P/.3t interface defines how color patterns can be generated for 5raphics4;
operations. ) class implementing the Paint interface is added to the 5raphics4;
conte+t in order to define the color pattern used by the draw and fill methods.
Thej/,/93et p/c:/0eproides the classes for implementing networking
applications. sing the socket classes$ one can communicate with any serer on
the Internet or implement their own Internet serer. ) number of classes are
proided to make it conenient to user niersal >esource (ocators 1>(s2 to
retriee data on the Internet.
The jaa.net package implements different interfaces like
!/t/0r/1Soc:etI1p+F/ctory for implementing data gram socket
-
7/24/2019 Client Server Chatting
37/66
implementations. #lasses ;atagram&ocket to create actual socket implementation
use it.
Soc:etI1p+F/cotr4interface defines a factory for &ocket implementations. It
is used by the classes socket and &erer&ocket to create actual socket
implementations.
Soc:etOpt.o32interface of methods to get!set socket options. Is implemented by
&ocketImpl and ;atagram&ocketImpl
OBJECT ORIENTE! PROGRAMMING AN! JA$A
-
7/24/2019 Client Server Chatting
38/66
procedure.2 ) program is diided into functions$ and 1ideally$ at least2 each
function has a clearly defined purpose and a clearly defined interface to the other
functions in the program. The idea of breaking a program into functions can be
further e+tended by grouping a number of functions together into a larger entity
called a module$ but the principle is similar8 grouping a number of components
that carry out specific tasks. ;iiding a program into functions and modules is
one of the cornerstones of structured programming$ the somewhat loosely defined
discipline that has influenced programming organiJation for more than a decade.
Pro8+e12 7.th Str6ct6re Pro0r/11.30
)s programs grow eer larger and more comple+$ een the structured
programming approach begins to show signs of strain. Bou may hae heard
about$ or been inoled in$ horror stories of program deelopment. The project is
too comple+$ the schedule slips$ more programmers are added$ comple+ity
increases$ costs skyrocket$ the schedule slips further$ and disaster ensures.
)nalyJing the reasons for these failures reeals that there are weaknesses in the
procedural paradigm itself. *o matter how well the structured programming
approach is implemented$ large programs become e+cessiely comple+.
"hat are the reasons for this failure of procedural languagesL
-
7/24/2019 Client Server Chatting
39/66
data itself. Bet data is gien second'class status in the organiJation of procedural
languages.
9or e+ample$ in an inentory program$ the data that makes up the inentory is
probably read from a disk file into memory$ where it is treated as a global
ariable. Cy global we mean that the ariables that constitute the data are
declared outside of any function$ so they are accessible to all functions. These
functions perform arious operations on the data. They read it$ analyJe it$ update
it$ rearrange it$ display it$ and write it back to the disk$ and so on.
"e should note that most languages$ such as Pascal and #$ also support local
ariables$ which are hidden within a single function. Cut local ariables are not
useful for important data that must be accessed by many different functions. *ow
suppose a new programmer is hired to write a function to analyJe this inentory
data in a certain way.
nfamiliar with the subtleties of the program$ the programmer creates a function
that accidentally corrupts the program. This is easy to do$ because eery function
has complete access to the data. ItMs like leaing your personal papers in the lobby
of your apartment building8 )nyone can change or destroy them. In the same
way$ global data can be corrupted by functions that hae no business changing it.
)nother problem is that$ since many functions access the same data$ the way the
data is stored becomes critical. The arrangement of the data canMt be changed
without modifying all the functions that access it. If you add new data items$ for
e+ample$ youMll need to modify all the functions that access the data so that they
can also access these new items. It will be hard to find all such functions$ and
een harder to modify all of them correctly. ItMs similar to what happens when
your local supermarket moes the bread from aisle G to aisle 34. Eeryone who
patroniJes the supermarket must figure out where the bread has gone$ and adjust
their shopping habits accordingly.
-
7/24/2019 Client Server Chatting
40/66
"hat is needed is a way to restrict access to the data$ to hide it from all but a few
critical functions. This will protect the data$ simplify maintenance$ and offer
other benefits as well.
Re+/t.o32h.p to the Re/+ or+
Procedural programs are often difficult to design. The problem is that their chief
components''functions and data structures''donMt model the real world ery well.
9or e+ample$ suppose you are writing a program to create the elements of a
graphics user interface8 menus$ windows$ and so on. Nuick now$ what functions
will you needL "hat data structuresL The answers are not obious$ to say the
least. It would be better if windows and menus corresponded more closely to
actual program elements.
Ne7 !/t/ T4pe2
There are other problems with traditional languages.
-
7/24/2019 Client Server Chatting
41/66
The o8ject or.e3te /ppro/ch
The fundamental idea behind object'oriented languages is to combine into a
single unit both data and the functions that operate on that data. &uch a unit is
called an object.
)n objects functions$ called member methods in 7aa$ typically proide the only
way to access its data. If you want to read the item and return the alue to you$
you call a member function in the object. It will read the item and return the
alue to you. Bou cant access the data directly. The data is hidden$ so it is safe
from accidental modification. ;ata and its functions are said to be encapsulated
into a single entity. ;ata encapsulation and data hiding are key terms in the
description of object oriented languages. If you want to modify the data in an
object$ you know e+actly what functions interact with it8 the member functions in
the object. *o other functions can access the data. This simplifies writing$
debugging$ and maintaining the program. ) 7aa program typically consists of a
number of objects$ which communicate with each other by calling one anothers
members functions. "e should mention that what are called member functions in
#KK are called methods in 7aa. )lso$ data items are referred to as instance
ariables. #alling an objects member function is referred to as sending a
message to the object.
A3 /3/+o04
Bou might want to think of objects as departmentsOsuch as sales$ accounting$
personnel$ and so onOin a company. ;epartments proide an important approach
to corporate organiJation. In most companies 1e+cept ery small ones2$ people
dont work on personnel problems one day$ the payroll the ne+t$ and then go out
in the field as sales people the week after. Each department has its own
personnel$ with clearly assigned duties. It also has its own data8 payroll$ sales
figures$ personnel records$ inentory$ or whateer$ depending on the department.
The people in each department control and operate on those departments data.
;iiding the company into departments makes its easier to comprehend and
control the companys actiities$ and helps them maintain the integrity of the
-
7/24/2019 Client Server Chatting
42/66
information used by the company. The payroll department$ for instance$ is
responsible for the payroll data. If you are from the sales department$ and you
need to know the total of all the salaries paid in the southern region in 7uly$ you
dont just walk into the payroll department and start running through file cabinets.
Bou send a memo to the appropriate person in the department$ and then you wait
for that person to access the appropriate person in the department$ and then you
wait for that person to access the data and send you a reply with the information
you want. This ensures that the data is accessed accurately and that it is not
corrupted by inept outsiders. 1This iew of corporate organiJation is show in
figure2. In the same way$ objects proide an approach to program organiJation$
while helping to maintain the integrity of the programs data.
&&( %n approach to organi)ation
eep in mind that object'oriented programming is not primarily concerned with
the details of program operation. Instead$ it deals with the oerall organiJation of
the program.
#haracteristics of obect$oriented languages(
(ets briefly e+amine a few of the major elements of object'oriented languages in
general and 7aa in particular.
&bects
"hen you approach a programming problem in an object oriented language$ you
no longer ask how the problem will be diided into functions$ but how it will be
diided into objects. Thinking in terms of objects$ rather than functions$ has a
surprisingly helpful effect on how easily programs can be designed and objects in
the real world.
"hat kinds of things become objects'oriented programsL The answer to this is
limited only by your imagination$ but there are some typical categories to start
you thinking8
hysical obects
-
7/24/2019 Client Server Chatting
43/66
)utomobile in a traffic'flow simulation
Electrical components in a circuit design to a program
#ountries in an economics model
)ircraft in an air'traffic control system
Elements of the computer'user enironment
o "indows
o enus
o 5raphics objects1lines $rectangles$ circles2
o The mouse and the keyboard
Programming constructs
o #ustomiJed arrays
o &tacks
o (inked lists
#ollection of data
o )n inentory
o ) personnel file
o
) dictionary) table of the latitudes and longitudes of world cities
ser defined data types
o Time
o )ngles
o #omple+ numbers
o Points on the plane
#omponents in a computer games
5hosts in maJe game
Positions in a board game 1chess$ checkers2
)nimals in an ecological simulation
-
7/24/2019 Client Server Chatting
44/66
-
7/24/2019 Client Server Chatting
45/66
engine$ transmission$ and braking systems work. Instead they are free to utiliJe
the object as a whole.
) powerful way to manage abstraction is through the use of hierarchical
classifications. This allows you to layer the semantics of comple+ systems$
breaking them into more manageable pieces. 9rom the outside$ the car is a single
object.
-
7/24/2019 Client Server Chatting
46/66
*ncapsulation
Encapsulation is the mechanism that binds together code and the data it
manipulates$ and keeps both safe from outside interference and misuse.
-
7/24/2019 Client Server Chatting
47/66
ariables. The code that operates on that data is referred to as member methods or
just methods.
&ince the purpose of a class is to encapsulate comple+ity$ there are mechanisms
for hiding the comple+ity of the Implementation inside the class. Each method or
ariable in a class may be marked priate or public. The public interface of a
class represents eerything that e+ternal users of the class need to know$ or may
know. The priate methods and data can only be accessed by code that is a
member of the class. Therefore$ any other code that is not a member of the class
cannot access a priate method or ariable. &ince the priate members of a class
may only be accessed by other parts of your program through the class public
methods$ you can ensure that no improper actions take place.
-
7/24/2019 Client Server Chatting
48/66
attributes and behaior is the class definition for animals. If you wanted to
describe a more specific class of animals$ such as mammals$ they would hae
more specific attributes$ such as type of teeth$ and mammary glands. This is
known as a subclass of animals$ where animals are referred to as mammals super
class.
&ince mammals are simply more precisely specified animals$ they inherit all of
the attributes from animals. ) deeply inherited subclass inherits all of the
attributes from each of its ancestors in the class hierarchy. Inheritance interacts
with encapsulation as well. If a gien class encapsulates some attributes$ then any
subclass will hae the same attributes plus any that it adds as part of its
specialiJation 1see 9igure 4'42. This is a key concept which lets object'oriented
programs grow in comple+ity linearly rather than geometrically. ) new subclass
inherits all of the attributes of all of its ancestors. It does not hae unpredictable
interactions with the majority of the rest of the code in the system.
Po+41orph.21
Polymorphism 1from the 5reek$ meaning ,many forms-2 is a feature that allows
one interface to be used for a general class of actions. The specific action is
determined by the e+act nature of the situation. #onsider a stack 1which is a last'
in$ first'out list2. Bou might hae a program that re%uires three types of stack.
-
7/24/2019 Client Server Chatting
49/66
each situation. Bou$ the programmer$ do not need to make this selection manually.
Bou need only remember and utiliJe the general interface.
E+tending the dog analogy$ a dogs sense of smell is polymorphic. If the dog
smells a cat$ it will bark and run after it. If the dog smells its food$ it will saliate
and run to its bowl. The same sense of smell is at work in both situations. The
difference is what is being smelled$ that is$ the type of data being operated upon
by the dogs nose/ This same general concept can be implemented in 7aa as it
applies to methods within a 7aa program.
Po+41orph.21; E3c/p26+/t.o3; /3 I3her.t/3ce or: To0ether
"hen properly applied$ polymorphism$ encapsulation$ and inheritance combine to
produce a programming enironment that supports the deelopment of far more
robust and scaleable programs than does the process'oriented model. ) well'
designed hierarchy of classes is the basis for reusing the code in which you hae
inested time and effort deeloping and testing. Encapsulation allows you to
migrate your implementations oer time without breaking the code that depends
on the public interface of your classes. Polymorphism allows you to create clean$
sensible$ readable$ and resilient code.
-
7/24/2019 Client Server Chatting
50/66
brakes$ and the siJe of the tires hae no effect on how you interface with the class
definition of the pedals. The final attribute$ polymorphism$ is clearly reflected in
the ability of car manufacturers to offer a wide array of options on basically the
same ehicle. 9or e+ample$ you can get an antilock braking system or traditional
brakes$ power or rack'and'pinion steering$ G'$ or @'$ or Q'cylender engines. Either
way$ you will still press the break pedal to stop$ turn the steering wheel to change
direction$ and press the accelerator when you want to moe.
-
7/24/2019 Client Server Chatting
51/66
"
-
7/24/2019 Client Server Chatting
52/66
&oftware testing is a critical element of %uality assurance and represents the ultimate
preiews of specifications$ design and coding. Testing represents an interesting anomaly
for the software. ;uring the earlier definition and deelopment phase it was attempted to
build software from an abstract concept to a tangible implementation.
The testing phase inoles the testing of the deeloped system using arious test data.
Preparation of list data plays a different role in the system testing. )fter preparing the test
data the system under study is tested using those test data. "hile testing the system by
using test data$ errors were found and corrected. Thus a series of lists was performed for
the proposed system before the system was ready for implementation. The arious types
of testing done on the system are8
nit testing.
Integration testing.
Dalidation testing.
-
7/24/2019 Client Server Chatting
53/66
-
7/24/2019 Client Server Chatting
54/66
)t the culmination of integration testing$ software is completely assembled as a package$
interfacing errors hae been uncoered and corrected and final series of software test'
alidation testing begins. Dalidation testing can be defined in many ways$ but a simple
definition is that alidation succeeds when the software functions in a manner that can be
reasonably accepted by the user!customer. &oftware alidation is achieed though a series
of blank bo+ tests that demonstrate conformity with re%uirements$ after alidation list has
been completed one of two possible conditions e+ists.
The function or performance characteristics confirm to specification and are
accepted.
) deiation from specification is uncoered and a deficiency list is created.
;eiation or errors discoered at this step in this project is corrected prior to
the completion of the project with the help of users by negotiating to establish a
method of resoling deficiencies. Thus$ proposed system under consideration
has been tested by using alidation testing and found to be working
satisfactorily.
Dalidation plays an important role in the deelopment for the system. Testing is done to
check for synta+ and logical errors$ but alidation is done to check whether the system
works as per planned in the real time enironment.
Dalidation refers to the process of using software in a lie enironment in order to
find errors. The feedback from the alidation phase generally produces changes in the
software to deal with errors and failures that are uncoered. Then a set of user sites is
selected that puts the system into use on a lie basis. They are called beta test sites.
The beta test sites use the system in day'to'day actiities. The process lie
transactions and produce normal system output. The system is lie in eery sense of the
word$ e+cept that the users are aware they are using a system that can fail. Cut the
transactions that are entered and the persons using the system are real.
Dalidation may continue for seeral months. ;uring the course of alidating the
-
7/24/2019 Client Server Chatting
55/66
system. 9ailure may occur and software will be changed. #ontinued use may produce
additional failures and need for still more changes. Dalidation checking is properly done
in our project.
9irstly$ the systems data entry screens are alidated for null alues. If any null
alues are found$ mail clients are prompted to enter the appropriate mail ids. Each email
entry is checked for R symbol for confirmation of that it is a e'mail id. Thus alidation
checks hae been performed in this project.
OUTPUT TESTING
)fter performing the alidation testing the ne+t steps are outputs testing of theproposed system$ since no system could be useful if it does not produce the re%uired
output in the specified format. The output generated are displayed by the system under
consideration are tested by comparing with the format re%uired by the user. Here theoutput format is considered in two ways on is onscreen and rather is printed format. The
output format on the screen is found to be correct as the system design phase according to
the user needs for the hard copy also$ the output comes doesnt testing result in anycorrection in the system.
-
7/24/2019 Client Server Chatting
56/66
@@
MULTI-CHATROOM
USER ACCEPTANCE TESTING
ser acceptance of a system is a key factor to the success of any system. The
system under consideration was tested for user acceptance by constantly keeping in touch
with the prospectie system user at the time of deeloping and making changes whereer
re%uired. This is done with regard to the following points
Input screen design.
-
7/24/2019 Client Server Chatting
57/66
@@
MULTI-CHATROOM
;ebugging by back tracking inoles the working background as the source code
from the point where the error was obsered in an attempt to identity the e+act point
where the error has occurred.
) small system error can conceiably e+plode into a much larger problem.
Effectie testing early in the process translated directly into long term cost saings from a
reduced number of errors.
)nother reason for testing is its utility as a user'oriented ehicle before
implementation. The best program is worthless if it does not meet the user needs.
nfortunately$ the users demands are often compromised by efforts to facilitate program
or design efficiency in terms of processing time or memory utiliJation.
-
7/24/2019 Client Server Chatting
58/66
@@
MULTI-CHATROOM
THE TEST PLAN'
The first step in system testing is to prepare a plan that will test all aspects of the
system in a way that promotes its credibility among potential users. ) test plan entails the
following actiities.
Prepare test plan.
&pecify conditions for user acceptance testing.
Prepare test data for program testing.
Prepare test data for transaction path testing.
Plan user training.
#ompile ! assemble programs.
Prepare job performance aids.
Prepare operational documents.
UNIT TESTING AN! !EBUGGING'
In unit testing the module is tested independently. It is done to test that the module doessatisfy the functional specification. This is done to check synta+ and logical errors in
programs. )t the time of preparation of technical specifications$ unit test data was also
prepared. The coding for that program was considered after erifying its output against
this test data.
&tatic analysis is used to inestigate the structural properties of source code.
;ynamic test cases are used to inestigate the behaior of source code by e+ecuting the
program on the test data. "e use the term program unit to denote a routine or a collection
of routines implemented by an indiidual programmer.
nit testing comprises the set of tests performed by an indiidual programmer
prior to integration of the unit into a larger system. The situations is illustrated as
follows8
-
7/24/2019 Client Server Chatting
59/66
@@
MULTI-CHATROOM
Co.30 " e8600.30 63.t te2t.30 .3te0r/t.o3
te2t.309
) program unit is usually small enough that the programmer who deeloped it can
test it in a great detail and certainly in greater detail than will be possible when the unit is
integrated into an eoling software product.
;ebugging is the process of isolating and correcting the causes of known errors.
&uccess at debugging re%uires highly deeloped problem soling skills. #ommonly used
debugging methods include induction$ deduction and back tracking.
Induction inoles the following steps8
#ollect the aailable information.
(ook for the Patterns.
9orm one or more hypothesis
Proe or disproe each hypothesis.
Implement the appropriate corrections.
Derify the correction.
Integration testing is a systematic techni%ue for constructing the program structure
while conducting tests uncoers errors associated with interfacing. The objecties are the
take unit test modules and build a program structure that has been dictated by design.
-
7/24/2019 Client Server Chatting
60/66
@@
MULTI-CHATROOM
manuals are mainly based upon the system specification. Coth the system operators and
users need the training.
sers are to be instructed first$ how to operate the applications. ser training also
to be gien which would instructs indiiduals in trouble shooting systems$ determines
whether problem arise due to e%uipment failure or software failure or something that they
had one in the using system.
)s most users are familiar with accessing chat applications and had been a regular
user of #hat$ there was no need of training on this project. Howeer$ the system
administrators were discussed regarding the implementation of the project by copying the
.jar file and unJipping it. &erer programs are stored in organiJations serer and in all the
other places only client applications class file alone are copied. &hortcut icons are placed
for inoking the client program which connects to the serer after confirmation of the IP
address and port number. Howeer a walk through of the project and a hands on
assistance made the project more user friendly.
E=ec6t.o3 Te2t.30
This program was successfully loaded and e+ecuted. Cecause of good
programming there were no e+ecution errors. The complete performance of the
project ,MULTI-CHATROOM- was good.
O6tp6t Te2t.30
The successful output screens are placed in the output screens section aboe with
brief e+planation about each screen.
-
7/24/2019 Client Server Chatting
61/66
@@
MULTI-CHATROOM
-
7/24/2019 Client Server Chatting
62/66
-
7/24/2019 Client Server Chatting
63/66
@@
MULTI-CHATROOM
-
7/24/2019 Client Server Chatting
64/66
@@
MULTI-CHATROOM
CONCLUSION
Een though this application has been deeloped with the users own Protocols$
this can be used in an Internet based organiJation.
3. This system was deeloped so that people can e+change information as
well as conerse with each other.
4. Through this system people can access chat rooms globally.
F. The system is interactie and friendly.
G. Entire system is fully automatic to the clients and satisfies the clients
re%uest
. -specially the system is more useful to the technical people when the need
for sending pictures, images it is solved through )+T- B(/0 1T"T&
(2 $MULTI-CHATROOM%.
-
7/24/2019 Client Server Chatting
65/66
@@
MULTI-CHATROOM
-
7/24/2019 Client Server Chatting
66/66
MULTI-CHATROOM
BIBLIOGRAPHY
Soft7/re E30.3eer.30by ..)ggarwal 6 Bougesh &ingh
Pro0r/11.30 I3 JA$A ; HCL
JA$A B+/c: Boo:
www.google.com
http://www.google.com/http://www.google.com/