Project Report on Lan-Chat Application in Java-MySQL

59
A Project Report On LAN-CHAT APPLICATION Developed At Department Of Information Technology Faculty of Technology, Dharmsinh Desai University College Road, Nadiad-387001 Developed By DHARMEN H SHAH, DD University JIMIT K SHAH, DD University Guided By Asst. Prof. S.J.Joshi Dept. of Information Technology Faculty of Technology Dharmsinh Desai University Department of Information Technology Faculty of Technology, Dharmsinh Desai University College Road, Nadiad-387001

description

This project is developed for faculties and students. Trough this application students can ask doubts to their faculties in campus, no matter where is the faculty in campus!!This is just the report of it. If you want code of it, I would be happy to help you out. You can communicate with me for that.

Transcript of Project Report on Lan-Chat Application in Java-MySQL

Page 1: Project Report on Lan-Chat Application in Java-MySQL

A Project Report

On

LAN-CHAT APPLICATION

Developed At Department Of Information Technology

Faculty of Technology, Dharmsinh Desai University

College Road, Nadiad-387001

Developed By

DHARMEN H SHAH, DD University

JIMIT K SHAH, DD University

Guided By Asst. Prof. S.J.Joshi

Dept. of Information Technology

Faculty of Technology Dharmsinh Desai University

Department of Information Technology Faculty of Technology, Dharmsinh Desai University

College Road, Nadiad-387001

Page 2: Project Report on Lan-Chat Application in Java-MySQL

DDU(Faculty of Tech., Dept. of IT) i

CANDIDATE’S DECLARATION

We declare that final semester report entitled “LAN-CHAT APPLICATION” is our own

work conducted under the supervision of the Asst. Prof. S.J.Joshi, Dept. of Information Technology, Faculty of Technology, Dharmsinh Desai University.

We further declare that to the best of our knowledge the report for B.E. final semester

does not contain part of the work which has been submitted for the award of B.E. Degree

either in this or any other university without proper citation.

Candidate’s Signature:

Candidate’s Name: Dharmen H. Shah

Branch: Information Technology

Student ID: 106093

Candidate’s Signature:

Candidate’s Name: Jimit K. Shah

Branch: Information Technology

Student ID: 106097

Submitted To:

Asst. Prof. S.J.Joshi (Project Guide)

Department of Information Technology,

Faculty of Technology,

Dharmsinh Desai University, Nadiad

State: Gujarat

Page 3: Project Report on Lan-Chat Application in Java-MySQL

DDU(Faculty of Tech., Dept. of IT) ii

DHARMSINH DESAI UNIVERSITY

NADIAD-387001, GUJARAT

CERTIFICATE

This is to certify that the project carried out in the subject of Software Design Project

entitled “LAN-CHAT APPLICATION” and provided in this report is a bonafied report

of the work carried out by Mr. Dharmen H. Shah (ID No: 106093) & Mr. Jimit K. Shah

(ID No: 106097) of Department of Information Technology, semester VII, under the

guidance and supervision for the award of the Degree of Bachelor of Technology at

Dharmsinh Desai University, Nadiad (Gujarat). They were involved in Project training

during academic year 2013-2014.

Asst. Prof S.J.Joshi

(Project Guide)

Department of Information Technology,

Faculty of Technology,

Dharmsinh Desai University, Nadiad

Date:

Prof. R.S.Chhajed

(Head of Department)

Department of Information Technology,

Faculty of Technology,

Dharmsinh Desai University, Nadiad

Date:

Page 4: Project Report on Lan-Chat Application in Java-MySQL

DDU(Faculty of Tech., Dept. of IT) iii

Acknowledgement

It is indeed a great pleasure to express our thanks and gratitude to all those who

helped us during this project. This project would have been materialized without the help

from many who asked us good questions and rescued from various red tape crisis.

Theoretical knowledge is of no importance if one doesn’t know the way of its

implementation. We are thankful to our institute that provided us an opportunity to apply

our theoretical knowledge through the project. We feel obliged in submitting this project

as part of our curriculum.

We would like to take the opportunity to express our humble gratitude to our

guide Mrs.S.J.Joshi, Assistant Professor, Faculty of IT Department, DDU, under whom

we undertook our project. Her constant guidance and willingness to share her vast

knowledge made us enhance our knowledge and helped us to complete the assigned tasks

to perfection. Without her effort and full support & an astonishing testing ability this

project may not have succeeded.

Although, there may be still many who are unacknowledged in this humble vote

of thanks, there are none who remain unappreciated.

With Sincere Regards,

Dharmen H. Shah

Jimit K. Shah

Page 5: Project Report on Lan-Chat Application in Java-MySQL

DDU(Faculty of Tech., Dept. of IT) iv

Contents 1.0 Introduction

1.1 Project Details. 1

1.2 Purpose 1 1.3 Scope 1

1.4 Objective 1 1.5 Technology and Literature Review 2 1.5.1 Why JAVA? 2

1.5.2 NetBeans IDE Features 2 1.5.3 Network Application 3

2.0 Project Management 6 2.1 Feasibility Study 6

2.1.1 Technical feasibility 6

2.1.2 Time schedule feasibility 6 2.1.3 Operational feasibility 6

2.1.4 Implementation feasibility 6

2.2 Project Planning 7

2.2.1 Project Development Approach and Justification 7 2.2.2 Project Plan 8

2.2.3 Milestones and Deliverables 8

2.3 Project Scheduling 9

Project Scheduling chart 9

3.0 System Requirements Study 10

3.1 Study of Current System 10

3.2 Problems and Weaknesses of Current System 10

3.3 User Characteristics 10

3.4 Hardware and Software Requirements 10 3.5 Constraints 11

3.5.1 Hardware Limitations 11

3.5.2 Interfaces to Other Applications 11 3.5.3 Higher Order Language Requirements 11

3.5.4 Reliability Requirements 11 3.5.5 Safety and Security Considerations 11 3.5.6 Criticality of Applications 11

3.6 Assumptions and Dependencies 12 4.0 System Analysis 13

4.1 Requirements of New System (SRS) 13 4.1.1 User Requirements 13 4.1.2 System Requirements 13

4.2 Features Of New System 17 4.3 DFD 18

4.4 Use-case Diagram 21 4.5 Activity Diagram 22

Page 6: Project Report on Lan-Chat Application in Java-MySQL

DDU(Faculty of Tech., Dept. of IT) v

5.0 System Design 23 5.1 System Architecture Design 23 5.2 Class Diagram 23

5.3 Sequence Diagrams 24 5.4 Component Diagram 29

5.5 State Chart 30 5.6 Database Design/Data Structure Design 32

5.6.1 Table and Relationship 32

6 Implementation Planning 35 6.1 Implementation Environment 35

6.2 Program/Modules Specification 35 6.3 Coding Standards 36

7 Testing 37

7.1 Testing Plan 37 7.2 Testing Strategy 38

7.3 Testing Methods 39 8 User Manual 42 9 Limitation and Future Enhancement 50

10 Conclusion and Discussion 51 10.1 Conclusions 51

10.2 Discussion 51 10.2.1 Self Analysis of Project Viability 51 10.2.2 Problem Encountered and Possible solutions 51

10.2.3.Summary of Project Work 52 10.3 Bibliography 52

Page 7: Project Report on Lan-Chat Application in Java-MySQL

DDU(Faculty of Tech., Dept. of IT) vi

List of Figures:

Fig 2.2.1.1 Prototyping model for the project development 7

Fig 2.3.1 Gantt chart 9

Fig 4.3.1 DFD level 0 18

Fig 4.3.2 DFD level 1 19

Fig 4.3.3 DFD level 2 20

Fig 4.4 Use case diagram 21

Fig 4.5 Activity Diagram 22

Fig 5.1.1Class Diagram 23

Fig 5.1.2.1 Sequence of Admin Login 24

Fig 5.1.2.2 Sequence of User Login 25

Fig 5.1.2.3 Sequence of Disconnect User 25

Fig 5.1.2.4 Sequence of Chat History 26

Fig 5.1.2.5 Sequence of Send Document 26

Fig 5.1.2.6 Sequence of Send Message 27

Fig 5.1.2.7 Sequence of Edit Profile 27

Fig 5.1.2.8 Sequence of Disconnect All 28

Fig 5.1.3 Component Diagram 29

Fig 5.1.4 State Chart 30

Fig 5.2.1 ER Diagram 34

Fig 7.1 Test plan 37 Fig 8.1 Welcome 41

Fig 8.2 Login 42

Fig 8.3 User Chatting Window 43

Fig 8.4 User Chatting Window with error 43

Fig 8.5 Edit Profile 44

Fig 8.6 Check Files 45

Fig 8.7 Check Messages 45

Fig 8.8 Add Lab 46

Fig 8.9 Forgot Password 47

Fig 8.10 Forgot Password with mail sent 47

Fig 8.11 Registration 48

List of Tables:

Table 2.2.3 Milestones and deliverable 8

Table 5.1.1 student 32

Table 5.1.2 faculty 33

Table 5.1.3 stu_detail 33

Table 5.1.4 sem_faculty 33

Table 5.1.5 message 34

Table 5.1.6 files 34

Page 8: Project Report on Lan-Chat Application in Java-MySQL

DDU(Faculty of Tech., Dept. of IT) vii

Abstract

Nowadays no one has time, Lan-Chat Application is a desktop based project

which is provided to improve & enhance the use of the LAN, mostly available in almost

of the college.

Teleconferencing or Chatting, is a method of using technology to bring people

and ideas “together” despite of the geographical barriers. The technology has been

available for years but the acceptance it was quit recent. Our project is an example of

a client-server application. It is made up of 2 applications the client application, which

runs on the user’s Pc and server application, which runs on any Pc on the network. To

start chatting client should get connected to server where they can practice two kinds of

chatting, public one (message is broadcasted to all connected users) and private one

(between any 2 users only) and during the last one security measures were taken.

The idea of creating a lan-chat application was initiated and it has two

dimensions, one to have an experience in network programming and the other is to let

people conduct meetings with others in different locations. Such that it crosses time

zones, can reach many people, and reduce the paper flood.

Page 9: Project Report on Lan-Chat Application in Java-MySQL

Introduction

DDU(Faculty of Tech., Dept. of IT) 1

1 INTRODUCTION

1.1 Project Details

The project entitled “Lan -Chat Application” is a Desktop Application that

enables different type of users like Students and Faculties to do interaction with all

other user and enables them to documents with this application.

Main aim of this application is to provide an easy way to do conversation and

announce any event to all or specific user.

1.2 Purpose

In Today’s world the important thing which is required is time. Now every universities like DDU has so many resources available for everyone. But to manage

them and to manage student-faculty conversation, it takes so much efforts if done manually.

This project is developed mainly to reduce that efforts by making it automatically as much as possible. Which reduces the efforts.

1.3 Scope:

This Desktop based application would be used by any well established lan

network and server which is created by us, has to be deployed on the local server of

the lan network.

1.4 Objective:

Using this application user can do:

Can do Chatting

Can send file

User can’t register or get username by themselves admin has to provide username

and password manually in order to provide authorization to user.

Page 10: Project Report on Lan-Chat Application in Java-MySQL

Introduction

DDU(Faculty of Tech., Dept. of IT) 2

1.5 Technology and Literature Review

1.5.1 Why JAVA?

Java™ has significant advantages over other languages and environments that

make it suitable for just about any programming task.

The advantages of Java are as follows:

Java is easy to learn.

Java was designed to be easy to use and is therefore easy to write, compile, debug, and learn than other programming languages.

Java is object-oriented.

This allows you to create modular programs and reusable code.

Java is platform-independent.

One of the most significant advantages of Java is its ability to move easily from one computer system to another. The ability to run the same program on many different systems is crucial to World Wide Web software, and Java succeeds at

this by being platform-independent at both the source and binary levels.

Because of Java's robustness, ease of use, cross-platform capabilities and

security features, it has become a language of choice for providing worldwide Internet solutions.

1.5.2 NetBeans IDE Features

1.5.2.1 Best Support for Latest Java Technologies

NetBeans IDE provides first-class comprehensive support for the newest Java technologies and latest Java specification enhancements before other IDEs. It is the first free IDE providing support for JDK 8 previews, JDK 7, Java EE 7

including its related HTML5 enhancements, and JavaFX 2.

With its constantly improving Java Editor, many rich features and an extensive range of tools, templates and samples, NetBeans IDE sets the standard for developing with cutting edge technologies out of the box.

Page 11: Project Report on Lan-Chat Application in Java-MySQL

Introduction

DDU(Faculty of Tech., Dept. of IT) 3

1.5.2.2 Fast & Smart Code Editing

An IDE is much more than a text editor. The NetBeans Editor indents lines,

matches words and brackets, and highlights source code syntactically and

semantically. It also provides code templates, coding tips, and refactoring tools.

1.5.2.3 Easy & Efficient Project Management

Keeping a clear overview of large applications, with thousands of folders and

files, and millions of lines of code, is a daunting task. NetBeans IDE provides

different views of your data, from multiple project windows to helpful tools for

setting up your applications and managing them efficiently, letting you drill

down into your data quickly and easily, while giving you versioning tools via

Subversion, Mercurial, and Git integration out of the box.

1.5.2.4 Write Bug Free Code

The cost of buggy code increases the longer it remains unfixed. NetBeans

provides static analysis tools, especially integration with the widely used

FindBugs tool, for identifying and fixing common problems in Java code. In

addition, the NetBeans Debugger lets you place breakpoints in your source code,

add field watches, step through your code, run into methods, take snapshots and

monitor execution as it occurs.

1.5.3. Network Application

Network application exchange data between physically separated machines.

For this to occur the machines must be connected by a transmission media. There

are many different types of communication links and new ones continue to be

developed. Coaxial cables, phone lines, digital phone lines, fiber optic cable,

satellite beam, and infrared waves are all used as transmission media for exchange

data between computers.

A network includes a group of computers connected by a physical link

allowing data to be exchanged between them. A local area network on LAN is a

network of computers in close physical proximity, usually a single building, but can

be a group of adjacent buildings. Over the last decades LANs have become an

important component of the computer workplace.

Page 12: Project Report on Lan-Chat Application in Java-MySQL

Introduction

DDU(Faculty of Tech., Dept. of IT) 4

1.5.3.1. Protocol Stacks

Very Early in the history of computer network development the concept of

separating the problem into multiple levels was adapted. With a multilevel

architecture each layer can handle a different aspect of networking and provide

that functionality to the above layer. TCP/IP is a specific implementation of a

multi level network architecture. In both, the first and second chapter, we are

always repeating the same sentence, which is TCP/IP protocol. It is now the time

to dissect this sentence.

1.5.3.2. TCP

TCP (the “Transmission Control Protocol “) has the responsibility for

breaking up the message into datagrams, reassembling them at the other end,

resending anything that gets lost, and putting things back in the right order. It

may seem that TCP is doing all the work. And in small network it is true. With

TCP, there is no maximum message length. When a message is passed to the

TCP protocol, if it is too large to be sent in one peace, the message is broken up

into chunks or packets and sent one at a time to the destination address. The TCP

packet contains the addressing information. The TCP message also contains a

packet number and total number of packets. Because of the nature of the TCP/IP

protocol, the packet may travel different paths and may arrive in a different

order than sent. TCP reassemble the packets in the proper order and requests the

retransmission of any missing or corrupted packets. TCP enables you to create

and maintain a connection to a remote computer. By using the connection, both

computers can stream data between each other.

Page 13: Project Report on Lan-Chat Application in Java-MySQL

Introduction

DDU(Faculty of Tech., Dept. of IT) 5

1.5.3.3. IP

As the number of computers networked become larger, a system becomes

necessary to give remote computers the capability to recognize other remote

computers; thus the IP addressing method was born. Therefore, simply an IP

address uniquely identifies any computer connected to a network. This address is

made up of 32 bits divided into 4 four bytes. But since the number of connected

computers is too large and since it is difficult to remember all their IP addresses,

the Domain Name Service (DNS) was designed. It has the job of transforming

the unique computer names (host name) into an IP address. Therefore, whenever

in our project we run the client application and enter the host name, this means

that we are writing the IP address of the remote computer we want to connect to

indirectly. In general, TCP/IP is a set of protocols developed to allow

cooperating computers to share resources across the network.

1.5.3.4. Service Port

Till now, we have seen that TCP/IP forms the backbone for communication

between computers, but do you know how these computers speak to each other?

The answer is Ports. A port is a special location in the computer’s memory that

exists when two computers are communicating via TCP/IP. Application uses a

port number to communicate and the sending and receiving computers use this

same port to exchange data. To make the job of communication easier, some

port numbers have been standardized, ex, (www Port 80, Ftp Port 20, 21, Etc.).

Our application uses a constant named IP-echoport = 7.

1.5.3.4. Sockets

The world is defining itself as a largely Intel-processor, windows-based set of

desktops communicating with back end servers of various types. Hardware and

software technology advances are pushing PC’s into the role of every where

communications devices. For software applications to take advantage of

increasingly sophisticated and feature-rich communications technology, they

require an Application Programming Interface (API) which provides a simple

and uniform access to this technology.

Page 14: Project Report on Lan-Chat Application in Java-MySQL

Project Management

DDU(Faculty of Tech., Dept. of IT) 6

2.0 PROJECT MANAGEMENT

2.1 Feasibility Study:

2.1.1 Technical Feasibility:

Since the project is designed with Java in front end and My SQL in back

end so, it is easy to install in all the systems wherever needed. It is more efficient, easy and user-friendly to understand by almost everyone. Huge amount of data can be handled efficiently using My SQL Server as back end. Hence this

project has good technical feasibility.

2.1.2 Time Schedule Feasibility:

The project has simple working and the basic requirement can be satisfied within the allotted time period so the time development feasibility for this is

satisfied

2.1.3 Operational Feasibility:

The number of users to such application is very vast and every

student/faculty can use this type of application. These kinds of systems are

becoming more common day by day for evaluation of the software engineers.

Hence, this system is operationally feasible. As this system is technically

economically and operationally feasible, this system is feasible.

2.1.4 Implementation Feasibility

The project checks whether the overall functioning is reliable and feasible and the development of the project is easy going

Page 15: Project Report on Lan-Chat Application in Java-MySQL

Project Management

DDU(Faculty of Tech., Dept. of IT) 7

2.2 Project Planning

2.2.1 Project Development Approach and Justification:

Fig. 2.2.1.1 Prototyping Model for the Project Development

Here we are not hosting our own application. We have made this application for our

client. Initially if the project is found to be feasible as observed from the initial

requirements, design is prepared. Next we build a prototype from the design.

Prototype is reviewed and if there are any changes to be done in that case prototype is

updated with a new design till we are satisfied. The development commences after the

approval phase. The development phase is lead by testing and maintenance phase.

Page 16: Project Report on Lan-Chat Application in Java-MySQL

Project Management

DDU(Faculty of Tech., Dept. of IT) 8

2.2.2 Project Plan:

1. Gather the definition.

2. Check whether the definition is feasible or not in given deadline. 3. Requirement gathering.

4. Analysis on gathered requirements. 5. Designing.

6. Coding. 7. Testing.

2.2.3 Milestones and Deliverables

Milestones are identified in order to complete the entire project in the time duration.

Milestones are identified for every module of Lan-Chat Application.

PHASE DELIVERABLES PURPOSE

System Requirement and

Analysis

Requirement Gathering and

analysis.

Functional Specifications

Non Functional Specifications

It gives exact understanding

of the user’s requirements.

System Design Use Case diagram

Class diagram

Sequence diagram

Activity diagram

State diagram

Collaboration

diagram

It gives the logical structure

that describes the system.

Implementation and Testing The output obtained for the

required functionality after

implementing and doing

various types of testing

It gives the required module

TTaabbllee 22..22..33 MMiilleessttoonneess aanndd DDeelliivveerraabb lleess

Page 17: Project Report on Lan-Chat Application in Java-MySQL

Project Management

DDU(Faculty of Tech., Dept. of IT) 9

2.3 PROJECT SCHEDULING

Project Scheduling Chart:

Fig 2.3.1 Gantt chart

Page 18: Project Report on Lan-Chat Application in Java-MySQL

System Requirements Study

DDU(Faculty of Tech., Dept. of IT) 10

3.0 SYSTEM REQUIREMENTS STUDY

3.1 Study of Current System

Manually work done in most of software development companies.

If you can see current system in market, there is not secure way to register a

user.

Also, in current systems there is no restriction over chatting (live messaging).

3.2 Problems and Weakness of Current System

The current system is not that efficient. The user has to have internet

connection whenever he wants to access the application within college. User

can’t get access to resources directly. First they have to register themselves to

admin, then they would get their passwords for chatting.

GUI is not improved.

3.3User Characteristics

The all functionality is performed by the admin only. 1) Admin :

Assign Id & Password to User.

2) User:

User should be registered.

User can send messages, see old messages, edit profile and download files only one time.

3.4 Hardware and Software Requirements:

3.4.1 Hardware Requirement

OS: Windows XP/2000/vista/7/8

Hardware: 1Pc with 512MB RAM and Sufficient memory support

3.4.2 Software Requirement

JRE 6.x.x or higher

Database: MySQL

Page 19: Project Report on Lan-Chat Application in Java-MySQL

System Requirements Study

DDU(Faculty of Tech., Dept. of IT) 11

3.5 CONSTRAINTS

3.5.1 Hardware Limitations

There is no hardware limitations to the system.

3.5.2 Interface to Other Application

No interface with other application

3.5.3 Higher Order Language Requirement

Language to be used was the JAVA.

3.5.4 Reliability Requirements

The application does demand much reliability and it is fully assured that the particular information about the user should be secured and flow is maintained

and accessed according to the rights.

3.5.5 Safety and Security Considerations

The system provides a tight security to admin’s account. Admin account is secure by password mechanism which are encrypted and stored to database.

3.5.6 Criticality of Applications

The application deals with the user’s personal tasks so the task and respective details should be highly confidential and in proper flow.

Page 20: Project Report on Lan-Chat Application in Java-MySQL

System Requirements Study

DDU(Faculty of Tech., Dept. of IT) 12

3.6 ASSUMPTIONS AND DEPENDENCIES

Assumptions are described below:-

User has sufficient privileges to access lan.

Server is running correctly.

Server is running in the same network as in users are logged in.

Database transactions are giving expected results.

Database transactions are secure and reliable.

Dependencies are described as below:-

This system is dependent upon that the student or faculty must be authorized by the admin. If they are not authorized then they will not be

able to register their account with this application.

This application depends on the server. So if server works correctly then

only this application can run in proper way.

Must require latest update regarding all stuff from admin as per work

done.

Page 21: Project Report on Lan-Chat Application in Java-MySQL

System Analysis

DDU(Faculty of Tech., Dept. of IT) 13

4.0 SYSTEM ANALYSIS

4.1 Requirements of New System (SRS)

4.1.1 User Requirements

User requirements include not many things, but important thing is user

must be aware that system works properly with full availability, reliability,

security and safety. The user responsibilities are as follows:

Should know how to use the software.Should adhere to guidelines

and prescribed standards

4.1.2 System Requirement Specification (S.R.S.)

The project’s aim is to provide communication between faculty and

students.

It is Java-based desktop lan-application that can be accessed throughout the university.

All the faculties can chat with all students and all other faculties.

All students can ask their doubt and give solutions to their

respective lab faculties.

There will be group for each batch\branch, if any announcement related to any batch\branch is shown for that batch\branch only, but

if that is for university then it will show to all branch.

Students cannot chat with other students.

File attachment can be sent via this application.

Page 22: Project Report on Lan-Chat Application in Java-MySQL

System Analysis

DDU(Faculty of Tech., Dept. of IT) 14

Functional Requirement:

R1: Login:-

Precondition: - Student/professor must register; if not then he/she has to register

first.

Input: - Give Student/Professor ID & Password.

Output: - User successfully login simple-user/Admin.

Process: - Check Student/professor ID & Password to the database, if one of them is wrong then invalid & prompt again for ID & Password again, else

valid user.

Post condition: - Student/professor logged in & can change his/her password & able

to share what he/she wants.

R2: Registration:-

Precondition: - No professor/student should be registered first.

Input: - Name, Student/Professor ID, Password, E-mail, Branch, contact number etc.

Output: - Successfully Creation of Account.

Process: - Server store specified data in database and allow Student/professor to log

in.

Description: - User must have to enter Name, ID, strong Password, E-mail and register it.

R3: Creating a group by Batch & Semester wise.

R3.1: Select or create group.

Precondition: Group can be created by Admin.

Input: Select group name

Output: Pop up window to that group is created.

R3.2: Naming the group.

Input: Enter group Name, Branch, Semester and create it.

Output: Display message that group is created.

Process: Make group and make database for the group.

R3.3: Add member to the group.

Input: Select student from database by given batch and semester.

Output: Students are added.

Process: Select the students from main database by given batch and semester and

add to Database of group.

Page 23: Project Report on Lan-Chat Application in Java-MySQL

System Analysis

DDU(Faculty of Tech., Dept. of IT) 15

R4: Post or Upload document.

R4.1: Select option for upload.

Input: Select file or document to be uploaded.

Output: Prompt user to select a document.

R4.2: Select a document.

Input: The document which we want to post.

Output: Prompt message: Your document is successfully uploaded /posted.

Process: Upload to server.

R5: Account suspend by an Admin.

Precondition: Student must pass out.

Input: Student Id.

Output: Account is suspended.

Process: Inactivate the data from database.

R6: Conversation.

R6.1: Select faculty/student.

Input: Select faculty/student.

Output: Show chatting messages.

R6.2: Send a message.

Input: Write a message

Output: Display message is sent.

Process: Send a message to receiver through network and store in database.

R7: Change password.

R7.1: Select account setting.

Input: Select account setting.

Output: Display general account setting list.

R7.2: Select password change.

Input: Select password change link.

Output: Prompt user to enter new, confirm and old password.

R7.3: Change password.

Input: Old password, new password and confirming password

Output: Your password is successfully changed/ Try again password doesn’t

match.

Process: Matching an old password from database and match confirming

password with new password.

Page 24: Project Report on Lan-Chat Application in Java-MySQL

System Analysis

DDU(Faculty of Tech., Dept. of IT) 16

R8: Profile picture changes.

R8.1: Select new profile picture.

Input: New profile picture and click on upload.

Output: Your profile picture is changed.

Process: Replacing old Profile picture by new one.

R8.2: Select profile picture change.

Input: Select profile picture change link.

Output: Suggest user to select another picture which he/she want to change

Profile picture.

R9: Profile visibility.

Input: Enter Name or ID to see profile.

Output: Profile must be shown according to its privacy.

R10:E-mail verification.

Process: send initial password using mail.

Overall Non-Functional requirements:

ID Description

1 Shall be able to provide a user friendly GUI

2 Shall make use of existing software & hardware

3 Shall run server side operations on windows server 2008 OS and IIS7

4 Shall run client side operations on Windows XP/7/8/Linux

5 Shall facilitate to access records concurrently

6 Should run as a multi user system for client side interfaces

7 Should provide a flexible and reliable backup system

8 Should provide a flexible recovery mechanism

9 Should take resources as minimum as possible

10 Should provide proper security

Page 25: Project Report on Lan-Chat Application in Java-MySQL

System Analysis

DDU(Faculty of Tech., Dept. of IT) 17

4.2 FEATURES OF NEW SYSTEM

Easy to use

Reliable and accurate

Provides functionalities of sending documents and messages to faculties or

students, view old messages, view received files and provide ability to

download it, edit profile and basic functionalities.

Secure, as it sends passwords to authorized email-ids only.

User friendly GUI.

4.3 DFD

Level 0

Fig 4.3.1 DFD level 0

Page 26: Project Report on Lan-Chat Application in Java-MySQL

System Analysis

DDU(Faculty of Tech., Dept. of IT) 18

Level 1

Fig 4.3.2 DFD level 1

Page 27: Project Report on Lan-Chat Application in Java-MySQL

System Analysis

DDU(Faculty of Tech., Dept. of IT) 19

Level 2

Fig 4.3.3 DFD level 2

Page 28: Project Report on Lan-Chat Application in Java-MySQL

System Analysis

DDU(Faculty of Tech., Dept. of IT) 20

4.4 USE CASE DIAGRAM

Fig 4.4 Use Case Diagram

Page 29: Project Report on Lan-Chat Application in Java-MySQL

System Analysis

DDU(Faculty of Tech., Dept. of IT) 21

4.5 ACTIVITY DIAGRAM

Fig 4.5 Activity Diagram

Page 30: Project Report on Lan-Chat Application in Java-MySQL

System Design

DDU(Faculty of Tech., Dept. of IT) 22

5.0 SYSTEM DESIGN

5.1 System Architecture Design

5.1.1 Class Diagram

Fig 5.1.1 Class Diagram

Page 31: Project Report on Lan-Chat Application in Java-MySQL

System Design

DDU(Faculty of Tech., Dept. of IT) 23

5.1.2 Sequence Diagrams

1. Admin Login

Fig 5.1.2.1 Sequence of Admin Login

Page 32: Project Report on Lan-Chat Application in Java-MySQL

System Design

DDU(Faculty of Tech., Dept. of IT) 24

2. User Login

Fig 5.1.2.2 Sequence of User Login

3. Disconnect User

Fig 5.1.2.3 Sequence of Disconnect User

Page 33: Project Report on Lan-Chat Application in Java-MySQL

System Design

DDU(Faculty of Tech., Dept. of IT) 25

4. See chat history

Fig 5.1.2.4 Sequence of Chat History

5. Send document

Fig 5.1.2.5 Sequence of Send Document

Page 34: Project Report on Lan-Chat Application in Java-MySQL

System Design

DDU(Faculty of Tech., Dept. of IT) 26

6. Send message

Fig 5.1.2.6 Sequence of Send Message

7. Edit Profile

Fig 5.1.2.7 Sequence of Edit Profile

Page 35: Project Report on Lan-Chat Application in Java-MySQL

System Design

DDU(Faculty of Tech., Dept. of IT) 27

8. Disconnect all

Fig 5.1.2.8 Sequence of Disconnect All

Page 36: Project Report on Lan-Chat Application in Java-MySQL

System Design

DDU(Faculty of Tech., Dept. of IT) 28

5.1.3 Component Diagram

Admin GUI

Main Application

DB management

Client GUI

Fig 5.1.3.1. Component Diagram

Page 37: Project Report on Lan-Chat Application in Java-MySQL

System Design

DDU(Faculty of Tech., Dept. of IT) 29

5.1.4 State Chart Diagrams

Page 38: Project Report on Lan-Chat Application in Java-MySQL

System Design

DDU(Faculty of Tech., Dept. of IT) 30

Fig 5.1.4 State chart

Page 39: Project Report on Lan-Chat Application in Java-MySQL

System Design

DDU(Faculty of Tech., Dept. of IT) 31

5.2 DATABASE DESIGN

5.2.1 Database Table and Relationship

Table Name: student

Purpose: This table is used to store the details of students.

Table 5.1.1

Table Name: faculty

Purpose: This table is used to store the details of faculties.

Table 5.1.2

Page 40: Project Report on Lan-Chat Application in Java-MySQL

System Design

DDU(Faculty of Tech., Dept. of IT) 32

Table Name: stu_detail

Purpose: The authorized email-id of students are stored in this table.

Table 5.1.3

Table Name: sem_faculty

Purpose: This table is used to store the details of time tables of faculties’ labs.

Table 5.1.4

Page 41: Project Report on Lan-Chat Application in Java-MySQL

System Design

DDU(Faculty of Tech., Dept. of IT) 33

Table Name: message

Purpose: This table is used to store all the messages sent via this application.

Table 5.1.5

Table Name: files

Purpose: This table is used to store all the documents sent via this application.

Table 5.1.6

Page 42: Project Report on Lan-Chat Application in Java-MySQL

System Design

DDU(Faculty of Tech., Dept. of IT) 34

Fig 5.2.1 ER Diagram

Page 43: Project Report on Lan-Chat Application in Java-MySQL

Implementation Planning

DDU(Faculty of Tech., Dept. of IT) 35

6.0 IMPLEMENTATION PLANNING

6.1 IMPLEMENTATION ENVIRONMENT

The implementation objectives are as follows:

The customized version with duly incorporated acceptance testing comments is installed.

Ensure smooth functioning of the installed application.

Better GUI, so that users can easily use this application.

With our experience of implementation at various sites of similar systems, we found that the skill level on computers and processes varies on a wide range

at various levels. Also, the drive and motivation of the guide heading the particular would really boost the implementation and ensure that the activities are completed on time and execution would be faster.

6.2 MODULES SPECIFICATION

This project has been divided into many modules for making its implementation faster. This system is divided into:

1. Registration for users

This module provides functionality for registration.

It collects information of user (Student or Faculty) and submits it to the

server database.

It generates password for users and send them to their respective email-

ids.

2. Login for Users

This module having functionality of all Users (Students and Faculties) to

login and start chatting.

Forgot password functionality is added. Users can get their new password

to their registered email-id.

Page 44: Project Report on Lan-Chat Application in Java-MySQL

Implementation Planning

DDU(Faculty of Tech., Dept. of IT) 36

3. Chatting

This module provides the main purpose of our application.

Through this module students can ask their doubts and send important

documents to their respective lab faculties.

Through this module faculties can discuss their important topics, send

some important messages to their whole batch or to a particular student.

This module also provides functionality of profile editing, see old

messages, se files and signing out.

4. Server

It is the core part our application.

All the modules above this run on this module.

Communication between above modules and server is done using TCP

sockets in Java.

6.3 Coding Standards

Naming conventions for global and local variables: A possible naming

convention can be that global variables names always start with a capital letter and local variables names are made of small letters.

Error return conventions and exception handling mechanisms: the way error

conditions are reported by different functions in a program and the way common exception conditions are handled, should be standard. For e.g.:

different functions while encountering an error condition or exception returns a proper error/exception message.

Page 45: Project Report on Lan-Chat Application in Java-MySQL

Testing

DDU(Faculty of Tech., Dept. of IT) 37

7.0 TESTING

Testing is the process carried out on software to detect the differences between its behavior and the desired behavior as stipulated by the requirements specifications.

Testing is advantageous in several ways. Firstly, the defects found help in the process of making the software reliable. Secondly, even if the defects found are not corrected,

testing gives an idea as to how reliable the software is. Thirdly, over time, the record of defects found reveals the most common kinds of defects, which can be used for developing appropriate preventive measures such as training, proper design and

reviewing

7.1 TESTING PLAN

The testing sub-process includes the following activities in a phase dependent manner:

a) Create Test Plans.

b) Create Test Specifications. c) Review Test Plans and Test Specifications.

d) Conduct tests according to the Test Specifications, and log the defects. e) Fix defects, if any. f) When defects are fixed continue from activity.

FFiigg.. 77..11 TTeesstt PPllaann

UNIT

TESTING

MODULE

TESTING

SUB-SYSTEM

TESTING

SYSTEM

TESTING

TESTINGG

ACCEPTANCE

TESTING

Page 46: Project Report on Lan-Chat Application in Java-MySQL

Testing

DDU(Faculty of Tech., Dept. of IT) 38

NO. ACTION INPUT EXPECTED

OUTPUT

OUTPUT RESULT COMMENT

1 Run the application Click on "Click

here to

continue"

Login screen Server not ready Fail Server must be

satrted

2 Start the server Click on Start Server should be

started

Server started Pass Waiting for

connections

3 Run the application Click on "Click

here to

continue"

Login screen Login screen Pass Now, user can

login

4 Attempt to login Enter user-ID

and password

Click on Login

User should be

logged in Chatting

screen

Username or

password is

incorrect or

Select Proper

option

Fail User must be

registred first.

He should

select proper

option i.e.

student or

faculty.

5 Attempt to register Click on

Register

Registered

successfully

Please select

proper options

and enter valid

details

Fail Authenticated

details should

be entered.

6 Attempt to register Enter valid,

authenticated

details Click

on register

Password sent to

registered mail-

id. Registered

successfully.

Password sent to

registered mail-

id. Registered

successfully.

Pass Initial password

for login is sent

to registered

email-id

7 Attempt to login Enter user-ID

and password

Click on Login

User should be

logged in Chatting

screen

User should be

logged in

Chatting screen

Pass Now, user can

send message,

files and

receive

message,files.

8 Edit Profile Click on Edit

Profile

Edit Profile

Window

Edit Profile

Window

Pass User can edit

profile.

9 See history Click on See

history

Messages should

be displayed

Message

window

displayed

Pass User can see old

received

messages

10 Check files Click on Check

Files

Received files

should be

displayed

List of files is

displayed

Pass User can

download files

only once

11 Attempt to edit

profile

Fetched data

removed and

no data

inserted and

click on

submit

Enter valid data Enter valid data Pass User should

enter valid data

12 Attempt to forget

password

Enter user-ID

and secure

answer.

New password

should be

generated

Please enter

correct answer.

Fail User must enter

correct secure

answer.

13 Attempt to sign out Click on sign

out

User should be

signed out

successfully

Login screen Pass New user can

login or register

Page 47: Project Report on Lan-Chat Application in Java-MySQL

Testing

DDU(Faculty of Tech., Dept. of IT) 39

7.2 TESTING STRATEGY

The development process repeats this testing sub-process a number of times for the following phases.

a) Unit Testing.

b) Integration Testing

Unit Testing tests a unit of code (module or program) after coding of that unit is completed. Integration Testing tests whether the various programs that make up a system, interface with each other as desired, fit together and whether the interfaces

between the programs are correct. System Testing ensures that the system meets its stated design specifications. Acceptance Testing is testing by the users to ascertain

whether the system developed is a correct implementation of the Software Requirements Specification.

Testing is carried out in such a hierarchical manner to ensure that each component is correct and the assembly/combination of components is correct. Merely testing a

whole system at the end would most likely throw up errors in components that would be very costly to trace and fix.

We have performed both Unit Testing and System Testing to detect and fix errors.

7.3 TESTING METHODS

7.3.1 Black-box and White-box Testing

In black-box testing a software item is viewed as a black box, without knowledge of its internal structure or behavior. Possible input conditions, based on the specifications (and possible sequences of input conditions), are presented

as test cases.

In white-box testing knowledge of internal structure and logic is exploited. Test cases are presented such that possible paths of control flow through the software

item are traced. Hence more defects than black-box testing are likely to be found.

The disadvantages are that exhaustive path testing is infeasible and the logic might not conform to specification. Instrumentation techniques can be used to

determine the structural system coverage in white box testing. For this purpose tools or compilers that can insert test probes into the programs can be used.

Page 48: Project Report on Lan-Chat Application in Java-MySQL

Testing

DDU(Faculty of Tech., Dept. of IT) 40

7.3.2 Code Coverage

The way to make sure that you have got all the control flow covered is to cover all the paths in the program during the testing (via white-box testing). This

implies that both branches are exercised for an ‘if’ statement, all branches are exercised for a case statement, the loop is taken once or multiple times as well as

ignored for a while statement, and all components of complicated logical expressions are exercised. This is called Path Testing. Branch Testing reports whether entire Boolean expression tested in control structures evaluated to both

true and false.

Additionally it includes coverage of switch statement cases, exception handlers and interrupts handlers. Path testing includes branch testing as it considers all

possible combination of individual branch conditions. A simpler version is Statement Testing which determines if each statement in the program has been executed at least once. The coverage via Path Testing includes the coverage via

Statement Testing.

Page 49: Project Report on Lan-Chat Application in Java-MySQL

User Manual

DDU(Faculty of Tech., Dept. of IT) 41

8.0 USER MANUAL

Figure 8.1 Welcome

When user will run the application, this screen will be displayed.

By clicking on “Click Here”, user will navigate to login.

Page 50: Project Report on Lan-Chat Application in Java-MySQL

User Manual

DDU(Faculty of Tech., Dept. of IT) 42

Figure 8.2 Login

User can do login or register through this window.

User has to enter his ID and Password.

Page 51: Project Report on Lan-Chat Application in Java-MySQL

User Manual

DDU(Faculty of Tech., Dept. of IT) 43

Figure 8.3 User Chatting Window

User can send messages and documents, see old messages and files, edit profile

and sign out.

Fig 8.4 User Chatting Window with error

Page 52: Project Report on Lan-Chat Application in Java-MySQL

User Manual

DDU(Faculty of Tech., Dept. of IT) 44

Fig 8.5 Edit Profile

User can edit profile.

Page 53: Project Report on Lan-Chat Application in Java-MySQL

User Manual

DDU(Faculty of Tech., Dept. of IT) 45

Fig 8.6 Check Files

Fig 8.7 Check Messages

User can see their history and download files only once.

Page 54: Project Report on Lan-Chat Application in Java-MySQL

User Manual

DDU(Faculty of Tech., Dept. of IT) 46

Fig 8.8 Add Lab

Faculties can add lab to their schedule.

Page 55: Project Report on Lan-Chat Application in Java-MySQL

User Manual

DDU(Faculty of Tech., Dept. of IT) 47

Fig 8.9 Forgot password

Fig 8.10 Forgot password with mail sent

If user forgets his password, new password will be sent to his mail-ID.

Page 56: Project Report on Lan-Chat Application in Java-MySQL

User Manual

DDU(Faculty of Tech., Dept. of IT) 48

Fig 8.11 Registration

User will be registered and password will be sent to his mail-id.

Page 57: Project Report on Lan-Chat Application in Java-MySQL

Limitations

DDU(Faculty of Tech., Dept. of IT) 49

9.0 LIMITATIONS

The part of the system can be implemented using the current technology although

some modifications had to be done at various places. At various places some alterations with the prototypes and functionalities would be done in order to work out the cost constraints and to cope with the scheduling constraints.

User cannot register itself to do it, it should has authorization provided by admin.

Application may take time to run on server because SQL data source has been

used.

9.1 Future Enhancement

Some more inbuilt functionality can be added to make project more robust

User authorization can be done by using other ways

GUI can be improved

Functions with database can be made more easy and efficient

Page 58: Project Report on Lan-Chat Application in Java-MySQL

Bibliography

DDU(Faculty of Tech., Dept. of IT) 50

10.0 CONCLUSION AND DISCUSSION

10.1 CONCLUSION

Every project work, doesn’t matter software project or any other project, could not be the result of sole effort. We think that the success of any project doesn’t depend only on better software development skills but also, zeal to listen and

help the users. We experienced that developing this software helped enhance our technical skills of programming.

10.2 DISCUSSION

10.2.1 Self Analysis of Project Viabilities

According to us, this projected is completed with the primary functionalities as

specified earlier but then again there is lot more than this which can be done. The

project is well capable to handle the given job for some particular task but not all

of them. So then it is a challenge to further develop it in to a well flagged software

as it was challenge to develop upto this very stage.

10.2.2 Problem Encountered

There were many problems encountered during the design and the development

phase of the project.

The problem to maintain priorities

The problem to maintaining and accessing the database

The problem for using sockets in Java.

Page 59: Project Report on Lan-Chat Application in Java-MySQL

Bibliography

DDU(Faculty of Tech., Dept. of IT) 51

10.2.3. Summary of Project Work

We have completed our project work using software engineering, system analysis

and design approach. We have done work with preplanned scheduling related with time constraints and result oriented progress in project development.

10.3 BIBLIOGRAPHY

www.msdn.microsoft.com

www.jqueries.com

www.codeproject.com

www.w3school.com

www.docs.oracle.com