Lovely Profession University: Software Requirement Specification For What's App Application

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 15

Software Requirements Specification for WhatsApp Page 1

Lovely Profession university


Phagwara, Punjab

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

4. External Interface Requirements............................................................................12


4.1 User Interfaces ...................................................................................................................12
4.2 Hardware Interfaces ...........................................................................................................12
4.3 Software Interfaces..............................................................................................................12

5. Other Non-functional Requirements........................................................................13


5.1 Performance Requirements .................................................................................................13
5.2 Security Requirements ........................................................................................................13
5.3 Software Quality Attributes .................................................................................................13

6. Application Analysis ....................................................................................................13


7. Feasibility Study............................................................................................................14
8. Other Requirements .....................................................................................................15
Software Requirements Specification for WhatsApp Page 3

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.

1.2 Document Conventions: Font: TNR 12

1.3 Intended Audience and Reading Suggestions

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 Definitions, abbreviations

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.

Last Seen, Profile Picture, Status, Receipts

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.

1.5 Project Scope

WhatsApp is a proprietary, cross-platform, encrypted instant messaging client for smartphones. It


uses the Internet to send text messages, documents, images, video, user location and audio messages
to other users using standard cellular mobile numbers. As of February 2016, WhatsApp had a user
base of one billion, making it the most popular messaging application. WhatsApp Inc., based
Software Requirements Specification for WhatsApp Page 5
in Mountain View, California, United States, was acquired by Facebook Inc. on February 19, 2014,
for approximately US$19.3 billion.

2. Overall Description

2.1 Product Perspective

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.

2.2 Product Features

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

2.3 User Classes and Characteristics

Characteristics: There are several users of the WhatsApp network:

Customers are simple members of the general public with no special training .

2.4 Operating Environment

The hardware, software and technology used should have following specifications:

Ability to run the Latest Version of Application.

Ability to use Network resources

Touch screen for convenience


Software Requirements Specification for WhatsApp Page 7
Keypad (in case touchpad fails)

Continuous power supply and network supply

Ability to connect to WhatsApp network

Ability to take input from user

Ability to validate user

2.5 Design and Implementation Constraints

Login

Validate User:

Validate for User’s Mobile Number by Verification SMS.

Check for any previous existing User Backups on the device.

If a Backup is available, prompt to “Restore Backup”,

2.6 Assumptions and Dependencies

Hardware never fails

Always connected to the Internet

Unlimited number of messages per day

Unlimited number of changes to profile per day

3. Specific Requirements

3.1 Functional 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.

3.1.1 Requirements of WhatsApp


Software Requirements Specification for WhatsApp Page 8

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.

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: jpeg, png.

Limitations: File size must not exceed 2MB per message.

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.

Functional requirement 10:


Software Requirements Specification for WhatsApp Page 10

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.

Functional requirement 11:


Description: WhatsApp should be able to distinguish between the network resources like Wi-Fi and
Mobile Data in order to perform media respective download operation with respect to said so network
resource.

Functional requirement 12:

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.

Functional requirement 13:

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)

Sender sends existing photo

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)

Sender takes new picture and sends it

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)

Functional requirement 14:

Description: Using User’s contact list from the device.


Software Requirements Specification for WhatsApp Page 11

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).

Outputs: WhatsApp messenger contact list.

3.1.2 Requirements of the Application

Authorization

The internal servers get a request from a user account to process and send a message to a recipient.

Functional requirement 1:

Description: Internal servers checking if the user is authentic.

Input: Request from the application about it authenticity

Processing: Check if the application is a valid application or not

Output: Valid or invalid application

Functional requirement 2:

Description: If the application is updated or not

Input: Application Version

Processing: Process Application Version

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 .

Input: Check internal encrypted backup for user data


Software Requirements Specification for WhatsApp Page 12

Processing: Check User Data

Output: Accepts User data or prompts to register again.

Functional requirement 4:

Description: Changes in encryption codes

Processing: Checks for changes in security encryption code

Output: Prompt regarding encryption changes

4. External Interface Requirements

4.1 User Interfaces

The customer user interface should be intuitive, such that 99.9% of all new Applications are able to complete
their transactions without any assistance

4.2 Hardware Interfaces

The hardware should have following specifications:

Ability to run the Latest Version of Application.

Ability to use Network resources

Touch screen for convenience

Keypad (in case touchpad fails)

Continuous power supply and network supply

Ability to connect to WhatsApp network

Ability to take input from user

Ability to validate user


Software Requirements Specification for WhatsApp Page 13
4.3 Software Interfaces

The software interfaces are specific to a proprietary, cross-platform, encrypted instant


messaging client

5. Other Non-functional Requirements

5.1 Performance Requirements

It must be able to perform in adverse conditions extremely slow internet connections and low battery
on device.

Uninterrupted connections

High data transfer rate

5.2 Security Requirements

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 Software Quality Attributes

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:

It must be impossible to plug into the internal server network.

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...

6.1 User Side

No Hidden Cost
Software Requirements Specification for WhatsApp Page 14

Multimedia:- (Send Video, Images, and Voice notes to your friends and contacts)

Group Chat

No need to Log In/Out

No need to add Buddies

Record voice messages.

Know when people have seen your messages.

Status Update

As Open As SMS

And Much More (Share location, Exchange contacts, Custom wallpaper, Email chat history,
Broadcast messages)

6.2 Developer Side

Hardware Requirements (Recommended):


60 GB HD
Android Phone (optional)
I-3 or above processor
2 GB RAM

Software Requirements:
Operating System: Windows XP or above, LINUX
Software: Mobile IDE Plugins
Development Tools: Android SDK Database:
SQLite

Minimum requirement API-13

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

8.1 Data Base

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).

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy