Tilak Education Society Tilak College of Arts, Commerce, Science College Vashi PROJECT REPORT ON LIVE CHAT By Mr. DNYANRAJ SUBHASH PATIL Under the Guidance Of Prof. Mrs.Triveni Kaul Submitted to University of Mumbai 2011-2012DEPARTMENT OF COMPUTER SCIENCE Tilak Education Society TILAK COLLEGE OF SCIENCE & COMMERCEPlot no. 231 Sector-28,Vashi, Navi Mumbai-400 705
This is to certify that the project of Live Chat Application Undertaken at TILAK COLLEGE OF SCIENCE & COMMERCE ByMR.DNYANRAJ SUBHASH PATIL (Seat o._____________).In partial fulfillment of B.Sc. (computer science) degree Examination had not been submitted for any other courses undergone by thecandidate. It is further certified that they are completed all required phases of the project. Internal Examiner Head of Department External Examiner
ACKNOWLEDGEMENTMaking of project Live Chat Application is been unique experience forus. We would like to thanks the entire staff of the ComputerScience department of Tilak College of Science and Commerce, whokept helping continuously through out our project. A special thanks to Mr. Rao Ghuge and Mrs. BhagyashreeKulkarni and Mrs.Triveni Koul for their valuable guidance,cooperation and encouragement and time spend for this projectwork. Without her help and guidance this project would beunsuccessful. Last but not least we would like to thank to my family andfriends for their constant moral support.Thanking You,DNYANRAJ SUBHASH PATIL
SIGNED SHEETClass : T.Y.B.Sc Subject : projectSigned sheet details are as follows (As per Practical) PHASE COMPLITION SIGNPHASE DATE (guide)NO.1 Project Finalization2 Investigation of system requirements/Synopsis3 Data & Process collection4 System Design5 Program Design6 Program Coding First phase Second phase Third phase Last phase7 Unit testing checked by Guide8 Integration testing9 Complete Project10 Documentation printout Checking11 Final Submission
INDEXSr.No. Title Page No.1 Introduction2 Gantt Chart3 Organizational overview a. Purpose b. Scope c. Organization chart d. Present system e. Limitations of present system4 Proposed system Benefits of proposed system5 System study a. System analysis b. Requirement specification c. Feasibility study6 System analysis a. Prototyping model b. Event table c. ER-Diagram d. Use case diagram & use case description e. Activity diagram
f. Sequence diagram g. Collaboration diagram h. State chart diagram i. Context Level diagram j. Data Flow Diagram. k. Class Diagram7 System Design a. Component Diagram b. System Flow Chart8 System coding a. List of tables with attributes and constraints b. Testing & Validation c. Test cases9 System Implementation10 Future Enhancement11 Reference and Bibliography
INTRODUCTION TO PROJECT1.1 IntroductionLive Chat is an easy-to-use, server based LAN messaging applicationfor effective communication. It correctly identifies and works underall operating systems with unlimited user accounts and is the onlysecure, messenger .The simple interface makes special trainingneedless.1.2 Goals of the Project Communication: To develop an instant messaging solution to enable users to seamlessly communicate with each other. User friendliness: The project should be very easy to use enabling even a novice person to use it.1.3 Innovative Ideas of the Project GUI: Easy to use GUI (Graphical User Interface), hence any user with minimal knowledge of operating a system can use the software. Platform independence: The messenger operates on any system irrelevant of the underlying operating system. Unlimited clients: ‘n’ number of users can be connected without any performance degradation of the server.
Organizational overviewPurpose of the Project:- This project is to create a chat application with a server andclients to enable the clients to chat with many other clients in thesame common chat group. This project is to simulate the multicastchatting. In the case of multicasting when a message is sent to agroup of clients, then only a single message is sent to the router.Which means that the client will send the message only once andbased on the location of the clients, the router will either pass themessage to another router or if the clients are in the same localnetwork the router will send a copy of the message to each client inthat network. So this way we are reducing the number of messagesbeing passed in the whole network.
Scope of the Project:-Mail Server with Live Chat is going to be a text communicationsoftware, it will be able to communicate between two computersusing point to point communication. .The limitation of Live Chat is it does not support audio conversations.To overcome this limitation we are concurrently working ondeveloping better technologies.Data communication over LAN networks is going to be a mostimportant mode of communication for the corporates in the verynear future. Companies have to rely on external networks which notonly are unreliable but also cost inefficient.Companies would like to have a communication software whereinthey can communicate instantly within their organization.The fact that the software uses an internal network setup within theorganization makes it very secure from outside attacks.
Organization chart:-Detailed Idea about the Project:-
Communication:-The different ways of communication are telephone lines, postalservices, satellites communication etc.But the communication on computer is broadly divided into twotypes i.e. communication over internet and communication overintranet. For communicating over the internet you need to have aninternet connection which is not cost effective.But communication over the intranet is very efficient and costeffective. For that purpose you just need to have a LAN connectionwithin your organization and a continuously running server.
LAN:-A local area network (LAN) is a computer network covering a localarea, like a home, office, or group of buildings.The defining characteristics of LANs in contrast to WANs (wide areanetworks) are: their much higher data rates; smaller geographicrange; and those they do not require leased telecommunication linesTherefore, to enhance the communication features of the currentcommunication system, we are designing a product called Live Chat.It is an instant messaging software.Basically, any organization that requires continuous communicationbetween their employees can use this software.
The basic interaction between the client and theserver would be:- Server get Groups Send Message
Client:-The client would first authenticate itself as a valid user to theserver. Once the server validates the user, the user will try toget the groups that are available in the server currently wherethe client can chat. if a user wants to send a message to thegroup then it will have to invoke the Send Message object of theserver. At any time the client can leave the group by sendingthe Leave Group message to the server and the server willdelete this user from that group.The above specified interactions is being implemented usingRMI and the particular instance where the Server sends themessage to all other users of that group will be implementedusing UDP socket. So the client will be listening for anymessages pertaining to that group at a particular port.Theinitial aim of this project will be to create an application thatwill try to work as a multicast server.Since there is only 1 server being used here, so the actualeffect of multicasting will not be directly seen. But the mainaim here is to reduce the traffic in the network by having aserver which will actually propagate the messages in thenetwork instead of the client trying to send the message to
each of the user on its own. I will be first trying to implement the client application with the interactions on the command line rather than trying to make it fancy using an applet or Java Swing. If time permits I will implement the fancy user interface.Present system:- When the existing system was studied, it was found having some problems, existing system was very time consuming and was not very efficient. The drawback of the existing system has resulted in to the development of new system, which is very user friendly and effective. Existing system was also very low in performance. While developing the new system all requirements of the end user was taken into consideration. These have been maximum efforts towards overcoming the drawbacks of the existing system, while the new system was designed & developed.
Limitations of present system There is no private chatting option had been available. Client can connect with the server with the only IP Address. The Performance of existing system s very low. The system does not maintain the list of active user.
PROPOSED SYSTEM The system to be developed here is an Chat facility. It is a centralized system. It is Client-Server system with centralized database server. All local clients are connected to the centralized server via LAN. There is a two way communication between different clients and server. This chat application can be used for group discussion. It allows users to find other logged in users.
Tradeoff between Existing and Proposed System:- 1. No need of Internet connection:Existing system requires Internet connection; whereas in theproposed system only Intranet connection i.e. only a LAN connectionis required. This system is useful for those who can not afford tohave an Internet connection. For example: schools, colleges, smallcompanies, etc. 2. Conference possible on LAN:Usually on LANs connections conferencing is not possible. Theproposed system allows the LAN users to create and participate inconference. This makes communications possible among number ofLAN users simultaneously.
SYSTEM STUDY:-Existing System Study:-Currently there is no such system available. The users earlier need tologin into official website. Therefore the need for a chat systemfacility was necessary. There is LAN network spread across variousoffices, so we can develop software which can work on LAN.
SYSTEM ANALYSIS :-System analysis is the way of studying a system with an eye onsolving its problem using computer. It is the most essential part ofthe development of a project of a system analysis. System analysisconsists of system element, process and technology. To analyze asystem, has to study the systems in details. The analyst has to understand the functioning andconcept of the system in detail, before design the appropriatecomputer based system that will meet all the requirements of theexisting system. The system analyst has to carry out a customaryapproach to use the computer for problem solving.The above steps constitute the logical framework for the systemanalysis.
After the preliminary investigation and feasibility study, thescope of the defined and comparable items are set forth and hencedetailed investigation is executed. This allows the system analyst tocomprehend the full scope of the project. Soon after theimplementation of the newly developed system, followed by thetraining of the users, the system analysis is included.
PRELIMINARY INVESTIGATION:-A request to receive assistance from information system can bemade for many reasons, but in case a manager, employee or systemspecialist initiates the request. When that request is made, the firstsystem activity preliminary investigation begins. The activity hasthree parts . Request clarification: -the request from employee may not be well stated. Sometimes therequest may not be well defined. Therefore before any systeminvestigation can be considered, the project request must beexamined to determine precisely the actual requirements of theorganization.
Feasibility study:-the basic idea of feasibility study is to determine whether therequested project is feasible. Request approval:all projects that are requested are not desirable or feasible .someorganization receive so many projects requests from employee thatonly a few of them can be pursued. However those projects that arefeasible and desirable should put into a schedule. The managementdecides request that are most important. After a project request isapproved the cost priority, the completion time and the personalrequired are estimated. Once the request is approved, the collectionof data and determination of requirements can be started.
REQUIREMENT SPECIFICATIONThe primary goal of the system analyst is to improve the efficiency ofthe existing system. For that the study of specification of therequirements is very essential. For the development of the newsystem, a preliminary survey of the existing system will beconducted. Investigation done whether the up gradation of thesystem into an application program could solve the problems anderadicate the inefficiency of the Existing system.HARDWARE REQUIREMENTS Server:- 128 MB RAM PIII and above processors 2.1 GB Free Space Router
NIC Card 10BaseT Ethernet CardClient:- 128 MB RAM PIII or above 1 GB Free Space NIC Card 10BaseT Ethernet Card
Software Requirements: Operating system-Windows 98 or above. JDK 1.6 Network Requirements: LAN connection
Software Specification Why java? Write once, run anywhere(WORA) JAVA technology promises you that you only have to write your application once –for the java platform & then you will able to run it anywhere (any operating system) Security:- The capacity of java platform allows users to download entrusted code over a network & run it in secure environment in which can not do any harm. Because the security guarantee, nearly as strong as java makes.
Network-Centric Programming:- SUN’s corporatism’s motto has always been ‚The network is the computer, ‚The designer of the java platform believes in the importance of Networking & designing the java platform to be network-center to create network-based application using client- server or multitier architecture. Performance Java is portable interpreted language java programs runs almost as fast as native non-portable C & C++.
Programmer efficiency & Time-to-market Java is an elegant language combined with a powerful & well designed set of API. Java increases programmer’s efficiency Why MS-Access? MSACCESS for windows is a database management system, that helps us to manage the data stored in the database. Database Management System is a collection of interrelated data and a set of program to access data. This collection of data is called the database. The column heading are called as fields. The rows of data are called as records. MSACCESS, a relational database management system enables us to manipulate data in more sophisticated ways. Relational database
management system avoids redundancy in data and defines the relationship between sets of data. The data stored in each table can be retrieved and updated based on other tables. MSACCESS is a relational database management system designed for the graphical environment .With Dccess we can perform following tasks: Organize data into manageable data related units. Enter, locate and modify data. Extracts subset of data based on specific criteria. Automate command database task.
In Access, the term database returns to a single file that contains acollection of information. A database consists of following objects:Tables:In Tables Data are stored in the format of rows and columns. Everytable in a database focuses on one subject. Each row or record in atable is a unique instance of the subject of the table.Queries:Queries extract data from the table on a user defined criteria. Theyenable us to view fields from more than one table.
Feasibility studyA feasibility study is undertaken to determine the possibility orprobability of improving the existing system or developing a totallynew system. Feasibility study is systematic and thorough study ofthe existing system and an attempt to trace out the disadvantagesof the existing system.Once management accepts the study proposals, it will lead to aninvestigation of the existing system or problem area. Thisinvestigation is conducted in close collaboration with usermanagement and in sufficient depth to establish in broad terms thetechnical, operational and economical feasibility of the proposal.
The purpose of the LIVE CHAT is to communicate efficientlybetween the different users in a local area network and exchangedata between them. The feasibility of this project depends upon anumber of factors such as cost, time, technology etc.
NEEDS FOR FEASIBILITY STUDY: The feasibility study is needed for following things:- Answer the questions whether a new system is to be installed or not? Determine the potential of the existing system. Improve the existing system. Know what should be embedded in the new system. Define the problems and objectives involved. Avoid costly repairs at later stage when system is implemented. Avoid crash implementation of the new system. Avoid the ‘Hardware approach’ i.e. getting a computer first and then deciding how to use it.
The Feasibility study is divided in to three parts:- TECHNICAL FEASIBILITY ECONOMIC FEASIBILITY OPERATIONAL FEASIBILITYECONOMIC FEASIBILITY:-Economic analysis is most frequently used for evaluation of theeffectiveness of the system. More commonly knows as cost/benefitanalysis. the procedure is to determine the benefit and saving thatare expected from a system and compare them with costs, decisionsis made to design and implement the system.
This part of feasibility study gives the top management the economicJustification for the new system. This is an important input to themanagement the management, because very often the topmanagement does not like to get confounded by the varioustechnicalities that bound to be associated with a project of this kind.A simple economic analysis that gives the actual comparison of costsand benefits is much more meaningful in such cases.In the system, the organization is most satisfied by economicfeasibility.Because, if the organization implements this system, it need notrequire any additional hardware resources as well as it will be savinglot of time.
TECHNICAL FEASIBILITY:-Technical feasibility centers on the existing manual system of thetest management process and to what extent it can support thesystem.According to feasibility analysis procedure the technical feasibility ofthe system is analyzed and the technical requirements such assoftware facilities, procedure, inputs are identified. It is also one ofthe important phases of the system development activities.The system offers greater levels of user friendliness combined withgreater processing speed. Therefore, the cost of maintenance canbe reduced. Since, processing speed is very high and the work isreduced in the maintenance point of view management convincethat the project is operationally feasible.
BEHAVIOURAL FEASIBILITY:-People are inherently resistant to change and computer has beenknown to facilitate changes. An estimate should be made of howstrong the user is likely to move towards the development ofcomputerized system. These are various levels of users in order toensure proper authentication and authorization and security ofsensitive data of the organization.
The prototyping model:The mode is used for developing the ‚Exam Tool‛ as the prototypingmodel. Prototyping Model is based on the idea of developing an initialimplementation, exposing this to user comment and defining thisthrough many until an adequate system has been developed.Benefits of prototyping model:-The prototyping paradigm begins with requirement gathering.Developers and customers meet and define the overall objective forthe software, identify the requirements and outline the areas wherefurther definitions are necessary. The prototype design is often,quite different from that of the final system.
The benefits of developing a prototype early in the software processare: Misunderstanding between software developers and users may be identified, as the functions are demonstrated. Missing user services may be detected. Difficult to use or confusing user services may be indentified and refined. Software development staff may find incompleteness and inconsistency in requirement as the prototype is developed. A working albeit limited systems is available quickly to demonstrate the feasibility and usefulness of the application to the management. The prototype serves as a basis for writing the specification for a production quality system. Though the principle purpose of
prototyping is to validate software requirements, software prototype also has other uses. A prototype system can be used for training users before the formal system has been delivered.Prototype can run back-to-back tests. This reduces the need fortedious manual checking of test run. The same test is given to boththe prototype and the system under test to look for differences inthe final results and thereby making necessary changes. Thusprototype serves as a technique of risk reduction.
Selecting the prototype approach:-The prototype paradigm can be either close-ended (throwawayprototyping) or open-ended (evolutionary prototyping). Beforeselecting closed or open-ended approach, it is necessary todetermine whether the system to be built is suitable for prototypingor not. This is decided depending on application area, complexity,customer characteristics and projects characteristics.The throwaway is developed to understand the system requirementswhile the evolutionary prototype evolves through a number ofversions to the final system.
Event table:-Event Trigger Source Activity Response Destinati onUser Ask for User User User User form record selectedLoginUser Ask for User Create User Userregistra form new user registeretion record dUser Ask for User Add the Nick UserNick nick nick name namename name in the chat saved listAsk for Enquire Server Look up IP UserIP for IP for IP addressAddress address address checkedUser Enquiry User Look up User Userselects for other for other selectedother users usersusersfor chat
Entity Relationship diagram:- SERVER Message passes Server resends the message to on to the server the respective client or INTRANETWORK broadcasts it on every clients screen The message comes to theClient sends the message respective client(s) againto the server via the LAN through the LAN CLIENT 1 CLIENT N Preliminary System Design
USE CASE Scripts:- Logging as Server-user inserts his personal data (login, password) verification is taking place after submitting data verification error is signalized by error message if verification doesn’t return error, user is allowed to system Broadcasting Messages called by Server Server recived the message from one client and broadcast it to other client
Logging as a Client- inserts his personal data (login, password) verification is taking place after submitting data verification error is signalized by error message if verification doesn’t return error, user is allowed to system Chatting with multiple client Client can chat with multiple client. Registration Client can add update delete the data from database
Activity diagram for Login:- Enter Username and Password Submit Username and Password Verify Username and Password Invali Login Valid Login Redirect to Chat Client Page
Activity diagram:- Enter Username and Password Submit Username and Password Verify Username and Password Invali Login Valid Login Redirect to chat Client Page Login Select Client or Group chat
List of tables with attributes and constraint:-Table name : - loginDescription : -It contains information of username and assword.Field Data type Size Constraint Descriptionusername Text 50 Foreign key Keeps the username of Userpassword Text 50 Keeps the password of User
Table name : - registration Description :- It contains registration information of User. Field Data type Size Constraint Descriptionfirstname Text 30 User’s First Namelastname Text 30 User’s Last Name gender Text 10 User’s Gender email Text 30 User’s Email Address contact Text 10 User’s Contact numberusername Text 30 Primary Key User’s Usernamepassword Text 30 User’s Password
Testing & Validations:-System testing is a critical aspect of Software Quality Assurance andrepresents the ultimate review of specification, design and coding.Testing is a process of executing a program with the intent offinding an error.A good test is one that has a probability of finding an yetundiscovered error. The purpose of testing is to identify and correctbugs in the developed system. Nothing is complete without testing.Testing is vital in the success of the system.In the code testing the logic of the developed system is tested. Forthis every module of the program is executed to find an error. Toperform specification test, the examination of the specificationsstating what the program should do and how it should performunder various conditions.
Unit testing focuses first on the modules in the proposed system tolocate errors. This enables to detect errors in the coding and logicthat are contained within that module alone. Those resulting fromthe interaction between modules are initially avoided. In unit testingstep each module has to be checked separately. System testing does not test the software as a whole, but ratherthe integration of each module in the system. The primary concern isthe compatibility of individual modules. One has to find areas wheremodules have been designed with different specifications of datalengths, type and data element name.Testing and validation are the most important steps of thedeveloped system. The system testing is performed to ensure thatthere are no errors in the implemented system. The software mustbe executed several times in order to find out the errors in thedifferent modules of the system.
Validation refers to the process of using the new software for thedeveloped system in a live environment i.e., new software inside theorganization, in order to find out the errors.The validation phase reveals the failures and the bugs in thedeveloped system. We will come to know about the practicaldifficulties the system faces when operated in the true environment.By testing the code of the implemented software, the logic of theprogram can be examined. A specification test is conducted to checkwhether the specifications stating the program are performingunder various conditions.
Apart from these tests, there are some special tests conductedwhich are given below:Peak Load Tests:This determines whether the new system will handle the volume ofactivities when the system is at the peak of its processing demand.The test has revealed that the new software for the agency iscapable of handling the demands at the peak time.Storage Testing:This determines the capacity of the new system to store transactiondata on a disk or on other files. The proposed software has therequired storage space available, because of the use of a number ofhard disks.
Performance Time Testing:This test determines the amount of the time used by the system toprocess transaction data. In this phase the software developed Testing is exercising thesoftware to uncover errors and ensure the system meets definedrequirements. Testing may be done at 4 levels Unit Level Module Level Integration & System Regression UNIT TESTING
A Unit corresponds to a screen /form in the package. Unit testingfocuses on verification of the corresponding class or Screen. Thistesting includes testing of control paths, interfaces, local datastructures, logical decisions, boundary conditions, and errorhandling. Unit testing may use Test Drivers, which are controlprograms to co-ordinate test case inputs and outputs, and Teststubs, which replace low-level modules. A stub is a 40 dummysubprogram.
MODULE LEVEL :Module Testing is done using the test cases prepared earlier.Module is defined during the time of design.INTEGRATION & SYSTEM TESTING:-Integration testing is used to verify the combining of the softwaremodules. Integration testing addresses the issues associated withthe dual problems of verification and program construction. Systemtesting is used to verify, whether the developed system meets therequirements.
REGRESSION TESTING:-Each modification in software impacts unmodified areas, whichresults serious injuries to that software. So the process of re-testingfor rectification of errors due to modification is known as regressiontesting.Testing Methods:The box approach Software testing methods are traditionally dividedinto white- and black-box testing. These two approaches are used todescribe the point of view that a test engineer takes when designingtest cases.
White box testing:-White box testing is when the tester has access to the internal datastructures and algorithms including the code that implement these.Types of white box testingThe following types of white box testing exist: API testing (application programming interface) - testing of the application using public and private APIs Code coverage - creating tests to satisfy some criteria of code coverage (e.g., the test designer can create tests to cause all statements in the program to be executed at least once) Fault injection methods - improving the coverage of a test by introducing faults to test code paths Mutation testing methods Static testing - White box testing includes all static testing
Black Box Testing:-Black-box test design treats the system as a "black-box", so it doesntexplicitly use knowledge of the internal structure.Black-box test design is usually described as focusing on testingfunctional requirements. Synonyms for black box include: Behavioral,functional, opaque-box and closed-box.A Simple Black box Specification:Black Box Testing is testing technique having no knowledge of theinternal functionality/structure of the system. This testing techniquetreats the system as black box or closed box. Tester will only knowthe formal inputs and projected results. Tester does not know howthe program actually arrives at those results.
Hence tester tests the system based on the functional specificationsgiven to him. That is the reason black box testing is also consideredas functional testing.This testing technique is also called as behavioral testing or opaquebox testing or simply closed box testing. Although black box testingis a behavioral testing, Behavioral test design is slightly differentfrom black-box test design because the use of internal knowledge isnot illegal in behavioral testing
Test case:For Login Page Cursor position in username field Validations for wrong entry of username Case sensitivity can be tested Cursor back to username field after being shown validation message Cursor position to Password field on pressing Tab key. Validations for wrong entry of password. Case sensitivity should be tested Cursor back to password field after being shown validation message. Focus to Login button on pressing Tab key.
System implementation:-Implementation is the stage of the project where the theoreticaldesign is turned in to a working system. The implementation state isa system project in its own right.It involves careful planning, investigation of the current system andits constraints on implementation, design of methods to achieve thechangeover, training of staff in the change over procedure andevaluation of change over methods.Once the planning has been completed, the major efforts are toensure that the program in the system is working properly.At the same time concentrate on training user staff. When the staffhas been trained a full system can carry out.
The various activities involved while implementing a project:- End user education and training. Training on application software System testing Parallel run and change over to new system Post implementation review
FUTURE ENHANCEMENTS:-The primary application of a messenger is to communicate withpeople.A messenger is useful in the following ways for communication: The user can communicate with many people simultaneously. The user can transfer files to others. Files can also be shared between two or more users.Communication plays a pivotal role in any organization, whether it isa business organization, an educational institution or industry.Besides telephone, emails etc a messenger can be used as aneffective and faster means of communication.The people in the organization can have a meeting session using theconferencing facility in the messenger.Besides this it can also be used as a medium for entertainment.For e.g. for chatting with friends, conferencing etc.
FUTURE ASPECTS:- Login session information: We can include a feature in this application that will keep a record of the user’s login session. Profile Database: The profile information of every user can be stored at the server. Login Timeout: This feature allows the user to be logged in only for a specific time. After this time span ends, the user is automatically logged out. File transferring and sharing: User can transfer one or more files to other users. A file can also be shared between two or more users
BIBLIOGRAPHY:-Books referred Java: The Complete Reference - by Herbert Schildt Introduction to Java Programming - by Y. Daniel LiangInternet References:- www.books.google.co.in www.howstuffworks.com www.wikipedia.org www.javaworld.com www.sun.com