Software Requirements Specification: For Whatsapp

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

Software Requirements

Specification

For
WhatsApp

Table of Contents
Table of Contents ................................................................................................................................ 2
Revision History .................................................................................................................................. 2

1. Introduction ....................................................................................................................................1
1.1Purpose.................................................................................................................................................. 1
1.2Document Conventions.......................................................................................................................... 1
1.3Intended Audience and Reading Suggestions......................................................................................... 1
1.4Definitions, acronyms, abbreviations..................................................................................................... 1
1.5 Scope…………………………………………………………………………………… 1
1.6References .............................................................................................................................................. 1
2. Overall Description ........................................................................................................................2
2.1Product Perspective................................................................................................................................ 2
2.2Product Features..................................................................................................................................... 2
2.3User Classes and Characteristics ............................................................................................................ 2
2.4Operating Environment.......................................................................................................................... 2
2.5Design and Implementation Constraints................................................................................................. 2
2.6User Documentation .............................................................................................................................. 2
2.7Assumptions and Dependencies ............................................................................................................. 3
3. System Features..............................................................................................................................3
3.1System Feature 1 .................................................................................................................................... 3
3.2System Feature 2 (and so on)................................................................................................................. 4
4. External Interface Requirements .................................................................................................4
4.1User Interfaces ....................................................................................................................................... 4
4.2Hardware Interfaces ............................................................................................................................... 4
4.3Software Interfaces................................................................................................................................ 4
5. Other Non-functional Requirements
................................................................................................5
5.1Performance Requirements.................................................................................................................... 5
5.2Safety Requirements .............................................................................................................................. 5
5.3Security Requirements ........................................................................................................................... 5
5.4Software Quality Attributes.................................................................................................................... 5
6. Other Requirements ......................................................................................................................5
Appendix A:Glossary ..........................................................................................................................5
Appendix B: Analysis Models .............................................................................................................6
Appendix C: Issues List .......................................................................................................................6

Revision History
Name Date Reason For Changes Version

1. Introduction
1.1 Purpose
This document describes the software requirements and specification for
a messenger app WhatsApp.

1.2 Document Conventions


DB Data base
DDB Distributed Data base

ER Entity relationship

1.3 Intended Audience and Reading Suggestions


The
Document is intended for all the stakeholders’ customer and the developer
(Designers, testers, maintainers).
The reader is assumed to have basic knowledge of Mobile operating system, database, cloud data and user
account. Knowledge and understanding of UML

1.4 Definitions, abbreviations


1.4.1 Definitions
• User Account
A user account is a location on a network server used to store a computer username, password, and
other information. A user account allows or does not allow a user to connect to a network, another
computer, or other share. Any network that has multiple users requires user accounts.

• Mobile Operating System


A mobile operating system, also called a mobile OS, is an operating system that is specifically
designed to run on mobile devices such as mobile phones, smartphones, PDAs, tablet computers and
other handheld devices.
.

• Database
A database is a collection of information that is organized so that it can easily be accessed, managed, and
updated. In one view, database can be classified according to types of content

• Distributed database
A distributed database is a database in which storage devices are not all attached to a common
processing unit such as the CPU, and which is controlled by a distributed database management
system together sometimes called a distributed database system. Network.

1.5 Project Scope


WhatsApp is an online instant messaging application that integrates user’s contacts from their phonebook
with the application and enables exchange of messages, audio calls and video calls free of cost over the
internet.
1.6 References
webwhatsapp.com

http://www.uianduxdesign.com/ux-designs/whatsapp-user-interface-and-user-experience-design.html

https://www.whatsapp.com/

https://en.wikipedia.org/wiki/WhatsApp

http://www.slideshare.net/

2. Overall Description

2.1 Product Perspective


WhatsApp does not work independently. It works together with the internet and
the mobile operating system and its hardware services.

Communication interface
WhatsApp communicate with its database systems via a
communication network.
Software interface
The messages sent via the communication network are specific to the target
other user's same software (WhatsApp) on the other side.
Hardware interface
The software will run on the mobile system with the help of its hardware.

User interfaces

User Once the application is installed, it goes through the user’s phone book, and upon consenting,
sends a push invitation to connect and chat on WhatsApp. A user enters his or her phone number, and
can then change the phone name.
User diagram
2.2 Product Features
The WhatsApp identifies a user by a mobile number and by verifying that number. It sends instant messages
and data to the other users of WhatsApp (e.g., pictures, messages, videos, documents, audio messages) , user
can communicate to the other user of WhatsApp by calling them from WhatsApp, can see their last seen detail,
user can create groups and can broadcast message in group to the other users of group, can upload their profile
picture and can set a status, users can hide their details from other users like their profile picture , status, last
seen, users can block users and also can spam other users, users can save their chat, they can star important
messages.

Product features diagram


2.3 User Classes and Characteristics

Enhancement Requests 1. Last Seen

Client has requested that user be able to see the date and time when his/her contact was last using the
application. 2. User Profile

User should be able to set their profile picture and a status limited to 150 characters...
2.4 Operating Environment
The hardware, software and technology used should have following specifications:
• Ability to connect to the Wi-Fi or mobile network.
• Ability to exchange data over the network
• Touch screen for convenience or Keypad (in case touchpad not available)
• Processor with speed of 500 MHz
• Continuous power supply
• Ability to use camera, gallery, microphone and other services of mobile
• Ability to take input from user
• Device must have 512MB RAM or above

2.5 Design and Implementation Constraints


• Create WhatsApp account by entering and verifying mobile number

•In case of network not available


• If not able to exchange data over network, prompt error message "Connection not available"
•In case of not able to access services of mobile hardware
• If camera is not working, prompt error message, "Can’t access camera".
• Lock Account
• If user failed to follow policies of WhatsApp
• In case of spamming by 10 users
• Maintain Consecutive marked spam Counter
• Increment spam Counter
• For every consecutive spam, increment logic counter by 1.
• Deactivate the account as the spam number reaches 10

2.6 User Documentation


For user manuals and help use help option in the main menu or visit www.whatsappweb.com and click on
contact us option.

3.7 Assumptions and Dependencies


• Network and data availability
• Power supply
• Better connection for exchanging data over network
• Availability of mobile services

3. Specific Requirements
3.1 Functional Requirements

Functional requirement 1:
• Description 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.

• Input
Mobile number is entered
• Processing
Verify number
• Output
Verified proceed further

Functional requirement 2:
• Description 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.

• Input
Mobile number is entered
• Processing
Saves number to contact list
• Output
Shows in WhatsApp contact list

Functional requirement 3:
• Description 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. • Input
Message typed
• Processing
Message send to other user
• Output
Tick on message

Functional requirement 4:
• Description 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 File
size must not exceed 2MB per message.

• Input
File attached
• Processing sent to other side user

• Output
Tick on file

Functional requirement 5:
• Description Broadcast Message

User should be able to create groups of contacts. User should be able to broadcast messages to these groups.

• Input
Message is entered
• Processing sent to all contacts of group
• Output
Tick on message

Functional requirement 6
• Description 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.
4. External Interface Requirements
4.1 User Interfaces
The WhatsApp user interface should be intuitive, such that 99.9% of all new WhatsApp users are able to use
WhatsApp without any assistance.

4.2 Hardware Interfaces


The hardware should have following specifications:

• Ability to read gallery


• Ability to exchange data over network
• Touch screen for convenience
• Keypad (in case touchpad not available)
• Continuous power supply
• Ability to connect to network
• Ability to take input from user
• Ability to validate user
4.3 Software Interfaces
The software interfaces are specific to the target other user's WhatsApp software systems.

5. Other Non-functional Requirements


Non Functional Requirements/ Software Attributes
5.1. Scalability

WhatsApp should be able to provide instant messaging services to 1 billion users at any given time.
5.2. Privacy

Messages shared between users should be encrypted to maintain privacy.


5.3. Robustness

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

Application must be lightweight and must send messages instantly.

6. Other Requirements
Application must work on all mobile and tablet devices. User interface must be consistent on all devices.

Long Term Plans


Future plans include providing inline document viewer that lets users view pdf and word attachments within
the application chat window itself. Further optimizations can be made to improve performance especially over
the network. This includes making most network specific requests as non-blocking background processes. We
also aim to expand our infrastructure to include more database servers so as to take back up of user data more
frequently.

Maintenance and Support Costs


Maintenance will be handled by in house team of developers in the first 6 months post application launch.
Within this period, we aim to hit our target of 100,000 users. Once this target is achieved, we intend to
outsource maintenance and support to a third party who will be trained for 4 months on system maintenance
and troubleshooting.

Appendix A: Glossary
DB Database

DFD Data Flow Diagram


UML Unified Modeling Language

ER Entity Relationship

Appendix B: Analysis Models


STATE DIAGRAM

You might also like