System requirements specification (SRS)
The purpose of this specification is to present the requirements for a distributed (p2p) chat system. This system will allow users to communicate by sending and receiving text messages using interconnected devices. Optionally, users can also communicate by sending and receiving files (i.e. pictures, documents, programs, etc). The following are functional requirements of this system:
- Every user uses an username (or nickname) to connect to the chat system.
- When a user connects to the system, the list of the other connected users is presented. This list includes connected user names and information about their remote system (i.e. remote host information).
- Only connected users are able to communicate using the chat system functions.
- When any user connect (or log on) or disconnect (or log off), the other users have to be informed about it.
- When an user wants to communicate with another user (send a message or send a file), he has to select the remote user from the connected users' list. The message/file to be sent needs to be indicated. Optionally, a group of connected users could be selected as the destination.
- When the system receives a message or file targeted to the connected local user, the user has to be informed about it (i.e. showing the message or an indication about the received file).
Technical requirements such as the kind of terminal, the network environment or the user interface need to be specified and refined during the analysis and design process.