You are on page 1of 40

i

ii
Chat Application

By

Sumra Nawaz

2014-ag-2245

Report is submitted due to the partial fulfillments of

The requirements of the degree

DEPARTMENT OF COMPUTER SCIENCE,

AGRICULTURE UNIVERSITY,

FAISALABAD.

iii
CERTIFICATE

To,

The Controller of Examinations,

University of Agriculture,

Faisalabad.

We, the supervisory committee, certify that the contents and form of this

Technical Report submitted by Miss Sumra Nawaz (2014-Ag-12245)have been

found satisfactory and recommend that it be processed for evaluation by the

Examiner(s) for the award of the degree.

SUPERVISORY COMMITTEE:

SUPERVISOR:

____________________________

(Mr. Ahsan Raza Sattar)

MEMBER: ____________________

(Mr. Ahsan Latif)

CHAIRMAN: ______________________________

(Mr. Tasleem Mustafa)

iv
DEDICATED

To

PROPHET MUHAMMAD

(Peace Be Upon Him)

The Greatest Social Reformer

Also

My sweetest mother and loving father

Whose love is

more precious

than any thing

for me.

I have been able to reach

at this position due to

their prayers and affection.

v
Whose hands are always

raised for mywell being

even at this moment of

time.

ACKNOWLEDGEMENT:

I would like to given my first priority to Almighty Allah, who is the Greatest
Creator of universe, Most Merciful and Omniscient. He is only alone and has no
relationship with others. He has own opinion to do everything. He blessed and
inspired me with his compassionate to complete my research work satisfactory for
which I am humblest thankful to God and worship Him.

I also my gratitude with heart and soul to my Holy Prophet (P.B.U.H), the
most exalted. He gave the Islamic constitution to the Muslim to live according to the
Islamic rules.

I offer my heartiest gratitude to my honorable supervisor Mr.Ahsen latif for


this consolidated and inspiring guidance, keeping, keen interest and help in writing
of manuscript with prescribed date.

May Allah bless all these people with long, happy and peaceful lives including me
(Amen). Sumra nawaz.

vi
TABLE OF CONTENTS

Chapter No. TITLE Page No.

ABSTRACT 7

1 INTRODUCTION 8

1.1 INFORMATION TECHNOLOGY IN PAKISTAN 8

1.2 COMPUTERIZATION 9

1.3 INTRODUCTION TO chat Application 10

1.3.1 EXISTING SYSTEM 11

1.3.2 PROPESED SYSTEM 11

1.4 SYSTEM REQUIREMENT 12

1.4.1 HARDWARE SPECIFACTION 12

1.4.2 SOFTWARE REQUIREMENT 12

vii
2 MATERIALS AND METHODS 13

2.1 PROJECT LIFE CYCLE 13

2.2 WATER FALL METHOD 13

DIAGRAM OF WATERFALL MODEL 14

2.2 ADVANTAGES & DISADVANTAGES OF 14,15


WATER FALL METHOD

2.3 SYSTEM DEVELOPMENT LIFE CYCLE 16

2.4 SYSTEM ANALYSIS 17

2.5 DESIGN 17

2.6 ENVIRONMENTS 17

2.7 TESTING 18

2.8 TRAINING AND TRANSITION 19

2.9 OPERATIONS AND MAINTINANCE 19

2.10 REQUIREMENT ANALYSIS 19

2.11 USE CASE MODEL 19

viii
2.12 CLASS DIAGRAM OF SERVER 20

2.13 CLASS DIAGRAM OF CLIENT 21

2.13.1 ACTIVITY DIAGRAM FOR LOGIN 22

2.13.2 SEQUENCE DIAGRAM 23

2.13.3 DATA FLOW DIAGRAM 24

2.13.4 E-R DIAGRAM 25

2.13.5 PROCESS DESCRIPTION 26

2.13.6 CONTEXT FLOW DIAGRAM 29

2.13.7 O LEVEL DFD 30

2.13.8 SYSTEM IMPLEMENTATION AND 31


MAINTANCE

2.13.9 NETWORK DATABASE MODEL 32

2.13.10 SCREEN SHOTS OF THE PROJECT 33


CH 3 RESULT AND DISCUSSION 33
3.1 SUMMARY 34
3.2 CONCULSION AND FUTURE ENHENCEMENT 35

ix
Abstract

Chatting is now-a-days very useful to express our ideas as well as receive others ideas on any topic.
Chats reflect the recent trends of the society. Sometimes, it is possible to meet eminent people in
chatting and have their advice.

Corporate messenger is a graphical chatting application that makes chatting a pleasant experience. It has
excellent features that make any user do what ever he wants while chatting.

I want to start a service similar to Telegram/Whatsapp. The application should look very
professional, clean, beautiful and stable. Only experienced developers need to apply.

- The platform will support text and pictures in messages for now.

- The service needs a website, where members can signup, recover password, see basic info,
and in the next phase see/send their messages.

- The messaging app will possibly use XMPP protocol.

- Users will provide phone numbers for SMS activation but they will have accounts and
usernames (so that they can attach other numbers to the account).

10
CHAPTER-1 Introduction

1.1INFORMATION TECHNOLOGY IN PAKISTAN


Pakistan is increasing in science and technology. Twenty first century is the information
technology’s (IT) century. The IT has set off a quiet revolution, which changed the life style of
modern man. Computer is useful in operation of rolling mills as well as manufacture of machine
parts. In effect instantaneous calculations and control of automated systems helps rising
productions shorten delivery time and get better quality. It aids in research engineering design
and online process control of such incessant operation as production of rolled steel, petro
chemicals and print designing of cloth (Maurer, 2006).

One can see many of organization are being computerized to stay connected with other
Organizations. It helps the organization to stay connected with the information of all employers
and other persons. However, as we all know, computers are through their evaluation scientists
and researchers are working day and night to bring out the ultimate best machine. Computer
scientists are also busy in developing efficient computer system.

1.2 COMPUTERIZATION
The use of computer and internet is increasing day by day. It has transformed the whole
world into a global village. This is advanced age of computer and information technology.
Because of IT, there are many revolutions in 21st century, which have changed the living style
of common man. Computers are helpful in process of developing industries as well as to create

11
of utilization quantity. Fairly lengthy facts and hard calculations of programmed system
supports to decrease deliverance period, expand the production, making reports and achieve
well excellence. For explaining difficult issues, the computer-based structure will be perfect
(Vivoni and Camilli, 2007).

Computer is a truly amazing machine. Few tools can help you perform so many
different tasks in so many areas of your life. In early 1980's when personal computer
began gaining popularity. Many creative thinker and analyst made bold predictions that
the next age will be the era of computers. The very nature of how we think, solve
problems, process information, and perform our jobs is now subject to the impulses of an
ever changing technology. Millions who grew up in a world of paper and pencils has seen
them give way to keyboards, hard disks, monitors, compact disks, floppies etc. which in
turn are giving a way to things that are yet to be im agined. Today's computers are
automatically becoming smaller, faster, and more powerful used in an average growing
number of applications. Computers have become so fundamental to modern society that
without them our economy would grind to halt. There are such flexible tools that most
people in business community use them every day. Speedy information capture and
processing have become so vital that socio-economic development is unimaginable
without it (Ahmed, 2009).

Web-based applications are no doubt replacing a paper-based process in most of higher


education activities. Web-based applications can help to improve the reliability and to reduce
the processing time and cost. In graduate hiring’s, the applicants are able to apply and retrieve
the application status online. All of the application forms, fees, resumes, transcripts, and letters
of recommendation are submitted electronically.

Over the past several years computer know-how has increase attractiveness between
public. It’s not merely conveys the optimistic revolutionize in the pasture of knowledge but
moreover in the creature. Lots of difficulties of current living are able to be solved by the use of
computer. Complicated problems can be solved by the computer. With the help of computer in
education it becomes very easy to access all information related to education within quick

12
response. The time is no up to now as we will come across the instruction on your single touch.
Keep in observation such a broad array of sway and contribution of computer in our daily
performance of education as well as life there must be proper system who could easily handle.
The computer will be ideal for solving complicated problems (Shelly, 2009).

1.3 INTRODUCTION to chat Application:

Chatting is now-a-days very useful to express our ideas as well as receive others ideas on any topic.
Chats reflect the recent trends of the society. Sometimes, it is possible to meet eminent people in
chatting and have their advice.

Corporate messenger is a graphical chatting application that makes chatting a pleasant experience. It has
excellent features that make any user do what ever he wants while chatting.

Corporate messenger has two types of users: 1. Admin and 2. Client

Admin can do the following activities:

1. User Management: He makes some initial startup tasks while starting the chat server.

He can create new users and allow or disconnect the users. Admin can also close the chat session, so
that all the users will be disconnected.

2. Administrative Client: Admin can also involve in chatting as a client from his admin console using this
option.

3. ShutDown: He can shut down the chat server.

4. Log Charts: He can create log charts which contain information of how chatting has taken place.

13
Client can perform the following tasks:

1. Connect: He can connect him self to chat server by typing his username and password.

2. Chat: He can participate in chatting by entering into a chat room.

3. View this User Info: He can also his own profile and options.

4. Display activity of user: When chatting is done, whether the other user is sending text or images is
also displayed on his console.

1.3.1
System Analysis

Existing System:

The existing communication system is not built as a software application. Everybody


communicates with others physically or through the mails. To make this complex
communication job simple and allows the users to participate in live communication and save
unproductive time it is to be built as a software application.
Each and every user or employee of an organization has to register, get into his inbox and check
for his mail which doesn’t provide live communication resemblance to the user. This facility does
not categorize the users depending on their interests. This type of communication channel fails
in providing effective user friendly communication between the users. If this channel grows up
to some extent then it will be harder to place some restrictions on the users. As a result,
ineffective communication wastes the user time.

1.3.2 Proposed System:

The first step of analysis process involves the identification of need. The success of a system
depends largely on how accurately a problem is defined, thoroughly investigated and satisfying
the customer needs by providing user friendly environment
This system has been developed in order to overcome the difficulties encountered while using
the mailing system for communication between the users. Providing user friendly

14
communication channel, live communication facility, categorizing the users, logging the
communication transaction, sending public & private messages, sending instant & offline
messages, graphical communication are motivating factors for the development of this system.

1.4 System Requirement

1.4.1 Software Requirement


● .Operating System: Windows XP/ Windows 7/ Linux

● Programming Language: PHP

● Software: XAMPP Server

1.4.2 Hardware Specifications:

● 1.4.2 Hardware Specification

● Processor Name: Dual Core

● Processor Speed: 3.2 GHz

● RAM: 1 GB

● Hard Disk Capacity: 80 GB

● Display Device: 14’ to 19’ InchMonitor

● Keyboard Type: PS2 or USB

● Mouse Type: PS2 or USB

15
CHAPTER-2 Material and Method

2.1Project Life Cycle

Why I choose Water fall Model?


I use water Fall Model Because:
 Requirements are very clear and fixed.
 There are no ambiguous requirements

 Technology is understood.
 Ample resources with required expertise are available freely
 The client has high confidence in the organization
 The organization has experience of similar projects
 The project is short

2.2Waterfall Model
The Waterfall Model was first Process Model to be introduced. It is also referred to as
a linear-sequential life cycle model.  It is very simple to understand and use.  In a waterfall
model, each phase must be completed fully before the next phase can begin. This type of model
is basically used for the project which is small and there are no uncertain requirements. At the
end of each phase, a review takes place to determine if the project is on the right path and
whether or not to continue or discard the project. In this model the testing starts only after the
development is complete. In waterfall model phases do not overlap.

16
Diagram of Waterfall-model: 

Fig:2.2 water fall model

Advantages of waterfall model:

 This model is simple and easy to understand and use.


 It is easy to manage due to the rigidity of the model – each phase has specific
deliverables and a review process.

17
 In this model phases are processed and completed one at a time. Phases do not
overlap.
 Waterfall model works well for smaller projects where requirements are very well
understood.
 This methodology is preferred in projects where quality is more important as compared
to schedule or cost.

Disadvantages of waterfall model:

 Once an application is in the testing stage, it is very difficult to go back and change


something that was not well-thought out in the concept stage.
 No working software is produced until late during the life cycle.
 High amounts of risk and uncertainty.
 Not a good model for complex and object-oriented projects.
 Poor model for long and ongoing projects.
 Not suitable for the projects where requirements are at a moderate to high risk of
changing.

When to use the waterfall model:

 This model is used only when the requirements are very well known, clear and fixed.
 Product definition is stable.
 Technology is understood.
 There are no ambiguous requirements
 Ample resources with required expertise are available freely
 The project is short.

18
Very less customer enter action is involved during the development of the product. Once
the product is ready then only it can be demoted to the end users. Once the product is
developed and if any failure occurs then the cost of fixing such issues are very high, because we
need to update everywhere from document till the logic.

2.3 System Development Life Cycle

A framework that describes the activities performed at each stage of a software development
project.

System Development Life Cycle has several steps as shown in fig 2.3

19
2.4 System Analysis

The goal of system analysis is to determine where the problem is, in an attempt to fix the
system. This step involves breaking down the system in different pieces to analyze the situation,
analyzing project goals, breaking down what needs to be created and attempting to engage
users so that definite requirements can be defined.

2.5 Design

In systems design the design functions and operations are described in detail, including
screen layouts, business rules, process diagrams and other documentation. The output of this
stage will describe the new system as a collection of modules or subsystems.

The design stage takes as its initial input the requirements identified in the approved
requirements document. For each requirement, a set of one or more design elements will be
produced as a result of interviews, workshops, and/or prototype efforts.

Design elements describe the desired system features in detail, and generally include
functional hierarchy diagrams, screen layout diagrams, tables of business rules, business
process diagrams, pseudo-code, and a complete entity-relationship diagram with a full data
dictionary. These design elements are intended to describe the system in sufficient detail, such
that skilled developers and engineers may develop and deliver the system with minimal
additional input design.

2.6 Environments

Environments are controlled areas where systems developers can build, distribute, install,
configure, test, and execute systems that move through the SDLC. Each environment is aligned
with different areas of the SDLC and is intended to have specific purposes. Examples of such
environments include the:

20
 Development environment, where developers can work independently of each other
before trying to merge their work with the work of others,
 Common build environment, where merged work can be built, together, as a combined
system,
 Systems integration testing environment, where basic testing of a system's integration
points to other upstream or downstream systems can be tested,
 User acceptance testing environment, where business stakeholders can test against
their original business requirements,
 Production environment, where systems finally get deployed to, for final use by their
intended end users.

2.7 Testing

The code is tested at various levels in software testing Unit system and user acceptance
testing’s often performed. This is a grey area as many different opinions exist as to what the
stages of testing are and how much, if any iteration occurs. Iteration is not generally part of the
waterfall model, but usually some occur at this stage. In the testing the whole system is tested
one by one

Following are the types of testing:

 Defect testing the failed scenarios, including defect tracking


 Path testing
 Data set testing
 Unit testing
 System testing
 Integration testing
 Black-box testing
 White-box testing
 Regression testing
 Automation testing
 User acceptance testing

21
 Software performance testing

2.8Training and transition

Once a system has been stabilized through adequate testing, the SDLC ensures that
proper training on the system is performed or documented before transitioning the system to
its support staff and end users.

Training usually covers operational training for those people who will be responsible for
supporting the system as well as training for those end users who will be using the system after
its delivery to a production operating environment.

After training has been successfully completed, systems engineers and developers transition
the system to its final production environment, where it is intended to be used by its end users
and supported by its support and operations staff.

2.9 Operations and maintenance

The deployment of the system includes changes and enhancements before the


decommissioning or sunset of the system. Maintaining the system is an important aspect of
SDLC. As key personnel change positions in the organization, new changes will be implemented.
There are two approaches to system development; there is the traditional approach
(structured) and object oriented. Information Engineering includes the traditional system
approach, which is also called the structured analysis and design technique. The object oriented
approach views the information system as a collection of objects that are integrated with each
other to make a full and complete information system.

2.10 Requirement Analysis

The primary objective of the requirement analysis is to analyze the information relating
top system requirements and then organize documents and present the requirement of
management.

2.11Use Case Diagram:

22
This use case model how client interacts with the server and start getting
communicating with other clients.

2.1.3
Class Diagram for Client:

23
In
this diagram shows that one server that create a chat session and chat
room for chatting and exchanging our ideas to the other users. Chat
room then move to the chat participant where other user that is on
another system can participate and receive messages from the other
users .

2.1.4
Activity Diagram For Login:
In the figure below how activity diagram works for the chat application .

24
Activity diagram works first of all enter user name and password then login your account after
submitting user name and password .After submission it verify user name and password if it is valid then
it moves to client chat page if it is invalid then it moves back to the user name and password and
further processing.

25
2.1.5 sequence Diagram:

2.1.6 Data Flow Diagram:

Dfd chat server project, best lan chat messenger ppt, dfd 0 level diagram for
chat application, dfd diagram for chat server, dfd model of chat server, multi
user chat system dfd, maeeanger.
multiple server dfd diagrams, dfd diagram for chat server, dfd chat server
project,multi client server chat jawa swing pdf, dfd 0 level diagram for chat
application,android bluetooth chat dfd, dfd model of chat server,

26
A Data Flow Diagram (DFD) is a graphical representation of the
"flow" of data through an Information System. A data flow diagram
can also be used for the visualization of Data Processing. It is common
practice for a designer to draw a context-level DFD first which shows
the interaction between the system and outside entities. This context-
level DFD is then "exploded" to show more detail of the system being
modeled.

27
2.1.7 E-R Diagram:

28
s.

2.1.8 Process Description :

● Inputs:

● User Information.

● Existing E-Mail Address on any Website. E.g.: XYZ@yahoo.com.

● Registration on Website.

29
● Output:

● Send a mail on user Email Address which contains Password and Special
Character Pin.

● Authentication from website.

1 Designing:

● Inputs:

● Display Structure

● Theme

● Functioning:

● Interface between User and Website.

● Preview of Available Resources

2 Data Flow:

● Functioning:

● Action in Response to user Input.

● Output:

30
● Project Released on internet

3 Maintenance:

● Inputs:

● Implement Security Issues

● Risk Assessment

● Error and Fault detection

● Regularly updating and modifying the project

● Functioning:

● Allows project to sustained and effectively render services as expected

● Output:

● Constantly monitoring and enhancing the project quality

Data Flow Diagram

A Data Flow Diagram (DFD) is a graphical representation of the


"flow" of data through an Information System. A data flow diagram
can also be used for the visualization of Data Processing. It is common
practice for a designer to draw a context-level DFD first which shows
the interaction between the system and outside entities. This context-
level DFD is then "exploded" to show more detail of the system being
modeled.

Data Flow Diagram Notation


31
.

Function/Process

File/Database

Input/output

Flow

DATA FLOW DIAGRAMS


Internet sources Contents

Social networking
Site

User

Website visitors

Generates Track
Visitors Updates

Authentication

32
Makes Payment

Advertisers

Context Flow Diagram


Developers (we)

Internet resources ideas final check

Release and use

Beginning with social awareness

Concepts Implementation

Design, test

Access,

Check, modify Feedback feedback

Faculty/ examiner

Other future users

Maintenance

0 Level DFD

1 Level DFDs

Sign up pageInternet resources

Begin with user signup and authentication

Sign up Validation ContentsUser

SN

Send Email to new user

33
Chat

Password Field

Authentication to website regular check

System Implementation And Maintenance:


Implementation
Implementation is a vital step in ensuring the success of new system even a well designed
system can fail if it is not a properly implemented. Implementation activities are needed to transform a
newly developed information system into an operational system for end users.
Acquiring Hardware Software And Services:
These resources acquired from many sources in the computer industry. Some sources are as follows
a-hardware- IBM, HP, Apple computer etc.
b- software- Microsoft, Oracle etc.

Maintenance
Once a system is fully implemented & being operated by end user & the maintenance function begins
.System maintenance is the monitoring to evaluating &modifying of operational information system to
make desirable or necessary improvements .for example the implementation of a new system usually
results in the phenomenon known as the leaning curve .person who operates &use the system will make
mistakes simply because the are not familiar with it .Though such errors usually diminished experience is
gained with a new system ,they do point out areas where system may be improved . Maintenance is also
necessary for the failures and problems that arise during the operation of a system .the maintenance
activity includes a post implementation of a system review process to ensure that newly implemented
system meet the system development objective established for them . Errors in the development of a
system must be corrected by the maintenance process .this includes a periodic review or audit of a
system to ensure on operating system &meeting its objective.
.
2.13.3.6 Report Designing Tips:
 I have used abbreviations andall are defined properly.
 In case of Tables, I have abbreviated headings and remove non-essential columns.
 Fonts are easily readable and bold enough for clear viewing.
 Icons are used as hot spots to aid navigation through the system.
 These are good looking

34
 Easy to understand.
 The purpose of the output is clearly mentioned.
 Output is precise and without unnecessary detail.

2.13.4 Database Design


A database is an organized collection of information. To manage databases, we need
database management systems (DBMS). A DBMS is a program that stores, retrieves, and
modifies data in the database on request. There are four main types of databases: hierarchical,
network, relational, and more recently object relational.

2.13.4.1 Hierarchical Database Model


A data model in which records are arranged in a top-down structure that resembles a
tree. The term ‘parent’ and ‘child’ are often used to describe hierarchical database.
2.13.4.2 Network Database Model
A data model in which each record type may be associated with an arbitrary number of
different record types. Any record type may be associated with an arbitrary number of different
record types.
2.13.4.3 Relational Database Model
Dr. E.F.Codd first outlined the principles of the relational model in June 1970 paper
called “A Relational Model of Data for Large Shared Data Bank.” In this paper, Dr.Codd
proposed the relational model for database systems. Relational database management systems
(RDBMS) soon became very popular, especially for their ease of use and flexibility in structure.
In, addition, a number of innovative vendors, such as ORACLE, supplements the RDBMS with a
suite of powerful application development and user products, providing a total solution.
 Components Of The Relational Model
a. Collection of objects or relations that store the data
b. A set of operators that can act on the relations to produce other relations
c. Data integrity for accuracy and consistency
 Properties Of A Relational Database

35
In a relational database, you do not specify the access route to the tables, and you do
not need to know the data is arranged physically. To access the database, you execute a
structure query (SQL) statement, which is the American National Standards Institute (ANSI)
standard language for operating upon relational databases. The language contains a large set of
operators for portioning and combining relations. The database can be modified by using the
SQL statements.
There is need of clear understanding of the problem you are trying to solve, of the
solutions you might consider, of the ways to translate the solutions into a data base design, and
you must be willing to modify the solutions it evolves.
The design of a relational database involves nine steps taken, for the most part, in
successions:
 Identify the basis for the database requirements.
 Define the database functional and performance requirements.
 Identify the data items.
 Separate the data elements from the files.
 Build the data element dictionary
 Gather data elements into files.
 Identify the retrieval characteristics of each file.
 Identify the relationships between files.
 Develop the schema for the DBMS you are using.

Screen shots of the project :

Running the Sample

Step 1:               Open the CSASPNETAJAXWebChat.sln. Press F5 to open the default.aspx.

36
Step 2:               By default, we could see two chat rooms in the list, you can click the button,
"Create chat room", to create your own chat room. Before that button, we could see a textbox,
we can input our chatting alias before joining into the room.

Step 3:               Click any "Join" button at the end of each row. You will see a popup chat room
window.
Step 4:               Open a new browser and make the same steps to impersonate another user to
join in the same chat room.
Step 5:               When we input one message, we will see both of the chat room windows will
show the messages.
Step 6:               Validation is finished.

Another screenshot of the project :

37
CHAPTER – 3Result and Discussion
Summary: Messaging apps now have more global users than traditional social networks—
which means they will play an increasingly important role in the distribution of digital
journalism in the future. While chat platforms initially rose to prominence by offering a low-
cost, web-based alternative to SMS, over time they evolved into multimedia hubs that support
photos, videos, games, payments, and more.

Our research indicates that one of the greatest benefits of chat apps is the opportunity to use
these platforms as live, sandbox environments. The chance to play and iterate has helped
several news organizations develop mobile-first content and experiential offerings that would
have proved difficult in other digital environments. As these services primarily—and in some
cases exclusively—exist on mobile phones, editorial teams have learned to focus purely on the
mobile experience, freeing themselves from considerations about how content will appear on
desktop websites or other broadcast mediums.

Future Enhancement Conclusion :


There is always a room for improvements in any software package, however good and efficient
it may be

done. But the most important thing should be flexible to accept further modification. Right now
we are

just dealing with text communication. In future this software may be extended to include
features such

as:

 File transfer: this will enable the user to send files of different formats to others via the chat

38
application.  Voice chat: this will enhance the application to a higher level where
communication will be possible via voice calling as in telephone.  Video chat: this will further
enhance the feature of calling into video communication.

39
40

You might also like