You are on page 1of 5

Assignment No: 01

Software Engineering concepts

Submitted To:
Maheen Gul
Submitted By:
M Anas Najmi
Registration number:
SP21-BCS-011
Subject:
Software Engineering concepts
Date:
16/10/2022
COMSATS University Islamabad
(Vehari Campus)
Software Requirement Specifications (SRS) of
WhatsApp

Scope:

This document describes in substantial detail, the software requirements of


WhatsApp, an online instant messaging application. WhatsApp is an online instant
messaging application that integrates user’s contacts from their phonebook with the
application and enables exchange of messages free of cost over the internet.
WhatsApp aims to provide a seamlessly integrated, web based, mobile messaging
application, that identifies the contacts on a user’s mobile device and enables free
text messaging services. For better interaction and user experience, WhatsApp
intends to provide support for different media types such as audio, video and
emoticons. A user must have a device on which he can run the application. Device
can either run on Android IOS, Blackberry, Windows or Symbian. User Account is
linked to the information he/she provided during the initialization of the application
User can be contacted only with the information. This document is intended for the
stakeholders of the application, to assist in the development process of WhatsApp as
well as to serve a reference to clarify any future issues that the stakeholders may run
into.
Functional Requirements:

• User Registration:

User must be able to register for the application through a valid phone number.
On installing the application, user must be prompted to register their phone
number. If user skips this step, application should close. The user’s phone
number will be the unique identifier of his/her account on WhatsApp.

• Adding New Contacts


The application should detect all contacts from the user’s phone book. If any
of the contacts have user accounts with WhatsApp, those contacts must
automatically be added to the user’s contact list on WhatsApp. If any of the
contacts have not yet registered on WhatsApp, user should be provided with
an invite option that sends those contacts a regular text message asking them
to join WhatsApp along with a link to the WhatsApp application on Google
Play store.

• Send Message

User should be able to send instant message to any contact on his/her


WhatsApp contact list. User should be notified when message is successfully
delivered to the recipient by displaying a tick sign next to the message sent.

• Send Attachments

User should be able to send audio, video and images as attachments.


Audio formats that the application should support: mp3 wav
Video formats that the application should support: avi mp4 flv gif
Image formats that the application should support: jpg png
• Broadcast Message

User should be able to create groups of contacts. User should be able to


broadcast messages to these groups.

• Message Status

User must be able to get information on whether the message sent has been
read by the intended recipient. If recipient reads the message, 2 ticks must
appear next to the message read.

• Auto Backup:

User is able to have all his messages backed up on cloud or internal storage
without ever being prompted. User has the choice of setting the frequency by
which the backup can be made.

• Auto Connect

The application should be able to connect to internet automatically even


though the application isn’t opened by the user. The application should stay
connect to the internet at every point of time if the network resources are
available on the device.

• Read /Receipt

It is basically the single tick when the message is sent, double tick when the
message is delivered to the receiver, and the blue tick when the receiver sees
the message.

• Group Chat

Where somebody could make a group of people and whenever anybody in the
group sends a message to the group, that message is received by everybody in
the group.
Non-Functional Requirements:

• Scalability

WhatsApp should be able to provide instant messaging services to 1 billion


users at any given time.

• Privacy

Messages shared between users should be encrypted to maintain privacy.

• Robustness

In case user’s device crashes, a backup of their chat history must be stored on
remote database servers to enable recoverability.

• Performance

Application must be lightweight and must send messages instantly.

• Low Latency

The chat application needs to have a low latency because it needs to look real-
time so while you’re sending a message, the other person should immediately
be able to see that message.

• High Availability

Obviously, it should also have high availability because the system should not
go down no matter what happens.

You might also like