Beruflich Dokumente
Kultur Dokumente
on
Enrolment No.:
A2345914063
1
AMITY UNIVERSITY UTTAR PRADESH
GAUTAM BUDDHA NAGAR
Declaration by the Student
hereby declare that the internship project titled Chat Express Software which is
Technology in Computer Science and Engineering, has not been previously formed
the basis for the award of any degree, diploma or other similar title or recognition.
The author attests that permission has been obtained for the use of any copy righted
material appearing in the dissertation project report other than brief excerpts
requiring only proper acknowledgement in scholarly writing and all such use is
acknowledged.
2
Date: 22/05/2017 Signature of the
Student
Certificate
Computer Science and Engineering has carried out the work presented in the
project of the in house report entitle Chat Express Software as a part of second
3
Name and Signature of the Faculty Guide
ACKNOWLEDGEMENT
I am very grateful and express my deep regards to Mrs. Shweta Bhardwaj to guide
I am also very grateful to my friends and faculty of the study center, who were
Last but not the least I convey my thanks to Amity School of engineering and
Technology to provide easy and effective computer education that I able to develop
Prateek Sansanwal
4
TABLE OF CONTENTS
Sr. No. Topic Page Number
1. Introduction 6
2. System Analysis 7
3. System Specification 11
4. System Architecture 12
6. Testing 20
5
6.3 System Testing 21
7.1 Execution 23
7.2 Maintenance 24
8.1 Restraints 25
9. Bibliography 26
1. INTRODUCTION
Chatting is a technological medium through which people and innovative ideas can be
meshed together irrespective of the international boundaries, caste, creed and sex. The
platform have been available to mankind for quite some time but the acceptance of its
application is comparatively recent. Our project tries to give an insight about the
robustness and compactness of chatting application with the help of a chat server, which
comprises 2 applications-one is the client application processing on the user computer
and other is the server application running on random devices accessible to the network.
In order to start the conversation in the interface, the user should be logged in to server
where one can use two kinds of chatting according to their preference, the first kind of
chatting is public (where ones conversation is transmitted to all connected users) and
other is the private (which is encrypted and secured and can only be accessed by both the
user who are conversing).
6
2. SYSTEM ANALYSIS
Approach:
Methodology:
The client interacts with the help of a Graphical User Interface (GUI), a computing
platform.
GUI has two modes of operates - List form & Chat form.
The List form includes titles of the devices with access to the network.
The chat form embodies the communication through the means of text messages.
2.4 System Architecture
The working and processing of application can be categorized into two form:-
List form:
All the tags of the devices with access to the setup are enlisted. These titles can be
served for communication purposes with the help of pointer arrow event, in layman
terms: a click function.
Chat form
Chat form is primarily used when a given tag is chosen from the List form where it
establishes a link between the host network and the selected system through a
socket.
Figure 1.1 Flow Chart
2.5 Operational Concepts and Scenarios
Operation concept based on the modes of the interface:
List Form:
Initially it returns a list comprising of the titles of all the devices connected to the
network.
Encompasses two buttons: Refresh and Connect.
Refresh button refreshes the list of titles upon its selection.
Upon the selection of connect button or double clicking a title on the list, the chat
form is set into motion with a link established between the host and the client
machine.
PS: If we use the connect button when no tags is chosen, an error will be
displayed.
Chat form:
Comprises of a rich non editable textbox and the chat form can only shows the
conversation texts between the users as in any other chatting interface.
Includes a textbox for texts to be typed and transmitted across the network.
Have a Send button.
Upon the selection of Send button, the message typed is encrypted and send as a
packet to the other device, where the text is decoded back to its original form.
For efficient and effective use, the self sent message by the user is also displayed
on the interface. Both the messages is distinguished from one another with the
help of identifier name visible at the start of each message in the rich text box
EXIT:
Exiting the chat form leaves the list form and application intact whereas closing the list
form, shuts down the whole application.
3. SYSTEM SPECIFICATION
We increased the bare minimum requirement in order to run the application in any of
devices with greater flexibility while giving a fluidic user experience. Others refinements
are made according to the needs of the projects.
A socket represents a low level access point which can be accessed. It can transmit and
receive data in form of blocks. Data is basically compressed and encrypted in blocks of
few Kbytes for efficiency; each of these block are called a packet.
Packets requires a Source IP Address and a destination address to be transmitted and they
usually contain a unique port number. Normally, a port number is a number between 1
and 65,535 which is required to distinguish protocols. Port number plays a very vital role
in programming ones own applications as every application carries a unique port number
and no two application can share one single port.
Packets that contain port numbers are of 2 types: one that contains UDP and other that
comprises TCP/IP. The former has lower latency than the latter. In case where
performance is preferred over data integrity, UDP are more compatible and easier to use,
but in case where data integrity is more important it should not be used ;but data
transmitted by UDP can be received in the wrong order rendering it useless to the
receiver. TCP/IP is a much more sophisticated than UDP system still there is an assurance
that data transmitted through the internet would not be corrupted. TCP is ideally used for
file transfer where the data takes more priority than the download speed and UDP is
suited for internet radio, where the flow of constant music takes priority than the random
disturbance in the music.
The UDP(User Datagram Protocol) port number is a 16-bit address, which is unique for
every computer and system, have a sole function of transmitting specific kind of data to
its appropriate location.
A UDP datagram header consists of Source port number, Destination port number, Data
size and checksum each of them are two bytes each.
4.1.3 Using UDP Sockets
For the proper usage of UDP network socket, one must follow certain steps as shown:
Creation of UDP
socket
End point is an amalgamation of unique Internet Protocol(IP) address and serial port
number. Endpoint let us link and interact over a network connections between two
users easily which might be connected to different hosts. The Endpoint have a similar
pattern to a telephone response system where a user "call" the recipient and recipient
"answer" the user. Once the network link is established between a host and a server,
the two can "talk" by the means of messaging.
The processing model of this software is based on the Spiral Model. The Spiral Model was
chosen as a base model considering the possibilities of enhancements(mostly in the field of
networks) and some modifications in the future.
The functions and duties of the software were distributed into smaller fragments and were
allocated to various subsystems.
4.3.1 Graphical User Interface(GUI)
GUI is a computing platform which is a more graphical interface than textual making it more
interactive for the user. It provides two different forms, one is for enlisting the accessible devices
and the other is for messaging interface.
The module is tasked with managing the encryption necessary for analyzing the different
characteristics of the network where it uses net.exe to determine the tags of the devices which
are logged in to the same network as the host system. It then traces these titles into the list form.
4.3.3 Connection
It is tasked with establishing a fixed link from the host system to the devices from the list. The
link is set up through the help of sockets which requires ports to transmit data in form of packets.
The text transmitted / received is encrypted/ decoded respectively.
System Design Details
The tool which was developed to be used in Win64 platform is the Structured programming
approach.
Firstly, an interface for the user is developed for using in interaction. The module has a crucial
window and boxes which shows various menu selection done by the user. The various control
includes various buttons and edit used by the user to get input..
This part explains various systems name which are connected to a network displayed as a list.
The tool which was developed to be used in Win64 platform is the Structured programming
approach with another alternative which is the object oriented approach.
This module has two buttons one that refreshes and one that connects to a user for input with
mouse selection.
The refresh button:
This button refreshes the list containing names that indicates the system which is connected at
that time to the network.
The connection button:
When we need to connect a host to a specific system the connect button is the way it also opens a
new form due to this connection. If there is no system selection, then a window showing error
message pops up which says connect to a system.
5.2.3 Expectations
various IP addresses should definitely comes in the same series.
While using intranet the firewall must be off.
5.3 Connection Modules Name and Description
This part explains that a user interacts or communicate with another user in text format. A
communication connection builds up among the host and the required user by sockets that makes
use of ports for packet data transfer.
The tool which was developed to be used in Win64 platform is the Structured programming
approach with another alternative which is the object oriented approach.
Here a window form application based tool is used that builds a graphical representation of
communication and is user affable.
There are three GUI interfaces under this:
The errors that are analyzed are he ones that are faced while file redeemable operations.
5.3.3 Expectations
One of the main scientists who gave rules that are used as testing objectives was Glen Myers. It
executes an agenda with a consideration of ruling out an error. We tested the pr0ject MNM Chat
with different processes with the foremost objective that: -
1. All systems must be connected to a network and should be shown in first form.
2. A communication channel must be created so that one can fraternize by synchronizing
text.
For building up a unit testing strategy three native approaches can be used, including
isolation approach, top down approach and bottom up approach. In MNM Chat one typically
makes use of top down organizational approach. We also have other sub category in this
module which stands for Form1 mode, the part of listings and Form2 mode which is the chat
box. Form1 mode tests the resolution or uniqueness of system names that are in connection
with the network, while Form2 mode is used to build a two way communication network
among host and the receiver user, and we had successful results.
6.2 Integration Testing:
This testing is done right after unit testing. The objective is to analyze whether the module can be
integrated thoroughly, the impact being on testing borderline amongst modules. When the
modules are finally connected total testing is performed.
when one needs to use a software in a disciplined manner, to check whether the software
works as it is supposed to be system testing is performed.
This testing is used in attachment with the terms verificati0n and validation . Verification checks
the items, like software, conformance and reliability through a specific association. Software
assay is nothing but a kind of verification, that makes use of techniques like reviews, analysis,
inspections and walkthroughs. Validatin means checking whether specified detail is the thing that
user actually wanted.
1. Logical Testing: when one wants to assay every single facet of the two means, query &
report a they are executed making use of invalid or valid or an tremendous data test
which can be added to again analyze each and every code whose results are compared
with the existing or expected results. Further extra data is added to make sure that there is
one entry in each grouping.
Consequent tests will frequently embroil enhancing novel data, which will be erased as the trial
works acceptably.
As our prerequisite can also include about ground such as character extent & then queries were
executed after which scores were tabularized & the module was freed from superfluous field.
2. Functional Testing: - In this tariff objects were verified to safeguard that no tasks has been
unexploited, which is complete for the suave employment of the project.
3. System Testing: - This is completed after the accomplishment of system, entirely the
uncertainties were conveyed out over again to certify that not even a single blunders have
been familiarized.
7. System Execution And Maintenance
7.1 Execution
Execution is a vigorous stage in safeguarding the feat of novel system even well premeditated
system may crash if not implemented properly. Operation events are desirable to transmute a
afresh industrialized information system hooked on an 0perational system for end operators.
These reserves attained after numerous sources in the computer industry. Specific cradles are as
follows
7.1.2 Testing:
Testing of an industrialized system is a chief execution activity. System test and fixing computer
agendas and assessment of information dispensation procedures.
A- Vendor and in service training- Vendor deals with wide-ranging educational packages as
part of their amenities including the courses by involvements by instructors and sales
persons ,concealing all the features of exploiting the paraphernalia here, the member truly
use the system in the attendance of trainer. If any queries rise, they can speedily be
retorted.
B- In house training- It is presented by superior acquired instructional supplies exercise
manuals on site
7.2 Maintenance
After the system is entirely executed and is being activated by end operator and the upkeep
purpose arises. System upholding is the censoring of operational information system gauged and
amended to brand necessary or obligatory enlargements like, the enactment of a novel system
typically results in this phenomenon as the leaning curve. An individual who panels and custom
the system will definitely make blunders modestly because they are not acquainted with it.
Although such miscalculations normally ebbed proficiency is increased with an original system,
this points out the zones where system can be enhanced . Upholding is also indispensable for the
letdowns & harms that begin throughout the maneuver of a system. The maintenance pursuit
contains a post employment of a system analysis process to certify that afresh instigated system
convene the system elaboration objective customary for them . Inaccuracies in the expansion of a
system must be rectified by the continuance process, including a sporadic evaluation or inspect of
a system to guarantee on operating system and gathering its objective.
8. Constraint and Forthcoming Augmentation Conclusion
8.1 Restraints
There is forever a room for enhancements in any software package, nevertheless decently and
effectually it can done. Nonetheless the utmost imperative thing ought to be supple to admit
additional alteration. For now we are only apportioning with text communication. In forthcoming
this software can be protracted to comprise topographies such as:
File allocation: which will empower the user to guide files of diverse arrangements to
others thru the chat application.
Speech conversation: which will augment the function to a greater levels where
interaction will be probable by speech vocation as done using phone.
Filmed conversation: which will additionally boost the character of vocation into
videotaped communication.
10. REFERENCES
Books referred
1. Java: The Complete Reference by Herbert Schildt.
2. Introduction to Java Programming by Y. Daniel Liang.
3. Java Programming Language By Ken Arnold, James Gosling, David
Holmes
4. Thinking In Java By Bruce Eckel.
5. A Programmer's Guide to Java SCJP Certification
6.
References
1. https://firebase.google.com/docs/
2. https://www.youtube.com/watch?v=2tRavgYG4ks&t=110s
3. https://www.youtube.com/watch?v=XyxH6VcMm9E
4. https://developer.android.com/index.html
5. https://www.youtube.com/watch?
v=cSMMWOHkP68&list=PLGCjwl1RrtcSvDCxDfJb-eqwneCe934mv
6. https://www.javatpoint.com/
7. https://www.codecademy.com/learn/learn-java
8. https://www.codementor.io/learn-java
9.