Java Chat Application Report – II 28/03/2017 Shubham Bindal (141500406-E) & Shagun Kumar Sharma (141500371-E)
Table of Contents
1. INTRODUCTION ...................................................................................................................................................1 1.1 PURPOSE .............................................................................................................................................................. 1 1.2 SCOPE ..................................................................................................................................................................1 1.3 DEFINITIONS, ACRONYMS, AND ABBREVIATIONS ................................................................................................ 1 1.4 REFERENCES ........................................................................................................................................................1 1.5 OVERVIEW ...........................................................................................................................................................2 2. GENERAL DESCRIPTION ...................................................................................................................................2 2.1 PRODUCT PERSPECTIVE .......................................................................................................................................2 2.2 PRODUCT FUNCTIONS ..........................................................................................................................................2 2.3 USER CHARACTERISTICS .....................................................................................................................................2 2.4 GENERAL CONSTRAINTS ......................................................................................................................................3 2.5 ASSUMPTIONS AND DEPENDENCIES .....................................................................................................................3 3. SPECIFIC REQUIREMENTS ............................................................................................................................... 3 3.1 FUNCTIONAL REQUIREMENTS .............................................................................................................................. 3 3.1.1 Performance Requirement...........................................................................................................................3 3.1.2 Design Constraint .......................................................................................................................................4 3.1.3 Hardware Requirements .............................................................................................................................4 3.1.4 Software Requirements................................................................................................................................ 5 3.1.5 Other Reqirements ......................................................................................................................................5 3.2 USE CASES ...........................................................................................................................................................5 3.2.1 Use Case #1 ................................................................................................................................................6 3.3 CLASSES DIAGRAMS ........................................................................................................................................7 3.3.1 Class Diagram of Server .............................................................................................................................7 3.3.2 Class Diagram of Client.............................................................................................................................. 8 3.4 NON-FUNCTIONAL REQUIREMENTS .....................................................................................................................9 3.4.1 Availability ..................................................................................................................................................9 3.4.2 Accuracy......................................................................................................................................................9 3.4.3 Reliable .......................................................................................................................................................9 3.4.4 Portability ...................................................................................................................................................9 4. ANALYSIS MODELS ........................................................................................................................................... 10 4.1 SEQUENCE DIAGRAMS ....................................................................................................................................... 10 4. 2DATA FLOW DIAGRAMS (DFD) ......................................................................................................................... 11
Java Chat Application
1. Introduction 1.1 Purpose This document aim is to define the overall software requirements for “Java Chat Application”. Efforts have been made to define the requirement exhaustively and accurately the final software will be have been only features/functionalities mentioned in this document and assumptions for any additional functionality/feature should not be made any of the parties involved in developing/testing/implementing using this product.
1.2 Scope This project is to create a chat application with a server and clients to enable the clients to chat with many other clients in the same common chat group. This project is to simulate the multicast chatting. In the case of multicasting when a message is sent to a group of clients, then only a single message is sent to the router. The main purpose of this project is to provide multi chatting functionality through network. This project can play an important role in organizational field where employees can connect together through LAN
1.3 Definitions, Acronyms, and Abbreviations TERM User GUI SRS DFD ERD
DEFINITIONS : Who interacts with the application : Graphical User Interface : Software Requirement and Specification : Data Flow Diagram : Entity Relationship Diagram
1.4 References This subsection should: (1) IEEE Software Engineering Standards Committee, “IEEE Std 830-1998, IEEE Recommended Practice for Software Requirements Specifications”, October 20, 1998. (2) projects-seminars.net
Page 1
Java Chat Application
1.5 Overview The remaining section of this SRS document describes the various system requirements, interfaces, features and functionality in detail. General description of this project is described in section 2 of this document. Section 3 gives the functional requirement, data requirements, constraints and assumption made while designing this project. Section 4 is supporting information.
2. General Description It is the project for “Java Chat Application” by which we will provide the facility to chat multiple user in LAN mode. In this a chat record is maintain by the file, which collect all the history of chat. It has a two field in which user can select the host ip address and port number.
2.1 Product Perspective The system to be developed here is a 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. No need of Internet connection: Existing system requires Internet connection; whereas in the proposed system only Intranet connection i.e. only a LAN connection is required. This system is useful for those who cannot afford to have an Internet connection. For example: schools, colleges, small companies, etc. Conference possible on LAN: Usually on LANs connections conferencing is not possible. The proposed system allows the LAN users to create and participate in conference. This makes communications possible among number of LAN users simultaneously.
2.2 Product Functions
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.
2.3 User Characteristics Educational level:-At least user of the system should be comfortable with English language. Technical Expertise: - User should be comfortable using general-purpose applications on the computer system.
Page 2
Java Chat Application
2.4 General Constraints Software constraints:
The software will run in windows 7, 8, 8.1, 10 or higher platforms of operating system.
2.5 Assumptions and Dependencies Assumption and dependencies are as follows:
There should be LAN or internet connection. Clients should know each other. There can be multiple clients.
3. Specific Requirements 3.1 Functional Requirements: 3.1.1 Performance requirements:
User Satisfaction: - The web application is can generate the portfolio within a minute; it reduces the time as compare to making the portfolio from scratch. Response Time: -The response of all the operation is good. This has been made possible by careful programming. Error Handling: - Response to user errors and undesired situations has been taken care of to ensure that the system operates without halting. Safety and Robustness: - The system is able to avoid or tackle disastrous action. In other words, it should be foul proof. The system safeguards against undesired events, without human intervention. Portable: - The software should not be architecture specific. It should be easily transferable to other platforms if needed. User friendliness: - The system is easy to learn and understand. A native user can also use the system effectively, without any difficulties.
Page 3
Java Chat Application
3.1.2 Design constraint: There are a number of factors in the client’s environment that may restrict the choices of a designer. Such factors include standards that must be followed, resource limits, operating environment, reliability and security requirements and policies that may have an impact on the design of the system. An SRS (Software Requirements Analysis and Specification) should identify and specify all such constraints. Standard Compliance: - This specifies the requirements for the standards the system must follow. The standards may include the report format and accounting properties. Hardware Limitations: - The software may have to operate on some existing or predetermined hardware, thus imposing restrictions on the design. Hardware limitations can include the types of machines to be used, operating system available on the system, languages supported and limits on primary and secondary storage. Reliability and Fault Tolerance: - Fault tolerance requirements can place a major constraint on how the system is to be designed. Fault tolerance requirements often make the system more complex and expensive. Requirements about system behavior in the face of certain kinds of faults are specified. Recovery requirements are often an integral part here, detailing what the system should do I some failure occurs to ensure certain properties. Reliability requirements are very important for critical applications.
3.1.3 Hardware requirements: For the hardware requirements, the SRS specifies the logical characteristics of each interface b/w the software product and the hardware components. It specifies the hardware requirements like memory restrictions, cache size, the processor, RAM size etc. those are required for the software to run. Minimum Hardware Requirements Processor Pentium III RAM 128 MB
3.1.4 Software requirements:
Notepad++ is a text editor and source code editor and provides an environment for developing HTML, jsp, JavaScript many other editing purposes. Coding done in java so required JDK 1.8 and above for run java programs. Operating system (such as window 7, 8, XP, Linux etc.).
Page 4
Java Chat Application
3.1.5 Other Requirements: Software should satisfy following requirements as well:
SECURITY PORTABILITY CORRECTNESS EFFICIENCY FLEXIBILTY TESTABILTY REUSABILTY
Page 5
Java Chat Application
3.2 USE CASE DIAGRAM “A use case is a description of a system’s behaviour as it responds to a request that originates from outside of that system (the user).” In other words a use case describes “who” can do “what” with the system in question. The use case technique is used to capture a system’s behavioural requirements by detailing scenario-driven threads through the functional requirements. The use cases describe the system from the user’s point of view! A use case is a standard set by, among other, UML 2.0. It is a non-technical description of the behaviour of the system.
fig. 1 Use-Case Diagram
Page 6
Java Chat Application
3.3 Class Diagram 3.3.1 Class Diagram of Server
Fig 2.1 Class Diagram of Server
Page 7
Java Chat Application
3.3.2 Class Diagram of Client
Fig 2.2 Class Diagram of Client
Page 8
Java Chat Application
3.4 Non-Functional Requirement 3.4.1. Availability The btrs of the diary (in terms of a program) will be available to the user as soon as he logs in into his/her btrs.
3.4.2. Accuracy Certain measures are taken to prevent ambiguity for similar names of btrs for different users.
3.4.3. Reliable The btrs will remain stored in the HDD.
3.4.4. Portability: The program is of the size of mere KBs moreover the file generated will be easy to access.
Page 9
Java Chat Application
4. Analysis Models 4.1 Sequence Diagrams
Page 10
Java Chat Application
4.2 Data Flow Diagrams (DFD)
Page 11