Академический Документы
Профессиональный Документы
Культура Документы
PROJECT REPORT
CHATTING SYSTEM
AK S UNIVERSITY SATNA
SUBMITTED BY
VIPIN NAMDEV
BSC (IT)
1
DECLARATION
I, declare that this same project has not been submitted to any degree or diploma to
the AKS University or any other universities.
Vipin Namdev
1
CERTIFICATE
This is to certify that the project titled “Chatting system” is a bonafied work
carried out by VIPIN NAMDEV
Under our guidance towards the partial fulfillment of the Requirements for the
degree of the Bachelor of Science with Information Technology, AKS University,
Satna , during the academic year 2016-2017.
1
ABSTRACT
Teleconferencing or Chatting is a method of using technology to bring people and
ideas together despite of the geographical barri- ers. The technology has been
available for years but the acceptance it was quit recent. Our project is an
example of a chat server. It is made up of 2 applications the client application,
which runs on the users Android Device and server application, which runs on any
Android Device on the network. To start chatting client should get connected to
server where they can do private and group chat security measures were taken
during the last one.
1
Contents
1 Introduction
Problem Statement
Project Scheduling
Business Requirement Documentation
AMENDMENT HISTORY
Overview
Stakeholders
Business Process Affected
Appplications .
Assumptions
Risks
Related Documents
Functional Requirements
Non-Functional Requirements
1.4 Organization Of Document
SYSTEM REQUIRMENTS:-
SYSTEM REQUIREMENT-
SYSTEM DESIGN:-
DESIGN OVERVIEW.
DESIGN APPROACH.
WATERFALL MODEL.
. SYSTEM IMPLEMENTATION
Introduction
Sample code
1
SYSTEM TESTING:-
BLACK BOX TESTING.
WHITE BOX TESTING.
ACCEPTANCE TESTING.
.INPUT AND OUTPUT SCREEN DESIGN.
.CONCLUSION.
BIBLOGRAPHY.
1
Introduction
1
1.1 Problem Statement This project is to create a chat application with a
server and users to enable the users to chat with each others. To develop
an instant messaging solution to enable users to seamlessly com- municate
with each other. The project should be very easy to use enabling even a
novice person to use it.
1
REQUIREMENT ANALYSIS
Requirement Analysis:-
1
traceable, related to identified business needs or opportunities, and defined to a
level of detail sufficient for system design.
Business Requirement
Documentation
AMENDMENT HISTORY
1
Stakeholders Stakeholder name Organization Role Mourin Mondol Team
Shadow President Rajon Team Shadow Treasurer Rajon Team Shadow
Secretary
Business Process Affected The following business process are in scope: New
Members Review Contacts 1.3.5 Appplications Chat Applications are in
scope. 1.3.6 Assumptions n/a 1.3.7 Risks n/a 5
1
Business Requirement Documentation
Chapter 2: This Chapter is all about SRS where we Design our Project.
Which include Use Case, Activity , ERD and DFD.
Chapter 5: This Chapter is a Manual or step by step guide for user about all
the features and installation of our project.
1Hardware Specification:
RAM:512 MB Ram
1
A hard disk is part of a unit, often called a "disk drive," "hard drive," or
"hard disk drive," that store and provides relatively quick access to large
amounts of data on an electromagnetically charged surface or set of
surfaces.
2. The project should be very easy to use enabling even a novice person to
use it.
1
Software Specification:
1
3. Companies would like to have a communication software wherein they
can communicate instantly within their organization.
4. The fact that the software uses an internal network setup within the
organization makes it very secure from outside attacks.
1
PROJECT SUMMARY
1. User Registration User must be able to register for the application through a
valid phone number. On installing the application, user must be prompted to
reg- ister their phone number. If user skips this step, application should close.
The users phone number will be the unique identifier of his/her account on
Chat Application.
2. Adding New Contacts The application should detect all contacts from the
users phone book. If any of the contacts have user accounts with Chat
Application, those contacts must automatically be added to the users contact
list on Chat 8
1
2. 3. Send Message User should be able to send instant message to any
contact on his/her Chat Application contact list. User should be notified
when message is successfully delivered to the recipient by displaying a tick
sign next to the message sent.
1
Non Functional Requirements
2. Robustness In case users device crashes, a backup of their chat history must
be stored on remote database servers to enable recoverability.
1
SYSTEM DESIGN
Until the 1990s systems design had a crucial and respected role in the data
processing industry. In the 1990s standardization of hardware and software
resulted in the ability to build modular systems. The increasing importance
of software running on generic platforms has enhanced the discipline of
software engineering.
1
DESIGN OVERVIEW It goes through logical and physical with emphasis
on preparing input / output specifications, specification of implementation
program;
The following points were kept in mind while designing the new system.
1) Data entry and data editing through well laid screen format
2) Data validation, whenever necessary to ensure correctness of input data
3) Reduce the redundancy
4) Should be menu driven
5) Data security
6) The system should be user friendly
Logical design
It covers following aspects:
1) Review of the current system.
2) Preparation of input specification.
3) Preparation of output specification.
4) Preparation of logical design.
Physical design
1) Design database.
2) Specify input/output screen.
3) Specify the report.
1
DESIGNAPPROACH
1
WATERFALL MODEL
1
1
REQUIREMENTS
DESIGN
Software design is a process of problem solving and planning for a
software solution. After the purpose and specifications of software are
determined, software developers will design or employ designers to
develop a plan for a solution. It includes low-level component and
algorithm implementation issues as well as the architectural view.
IMPLEMENTATION
An implementation is a realization of a technical specification or algorithm
as a program, software component or other computer system through
programming and deployment. For example, web browsers contain
implementations of World Wide Web Consortium-recommended
specifications, and software development tools contain implementations of
programming languages.
1
VERIFICATION Comparison of two or more items, or the use of
supplementary test, to ensure the accuracy, correctness or truth of the
information.
1
SOFTWARE DEVELOPMENT LIFE CYCLE (SDLC).Software life
cycle models describe phases of the software cycle and the order in which
those phases are executed. There are tons of models, and many companies
adopt their own, but all have very similar patterns. The general, basic
model is shown below: Each phase produces deliverables required by the
next phase in the life cycle. Requirements are translated into design. Code
is produced during implementation that is driven by the design. Testing
verifies the deliverable of the implementation phase against requirements.
1
should work. The overall result is the system as a whole and how it
performs, not how it is actually going to do it.
DESIGN The software system design is produced from the results of the
requirements phase. Architects have the ball in their court during this
phase and this is the phase in which their focus lies. This is where the
details on how the system will work are produced. Architecture, including
hardware andsoftware, communication, software design (UML is produced
here) are all part of the deliverables of a design phase.
1
TESTING During testing, the implementation is tested against the
requirements to make sure that the product is actually solving the needs
addressed and gathered during the requirements phase. Unit tests and
system/acceptance tests are done during this phase. Unit tests act on a
specific component of the system, while system tests act on the system as a
whole. So in a nutshell, that is a very basic overview of the general software
development life cycle model. Now let’s delve into some of the traditional
and widely used variations.
1
DATA FLOW DIAGRAM: -Window for input fee details of students
Window for search and print and delete student Window for print of full
database of student fee detail.
1. Window for input fee details of students: -throughthis input the detail
of Student ID, Name, Email, course, fees,paid, Address, city, state, contact.
1
2. DATABASE: - Here all the data are saved which is input from the
Window for input fee details of students.
3. Window for search and print and delete student detail: - From this
window the individually perform the action on the Printing and Deleting of
any students fee detail by searching their roll no.
4. Window for print of full database of student fee detail: - Through this
window we can print the whole Students fee detail by one click.
1
UML Approach
UML Diagram
1. Class diagram
2. Object diagram
4. Sequence diagram
5. Collaboration diagram
7. Activity diagram
8. Component diagram
1
Use Case Table Figure
1
SYSTEM IMPLEMENTATION
Introduction:
Implementation is the stage of the project when the theoretical design is turned out
into a working system. Thus it can be considered to be the most critical stage in
achieving a successful new system and in giving the user, confidence that the new
system will work and be effective.
1
SIMPLE CODE:-All Simple code is a front end is core java
and
1)Chat .java
/*
*/
package chats;
/**
* @author india hp
*/
/**
1
* @param args the command line arguments
*/
1
(2)server.java
/*
*/
package chats;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.net.ServerSocket;
import java.net.Socket;
/**
* @author india hp
1
*/
/**
*/
static Socket s;
public chat_server() {
initComponents();
setSize(565,485);
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
1
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
1
getContentPane().setLayout(new
org.netbeans.lib.awtextra.AbsoluteLayout());
msg_area.setColumns(20);
msg_area.setRows(5);
jScrollPane1.setViewportView(msg_area);
getContentPane().add(jScrollPane1, new
org.netbeans.lib.awtextra.AbsoluteConstraints(10, 80, 534, 291));
getContentPane().add(msg_text, new
org.netbeans.lib.awtextra.AbsoluteConstraints(10, 390, 426, 46));
msg_send.setText("Send");
msg_send.addActionListener(new java.awt.event.ActionListener() {
msg_sendActionPerformed(evt);
1
});
getContentPane().add(msg_send, new
org.netbeans.lib.awtextra.AbsoluteConstraints(470, 390, -1, 46));
jPanel1.setLayout(null);
jLabel1.setText("jLabel1");
jPanel1.add(jLabel1);
getContentPane().add(jPanel1, new
org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 745, 0));
jLabel2.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/chats/68424763-isometric-
wallpapers.png"))); // NOI18N
getContentPane().add(jLabel2, new
org.netbeans.lib.awtextra.AbsoluteConstraints(0, 64, 550, 380));
jLabel3.setText("Server Side");
getContentPane().add(jPanel2, new
org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 550, 70));
pack();
}// </editor-fold>
1
try{
String msgout="";
msgout =msg_text.getText().trim();
dout.writeUTF(msgout);
catch(Exception e){
/**
*/
1
* For details see
http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
*/
try {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
java.util.logging.Logger.getLogger(chat_server.class.getName()).log(java.util.loggi
ng.Level.SEVERE, null, ex);
java.util.logging.Logger.getLogger(chat_server.class.getName()).log(java.util.loggi
ng.Level.SEVERE, null, ex);
1
java.util.logging.Logger.getLogger(chat_server.class.getName()).log(java.util.loggi
ng.Level.SEVERE, null, ex);
java.util.logging.Logger.getLogger(chat_server.class.getName()).log(java.util.loggi
ng.Level.SEVERE, null, ex);
//</editor-fold>
java.awt.EventQueue.invokeLater(new Runnable() {
new chat_server().setVisible(true);
});
try
1
{
ss=new ServerSocket(1201);
s=ss.accept();
din=new DataInputStream(s.getInputStream());
dout=new DataOutputStream(s.getOutputStream());
while(!msgin.equals("exit")){
msgin=din.readUTF();
msg_area.setText(msg_area.getText().trim()+"\nClient:"+msgin);
catch(Exception e)
1
}
1
(3)client.java
/*
*/
package chats;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.net.Socket;
/**
* @author india hp
*/
1
static Socket s;
/**
*/
public chat_client() {
initComponents();
setSize(575,460);
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
*/
@SuppressWarnings("unchecked")
1
// <editor-fold defaultstate="collapsed" desc="Generated Code">
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
getContentPane().setLayout(new
org.netbeans.lib.awtextra.AbsoluteLayout());
msg_area.setColumns(20);
1
msg_area.setRows(5);
jScrollPane1.setViewportView(msg_area);
getContentPane().add(jScrollPane1, new
org.netbeans.lib.awtextra.AbsoluteConstraints(10, 80, 540, 270));
getContentPane().add(msg_text, new
org.netbeans.lib.awtextra.AbsoluteConstraints(10, 370, 440, 45));
msg_send.setText("Send");
msg_send.addActionListener(new java.awt.event.ActionListener() {
msg_sendActionPerformed(evt);
});
getContentPane().add(msg_send, new
org.netbeans.lib.awtextra.AbsoluteConstraints(460, 370, 86, 45));
1
jPanel1.setLayout(null);
getContentPane().add(jPanel1, new
org.netbeans.lib.awtextra.AbsoluteConstraints(0, -10, 0, 0));
jPanel2.setLayout(jPanel2Layout);
jPanel2Layout.setHorizontalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 0, Short.MAX_VALUE)
);
jPanel2Layout.setVerticalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
);
getContentPane().add(jPanel2, new
org.netbeans.lib.awtextra.AbsoluteConstraints(10, 0, -1, -1));
1
jPanel3.setBackground(new java.awt.Color(0, 255, 255));
jPanel3.setBorder(javax.swing.BorderFactory.createCompoundBorder());
jPanel3.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jLabel1.setText("Client Side");
getContentPane().add(jPanel3, new
org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 600, 70));
jLabel2.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/chats/background1.png"))); //
NOI18N
1
getContentPane().add(jLabel2, new
org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 600, 420));
pack();
}// </editor-fold>
try{
String msgout="";
msgout =msg_text.getText().trim();
dout.writeUTF(msgout);
catch(Exception e){
1
}
/**
*/
*/
try {
1
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
java.util.logging.Logger.getLogger(chat_client.class.getName()).log(java.util.loggin
g.Level.SEVERE, null, ex);
java.util.logging.Logger.getLogger(chat_client.class.getName()).log(java.util.loggin
g.Level.SEVERE, null, ex);
java.util.logging.Logger.getLogger(chat_client.class.getName()).log(java.util.loggin
g.Level.SEVERE, null, ex);
1
java.util.logging.Logger.getLogger(chat_client.class.getName()).log(java.util.loggin
g.Level.SEVERE, null, ex);
//</editor-fold>
java.awt.EventQueue.invokeLater(new Runnable() {
new chat_client().setVisible(true);
});
// this.setState(Jframe.Iconfield);
try{
s=new Socket("127.0.0.1",1201);
din=new DataInputStream(s.getInputStream());
dout=new DataOutputStream(s.getOutputStream());
1
String msgin="";
while(!msgin.equals("exit")){
msgin=din.readUTF();
msg_area.setText(msg_area.getText()+"\nServer:"+msgin);
}catch(Exception e){
1
private javax.swing.JPanel jPanel2;
1
SYSTEM TESTING:-
1
BLACK BOX TESTING:-Black Box Testing is also known as ‘BEHAVIORAL
TESTING’ which focuses on the functional requirements of the s/w. Black
box testing enables the s/w engineer to derive sets of input condition that
will fully exercise all functional requirements for a program. Black-box
testing treats the software as a "black box"—without any knowledge of
internal implementation. Black-box testing methods include: equivalence
partitioning, boundary value analysis, all-pairs testing, fuzz testing, model-
based testing, exploratory testing and specification- based testing.
ISSUE WITH BLACK BOX TESTINGIt is possible to test all inputs? Without
complete knowledge of internal workings it is difficult to design test cases.
Black box testing is also called Behavioral testing, focuses on the functional
requirements of the software. That is black box testing enables us to derive
sets of input conditions that will fully exercise all functional requirements of
the program. Black box testing is not an alternative to White box testing.
Rather, it is complimentary approach that is likely to uncover a different
class of errors than white box methods.
3) Interface errors.
1
5) Behavior or performance errors.
Black box tests are used to demonstrate that the software is functioning
properly, that is, input is properly accepted and output is correctly
produced and that the integrity of external information is maintained. A
black box test examines fundamental aspects of a system with little regard
for the internal logical structure of the s/w.
1
WHITE BOX TESTINGAlthough Visual Basic 6 it is capable to judge the
control structure errors quite accurately, but still to ensure that the correct
logical flow of coding, white box testing is required. White box testing of
software is predicted on close examination procedural detail. Logical paths
through the software are tested by providing test cases that exercise
specific sets of condition and/or loops. The status of the program may be
examined at various points to determine if the expected or asserted status
corresponds to the actual status. But in practice it is revealed that taking
logical paths is almost impossible even for small program and hence several
white box testing is done on a small number of paths where the flow of
data is important from result point of view. White box testing is also called,
as glass box testing is a case design method that used the control structures
of the procedural design test case. Using white box some tests were
derived that:
1
ACCEPTANCE TESTINGAcceptance testing can mean one of two
1
ADVANTAGES OF ACCEPTANCE TESTING
1
INPUT AND OUTPUT SCREEN DESIGN
1
Server page
1
Client Side
1
1
1
1
CONCLUSION
1
BIBLOGRAPHY
1)javatpoint
www.javatpoint.com
2.reference book
3.www.youtube.com