Lovely Profession University: Software Requirement Specification For What's App Application
Lovely Profession University: Software Requirement Specification For What's App Application
Lovely Profession University: Software Requirement Specification For What's App Application
Software Requirement
Specification for
what’s app application
Submitted to:
-Shivani Sharma: 29443
-software engineering
Submitted by:
Name: Keshav Kumar Yadav
Section: K22EU
Reg No: 12214049
Roll No: 28
Software Requirements Specification for WhatsApp Page 2
Table of Contents
1. Introduction.................................................................................................................3
1.1 Purpose..................................................................................................................................3
1.2 Document Conventions.........................................................................................................3
1.3 Intended Audience and Reading Suggestions ......................................................................3
1.4 Definitions, acronyms, abbreviations....................................................................................3
1.5 Project Scope ........................................................................................................................4
2. Overall Description....................................................................................................5
2.1 Product Perspective..............................................................................................................5
2.2 Product Features...................................................................................................................5
2.3 User Classes and Characteristics..........................................................................................6
2.4 Operating Environment........................................................................................................6
2.5 Design and Implementation Constraints .............................................................................7
2.6 Assumptions and Dependencies ..........................................................................................7
3. Specific Requirements................................................................................................7
3.1 Functional Requirement ......................................................................................................7
3.2 Requirements of the Application………………………………………………….………11
1. Introduction
1.1 Purpose
This document describes in substantial detail, the software requirements of WhatsApp, an online instant
messaging application. This document will describe the problems WhatsApp intends to address, the
functional requirements and non-functional requirements of the proposed system.
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.
1.4.1 Definitions
Account
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 contact information he provided during the
initialization of the application. User can be contact only with that information.
User can put up a profile picture to indicate his appearance. Last seen of a user indicates the last point in time
when the user used the application. Status indicates the written statement about himself or his state or mood
depending in the usage to all his recipients. Receipts indicate the status the message sent to any recipient.
Single receipt indicates that the message has been sent from the user’ end. Double receipt indicates that the
message has been received by the other party. Blue coloured receipt indicates that the recipient has read the
message.
Software Requirements Specification for WhatsApp Page 4
Network Usage
In order to enjoy seamless benefit of WhatsApp, User is supposed to be connected to Internet at any given
point of time. WhatsApp uses considerably lesser network resources than any other chatting application
available in the market. WhatsApp also provides the user with the option to limit resources to incoming
media.
Recipient
WhatsApp can be used to converse with more than a single user at any given point of time. The recipient
must also use the application on the other end of the conversation. The Contact information to which the
What’s app Account is linked is to be saved in the user contacts in order to start a new conversation with the
recipient.
Group
A Group of users ranging from 1-256 can be added into a group and can be conversed with at the same time.
Any group user can add new members into the group not exceeding 150. Only the Group Admin has the
executive permissions to remove a member of the group. Group admin can also provide other members of the
group with Admin permissions.
Broadcast Messages
A user can broadcast same message to 1-150 user at the same time with the broadcast option. Users with his
contact information can only receive the message .
Privacy
What’s app provides seamless ways to save the user’s privacy. User can decide which information is
available for other users to view and which information isn’t. Information like Last seem, Profile Picture,
Status can be put out for view to everyone or only to contacts or no one.
Backup
An Encrypted Backup of all the conversations is saved in Internal Memory in case of an Android device,
BlackBerry devices and in Cloud in case of an iOS device. Backup is encrypted in order to avoid messuages
of the metadata of the Application.
2. Overall Description
WhatsApp does not work independently. It works together with the internal servers and sending and
receiving application on either end devices.
Communication interface: WhatsApp communicates with the internal servers via a communication
network.
Software interface: The messages sent via the communication network are specific to the target recipient.
At any point, two known users will participate in the application .
Hardware interface: The software will run on any device running on iOS, Android, Symbian, BlackBerry
operating systems.
User interfaces: The GUI of the Application is user friendly and need no external assistance to understand
the application.
Customer: The customer user interface should be intuitive, such that 99.9% of all new WhatsApp users are
able to use the Application without any assistance.
Message Processing: Every message send through the application is processed by the internal servers and
sent to the recipient. Message processing is done at very high processing rates so as to avoid delay in the
conversations between the users. A maximum of 27 billion messages are processed in a single day by
WhatsApp internal servers.
WhatsApp should work 24 hrs. The Application on a smartphone is linked to a single user account. It collects
information about a simple account transaction (e.g., sent messages, received messages, media transfers, and
network usage), communicates with the internal severs for message processing and delivers the message to
the recipient in time to receive their reply. WhatsApp provide their own software for their own servers. The
internal server software requires appropriate record keeping and security provisions. The software must
handle concurrent accesses to the same user correctly.
Software Requirements Specification for WhatsApp Page 6
Customers are simple members of the general public with no special training .
The hardware, software and technology used should have following specifications:
Login
Validate User:
3. Specific Requirements
The functional requirements are organized in two sections First requirements of the application on any device
and second requirements of the network resource to connect to the internal servers of WhatsApp.
The requirements for the working of WhatsApp Application are organized in the following way
General requirements, requirements for authorization, and requirements for a transaction.
General Requirements
Functional requirement 1:
Description: If the application on any device is not connected to the Internet, the system should display
initial display.
Functional requirement 2:
Description: Send a message function sends a text message to another user of app.
Inputs: Inputs are characters, including numbers and the receiver contact from contact list. (Name of
the receiver in this case)
Processing: Reads the message from the buffer, stores it in the sender`s device DB, pass it to the
Central DB and passes the message to receiver and stores it in the receiver`s device DB. Sender then
gets indication of receiving the message by the receiver and indication of reading the message by the
receiver. (Sender gets mark on the message when receiver gets the message and double mark when
receiver opens the message)
Outputs: Mark at the sender`s side – when receiver gets the message in his device.
Double mark at the sender`s side – when receiver opens the message. The message
itself – stored in Central DB, Stored in the sender`s and the receiver`s devises DB for history.
Notification at sender`s side if the message wasn`t transferred to receiver.
Functional requirement 3:
Description: User Registration User is 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 will close. The user’s phone number will be the unique identifier of
his/her account on WhatsApp.
Functional requirement 4:
Description: Adding New Contacts The application is able detect all contacts from the user’s phone
book. If any of the contacts have user accounts with WhatsApp, those contacts must automatically be
Software Requirements Specification for WhatsApp Page 9
added to the user’s contact list on WhatsApp. If any of the contacts have not yet registered on
WhatsApp, user is 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 or
respective store depending on the Operating system the device is running.
Functional requirement 5:
Description: Send Message User is able to send instant message to any contact on his/her WhatsApp
contact list. User will be notified when message is successfully delivered to the recipient by
displaying a tick sign next to the message sent.
Functional requirement 6:
Description: Send Attachments User is able to send audio, video and images as attachments.
Video formats that the application should support: avi, mp4, flv, gif.
Functional requirement 7:
Description: Broadcast Message User is able to create groups of contacts. User is able to broadcast
messages to these groups.
Limitations: The recipient should have the sender in his contacts to receive the broadcast .
Functional requirement 8:
Description: Message Status User is be able to get information on whether the message sent has been
read by the intended recipient. If recipient reads the message, 2 ticks will appear next to the message
read.
Functional requirement 9:
Description: 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.
Description: 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 internet at
every point of time if the network resources are available on the device.
Description: User is able to set media download preferences with respect to various network resources
available. Media download preferences are with respect to Wi-Fi and Mobile data and different.
Description: Share photo function sends a picture (photo) to another user of Application.
Inputs: Input is the picture in JPEG, GIF etc. formats and the receiver contact from contact list. (Name
of the receiver in this case)
Reads photo from the device DB, sends it to receiver, stores it in the receiver`s device DB,
Sender then gets indication of receiving the photo by the receiver and indication when the
photo is viewed by the receiver. (Sender gets mark on the message when receiver gets the
photo and double mark when receiver opens the message with the photo)
When sender chooses to send new photo, the camera of sender`s device turns on and sender
can take photo. After that, stores photo in sender`s device DB, sends it to the receiver and
stores it in the receiver`s device. Sender then gets indication of receiving the photo by the
receiver and indication when the photo is viewed by the receiver. (Sender gets mark on the
message when receiver gets the photo and double mark when receiver opens the message
with the photo)
Processing: Imports contacts rom user`s device to contacts DB. Then checks which accounts have the
WhatsApp app, by using accounts DB, and then stores this information in the contacts DB
(synchronization). All contacts that have WhatsApp Messenger, appear in WhatsApp Messenger
contact list on user`s device with status. If new contact added to contacts list of the device, the
synchronization executed and new contact added (if new contact has messenger).
Authorization
The internal servers get a request from a user account to process and send a message to a recipient.
Functional requirement 1:
Functional requirement 2:
Output: The Application gets the message “Update” if it’s an older and unsupported
application version.
Functional requirement 3:
Description: The Application checks for user data after every update .
Functional requirement 4:
The customer user interface should be intuitive, such that 99.9% of all new Applications are able to complete
their transactions without any assistance
It must be able to perform in adverse conditions extremely slow internet connections and low battery
on device.
Uninterrupted connections
WhatsApp provides encryption so as to prevent unauthorized access to a message midway. It uses 256-Bit
SSL encryption to secure data between two users.
5.3.1 Availability: The WhatsApp internal Server has to be available 24 hours a day.
5.3.2 Security: The Application should provide maximal security in order to make that much more
transparent there are the following requirements:
5.3.3 Maintainability: Only maintainers are allowed to connect into internal servers.
6. Application Analysis
Now a days the applications are available for messaging but there is not a single application which can handle
multiple things like messaging, privacy, location sharing, broadcasting, group messages, file sharing etc...
No Hidden Cost
Software Requirements Specification for WhatsApp Page 14
Multimedia:- (Send Video, Images, and Voice notes to your friends and contacts)
Group Chat
Status Update
As Open As SMS
And Much More (Share location, Exchange contacts, Custom wallpaper, Email chat history,
Broadcast messages)
Software Requirements:
Operating System: Windows XP or above, LINUX
Software: Mobile IDE Plugins
Development Tools: Android SDK Database:
SQLite
7. Feasibility Study
7.1 Technical Feasibility: System will work on android mobile or tablet which requires android 2.1 and up
version. Easy to develop application using open source.
Software Requirements Specification for WhatsApp Page 15
7.2 Economic Feasibility: This application is developed using open-source software. So, there are not any
issues related to development tools. After develop this application, we will put it on Google play which is
also an open source so user can easily download.
7.3 Operational Feasibility: The system will be GUI based so the user will easily understand and no need
for training. The system will give fast response. It’s a faster way to communicate.
8. Other Requirements
The Application must be able to use several data formats according to the data formats that are provided
by the data bases. A transaction should have all the properties of a data base transaction (Atomicity,
Consistency, Isolation, and Durability).