Вы находитесь на странице: 1из 62

A

Seminar Report
ON

C-Talk Messenger
Submitted to the Rajasthan Technical University, Kota
in Partial fulfillment of the requirement for the degree
of

BACHELOR OF TECHNOLOGY (B-TECH)


In

Computer Engineering

Submitted To:

Submitted By:

Miss Priyanka Bansal

Akshay Soni (11EMTCS706)


Garima Bajla
HOD

Department of Computer Engineering


Maharishi Arvind Institute of Engineering & Technology
Affiliated to
Rajasthan Technical University, Kota

B-Tech (2011-2015)
1

COMPANY CERTIFICATE

CANDIDATES DECLARATION

I hereby declared that the work presented in the dissertation titled C-Talk Messenger in
the partial fulfillment of requirement for the award of degree of Bachelor of Technology
submitted in Maharishi Arvind institute of Engineering & Technology, Jaipur, is
authentic record of my work carried out during the period of summer training.

Date: -

Akshay Soni
11EMTCS706

ACKNOWLEDGEMENT

I express my deep sense of gratitude to my project supervisor Mr. Bijendra Bhati Sir for
his expert guidance, simulating discussion as well as continue impetus throughout the
training period.
I wish to express my gratitude to all those, with whom I worked, interacted and whose
thoughts and insight helped me further increasing my knowledge and understanding of the
study of this report.
I am also grateful to all my friends, faculties and relatives for their timely support and
contribution in attaining the objective of report.

Akshay Soni
B-Tech 7th SEM
11EMTCS706

ABSTRACT

All bachelor degree students are required to undergo industrial training for 45 days as part
of their curriculum to complete their 4 year course for the Bachelor of Computer
Engineering. The attachment will be during the 6th semester of their study. During the 45
days period of training, students will be supervised and monitored their training by atleast
two nominated supervisors.
For my industrial training, I did at Bodacious It Hub Pvt. Ltd. which situated at Jaipur,
Rajasthan. It is a technology based company. This company has been established since
2005.
The objective of this industrial training is to expose students to the actual working
environment. Besides, to cultivate teamwork, spirit and familiarize with colleagues. By
undergo the industrial training, students will create a trust worthy and responsible person.
Besides that objective of industrial training is to build self-confidence among students
and let students know the technical knowledge and professionalism.
This training gives me good experience from the view of implementing m y knowledge in
developing aspects. Last but not least, I had learnt more about the developing
environment, developing skills and get the error finding & solving capability.
I was assigned to the development section in which my supervisor is Mr. Bijendra Bhati.
For the entire training period I learn about java, practice the core concept of java, deals in
developing application and much more.

INDEX
Content

Page No.

1. ABOUT ORGANIZATION

1.1.

Mission

11

1.2.

Key to success

11

1.3.

Vision

11

1.4.

Values

11

1.5.

Company Products

17

2. INDUSTRIAL FUNCTIONAL AREA


2.1.

2.2.

Functional Skills

21

2.1.1. Computer Skills

21

2.1.2. Project Management

21

2.1.3. Process Evaluation/Analysis

21

2.1.4. Quantitative/Analytical Abilities

22

2.1.5. Adaptable Problem Solving

22

2.1.6. Decision Making Abilities

22

Soft Skills

23

2.2.1. Interpersonal Skills

23

2.2.2. Team Works Skills

23

2.2.3. Communication Skills

23

2.2.4. Self-Management

23

2.2.5. Leadership Awareness

23

2.2.6. Human Dimension of Management

24

3. EVALUATION OF OUTCOME
3.1.

25

Overall Evaluation

25

4. SWOT ANALYSIS
4.1.

21

26

Swot Analysis

26

4.1.1. Strength

26

4.1.2. Weakness

27

4.1.3. Opportunities

27

4.1.4. Threats

27
7

5. RECOMMANDATION

29

6. INTRODUCTION TO THE LANGUAGE

30

6.1.

Name of language

30

6.2.

Language Introduction

30

7. DEVELOPMENT

35

7.1.

Environment

35

7.2.

Coding Styles

36

7.3.

Coding Techniques

36

8. INTRODUCTION TO THE PROJECT

40

8.1.

Project Introduction

40

8.2.

System Requirement

43

8.3.

SRS

45

8.4.

Risk Analysis

43

8.5.

ER-Diagram

46

8.6.

Activity Diagram

47

8.7.

Use case Diagram

48

8.8.

Data Flow Diagram

48

9. SNAPSHOTS

50

9.1.

Login

50

9.2.

Start/Stop Server

51

9.3.

Messaging Service

52

9.4.

Room Service in Chat

53

9.5.

Emotion in Chat

54

9.6.

Private Chat

55

10. ADVANTAGES & LIMITATION OF PROJECT

58

11. CONCLUSION

58

12. ADVANTAGES

59

13. DISADVANTAGES

61

14. REFERENCES

62
8

1. ORGANIZATION PROFILE

Name of the Company

Bodacious It Hub Pvt. Ltd.

Address

43, Bhati House, Vishnu Colony, Hatwara


Road, Vishnu Colony, Jamuna Nagar,
Sodala

City

Jaipur

State

Rajasthan

Zip Code

302006

Contact No.

9828042846

Email-ID

www.bodaciousithub.com/

Owner

Mr. Bijendra Bhati

Bodacious It Hub Pvt. Ltd. (ISO 9001:2008 Certified) is one of the leading training
houses in Rajasthan, has interest in providing quality education and prepares IT professionals
who can meet with the international standards. Bodacious IT Hub (earlier named as Beacon)
is the pioneer in Rajasthan as far as Java technologies are concerned.
At Bodacious IT Hub, our aim is to prepare professionals who have in-depth
knowledge of programming languages. Not only we teach students what happens in
language, we explain them why it happens so, so that students are able to develop logical
approach. We make them work on projects independently so that they can handle any type of
project. At Bodacious IT Hub, All of the staff members are certified professionals (Sun
certified java programmer, Microsoft certified solution developer and oracle certified
associates).
Even before Bodacious IT Hub was formally established its staff members have been
involved in preparing students for Sun Certification, Microsoft Certification and Oracle
Certification. Success rate of students have been 100% so far.

10

1.1. Mission
The mission of Bodacious It Hub Pvt. Ltd. is to offer a personalized training in technology. It
has interest in providing quality education and prepares IT professionals who can meet with
the international standards. The company will make a healthy profit for its owners and
provide a rewarding work environment for its employees.

1.2. Keys to Success

Good quality products at competitive prices.

Excellent customer service that will promote customer loyalty.

A location that will assure that commuters will stop.

Quality Education.

1.3. Vision

To be a IT firm of choice for individual to work in, with local expertise and international
networks, providing value added services to clients, always over achieving client delivery of
software products, whilst sharing profit with all our peoples.

1.4. Values

Fun Atmosphere look at the smiles.

Family of friends Really caring.

Sharing of ideas From the heart.

Helping each other Personal & work.

Our products Reliable & Affordable.

11

Company currently dealing with most of the leading technologies. Company


provides a vast knowledge of various technologies. Company has created an
application in almost every technology. Most familiar technologies are as follows.

12

C/C++:C++ (pronounced cee

plus

plus)

is

general

purpose programming

language.

It

has imperative, object-oriented and generic programming features, while also providing the
facilities for low level memory manipulation.
It is designed with a bias for systems programming (e.g. embedded systems, operating
system kernels), with performance, efficiency and flexibility of use as its design
requirements. C++ has also been found useful in many other contexts, including desktop
applications, servers (e.g. e-commerce, web search, SQL), performance critical applications
(e.g. telephone switches, space probes) and entertainment software, such as video games. It is
a compiled language, with implementations of it available on many platforms. Various
organizations provide them, including the FSF, LLVM, Microsoft and Intel.
C++ is standardized by the International Organization for Standardization (ISO), which the
latest (and current) having being ratified and published by ISO in September 2011
as ISO/IEC 14882:2011 (informally known as C++11). The C++ programming language was
initially standardized in 1998 as ISO/IEC 14882:1998, which was then amended by the
C++03, ISO/IEC 14882:2003, standard. The current standard (C++11) supersedes these,
with new features and an enlarged standard library.

Java:Java is a programming language and computing platform first released by Sun Microsystems
in 1995. There are lots of applications and websites that will not work unless you have Java
installed, and more are created every day. Java is fast, secure, and reliable. From laptops to
datacenters, game consoles to scientific supercomputers, cell phones to the Internet, Java is
everywhere!
Features:It is "simple, object-oriented and familiar"
It is "robust and secure"

13

It is "architecture-neutral and portable".


It executes with "high performance".
It can be "interpreted, threaded, and dynamic".

PHP:PHP is a server-side scripting language designed for web development but also used as
a general-purpose programming language. As of January 2013, PHP was installed on more
than 240 million websites (39% of those sampled) and 2.1 million web servers. Originally
created by Rasmus Lerdorf in 1994, the reference implementation of PHP (powered by
the Zend Engine) is now produced by The PHP Group. While PHP originally stood
for Personal Home Page, it now stands for PHP: Hypertext Preprocessor, which is
a recursive backronym.
PHP code can be simply mixed with HTML code, or it can be used in combination with
various templating engines and web frameworks. PHP code is usually processed by a
PHP interpreter, which is usually implemented as a web server's native module or a Common
Gateway Interface (CGI) executable. After the PHP code is interpreted and executed, the web
server sends resulting output to its client, usually in form of a part of the generated web
page for example, PHP code can generate a web page's HTML code, an image, or some
other data. PHP has also evolved to include a command-line interface (CLI) capability and
can be used in standalone graphical applications.

ANDROID:Android is a mobile operating system (OS) based on the Linux kernel and currently
developed by Google. With a user interface based on direct manipulation, Android is
designed

primarily

for touchscreen mobile

devices

such

as smartphones and tablet

computers, with specialized user interfaces for televisions (Android TV), cars (Android
Auto), and wrist watches (Android Wear). The OS uses touch inputs that loosely correspond
to real-world actions, like swiping, tapping, pinching, and reverse pinching to manipulate on screen objects, and a virtual keyboard. Despite being primarily designed for touchscreen
14

input, it also has been used in game consoles, digital cameras, regular PCs and other
electronics.
Android is the most widely used mobile OS and, as of 2013, the highest selling OS overall.
Android devices sell more than Windows, iOS, and Mac OS X devices combined, with sales
in 2012, 2013 and 2014 close to the installed base of all PCs. As of July 2013 the Google
Play store has had over 1 million Android apps published, and over 50 billion apps
downloaded. A developer survey conducted in AprilMay 2013 found that 71% of mobile
developers develop for Android. At Google I/O 2014, the company revealed that there were
over 1 billion active monthly Android users, up from 538 million in June 2013.
Android's source code is released by Google under open source licenses, although most
Android devices ultimately ship with a combination of open source and proprietary
software. Initially developed by Android, Inc., which Google backed financially and later
bought in 2005, Android was unveiled in 2007 along with the founding of the Open Handset
Alliancea consortium of hardware, software, and telecommunication companies devoted to
advancing open standards for mobile devices.

ASP.NET
ASP.NET is an open source server-side Web application framework designed for Web
development to produce dynamic Web pages. It was developed by Microsoft to
allow programmers to build dynamic web sites, web applications and web services.
It was first released in January 2002 with version 1.0 of the .NET Framework, and is the
successor to Microsoft's Active Server Pages (ASP) technology. ASP.NET is built on
the Common Language Runtime (CLR), allowing programmers to write ASP.NET code
using any supported .NET language. The ASP.NET SOAP extension framework allows
ASP.NET components to process SOAP messages.
ASP.NET is in the process of being re-implemented as a modern and modular web
framework, together with other frameworks like Entity Framework. The new framework will
make use of the new open-source .NET Compiler Platform (Code-name "Roslyn") and be
cross platform. The project is called "ASP.NET vNext".
15

Python
Python is a widely used general-purpose, high-level programming language. Its design
philosophy emphasizes code readability, and its syntax allows programmers to express
concepts in fewer lines of code than would be possible in languages such as C++ or Java.
The language provides constructs intended to enable clear programs on both a small and
large scale.
Python supports multiple programming paradigms, including object oriented, imperative and
functional programming or procedural styles. It features a dynamic type system and
automatic memory management and has a large and comprehensive standard library.
Python interpreters are available for installation on many operating systems, allowing Python
code execution on a majority of systems. Using third-party tools, such as Py2exe or
Pyinstaller, Python code can be packaged into stand-alone executable programs for some of
the most popular operating systems, allowing for the distribution of Python-based software
for use on those environments without requiring the installation of a Python interpreter.

16

1.5 Company Products


Company currently dealing with most of the leading technologies. Company has
created application in various technologies. Some of them are as follows:-

Application Project

Bodacious Number Puzzle


(Android Application)
Bodacious Advocate Diary
(Android Application)
Bodacious Bulls & Cow
(Android Application)
Bodacious Number Trick
(Android Application)
Bodacious Day Reminder
(Android Application)

Bodacious Pothole Marker

17

1.5.1 Bodacious Number Puzzle


Bodacious Number Puzzle is the game that shuffles 15 numbers and creates a
single empty slot.
Player has to rearrange the numbers in sequential order by sliding them using empty slot.
It is the game that will remind you of your childhood.

1.5.2 Bodacious Advocate Diary


Advocate's Diary is an application for lawyers to manage case details.
It is a very easy to use software, which stores information about an advocate's Clients, Case
Numbers, Previous Dates, Next Dates, Court Name etc.
Main features of the application are:
* User can add or edit a client's information.
* User can store information about cases.
* Case information contains Case Title, Court Name, Start Date, Next Date and Previous
Dates.
* User can update information whenever he wants.
* User can view today's cases and update them.
* User can call or message a client directly from the application.
* User can back up all application data to memory card and restore it to another device.

18

1.5.3 Bodacious Bulls and Cows


"Bodacious Bulls and Cows" is a very interesting puzzle game. You have to
guess a five letter word.

19

1.5.4 Bodacious Websites


Companys team member also created various website. Some of them
are: www.bodaciousithub.com
www.bodaciousithub.org/
Few are under construction & will be launched soon.

20

2. INDUSTRIAL FUNCTIONAL AREA


Throughout my industrial training, I have experience real industrial working condition
which developed and improved my functional and soft skills in several aspects.

2.1. Functional Skill


2.1.1 Computer Skills
Undergone training at Bodacious It Hub Pvt. Ltd. gives me opportunity to use
quite a few of new software. Among them is Eclipse and NetBeans. I also introduced to the
company Integrated Management System. The system quite complicated, it allows order
tracking, monitoring student performance, records, attendance and expenditures etc.
I also learned using the company internal network to share or transfer information and data.
My typing speeds also have been improved.

2.1.2 Project Management


For now I only involve or assigned on a few minor project. Among them is CTalk Messenger, Outlook Express etc. The C-Talk Messenger was the most challenging task
and its take more than a week to finish. From this project I have learned how to organize,
plan project and control it.

2.1.3 Process Evaluation Analyses


Working under production complex condition, I have able to study the
production process flow. I also learned about the production planning involving time,
capacity, sequence flow and production line layout.

21

2.1.4 Quantitative/ Analytical Abilities


Some of the task need me to analyze the outcome and conducted some calculation.
I have to calculate the timing using formula given by the company and translate the result in
meaningful report.

2.1.5 Adaptable Problem Solving


Most of the time, when I face problem in my task or work I will try to solve by
myself first. However if I cant solve the problem I will ask my mentor or others staff to help
my find solution or solve the problem. Throughout the training period most of the problem
arises were technical such as computer and software problem.
Others problem include communication problem, workers

incorporation

and

lack

of

information to perform given task.


If the worker still cant understand I will ask help from other worker to be translator.

2.1.6 Decision Making Ability


During the training I have being given opportunities to make some decision that
related to my task. Although its just a minor decision, however it gives me

motivation

to

perform the entire task successfully. During my three days training at Quality
Assurance Department have given the chance to performed quality checking in one of the
software production line and conduct the report by myself.

22

2.2 Soft Skill


2.2.1 Interpersonal Skills/ Presence
The training has improved my ability in interacting with others people such as
peers and superior. It is fun to deal with this people, especially when they were willing to
help and explain to me about thing that I didnt understand. Most of the company operators
are outside region workers and this allowed me to learn the differences between culture and
its relative influence on their perception and behavior.

2.2.2 Teamworks Skill


Most of the time during the training, I worked with Mr. Ashish Rajawat Sir.
He guided me in every task I conducted. Some of the task we perform it together. I was
able to contribute my ideas and insights in our works.

2.2.3 Communication Skill


During the training, I able to improved my communication skill especially
my English languages skill both spoken and written. This is because English is the most used
language in the company for every day communication and report paperworks.

2.2.4 Self-Management
Getting to know what its like to work in the real industry have tough me how
to conduct myself properly in a business environment. I am able to improve my time
management, more punctual in work and meeting report deadline. I also learned how to wear
appropriate attire to work and manage my appearance well.

2.2.5 Leadership Awareness


Although I dont have opportunities to lead any project or working group
throughout the training, however I am able to gain some useful leadership insight by
23

observing how some of the company superiors lead their subordinate. From my observation
most of the company superiors applied autocracy, coherent and straight style of leadership.

2.2.6 Human Dimension of Management


Working under labor intensive production complex, enable me to experience
and learned how the company organized and managed their workers specially the developers.
From the experience I found that different activities such as work motivation, social
interaction, working attitude, monitoring and communication.

24

3. EVALUATION OF OUTCOME
3.1 Overall Evaluation
I judge my 45 days spent at Bodacious It Hub Pvt. Ltd. as being one of the most
interesting, productive and instructive experience in my life. Although as a student that
majoring in developing, I expect to involve more on developing related work or task,
however

much

of

my

training

time

were

focusing

more

on

operation

and

production/development aspect. However this didnt affect my excitement and focus on


the ongoing training period. On the contrary I am happy to have been able to take this
valuables opportunity to explore and experience new dimension of work in developing
industry which I never experience before. During my training I had the practical work
experience under professional supervision. Mr. Bijendra Bhati and Mr. Ashish Rajawat my
mentor treated me as his real assistant. I was capable to contribute my ideas and insights in
his works. At the same time, he provided me with developing and stimulating learning
environment. I try to apply what I have learned in the lecture class at the same place to actual
work setting. My English language skills both spoken and written also were developed.
I also able to get a better understanding about the development process in the labs. From the
task and project given by my supervisor and mentor, I able to understand manufacturing
related aspect such as control flow, coding process, flow, layout, quality assurance and much
more. This training has exposed me to the invaluable experience that I can't gain from the
lecture hall or classroom. Furthermore, the industrial training is not only the knowledge
outside the classroom but it also opens my world view wider.

25

4. SWOT ANALYSIS
4.1 Swot Analysis
The Swot Analysis is conducted based on the direct or indirect experience that I have
undergone during the 45 days of my industrial training at Bodacious It Hub Pvt. Ltd. Among
the main criteria studied is the ability of the training to meet the program objective, training
atmosphere and environment, training task, its process and interaction involved throughout
the whole training period.
4.1.1 Strengths
Real Industry Working Environment
The training enables me to experience the real industry workplace environment and working
environment and working process under the company integrated business complex.
From the direct involvement I am now able to familiarize and have the clear idea about the
real working world that will enter after my graduation.

Gain New Knowledge and Experience


Throughout the training period I have able to gain a lot of new knowledge and
valuable experiences which related to software management, development process, quality
control, industrial software, material control, machine function and others related aspect of
development.

Improve Communication and Social Interaction Skills


Most of the training task involved interaction and need me to communicate with superior,
others coworkers and operator. The enforcement of English language in the working
environment have improve my English both my spoken and written.

26

4.1.2 Weaknesses
Unstructured Training Program
Although my overall training is considered good, however the training

conducted

by

the

company is not well structured and coordinated. Orders or task given to me were mostly
depending on my supervisor decision. Sometime I am overload with task and at some point I
don't have any work to do for the whole day.

Lack of Facility
During my training, my working table is not equipped with computer. To complete
most

of

my

work

and

task

given

have

to

use

my

own

pc. T h i s s o m e t i m e s d i s t u r b s m y w o r k b e c a u s e sometime I have to change place if


the computer or place is used by other people.

4.1.3 Opportunities
Future Career in Software Development Industry
Undergoing training at one of the biggest reliable software manufacturer has exposed me with
every aspect of the growing industry. These valuable experiences have built my
interest to maybe build my future career in software industry. I maybe cant used
this experience to seek job in other company in the same industry.

4.1.4 Threats
Conflict with Coworkers
During the training period I always try to be nice to everyone around me. However
sometimes how we behave, interact or communicate may not be liked or misunderstood by some
people. This misunderstanding can create conflict and affect our training quality. Sometime the
conflict are not cause by us, butwere trapped between the already exist conflict among the
company workers. To face with this situation I always try to be neutral without defending or be
a part of any side.
27

Exploitation
For some employer practical trainee mean cheap labor. This irresponsible employer
with wrong intension will try to exploit the practical student to perform works that
they don't have to do or related to their training. Beside employer, coworker also
some time may exploit or bullies the trainee to do t h e i r w o r k . H o w e v e r I a m
g l a d e t h a t m y s u p e r v i s o r a n d c o w o r k e r s h a v e treated me with kind and respect.

28

5. Recommendation

I recommend the company to create more structured training program. I understand that the
person responsible to supervise the practical student is already busy with their work burden.
However I believe that they can spend small portion of their time to plan more
comprehensive, structured and organized training for the practical student.
The supervisor incharge should list and arrange the training task which will be p erformed by
the trainee. A training schedule also should be made in order to optimize the training period.
In arranging and assigning the training task, the supervisor also should try to fill the training
period with task that significant in developing the trainee knowledge, skills and experience
for its future career.
In overall I am quite satisfied with the Management effort in making the program perform
smooth and successfully. However there were some part that has to be improved, such as the
institute information and preference channel related to the industrial training program,
which now not quite satisfying. For example I am having some difficulty to get my
supervisor name because the website which the name list posted cannot be excess.
I also have problem getting confirmation from the institute whether they have received my
interim report.
So these are the issues that I recommend to company to look after it.

29

6. INTRODUCTION TO THE LANGUAGE

6.1. Description of the language


Name of the language is JAVA.

6.2. Language Introduction


During the training I have gone through the concept of java. Using java language
I have done my all project works.
6.2.1 JAVA
Java is a programming language and computing platform first released by Sun
Microsystems in 1995. There are lots of applications and websites that will not work unless
you have Java installed, and more are created every day. Java is fast, secure, and reliable.
From laptops to datacenters, game consoles to scientific supercomputers, cell phones to the
Internet, Java is everywhere!
Features:It is "simple, object-oriented and familiar"
It is "robust and secure"
It is "architecture-neutral and portable"
It executes with "high performance"
It can be "interpreted, threaded, and dynamic"
Versions:Major release versions of Java, along with their release dates:
JDK 1.0 (January 21, 1996)
JDK 1.1 (February 19, 1997)
J2SE 1.2 (December 8, 1998)
J2SE 1.3 (May 8, 2000)
30

J2SE 1.4 (February 6, 2002)


J2SE 5.0 (September 30, 2004)
Java SE 6 (December 11, 2006)
Java SE 7 (July 28, 2011)
Java SE 8 (March 18, 2014)

Java has the following properties:


Platform independent: Java programs use the Java virtual machine as abstraction and
do not access the operating system directly. This makes Java programs highly portable.
A Java program (which is standard-compliant and follows certain rules) can run
unmodified on all supported platforms, e.g., Windows or Linux.
Object-orientated programming language: Except the primitive data types, all elements
in Java are objects.
Strongly-typed programming language: Java is strongly-typed, e.g., the types of the
used variables must be pre-defined and conversion to other objects is relatively strict,
e.g., must be done in most cases by the programmer.
Interpreted and compiled language: Java source code is transferred into the bytecode
format which does not depend on the target platform. These bytecode instructions will
be interpreted by the Java Virtual machine (JVM). The JVM contains a so called
Hotspot-Compiler which translates performance critical bytecode instructions into
native code instructions.
Automatic memory management: Java manages the memory allocation and deallocation for creating new objects. The program does not have direct access to the
memory. The so-called garbage collector automatically deletes objects to which no
active pointer exists.

31

JVM (Java Virtual Machine)

6.2.2 Sockets
Sockets are the network programming tool. The term network programming refers
to writing programs that execute across multiple devices (computers), in which the devices
are all connected to each other using a network.
The java.net package of the J2SE APIs contains a collection of classes and inter faces that
provide the low-level communication details, allowing you to write programs that focus on
solving the problem at hand.
The java.net package provides support for the two common network protocols:
TCP: TCP stands for Transmission Control Protocol,

which allows for reliable

communication between two applications. TCP is typically used over the Internet Protocol,
which is referred to as TCP/IP.
32

UDP: UDP stands for User Datagram Protocol, a connection-less protocol that allows for
packets of data to be transmitted between applications.
Socket Programming: This is most widely used concept in Networking.
Sockets provide the communication mechanism between two computers using TCP. A client
program creates a socket on its end of the communication and attempts to connect that socket
to a server.
When the connection is made, the server creates a socket object on its end of the
communication. The client and server can now communicate by writing to and reading from
the socket.
The java.net.Socket class represents a socket, and the java.net.ServerSocket class provides a
mechanism for the server program to listen for clients and establish connections with them.
The following steps occur when establishing a TCP connection between two computers using
sockets:
The server instantiates a ServerSocket object, denoting which port number communication is
to occur on.
The server invokes the accept() method of the ServerSocket class. This method waits until a
client connects to the server on the given port.
After the server is waiting, a client instantiates a Socket object, specifying the server name
and port number to connect to.
The constructor of the Socket class attempts to connect the client to the specified server and
port number. If communication is established, the client now has a Socket object capable of
communicating with the server.
On the server side, the accept() method returns a reference to a new socket on the server that
is connected to the client's socket.
After the connections are established, communication can occur using I/O streams. Each
socket has both an OutputStream and an InputStream. The client's OutputStream is connected
to the server's InputStream, and the client's InputStream is connected to the server's
OutputStream.
33

TCP is a two-way communication protocol, so data can be sent across both streams at the
same time. There are following useful classes providing complete set of methods to
implement sockets

34

7. DEVELOPMENT
7.1. Environment:

Eclipse IDE:-

Eclipse is a platform that has been designed from the ground up for building integrated web
and application development tooling. By design, the platform does not provide a great deal of
end user functionality by itself. The value of the platform is what it encourages: rapid
development of integrated features based on a plug-in model.
Eclipse provides a common user interface (UI) model for working with tools. It is designed
to run on multiple operating systems while providing robust integration with each underlying
OS. Plug-ins can program to the Eclipse portable APIs and run unchanged on any of the
supported operating systems.
At the core of Eclipse is architecture for dynamic discovery, loading, and running of plug ins. The platform handles the logistics of finding and running the right code. The platform UI
provides a standard user navigation model. Each plug-in can then focus on doing a small
number of tasks well. What kinds of tasks? Defining, testing, animating, publishing,
compiling, debugging, diagramming...the only limit is your imagination.
The Eclipse platform defines an open architecture so that each plug-in development team can
focus on their area of expertise. Let the repository experts build the back ends and the
usability experts build the end user tools. If the platform is designed well, significant new
features and levels of integration can be added without impact to other tools.
The Eclipse platform uses the model of a common workbench to integrate the tools from the
end user's point of view. Tools that you develop can plug into the workbench using well
defined hooks called extension points.
The platform itself is built in layers of plug-ins, each one defining extensions to the
extension points of lower-level plug-ins, and in turn defining their own extension points for
further customization. This extension model allows plug-in developers to add a variety of
functionality to the basic tooling platform. The artifacts for each tool, such as files and other
data, are coordinated by a common platform resource model.
35

The platform gives the users a common way to work with the tools, and provides inte grated
management of the resources they create with plug-ins.
Plug-in developers also gain from this architecture. The platform manages the complexity of
different runtime environments, such as different operating systems or workgroup server
environments. Plug-in developers can focus on their specific task instead of worrying about
these integration issues.

7.2. Coding Style:Camel Case (camel case) or medial capitals is the practice of writing compound
words or phrases such that each word or abbreviation begins with a capital letters. Camel
case may start with a capital or, especially in programming languages, with a lowercase
letter.

7.3. Coding Techniques


Java:Java is a computer programming language that is concurrent, class-based, object-oriented,
and specifically designed to have as few implementation dependencies as possible. It is
intended to let application developers "write once; run anywhere (WORA), meaning that
code that runs on one platform does not need to be recompiled to run on another. Java
applications are typically compiled to byte code that can run on any Java Virtual
36

Machine (JVM) regardless of computer architecture. Java is, as of 2014, one of the most
popular programming languages in use, particularly for client-server web applications, with a
reported 9 million developers. Java was originally developed by James Gosling at Sun
Microsystems (which has since merged into Oracle Corporation) and released in 1995 as a
core component of Sun Microsystems' Java platform. The language derives much of
its syntax from C and C++, but it has fewer low-level facilities than either of them.
The original and reference implementation Java compilers, virtual machines, and class
libraries were originally released by Sun under proprietary licenses. As of May 2007, in
compliance with the specifications of the Java Community Process, Sun relicensed most of
its Java technologies under the GNU General Public License. Others have also developed
alternative implementations of these Sun technologies, such as the GNU Compiler for
Java (byte-code compiler), GNU Classpath (standard libraries), and Iced Tea-Web (browser
plugin for applets).
Features:It is "simple, object-oriented and familiar"
It is "robust and secure"
It is "architecture-neutral and portable"
It executes with "high performance"
It can be "interpreted, threaded, and dynamic"
Versions:Major release versions of Java, along with their release dates:
JDK 1.0 (January 21, 1996)
JDK 1.1 (February 19, 1997)
J2SE 1.2 (December 8, 1998)
J2SE 1.3 (May 8, 2000)
J2SE 1.4 (February 6, 2002)
J2SE 5.0 (September 30, 2004)
Java SE 6 (December 11, 2006)
37

Java SE 7 (July 28, 2011)


Java SE 8 (March 18, 2014)

MySQL:-

MySQL is the world's most popular open source database software, with over 100 million
copies of its software downloaded or distributed throughout its history. With its superior
speed, reliability, and ease of use, MySQL has become the preferred choice for Web, Web
2.0, SaaS, ISV, Telecom companies and forward-thinking corporate IT Managers because it
eliminates the major problems associated with downtime, maintenance and administration for
modern, online applications.
Many of the world's largest and fastest-growing organizations use MySQL to save time and
money powering their high-volume Web sites, critical business systems, and packaged
software including industry leaders such as Yahoo!, Alcatel-Lucent, Google, Nokia,
YouTube, Wikipedia, and Booking.com.
The flagship MySQL offering is MySQL Enterprise, a comprehensive set of production tested software, proactive monitoring tools, and premium support services available in an
affordable annual subscription.
MySQL is a key part of LAMP (Linux, Apache, MySQL, PHP / Perl / Python), the fastgrowing open source enterprise software stack. More and more companies are using LAMP
as an alternative to expensive proprietary software stacks because of its lower cost and
freedom from platform lock-in.
MySQL was originally founded and developed in Sweden by two Swedes and a Finn: David
Axmark, Allan Larsson and Michael "Monty" Widenius, who had worked together since the
1980's.
Features: It is available and affordable for all.
Easy to use.
Continuously improved while remaining fast, secure and reliable.
38

Fun to use and improve.


Free from bugs.
Supports large number of embedded applications which makes MySQL very flexible.

39

8. INTRODUCTION TO PROJECT
8.1. Project Introduction

Title of Project is C-Talk Messenger


C-Talk Messenger is a cross-platform Desktop messaging app that allows users to
exchange messages without having to pay for them.
C-Talk Messenger is developed on Java Socket based technology.
It allows users to send and receive messages for free.
It also allows users to send emotions or smileys.
Can run on any operating system.
Mainly dependent on JVM (Java Virtual Machine) which is a freeware resource.
This is a web based application. Every user with some general knowledge can use this
system very easily. Because this is a web based application we can use this
application from anywhere where internet connection is available.
This application is developed by keeping in mind that this application will be used by
a lots of users at a same time. This application can handle many clients at a time and
can do multiple transactions at same time without conflicting with each other.
Being social, communicating with others is the most important part of a human beings
but that is not the case now, because people seems to have no time today. Considering this
thing in mind a system has been developed, which save a lot of time dealing with
peoples located at various places. It is quite easy to deal with the communication
with this process.

40

8.1.1 Objective
Easier communication: - Application provides text communications, which
are common communication methods.
Cheaper communication: - Once you set up you dont need to pay extra charge
for communication between systems.
Quick communication: - It provides fast communication than any network.

8.1.2 Overview
This is a web based chat application and uses only sockets. It doesn't use
applets, ActiveX controls or much of database. It isn't a commercial application but a
freeware, which shows how Java Sockets can be used.
Note: For the proper working of the software a good network connection is required.
This chat application can be used for group discussion.
It supports rooms. Users can create their own rooms.
It allows users to find other logged in users.
It informs users in particular room when someone joins, leaves the room or logs out.

In this system we can share information using a single system. Because whole
information of the system is stored in a centralized form we can manage that system
effectively. Whole data can be used to process and draw information that can be used
strategically. By using this system we can chat to our friends without paying much. In this
system once a user logged in he/she can share information or can chat with each other
without paying much.
We can send emotion to users. We can do group chat with our friends. We can do
private chat with a particular user.

41

This is a web application so any authorized user can access this application from
anywhere using application program.
This is a computer based communication system. Some advantages of computer based
communication system are as below: These systems are faster than a manual system.
This systems has a very large storage available.
In these system's different display options available.
We can easily exchange data between applications and over networks.

8.1.3 Significance
This system is very useful for communication. By using this system
communication can be done anywhere in the world.
If there is a problem we can check logs to find who has done something to cause trouble on
server side. By viewing logs they can keep track of every user in our system.

8.1.4 Beneficiaries
Beneficiary of this system can be anyone. Any user who is joined to our system
can use this application & then can communicate with people at new cost.

42

8.2. System Requirement


HARDWARE REQUIREMENTS:This system is developed on the following hardware configuration.
4

Intel processor

1 GB RAM

Hard disk 100 GB


Microsoft Compatible 101 or more Key Board
Scroll Mouse

SOFTWARE REQUIREMENTS:This system is developed using the following software.


Operating System:

Any operation system will work

Technology:

Java Socket Technology

Back End:

MS SQL

Front End:

Java/Swing

8.3. SOFTWARE REQUIREMENT SPECIFICATION


Purpose:This document completely describes what the C-Talk Messenger should do without
describing how the software will do it. The basic goal of the requirement phase is to produce
the SRS, which describing the complete external behavior of the purposed software.
Scope:This document is the only one that describes the requirements of the system. It is
meant for use by the developer and will be the basis for validating the final delivered system.
43

Any changes made to the requirements in the future will have to go through a formal changes
approval process. The developer is responsible for asking for clarifications, where necessary,
and will not make any alteration without the permission of the client.
Developers responsibility:The developer is responsible for:
(a) Developing the system.
(b) Installing the software on the clients hardware.
(c) Conducting any user training that might be needed for using the system.
(d) Maintaining the system for a period of one year after installation.
Product description:This section provides an overview of the software. This section describes the goal and
objective of the software. This section also briefly describes the general requirements of the
software. This section is very important for the verification of the software after the
completion whether the objective and requirements of the software will meet or not.
Goals and objective:The main purpose of C-Talk Messenger is to provide an effective way of
communication, sending or receiving message. By this way communication between two
entities become easy.

44

8.4. RISK, ASSUMPTIONS AND CONSTRAINTS

Assumptions & Constraints:-

Assumptions & constraints, these are included to document the specific requirements on
which the estimates, schedules, and there are factors considered in planning phase
involve a degree of risk (e.g.: if an activity needs special equipment, the project manager may
assume that it will be available).
Assumptions:The development team will be familiar with the quality standards needed in the development
of the module and will provide communication and technical support in the installation. This
module will be done with minimum of 1.0 GB RAM, processor, monitor, and backend for
database, web browser or any other technical assumptions for frontend. It may require large
database memory to store the complete user information while the process.
Constraints:Any later change in the project other than already listed may delay in the scheduled data.
Determine the assumptions and constraints, such as operational life of the proposed system,
period of time for comparison of system alternatives, input, output, processing requirem ents,

45

financial constraints, changing hardware/software and operating environment and availability


of information and resources.

8.5. E-R Diagram

46

8.6. Activity Diagrams


Activity diagrams are graphical representations of workflows of stepwise activities and
actions with support for choice, iteration and concurrency. In the Unified Modeling
Language, activity diagrams are intended to model both computational and organizational
processes (i.e. workflows). Activity diagrams show the overall flow of control.
Activity diagrams are constructed from a limited number of shapes, connected with
arrows. The most important shape types:
Rounded rectangles represent actions.
Diamond represents decisions.
Bars represent the start (split) or end (join) of concurrent activities;
Circle represents the start (initial state) of the workflow;
An encircled black circle represents the end (final state).

User Login Process

47

8.7. Use Case Diagrams

8.8. Data Flow Diagrams


A data flow diagram (DFD) is a graphical representation of the "flow" of data through
an information system, modeling its process aspects. A DFD is often used as a preliminary
step to create an overview of the system, which can later be elaborated. DFDs can also be
used for the visualization of data processing.

48

49

9. SNAPSHOT

9.1 Login

Login GUI Panel

50

9.2. Start/Stop Server


This GUI panel is used for start the server. Once the server is started clients can
connect with each other as server is ready to take request.
This is mainly used to start and stop the server.

Start/Stop Server GUI Panel

51

9.3. Messaging Service


This is the GUI panel which is used to show message, emotions which can be sent
to other using this GUI Application.

Message Service Panel

52

9.4. Room Service in Chat


This is used to show rooms in the chat panel. Client can create its own room
according to its choice.

Rooms in Chat Application GUI


Panel

53

9.5. Emotions in Chat


This panel is used to send emotions to users. This makes our talk or
communication more interactive.

Emotions GUI Panel

54

9.6. Private Chat


This is used to do a private chat with a particular user or client. We can send
emotions to that user. We can also block that particular user.

Private Chat GUI Panel

55

9.7 Working

56

10. ADVANTAGES & LIMITATIONS OF PROJECT.


10.1. Future Enhancements
The proposed system will support communication between groups and individuals.
They can register and login and then they can communicate with their buddies.
The proposed system will have online transaction support so we can do transactions
using secured socket layer.
The future system will be more intelligent so communication process will become a
lot easier than current system.

10.2. Advantages
Quicker Response.
Adds Human Element.
Multitasking.
Increased Analysis.
Reliable.
Effective.

10.3 Disadvantages
The limitation of this system is that it can only accessed by registered users of the
chat service organization so they can only communicate with each other directly using
this system when they have registered themselves.
The limitation of System is that it is a network (server) based application and c an only
be accessed by when internet is properly working. If internet connection is not
available it is not accessible.
As this software uses internet connection, sometimes it is possible that internet
connection may be slow. Due to this reason this application may be time consuming.
Only a user with has a good idea about working of computers and internet can
understand and use this system.
If connection to server is lost in middle of something then you might be invisible to
other users in group.
If internet connection is not available than application services will not work.
57

11. CONCLUSION
In conclusion, there were many things that I have experience and learned during the 45 days
of my Industrial Training at Bodacious It Hub Pvt. Ltd. The whole training period was very
interesting, instructive and challenging. Through this training I was able to gain new insights
and more comprehensive understanding about the real industry working condition and
practice. The training also has provided me the opportunities to develop and improve my soft
and functional skills.
All of this valuable experience and knowledge that I have gained were not only acquired
through the direct involvement in task given but also through other aspect of the training
such as work observation, interaction with colleagues, superior & other third party related to
the company.
From what I have undergone, I am hundred percent agree that the industrial training program
have achieve its entire primary objective. Its also the best ways to prepare student in facing the
real working life. As a result of the program now I am more confident to enter the employment
world and build my future career.

58

12. ADVANTAGES
1. Gain work experience and transferable skills
Students all have their educational experience in common. What stand out to employers is
those students who also have work experiences by the time they graduate. This
automatically makes them more marketable; as they may require less training and are
assumed to be able to handle more responsibilities. In addition to the specialized skills of
your field, transferable skills are generally required at any job, e.g.
communication/interpersonal skills, computer proficiency, and team work.

2. Possibly earn course credit


Some degree programs incorporate a work opportunity into a requirement for graduation
by giving course credit for the work experience. Other programs have an internship as an
elective course for credit. Contact your academic advisor for more information because
earning credit varies by departments.

3. Possibly earn money

4. Be able to experience a prospective career path


Most students enter college with an idea of a major or career path and most students
end up changing their minds. Exploring is a very important part of the academic process,
and gaining a work experience is a great way for students to acquaint themselves with a
field they are looking to learn about. By the time of graduation, the students have
confidence that the degrees they are receiving are the right ones for them.

5. Gain practical experience, by applying methods and theories learned in classes


Many people learn best by being hands on. But everyone can benefit from seeing the
things that they have been learning in class, put to action; whether its in a chemistry
research lab, a marketing development meeting, or a substance abuse counseling session.
59

6. Network with professionals in your field, for references and future job
opportunities
Its all about who you know. As a student intern, you are surrounded by professionals in
the industry that you are seeking access to. Its more than just about getting a grade,
earning credit, or making money. This is an opportunity to learn from everyone around
you, ask questions, and impress them with your eagerness. These people can be your
future colleagues or can be the connection to your first job.

7. Develop new skills and refine others


Learn your strengths and weaknesses by creating learning objectives and receiving
feedback from your supervisor. This is a unique learning opportunity that you may never
have again as a working adult. Embrace the mistakes that youll make and the many
things that you wont know. Ask questions, observe, and take risks.

8. Gain confidence in your abilities


Practice makes perfect. If youve learned about a specific technique in the classroom,
youre able to test it out in the world of work. Then, youll be much more equipped with
the technique.

60

13. DISADVANTAGES

Some internship is detrimental to the individuals progression in the working world.


Many interns are taken advantage of and made to do pointless tasks that will not give
them any additional knowledge or understanding about the industry or a certain
position.

Often, interns flit from one department to another and are regarded as an assistant
rather than an apprentice, meaning that they learn basic, menial tasks that are of
limited value. Although it is fundamental that interns are given tasks that give them a
realistic insight into how the industry functions, it is also crucial that they learn how a
particular department and business operates.

It is also important to be careful who you intern for. Some companies take advantage
of interns and make then do the most menial, tedious tasks that will barely enhance
their skills. Many interns come out from the experience feeling frustrated and as
though they havent gained any valuable skills. They get trapped in one department
and their exposure to the company overall is limited.

Most internships arent that glamorous and it is extremely difficult to be offered an


internship opportunity for a highly regarded company. In addition, internships can
become extremely expensive to maintain, particularly if there is no funding available
and they are maintained for a prolonged period of time.

In addition to the above, it is important to acknowledge that whilst the individual is


carrying out the internship, they are missing out on opportunities to place a foot on
the career ladder.

61

14. REFERENCES
www.youtube.com
www.tutorialspoint.com
www.stackoverflow.com
www.w3schools.com

62

Вам также может понравиться