1. ACKNOWLEDGEMENT
Firstly, we would like to express our heartfelt gratitude to our project guide Mr. Mubeen
Khan for guiding us through the course of the project. We are highly indebted to for
invaluable guidance and ever-ready support, which was necessary for the successful
completion of the project in, stipulates time. Their deep knowledge of computer
engineering field made us realize that theoretical knowledge always helps develop
efficient operational industrial software, which are a blend of all core subjects of the
field. Working under her guidance has been a fruitful experience, which will be very
valuable for us, when we enter the corporate world.
We wish to acknowledge our heartily regards to Mr. Pratyush Sharma, HOD of our
Computer Science Department of Malwa Institute Of Technology for his kind
information and for suggestion the project and for this constant advise and
encouragement during the course of the development of the project.
We are also thankful to Our Director Mr. O.P. Bhatia for his encouragement and
valuable suggestion given in our project.
Here we think from the core everybody who has helped what work. We find opportunity
to acknowledge our regards and thanks to our family members and friends who have true
support behind us.
Page 1
2. CERTIFICATE
This is to certified that this project report “LAN CHAT MESSENGER (LCM)” is the
bonafide work of Shashank Bafna (0821CS071091) and Shilpi Gupta (0821CS071093)
and Swapnil Virkar (0821CS071107) of this institute who carried out the project work
under my supervision.
SIGNATURES:
In-Charge Teacher Head of the Department Director/Principal
………………….. ……………………… ………………….
Date: ................... Date: ……………… Date: …………...
Page 2
3. VIVA-VOCE EXAMINATION
The viva-voce examination of this project work done as a part of Bachelor of
Engineering Degree in Computer Science and Engineering held on _________.
Internal Examiner External Examiner
………………….. ………………......
Page 3
4. CONTENTS
1. ABSTRACT 7
2. INTRODUCTION 8
2.1 Preface 8
2.2 Problem Statement 9
2.3 Existing System 9
2.4 Its Problem & Proposed Solution 9
2.5 Key Features 10
3. FUNDAMENTALS 11
3.1 JDK & JRE 11
3.2 Net Beans 6.8 11
3.3 Java Programming Language 12
3.4 JVM 12
4. SOFTWARE REQUIREMENT SPECIFICATION (SRS) 16
4.1 Introduction 16
4.1.1 Aim 16
4.1.2 Process 16
4.2 Purpose of SRS 16
4.3 Scope of SRS 17
4.4 Function Requirements 17
4.4.1 System Requirements 18
4.4.2 Input and Output Requirements 18
Page 4
5. 4.5 Non-Functional Requirements 18
4.5.1 Performance Requirements 19
4.5.2 Interface Requirements 19
4.5.3 Operating System Requirements 19
4.5.4 Design Constraints 20
4.6 Development Methodology 20
4.7 Summary 21
5. ANALYSIS 22
5.1 Current System Study 22
5.1.1 Existing System 22
5.1.2 Proposed System 23
5.2 Proposed Model 23
6. DESIGN 26
6.1 Use Case Diagram 27
6.1 Sequence Diagram 28
6.1 Activity Diagram 29
7. TESTING 30
8. SNAPSHOTS 32
9. FUTURE SCOPE 51
10. CONCLUSION 52
Page 5
7. Abstract
The LAN Chatting Messenger (LCM) is a tool that allows a group of people to
collaborate via the LAN; some its features include live chat, which can be done one-on-
one or in a group format, private chat, file transfer, and note storage.
Many of the features of this tool combine abilities that were previously only possible via
email such as file transfer. However, email did not allow for live chatting and for large
file transfers. The LCM allows for much larger file transfers because of its ability to
connect directly peer to peer.
The tool's DHCP capabilities allow two users to connect even when they do now know
each other's IP address. Thus, enables chatting with a peer on the same LAN much
simpler.
Instant messaging functionality enables users to send textual messages in a live format.
This feature can be done in a private one-on-one format or in a group chat. Since the
software operated on the same LAN network files never leave the system. Thus,
allowing for an extra level of security. The protocol utilized is similar to win popup LAN
messenger, Officer Popup, and Net Sent GUI. Thus, users can chat/ transfer files with
users on those software’s as well.
Finally, a differentiator from other chat systems is the ability to filter the
Abusive/unwanted word i.e. Content Filtering, transferred files & Store past chats for
retrieval at a later point.
Apart from live chat, Storage of chats is also done to View Past chats & to retrieve them.
Being a LAN based tool the software does not require internet access to be utilized by a
group of people on the same LAN. With LINK server, for VPN/ Multiple networks, you
can also work on a server/client based mode for composite networks. The LAN chat
server allows users to link to mobile users as well. This can be useful for communication
with users that are traveling or without VPN.
The tool is implemented silently on a server, thus allowing the users work to go on
uninterrupted while installation/update of chats is being completed. Thus help in setting
up almost like a meeting or discussion ground on computer where they can chat live
(with or without the use of Content Blocker) along with file sharing in secured systems.
Page 7
8. INTRODUCTION
2.1) PREFACE
Chat is a form of real-time direct text-based communication between two or more people
using personal computers or other devices, along with shared software clients. The
user's text is conveyed over a network, such as the Internet.
LAN Chat Messenger (LCM) is a collection of technologies used for real-time text-based
communication between two or more participants over the Internet, or other types
of networks. Of importance is that live chat differs from other technologies such as e-
mail due to the perceived synchronicity of the communications by the users –chat
happens in real-time.
LCM allows effective and efficient communication, allowing immediate receipt of
acknowledgment or reply. In many cases chat includes additional features which can
make it even more popular. For example, many client programs allow file transfers as
well, although they are typically limited in the permissible file-size. LCM Allows
transferring file using IP to IP transfer technique.
LCM, not only helps in chatting, transferring file but also filters the chat thereby
removing abusive/unwanted chats, It is typically possible to save a text conversation for
later reference. Live chatting is often logged in a local message history, making it similar
to the persistent nature of e-mails.
The project described in this report looks at design and development of various Chatting
Messengers. It allows users to communicate with each other. By this media users can chat
with low investments. There are 2 major issues which arise while developing a
messenger. First is filtering of unwanted/Abusive words. Secondly, File Transfer using IP
address of the respective user thereby Preventing access to other’s account.
Page 8
9. Project Description
2.2)STATEMENT ABOUT THE PROBLEM
To create software system designed for messenger customers to use via their computers
having connected to LAN. The goal of LAN Chat Messenger (LCM) is to provide
communication between users via differentiated LAN IP provided to individual users.
Along with this LCM should also provide the Content Filtering for removal of unwanted/
abusive words. File Transfer using IP address of respective user thereby denying access
to other user is it’s another function. Finally for retrieval it should be able to save the
chats in form of notes.
2.3) EXISTING SYSTEM:
In current system the user/client mostly depend on Emails, Phones, Files kept on one
system is to be transferred manually either in a CD or some other storage device & then
Mailing that to the postal address. Later, after some time they can chat live, they can
transfer files. Exchange of information became possible both on LAN and Internet.
2.4) Problems in Existing System:
Emails were not synchronized, thus Exchange of information was never so easy
Mailing CD to a postal address was a very hectic job. Chances of information
loss increased
Chats can’t be saved, which may be required for retrieval as a proof.
Content Filtering was not possible, i.e. removal of unwanted/abusive words.
Proposed Solution:
This project provides a media by which chatting can be done without using internet
in a local area network. This software provides secure communication between two users.
Every user can connect to the IP address of other user for private chatting & may connect
to the server for Group chatting. User can send file to the destined IP address of the
particular user. Content Filtering mechanism is applied here by searching the
unwanted/abusive words from the source file. The option to save the chat is enabled here
in form of notes.
Page 9
10. 2.5) Key Features
1) Enables Live chatting capabilities.
2) Clients can chat in form of group
3) Private messaging or chat is also Possible
4) Enables File transfer over IP to IP.
5) Enables Content Filtering.
6) Allow us to save chats in form of Notes.
7) Server is background processes which do not interfere in any manner.
8) Each client uses individual client to exchange the information.
Page 10
11. FUNDAMANTALS
3.1 JRE and JDK
Sun Microsystems provides two principal software products in the JavaTM 2
Platform Standard Edition (J2SETM) family:
• J2SE Runtime Environment (JRE)
The JRE provides the libraries, Java virtual machine, and other components
necessary for you to run applets and applications written in the Java programming
language. This runtime environment can be redistributed with applications to make
them free-standing.
• J2SE Development Kit (JDK)
The JDK includes the JRE plus command-line development tools such as
compilers and debuggers that are necessary or useful for developing applets and
applications.
3.2 NetBeans 6.8
A free, open-source Integrated Development Environment for software developers.
You get all the tools you need to create professional desktop, enterprise, web, and
mobile applications with the Java language, as well as C/C++, PHP, JavaScript,
Groovy, and Ruby. It is easy to install and use straight out of the box and runs on
many operating systems including Windows, Linux, Mac OS X and Solaris.
The NetBeans IDE 6.8 is the first integrated development environment to provide
complete support of Java EE 6 and the GlassFish Enterprise Server v3 platform.
Developers hosting their open-source projects on kenai.com benefit from improved
instant messenging and issue tracking integration in the IDE, including full support
for JIRA. Other improvements include new powerful C/C++ profiling features,
support for web application development with PHP 5.3 and the Symfony
framework, and improved code completion, hints and navigation in JavaFX
projects.
Page 11
12. 3.3 Java Programming Language
The Java Programming Language is a general-purpose, concurrent, strongly typed,
class-based object-oriented language. It is normally compiled to the bytecode
instruction set and binary format defined in the Java Virtual Machine
Specification.
3.4 Java Virtual Machines
The Java virtual machine is an abstract computing machine that has an instruction
set and manipulates memory at run time. The Java virtual machine is ported to
different platforms to provide hardware- and operating system-independence.
The Java 2 Platform Standard Edition provides two implementations of
the Java virtual machine (VM):
• Java HotSpot Client VM
The client VM is an implementation for platforms typically used for client
applications. The client VM is tuned for reducing start-up time and memory
footprint. It can be invoked by using the -client command-line option
when launching an application.
• Java HotSpot Server VM
The server VM is an implementation designed for maximum program
execution speed, trading off launch time and memory. It can be invoked by
using the -server command-line option when launching an application.
Base Libraries
Classes and interfaces that provide basic features and fundamental
functionality for the Java platform.
Lang and Util Packages
Provides the fundamental Object and Class classes, wrapper classes for
primitive types, a basic math class, and more.
Page 12
13. Other Base Packages:
• I/O
I/O functionality provides for system input and output through data streams,
serialization and the file system. In 1.4, a new I/O (NIO) API was introduced
that provides new features and improved performance.
• Networking
Provides classes for networking functionality, including addressing, classes
for using URLs and URIs, socket classes for connecting to servers,
networking security functionality, and more.
Integration Library Used
• Java Database Connectivity (JDBC) API
The JDBCTM API provides universal data access from the Java programming
language. Using the JDBC 3.0 API, you developers can write applications
that can access virtually any data source, from relational databases to
spreadsheets and flat files. JDBC technology also provides a common base
on which tools and alternate interfaces can be built..
User Interface Libraries :
• Image I/O
The Java Image I/O API provides a pluggable architecture for working with
images stored in files and accessed across the network. The API provides
provides a framework for the addition of format-specific plugins. Plug-ins
for several common formats are included with Java Image I/O, but third
parties can use this API to create their own plugins to handle special
formats.
• AWT
The JavaTM platform's Abstract Windowing Toolkit (AWT) provides APIs
for constructing user interface components such as menus, buttons, text
fields, dialog boxes, checkboxes, and for handling user input through those
components. In addition, AWT allows for rendering of simple shapes such
Page 13
14. as ovals and polygons and enables developers to control the user-interface
layout and fonts used by their applications..
• Swing
The Swing APIs also provide graphical component (GUI) for use in user
interfaces. The Swing APIs are written in the Java programming language
without any reliance on code that is specific to the GUI facilities provided by
underlying operating system. This allows the Swing GUI components to
have a "pluggable" look-and-feel that can be switched while an application
is running.
Tool Specifications:
• Debugger Architecture
Provides architecture and specifications for the use of debuggers in
development environment.
• VM Tool Interface
The Java Virtual Machine Tool Interface (JVM TI) is a specification for
inspecting the state and controlling the execution of applications running in
the JVM. The Java Virtual Machine Profiler Interface (JVMPI) has been
deprecated..
• Javadoc Tool
Javadoc is a tool that parses the declarations and documentation comments
source files to produce a set of HTML pages describing the program
elements. The Doclet API provides a mechanism for clients to inspect the
source-level structure of programs and libraries, including javadoc
comments embedded in the source. This API can be used by doclets to
generate documentation.
Page 14
15. JDK Tools & Utilities
Documentation for the tools and utilities included in the JDK. Covers basic
tools (javac, java, javadoc, apt, appletviewer, jar, jdb, javah, javap,
extcheck), security tools, internationalization tools, RMI tools, IDL and
RMI-IIOP tools, deployment tools, Java Plug-in tools, and Java Web Start
tools, monitoring and management tools, and troubleshooting tools.
Platforms
Sun provides implementations of the JDK and Java Runtime Environment
for Microsoft Windows, Linux, and the Solaris operating systems.
Page 15
16. SYSTEM REQUIREMENT SPECIFICATION (SRS)
4.1) INTRODUCTION
4.1.1) AIM
“To trace the user requirements for developing the required system.”
4.1.2) PROCESS
SRS is a process of identifying all the requirements of user and
development. In this, we elaborate the current scenario, proposed system and
all the functional and non functional requirements of the system. Afterwards,
we decide complete set of step with the help of SDLC and DFD’s according
to the requirement.
4.2) PURPOSE OF SRS
This document presents the requirements associated with the proposed system. The
document exists to support a number of primary system delivery activities:
managing the scope of the project, planning, design and development work,
organizing the testing effort and running "the endgame." The endgame is the final
stage of the project, where the management confirms that the development team
has delivered system to specification, and the maintenance stage can begin.
The purpose of this document is to bring forward the drawbacks, errors and flaws
of the present system and specify other requirements of the end users. So that the
things become clear to both, user and developer.
Development team members should consult this document, and its revisions, as the
sole source of requirements for the project.
Customer and development team members should use this document, and its
revisions, as the primary means to communicate confirmed requirements. The
development team expects many face-to-face conversations that will undoubtedly
be about requirements and ideas for requirements. Only the requirements that
Page 16
17. appear in a revision of this document, however, will comprise the scope of the
system.
A high quality SRS is a basis to develop an information system, it defines all
aspect of system so it is a prerequisite to a high quality software. Quality of SRS
impact customer and developer satisfaction, system validation and quality of final
software and the software development cost. The critical role the SRS plays in a
software development project should be evident from these. One will assume that
these reason will ensure that every software project has a high quality SRS as its
starting point.
4.3) SCOPE OF SRS
This document describes the requirements of the system. It is meant to be used by
the developers and will be the basis for validating the finally 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 about
clarifications, where necessary, and will not make any alterations without the
permission of the client.
4.4) FUNCTIONAL REQUIREMENT
Functional Requirements are needed for the working of the System. Functional
Requirements of the RECORD REFLECTOR are listed through following
diagram. This will give a clear idea about the functionality of the system and what
the user of the system wants in the software to be developed.
FUNCTIONAL REQUIREMENT
SYSTEM REQUIREMENT INPUT & OUTPUT REQUI
Page 17
18. 4.4.1) SYSTEM REQUIREMENTS
The System must provide following functionalities to the user:
System must provide connection to the Client for their identification.
System must be able to input and search details about Client.
System should allow clients to communicate in group or private form.
System should allow Client to share files.
4.4.2) INPUT/OUTPUT REQUIREMENT
Input and output requirements of the organization are following:
Input Requirements:
IP address of the Client.
IP address of the Server.
Name of the Client.
Output Requirements:
List of Clients.
4.5) NON-FUNCTIONAL REQUIREMENTS
Functional requirements specify only working requirements of the system. Non-
functional requirements encompass the operating environment requirements
specifying the hardware and software required for the proposed system to work as
well as the performance and ergonomics requirement.
Page 18
19. NON-FUNCTIONAL REQUIREMENTS
PERFORMANCE INTERFACE OPERATING DESIGN
REQUIREMENT REQUIREMENT REQUIREMENT CONSTRAINTS
NT
HARDWARE SOFTWARE
REQUIREMENT REQUIREMENT
4.5.1) PERFORMANCE REQUIREMENT
The requirements listed here are system-wide performance criteria. Individual use
cases may have additional performance criteria. We have chosen to document
those performance criteria as detailed requirements in the associated description.
Client screen must respond within 5 seconds, 95% of the time.
Any input submitted to the system must be responded back to the user
accordingly.
Proper prompts should inform the user on any inputs submission and guide them
through the system.
4.5.2) INTERFACE REQUIREMENT:
Operator Interface: Any user will be provided the same Interface with some
limited privileges.
No Client must be allowed to change the Server system.
No Client should be able to change IP of other clients.
No Client should be allowed to change the details of other clients.
Administrator: An administrator must be there with all access rights in hand. In
this case it’s the user at the Server End.
An administrator can handle any no. of Clients.
Administrator can Transfer Chats & Files effectively.
Page 19
20. 4.5.3) OPERATING REQUIREMENTS
Software:
Operating System :- Microsoft windows 98 or later Versions
Front End Software :- Java, jdk1.6.0, NetBeans6.8
Back End Software :- Notepad
Hardware:
Processor :- Intel Pentium2 onwards
RAM :- 128 MB or more
Hard disk :- 3GB or more
4.5.4) DESIGN CONSTRAINTS:
Security Constraints
System will allow only authorized users to operate by the means of different
levels password protected accounts.
Project
Identificat
ion and
4.6) Development Methodology:
Project
Initiation
&
Analysis
Logical
Design
Physical
Design
Implemen
tation
Page 20
Maint.
21. 4.7) SUMMARY:
This chapter describes the Software Requirement Specification (SRS). It explains the
necessary and sufficient requirements for developing a new system for the Organization.
It also includes the study of current system along with the description of all the
requirements and terminologies which is important to make the new system. Each term
used in the current system is defined very well in this chapter.
This chapter also has shown the client’s expectations in terms of performance, design and
interface requirement. Responsibilities of the development team and acceptance criteria
of proposed software are also explained.
At last Software Development Life Cycle (SDLC) as the chosen project methodology
was given in this chapter.
Page 21
22. ANALYSIS
5.1) CURRENT SYSTEM STUDY
PROBLEM STATEMENT
To create software system designed for messenger customers to use via their computers
having connected to LAN. The goal of LAN Chat Messenger (LCM) is to provide
communication between users via differentiated LAN IP provided to individual users.
Along with this LCM should also provide the Content Filtering for removal of unwanted/
abusive words. File Transfer using IP address of respective user thereby denying access
to other user is it’s another function. Finally for retrieval it should be able to save the
chats in form of notes.
Page 22
23. 5.1.1) EXISTING SYSTEM:
In current system the user/client mostly depend on Emails, Phones, Files kept on
one system is to be transferred manually either in a CD or some other storage
device & then Mailing that to the postal address. Later, after some time they can
chat live, they can transfer files. Exchange of information became possible both on
LAN and Internet.
Problems in Existing System:
Emails were not synchronized, thus Exchange of information was never so easy
Mailing CD to a postal address was a very hectic job. Chances of information
loss increased
Chats can’t be saved, which may be required for retrieval as a proof.
Content Filtering was not possible, i.e. removal of unwanted/abusive words.
5.1.2) PROPOSED SYSTEM:
This project provides a media by which chatting can be done without using internet
in a local area network. This software provides secure communication between two
users. Every user can connect to the IP address of other user for private chatting &
may connect to the server for Group chatting. User can send file to the destined IP
address of the particular user. Content Filtering mechanism is applied here by
searching the unwanted/abusive words from the source file. The option to save the
chat is enabled here in form of notes.
5.2) PROPOSED MODEL
Waterfall model
The Waterfall model is a sequential development process, in which development is seen
as flowing steadily downwards (like a waterfall) through the phases of requirements
analysis, design, implementation, testing (validation), integration, and maintenance.
Basic principles of the waterfall model are:
Page 23
24. Project is divided into sequential phases, with some overlap and splash back
acceptable between phases.
Emphasis is on planning, time schedules, target dates, budgets and implementation of
an entire system at one time.
Tight control is maintained over the life of the project through the use of extensive
written documentation, as well as through formal reviews and approval/signoff by the
user and information technology management occurring at the end of most phases
before beginning the next phase.
The phases in Waterfall model are: Requirement Specifications phase, Software
Design, Implementation and Testing & Maintenance. All these phases are cascaded to
each other so that second phase is started as and when defined set of goals are achieved
for first phase and it is signed off, so the name "Waterfall Model". All the methods and
processes undertaken in Waterfall Model are more visible.
Description of the phases of waterfall model is as follows:
1. Requirement Specification Phase:
Software Requirement Analysis is also known as feasibility study. In this requirement
analysis phase, the development team visits the customer and studies their system
requirement. They examine the need for possible software automation in the given
software system. After feasibility study, the development team provides a document
that holds the different specific recommendations for the candidate system. It also
consists of personnel assignments, costs of the system, project schedule and dates.
The requirements analysis and information gathering process is intensified and
focused specially on software. To understand what type of the programs to be built,
the system analyst must study the information domain for the software as well as
understand required function, behavior, performance and interfacing. The main
purpose of requirement analysis phase is to find the need and to define the problem
that needs to be solved.
2. System Analysis and Design Phase:
Page 24
25. In System Analysis and Design phase, the whole software development process, the
overall software structure and its outlay are defined. In case of the client/server
processing technology, the number of tiers required for the package architecture, the
database design, the data structure design etc are all defined in this phase. After
designing part a software development model is created. Analysis and Design are very
important in the whole development cycle process. Any fault in the design phase
could be very expensive to solve in the software development process. In this phase,
the logical system of the product is developed.
3. Code Generation and Implementation Phase:
In Code Generation phase, the design must be decoded into a machine-readable form.
If the design of software product is done in a detailed manner, code generation can be
achieved without much complication. For generation of code, Programming tools like
Compilers, Interpreters, and Debuggers are used. For coding purpose different high
level programming languages like C, C++, Pascal and Java are used. The right
programming language is chosen according to the type of application.
4. Testing Phase:
After code generation phase the software program testing begins. Different testing
methods are available to detect the bugs that were committed during the previous
phases. A number of testing tools and methods are already available for testing
purpose.
5. Maintenance Phase:
Software will definitely go through change once when it is delivered to the customer.
There are large numbers of reasons for the change. Change could happen due to some
unpredicted input values into the system. In addition to this the changes in the system
directly have an effect on the software operations. The software should be
implemented to accommodate changes that could be happen during the post
development period.
Page 25
26. DESIGN
6.1) Use Case Diagram:
Use Case Diagram in a UML is a type of behavioral diagram defined by and created from
a use-case analysis. Its purpose is to present a graphical overview of the functionality
provided by a system in terms of Actor, their goals represented as use case and any
dependencies between those use cases. The main purpose of the use case diagram is to
show what system function are performed for which actor.
6.2) Sequence Diagram:
A sequence diagram in Unified Modeling Language (UML) is a kind of interaction
diagram that shows how processes operate with one another and in what order. It is a
construct of a Message Sequence Chart. Sequence diagrams are sometimes called event
diagrams, event scenarios, and timing diagrams.
Page 26
27. 6.3) Activity Diagram:
Activity diagrams are graphical representations of workflows of stepwise activities
and actions with support for choice, iteration and concurrency. In the Unified
Modeling Language, activity diagrams can be used to describe the business and
operational step-by-step workflows of components in a system. An activity
diagram shows the overall flow of control.
Usecase Diagram
Page 27
31. Testing is a process used to help identify the correctness, completeness and quality of
developed computer software. With that in mind, testing can never completely establish
the correctness of computer software.
Testing helps is verifying and Validating if the Software is working as it is intended to
be working. Thins involves using Static and Dynamic methodologies to Test the
application. In our project we are using a White Box Testing for smoothly running &
fulfilling the customer requirements..White box testing deals with the internal logic and
structure of the code. White box testing is also called as glass box testing, structural
box testing, open box testing, transparent testing, translucent testing or clear box
testing. The tests written based on the white box testing strategy incorporate coverage of
the code written, branches, paths, statements and internal logic of the code etc. The tests
are based on the actual implementation, if the implementation changes, the tests probably
will need to change, too.
In order to implement white box testing, the tester has to deal with the code
and hence he is needed to possess knowledge of coding and logic i.e. internal working of
the code. White box testing also needs the tester to look into the code and find out which
unit / statement / chunk of the code is malfunctioning. White box testing is applicable at
the unit, integration and system levels of the software testing process, it is typically
applied to the unit.
Typical white box test design techniques include:
• Control flow testing
• Data flow testing
• Branch Testing
Advantages of White Box Testing:
• As the knowledge of internal coding structure is a prerequisite, it becomes very
easy to find out which type of input/data can help in testing the application
effectively.
• The other advantage of white box testing is that it helps in optimizing the code.
Page 31
32. • It helps in removing the extra lines of code, which can bring in hidden defects.
Page 32
34. Connection should be made first before doing anything in the client.
If connection not made, then following dialogue box keeps appearing.
LCM Snapshots 2
Page 34
35. To make connection, click Connect & Following Dialogue
Box will appear which takes IP as input.
LCM Snapshots 3
Page 35
36. After making Connection, Client requires name for its recognition.
So Nick should be entered in the following dialogue box.
LCM Snapshots 4
Page 36
37. If connection is Successful then client can chat with other clients.
Type the content in the second text box & click “Send” button.
LCM Snapshots 5
Page 37
43. Chats in the Common chat box can be stored for the later purpose.
It can be saved in notepad document by clicking “Save Chat” button in the File Menu.
LCM Snapshots 11
Page 43
44. Click on “Save Chat” button in the File menu will open the following tab.
Select the File & click the “Save” button to save the chat in that File.
LCM Snapshots 12
Page 44
45. If user wants to save chat in different format than in Notepad then
Click on “Save Chat as” button.
LCM Snapshots 13
Page 45
46. After clicking “Save Chat as” button, user needs to enter the Desired file Extension.
LCM Snapshots 14
Page 46
47. In “Account” Menu, detail regarding clients are Stored.
Like name, status, details etc for viewing later.
LCM Snapshots 15
Page 47
48. The Edit Menu can be used to cut, copy and paste the text written in Chat box.
If some chat is deleted by mistake it can recovered by undo, redo menu items.
LCM Snapshots 16
Page 48
49. The Format menu is there to format the fonts used in chat box.
Though these are not implemented yet but will be done in Future Enhancement.
LCM Snapshots 17
Page 49
50. The Tools menu enables client to perform updating of the client.
It also allows user to access help features & Documentation.
LCM Snapshots 18
Page 50
51. Content Filtering is Possible i.e. the use of bad/Abusive words are filtered automatically.
LIMITATION
Page 51
52. The software developed is:
This is not online application so will not be accessed by everyone other than LAN.
Current Software doesn’t have smiley features
No Buzz Features implemented yet.
FUTURE SCOPE
Page 52
53. The future scope of the project is:
1). VOIP: - Voice over IP
2). Video Conferencing
3). Auto Updates
4). Chat Rooms
5). Convenient Chat alarms
6). All Files Transfer (Not of particular Types)
7). Offline Messages
8). Internet Chatting System
9). Client Groupings
10). GUI Image Sharing Feature.
CONCLUSION
Page 53
54. The aim was to develop Software, which facilitate users to communicate via intranet.
This software is user friendly. Any person can use this software. It is also easy to
maintain. In this case all the information is safe and stored. On the basis of testing, we
find that the project is working properly and correctly without any error in all cases, thus
running successfully.
BIBLIOGRAPHY
Page 54
55. Websites visited were:
www.java.sun.com
www.google.com
Following books were consulted:
The following books were preferred during developing the course of software.
• Software engineering by “Roger S. Pressman”.
• Complete Reference java 2 by “Herbert Schildt”.
• Database management systems by “Korth”.
• Mastering UML with Rational Rose by “Michael Boggs”.
• Swing programming by Dave Wood & Marc Loy
APPENDIX
Page 55
56. 1) SRS: Software Requirement Specification
2) SLDC: Software Development Life Cycle
3) JSP: Java Server Pages
4) DFD: Data Flow Diagram
5) ER Diagram: Entity Relationship Diagram
6) LCM: LAN Chat Messenger.
7) JRE: Java Run Time Environment.
8) JVM: Java Virtual Machine.
Page 56