Whatsapp Final
Whatsapp Final
Whatsapp Final
Software Requirements
Specification
For
I would like to express my deepest appreciation to all those who provided me the
possibility to complete this Case Study Report. A special gratitude I give to our
subject Teacher, Mr. Sudhanshu Prakash Tiwari, whose contribution in stimulating
suggestions and encouragement, helped me to coordinate my project especially in
writing this report.
Furthermore I would also like to acknowledge with much appreciation to teachers of
software engineering , an A special thanks goes to my Friends, who help me to
assemble the parts and gave suggestion about the task.
I express my thanks to my institution Lovely Professional University for giving me
an opportunity to make this interesting project. I also convey my regards to all other
faculty members of Department of Computer Science and Engineering and friends
for their help and assistance all through this project.
Once again I would like to thank all my supports from the core of my heart.
1. Introduction
..........................................................................1
1.1 Purpose.................................................................................................................................1
2. Overall
Description .....................................................................................
.........2
4. External Interface
Requirements .................................................................................
........10
5. Other Nonfunctional
Requirements .................................................................................
....11
6. Application Analysi
7. Feasibility Study
8.Other Requirements
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.
ER Entity relationship
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.
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 Whatsapp 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
Whatsapp 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.
Database
A databse is a collection of information that is organized so that itcan 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.
Entity relationship
An entity relationship model, also called an entity-relationship (ER) diagram, is a graphical
representation of entities and their relationships to each other, typically used in computing in regard
to the organization of data within databases or information systems.
User case
In software and systems engineering, a use case is a list of actions or event steps, typically
defining the interactions between a role (known in the Unified Modeling Language as an actor)
and a system, to achieve a goal. The actor can be a human or other external system.
DFD
A data flow diagram (DFD) is a graphical representation of the "flow" of data through an
information system, modelling its process aspects. A DFD is often used as a preliminary step to
create an overview of the system, which can later be elaborated.
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
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.
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.
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 andby verifying that number. It sends intant messages and
data to the other users of whatsapp (e.g., pictures, messages, videoes, documents,audio messages) , user can
communicate to the other user of whatsapp by calling them from whatsapp, can seen 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
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.
• 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
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:
Inputs: Inputs are characters, including numbers and the receiver contact from contact list.
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 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 Playstore
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:
Limitations: The recipient should have the sender in his contacts to receive the broadcast.
Functional requirement 8:
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.
▪ Inputs: Input is the picture in JPEG, GIF etc. formats and the receiver contact from
contact list.(Name of the receiver in this case)
▪ Processing: Imports contacts from 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 gets 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
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...
No Hidden Cost
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.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.
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
Application must work on all mobile and tablet devices. User interface must be consistent on all devices.
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).
8.2
Appendix A: Glossary
DB Databaase
DFD Data Flow Diagram
ER Entity Relationship
_________________________________________
Design Phase
Design phase deals with transforming the requirements, as described in the SRS document, into a
form that is implemented using a programming language. The various designs of this system are
shown as following:
Data Flow diagram is a graphical representation of flow of data throughout the information system.
Data flow diagrams illustrate how data is processed by a system in terms of inputs and outputs.
Basic testing on whatsapp: Boundary value analysis testing to find whether the
application is accepting the expected range of values and rejecting the values which falls out of
range. The most common example for considering boundary value analysis on whatsaap
testing can be taken as there user trail period example. The free trail period last for only one
year.
1. Verify that on downloading whatsapp application, user can register using a new
mobile number.
2. Verify that for a new mobile number user will get a verification code on his
mobile and filling the same verifies the new user account.
3. Check the maximum number of incorrect attempts allowed while filling the
verification code.
4. Verify that registering an existing mobile number for new user account
registration is not allowed.
5. Verify that on successful registartion all the contacts in user's contact directory
get imported to whatsapp contact list.
6. Verify that user can set DP and status on whatsapp.
7. Verify that user can update existing DP and whatsapp status.
8. Verify that user can send message to any individual selected from his contact list.
9. Verify that 'Chats' window contains all the chat list with DP and name and last
message preview of the other person with whome chat was initiated.
10.Verify that clicking a chat in the chat list opens a new window containing all the
chats received and sent with the other person.
11.Verify that user can check the message delivered and read time for a message in
the 'Message Info' section.
12.Verify that user can share or receive a contact with the other person.
13.Verify that user can create a group adding multiple person from his contact list.
14.Verify that user can send and receive message in group chats.
15.Verify that user can send and receive images, audio, video, emoticons in chat to
individuals.
16.Verify that user can send and receive images, audio, video, emoticons in group
chats.
17.Verify that user can send and receive chats in secondary languages available.
18.Verify that user can delete text, images, audio, video messages within a chat.
19.Verify that user can clear complete chat history in an individual or group chat.
20.Verify that user can archive chats in an individual or group chat.
Scenario of file-attachment
1. Verify if user can send image as an attachment
2. Verify if user can send document as an attachment
3. Verify if user can send Contact as an attachment
4. Verify if user can send any location or his live location
5. Verify if user can send audio/videos as an attachment
6. Verify if user can record and send voice message
7. verify if user can open any attachment
8. Verify if user can remove any attachment
Performance Testing
To check the performance and behavior of the application under critical condition
as low battery, bad network coverage, low available memory.
Affected from both the sides , server side and client’s side.
Load Testing
Concurrent number of users on this mobile web application.
A load test.
Understand the behavior of the system under a specific expected load
Configuration Testing
Tests are created
Determine the effect of configuration changes to the whatsApp application
Eg. Making different load-balancing to the system with application running
Isolation Testing
Interrupt testing
The whats app application should be able to handle these interrupts
In coming and outgoing SMS and MMS
Incoming and outgoing calls
incoming notifications
battery removal
Device power cycle network outage and recovery
Installation testing
It verifies that the installation process goes smoothly without the user having
to face any difficulty
This testing process covers installation,update and uninstallation iof the
application
Module testing
Large programs cannot partially tested at once there is large need of
breakdown the programme into module so it is easy to test the application
module by module it prevents from the error
Compatability testing
Whats app is software that work most of the platform and devices like nokia s
40,Symbian,windows,blackberry os,apple ios,android