0% found this document useful (0 votes)
21 views29 pages

Garv

This document provides requirements and specifications for the Snapchat application. It describes the product's history and features, including automatic self-destructing messages, the Snap/Camera feature for creating photos and videos, and the Snap Map for location sharing. The document outlines user profiles, operating environments, functional and non-functional requirements, and includes sections on design, testing, and appendices.

Uploaded by

1159krish
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
21 views29 pages

Garv

This document provides requirements and specifications for the Snapchat application. It describes the product's history and features, including automatic self-destructing messages, the Snap/Camera feature for creating photos and videos, and the Snap Map for location sharing. The document outlines user profiles, operating environments, functional and non-functional requirements, and includes sections on design, testing, and appendices.

Uploaded by

1159krish
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 29

GARV | 12315700 | K23WA| B65

INDEX
1. Introduction
1.1. Purpose
1.2. Document conventions
1.3. Intended audience and reading suggestions
1.4. Definitions
1.5. Project Scope
1.6. References
2. Overall product description
2.1. History
2.2. Product Perspective
2.3. Product Features
2.4. User Classes and Characteristics
2.5. Operating Environment
2.6. Design and Implementation Constraints
2.7. Assumptions and Dependencies
2.8. User Documentation
3. Specific requirements
3.1. Functional requirements
3.2. External interface requirements
3.3. Performance requirements
3.4. Other non-functional requirements
3.5. Constraints
1P
4. Design
4.1. Entity-Relationship diagram (ER diagram)
4.2. Data flow diagram (DFD)
4.3. Use-case diagram
5. Testing – Black Box & White Box
5.1. Test cases5.2. Snapshots
6. Appendices
1.

1.1. PURPOSE
This document describes the software requirements and specifications of
Snapchat.
Snapchat is an online application that allows us to add as many friends
around the globe. This app enables the user to communicate with his/her
friends and build streaks. This app can be installed from the Google play
store or the Apple play store.

1.2. DOCUMENT CONVENTIONS


Text formats:
Font : - Times New Roman (Body), Constantia
(Headings) Font size: - 13 for Body, 14 for Sub-
Headings and 22 for Headings. Document
conventions:

MNEMONICS MEANING
DB Database
DDB Distributed Database
DFD Data Flow Diagram
ER Entity Relationship
SS Screenshot
1.3. INTENDED AUDIENCE AND READING SUGGESTIONS
The document is intended for all the stakeholder customers and the
developers – designers, coders, testers and maintainers. The reader is
assumed to have basic knowledge of Mobile OS, databases and user
accounting along with knowledge and understanding of DFDs and Use-case 2P
diagrams.

1.4. DEFINITIONS

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

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

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

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

1.4.6. 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.
3P
1.4.7. Use Case Diagram
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.

1.5. PROJECT SCOPE


“Experience the world in new ways, every day”
Snapchat is an online instant messaging application that enables the user to
send friend requests to other users – from his own phonebook using
Snapchat (or) by searching profiles nearby (or) by searching someone’s
username (or) from quick add (or) by inviting a contact to Snapchat – such
that the app establishes a communication portal to the users on both ends.
Users can send text messages, snap messages, video messages and audio
messages, make audio & video calls or even share media and location with
their friends. Users can also subscribe to pages of their interest.
Tap on your face to try on a new look, swap faces with a friend, or even
play a game! After you take a photo, just swipe to add artwork based on
where you are, what’s going on near you, and more. This app needs internet
to access some of its services (For example: Snaps can be taken offline but
can’t be posted/shared unless an internet connection is active).
Snapchat is totally a free application that aims at integrating the world with
more realistic communication.
The approximate time invested on building Snapchat was estimated to be
roughly 500 hours+ with basic features and approximately 1400+ hours
with complex features. It costs about $10K for the iOS platform and $9K
for Android just to code one feature: Automatic self-destructive messages.
$1.4 Revenue per user: Consider the fact that there are 300M+ active
Snapchat users per month. 2015 Snapchat’s annual revenue was estimated
to be $100M and the recent reports say that 2019’s revenue may touch a
$500M easily.

1.6. REFERENCES
https://www.snapchat.com/
https://en.wikipedia.org/wiki/Snapchat#Further
_reading
https://blog.hubspot.com/marketing/snapchat- 4P
hidden-features https://beebom.com/recover-
snapchat-account/
http://www.passwordpit.com/snapchat-
password-requirements/
https://www.wikihow.com/
https://www.techjunkie.com/
https://www.game-debate.com/games/
2.

2.1. HISTORY
Snapchat is a multimedia messaging app used globally, created by Evan
Spiegel, Bobby
Murphy, and Reggie Brown, former students at Stanford University, and
developed by Snap Inc., originally Snapchat Inc. One of the principal
features of Snapchat is that pictures and messages are usually only available
for a short time before they become inaccessible to their recipients. The app
has evolved from originally focusing on person-to-person photo sharing to
presently featuring users' "Stories" of 24 hours of chronological content,
along with "Discover", letting brands show ad-supported short-form
content. Snapchat has become notable for representing a new, mobile-first
direction for social media, and places significant emphasis on users
interacting with virtual stickers and augmented reality objects.

As of February 2018, Snapchat has 187 million daily active users.

2.2. PRODUCT PERSPECTIVE


Snapchat is one of the world’s most popular social media apps despite what
seems like a
highly counter-intuitive premise. Unlike other social networks, Snapchat
was built on the idea that posts should be temporary. Instead of archiving
everything people said or did forever (like Facebook, etc.), they decided to
act as a daily diary written in disappearing ink. On Snapchat there is no
permanent record of your thoughts and actions, unless people cheat by
taking screenshots. That disappearing-content feature made the app popular
immediately, as people would post pictures that were perhaps indiscreet
without having to worry that the pictures would come back to haunt them at
a job interview or college admission process. 5P
2.3. PRODUCT FEATURES

2.3.1 Automatic self-destructive messages


Self-destructing messages are a custom feature of Snapchat and one of
the things that made it so popular among teenagers. The idea is
straightforward, and it is provided in a few steps:
a. The user sends a friend a message, and it is uploaded to the
Snapchat servers.
b. The recipient gets push notification of the arrival of a new snap.
Then the snap is
downloaded in a temporary location on the phone.
c. When the recipient has viewed the message, the time starts to
run out. The app
deletes the temporary copy of the snap in the phone and alerts the
Snapchat server.
d. The snap is destroyed from Snapchat’s servers. If the recipient
has not viewed
the snap within 30 days, it is deleted automatically.
Texts sent in Chat are deleted, by default. But you can always save
something important (or hilarious) with one tap, or a screenshot.

2.3.2. Snap/Camera
Users can create multimedia messages called "snaps." These snaps can
comprise photo or a short video; they can be edited with filters and
effects, text captions, and drawings. In Chat 2.0 recent update you can
send audio notes, make video and audio calls. Snaps can be directed
privately to selected contacts, or a semi-public "Story." The privately sent
messages can be automatically self-destructed after a few seconds.

2.3.3. Snap Map: Location sharing


Snapchatters around the world add photos and videos to Snap Map every
day, so you can

see what’s going on across the country, or right down the block, in real
time. Just pinch to
open the Map! Developers can use Apple MapKit and Google Location
SDK to implement this feature. It gives them all tools that are necessary
to create custom solutions for different operating systems.

2.3.4. Add friends


It is an essential function for social media app. Besides the standard
methods of adding friends via usernames and phone contacts, Snapchat
provides some smart ways:
Snapcodes: Black dots that surround Snapchat Ghostface Chilla logo is a
personalized QR code. Another user can scan it by using the Snapchat
camera, and he begins instantly follow you. Here are used recognition
algorithm and an algorithm for the generation of such codes
Add Nearby: It uses your location to scan what other users in your
proximity also have Add Nearby open. The app sends the device's
coordinates to the server, the server in its turn compares the geolocations
of devices with opened Add Nearby screen.

2.3.5. Video and audio calls


In the updated version of chat, the app users can start talking or video
chatting instantly with one tap. If the recipient isn’t online, you can send
an audio note. The app uses
technology from AddLive — a real-time communications provider - to
provide video chat feature. It usually takes two months to develop
perform this option.

2.3.6. Geo-filters
A feature is known as "Geofilters" is a special graphical overlay that is
available when the user is within a precise geographical location, such as
a city, event, or destination. To let your users mark their location on the
images, the developers use the geocoding. Geocoding is a computational
process that converts the geographic coordinates to a description of a
location, usually the name of a place. Then the name of the area is
overlaid on the image in some template. It takes about 3 weeks and costs
about $4K per platform to create within the chat app development
project.

2.3.7. Lenses or Filters 6P


The "Lens" is one of the most exciting features of Snapchat. It allows
users to add realtime effects and alter video images by using face
detection technology. This feature became possible when Snapchat
acquired the startup Looksery, which does a facial modification and
enables users to simulate their appearance for a photo or video chat in
real-time on mobile platforms.
Create and purchase your own Filter to frame birthdays, weddings, and
any other event.
It's the perfect way to make any occasion even more special!

2.3.8. Stories and Discover


Stories functionality lets users broadcast photo and video content from
their lives to friends; each story lasts 24 hours. Later this feature was
expanded to "Live Stories." This enables new functionality when
Snapchatters who are at the same event location (such as music festivals
or sporting events) can contribute snaps to the same Story. "Discover"
option provides a new way to explore Stories from different editorial
teams. It contains sponsored short-form content from major publishers,
such as BuzzFeed, CNN, Mashable, People, and many others. Every
edition is refreshed after 24 hours, because, as the
Snapchat team believes, “what’s news today is history tomorrow.”

2.3.9. Bitmoji
Bitmoji is the digital you — a living cartoon character to instantly
express who you are and how you're feeling, in the moment.

2.3.10. Snap-scores
Your Snapchat score is a number that acts as a sort of achievement for
how well you use Snapchat. Here’s what we’ve found Snapchat uses to
calculate your score:
a. Sending and receiving snaps typically equals a point each, with
some snaps
occasionally equaling more.
b. Sending snaps to multiple people at once doesn’t equal more
points but does add
up to your score.
c. Posting a story on Snapchat increases your score by a point. 7P
d. Viewing and sending chats doesn’t seem to have any impact on
your score.
e. Viewing other people’s’ stories also has no impact.

2.3.11. Snap-streaks
Streak counts keep track of how many days in a row you’ve snapped
back and forth with a user.
2.3.12. Monetization
Snapchat makes money through in several ways:
a. Discover: Discover feature delivers content from
publishers and advertisers. Users can subscribe to media channels
of the partners and see promoted content.
b. Geofilters and lenses: Snapchat lets brands create
their own filters and lenses.
c. Advertising API: Additionally, Snapchat has opened
ads API and announced a
vast number of promotional instruments, including snap ads between
Stories, expandable “Snap Ads” and ads API itself. All these features let
advertisers use programmatic
interfaces to run large-scale campaigns instead of making the manually
strike deals with Snapchat.

2.3.13. Stickers
Stickers became an inevitable part of modern communication. Snapchat
contains 200 stickers built into its app. You can use a custom solution
(design your stickers) or use a ready-made solution that is much cheaper.

2.3.14. Shazam
When you want to identify a song playing around you, just hold your
finger down on the
camera screen. After a few seconds, a Shazam window will pop up with
the song’s name
and artist. From there, you can snap your Shazamed song to your friends
and even add the artist as a Snapchat friend.

2.3.15. Birthday party 8P


Adds a cake emoji next to the name of the birthday boy/girl. This allows
friends to send them birthday snaps, displays birthday charms and some
other fun surprises from Snapchat. This feature does not reveal the age of
the person to other Snapchatters.
2.3.16. Spectacles
Spectacles are sunglasses that capture your world, the way you see it —
and empower you to share your perspective with the world in a whole
new way.

2.3.17. Memories
Memories is our data-storage service that makes it easier for you to
reminisce anytime, anywhere. By agreeing to these Terms, you
automatically enable Memories. Once Memories is enabled, it will
remain enabled for as long as you maintain your Snapchat account. But
you can always turn off certain Memories features through Settings. One
of the options we provide with Memories is the ability to create a
restricted area by setting a passcode, which might be a PIN or a
passphrase or some other mechanism. This is similar to the device-lock
option you may be using on your mobile device; by setting a passcode,
you make it less likely that another person who gets hold of your device
will be able to see what you saved to the restricted area of Memories. But
here’s a big warning: if
you lose or forget your Memories passcode, or if you enter the wrong
one too many times, you will lose access to any content you saved in
the restricted area of Memories. We don’t offer any passcode recovery
features for this restricted area. You are solely responsible for
remembering your passcode.
2.3.18. Shape cut-out tool
This tool is available on any snap. It basically allows the user to cut a
desired part of the picture and save it as a sticker for future uses as a
sticker. These cut-outs will be available in the stickers section.

2.3.19. Timer
This feature enables the user to apply a self-timer to their snaps for a time
of 3s. This
means that when the user enables this feature, once he clicks on the ‘click
picture-circle’
dot then the picture will be clicked after 3s of clicking the dot. For
instance, this feature is helpful while clicking a group picture where
everyone needs a few seconds to pose well.
2.3.20. Search bar
The search bar is available on the camera screen, placed on the top of the
screen beside your selfie. This feature enables the user to search for any
other snapchatter or any location based stories or any events/happenings
around him and much more.

2.3.21. Friendship Profiles


Once two users become friends on Snapchat, on clicking the friend’s
profile selfie, the user can easily view his friendship profile with the other
user. There are charms to determine various factors and enhance
knowledge about one person to the other and many more.

2.3.22. Snap Games


Platform to Feature Original and Third Party Games from Game Closure,
PikPok, Spry Fox, Zeptolab, and Zynga. Starting 04/04/19, Snap began
rolling out a series of made-forSnapchat games, each designed for high-
fidelity, synchronous gameplay:
1. Bitmoji Party -(Snap Inc.) - Snap’s flagship,
first-party IP for Snap Games features you and your friends,
brought to life in 3D as your Bitmoji as you compete across four
fast-paced mini-games: Pool Party, Kick Off, Spin Session, and
Zombie Escape.
2. Alphabear Hustle - (Spry Fox) - Alphabear
Hustle is a fast-paced
cooperative word game with a twist. Players can work together to spell
words, collect cute bears, and build their own personal bear village.
3. C.A.T.S. (Crash Arena Turbo Stars) Drift
Race - (ZeptoLab) C.A.T.S. is a multiplayer racing game that
invites up to 6 players to use boosters scattered along the track to 9P
race faster, or slow down opponents. Along the way, collect new
vehicles from the C.A.T.S. universe.

4. Snake Squad- (Game Closure) - Snake Squad


is a multiplayer battle-
royale game. Choose your favorite avatar to go into battle and guide your
snake around the battlefield with your squad to grow larger to eliminate
your competition.
5. Tiny Royale - (Zynga) - Tiny Royale™ is a
fast, fun top-down battle
royale game — the classic battle royale experience, re-invented for the
Snapchat platform. Squad up with friends or go solo during quick 2-
minute rounds to loot and shoot your way to victory until only one player
—or team—remains.
6. Zombie Rescue Squad - (PikPok) - Team up
with your fellow Zombie Rescue Squad friends to enter the front
lines of the zombie apocalypse. Rescue survivors from the hungry
hordes and gather as many supplies as you can. But if you miss the
helicopter to safety, you'll be left behind!

2.3.23. Grid
This feature, when chosen, splits the display screen into a grid with a
levelling line which would help the snapchatter to click aligned pictures.
It is available on the camera screen.

2.4. USER CLASSES AND CHARACTERISTICS


Some exemplary enhancement requests from users have been
mentioned below: 1. Screenshot:
Client has requested that he should be able to see any
Snapchatter’s profile
who screenshotted his story or snap or conversation or anything related to
his profile.
2. Views:
Client has requested that he should be able to see the number
of views that
his story has got and also a list of names of viewers be displayed.
3. Bitmoji selfie: 10
P
Client wants the freedom to choose his own Bitmoji selfie
along with a
variety of moods so that he can choose one among many depending upon
his mood.
4. Notifications:
Client has requested that he should be notified of whenever:
i. His friends try to text him.
ii. He receives any snaps.iii. Somebody takes a
screenshot of anything related to his profile. iv.
Some account action needs to be taken. v. His
account needs some security.
5. Choose who can see:
Our client also wants the liability to choose who can view
his story and who
cannot such that he can customize his setting whenever he wishes to and
this setting should be bounded to one story and not all the stories
following. A prompt should be made asking whether he’d like to
continue the settings for all his snaps or he’d like to
change them for the future stories.
6. Snap-Kit:
Our client demands that we provide the facility and platform for developers

2.5. 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
• Functional on iOS and android only. 11P
2.6. DESIGN AND IMPLEMENTATION CONSTRAINTS
• Create Snapchat account by entering name 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 eg:
camera is not working, prompt error message, "Can’t
access camera".
• Lock Account:
• If user failed to follow policies of Snapchat.
• 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.7. ASSUMPTIONS AND DEPENDENCIES


• Network and data availability
• Power supply
• Better connection for exchanging data over network
• Availability of mobile services
2.8. USER DOCUMENTATION
For user manuals and help use help option in the main menu or visit
http://www.snapchat.com/ and click on contact us option.

3. SPECIFIC REQUIREMENTS

3.1. FUNCTIONAL REQUIREMENTS

FUNCTIONAL REQUIREMENT 1 : Camera


Input: Click a picture or shoot a video
12
P
Processing state: User can apply lenses/set timer/enable grid/enable
flash and then click a selfie or click a picture.

Output: A snap which can be edited and shared

FUNCTIONAL REQUIREMENT 2 : Add friends


Description: This feature enables user to add other Snapchatters as
friends based on various parameters.
Input: Search username/click on ‘+’ in quick add/invite your friends to
Snapchat and then add them/add friends from phonebook

Processing state: This will process the request to the account and once
the other user accepts this request, these two people become friends.

Output: Friend request sent

FUNCTIONAL REQUIREMENT 3 : Bitmoji


Description: Bitmoji is your own personal emoji. Create an expressive
cartoon avatar, choose from a growing library of moods and stickers -
featuring YOU!

Input: Go to the Bitmoji corner and click on ‘select selfie’/ ‘edit


Bitmoji’/ ‘change your clothes’.

Processing state: Snapchat links to Bitmoji app and performs the


mentioned tasks.

Output: You’ll be redirected to the Bitmoji corner.

FUNCTIONAL REQUIREMENT 4 : Discover


Description: This module allows users to view his friends’ stories, stories
from all around the globe and they can also share these stories or even take a
screenshot or report spam if the content was inappropriate.

Input: Swipe left on the snap camera screen

Processing state: When user swipes left, this gesture is validated and
finally comes as discover and thus this page opens.

Output: View friends’ stories/ view location-based stories

FUNCTIONAL REQUIREMENT 5 : Filters and lenses


Description: Lenses are used before clicking the snap while filters are
applied on a snap,
i.e., after clicking the snap. Lenses use hi-level face recognition technology
which helps in building the accuracy of merging the lens on the user’s
personality.

Input: Tap on the snap camera screen and select the desired lens

Processing state: Once inputs are taken, Snapchat uses AI technology to


sense the surroundings and fir the lens accordingly.

Output: The desired lens hold its position right in the picture.

FUNCTIONAL REQUIREMENT 6 : Shazam


Description: Shazam is an audio matching software which senses audio
for 10s and
creates a unique audio fingerprint of the audio. It’ll then compare this
fingerprint with the ones in its database.

Input: Long press on snap camera screen

Processing state: The music (if any) playing will be sensed and an audio
fingerprint will be created. This is then compared with the rest in database.

Output: If match is found then it’ll display the song details and a share
to option else it’ll display ‘Error: snap not found’.
FUNCTIONAL REQUIREMENT 7 : Snap-map
Description: Snap map is a real time map powered by mapbox
copyrighted by
OpenStreetMap and DigitalGlobe. Bitmoji represents everyone using the
Snap map meant to resemble them. The bitmoji moves with you, and even 13
P
jumps into cars of their own when you're driving.

Input: Swipe down on the snap camera screen

Processing state: The swipe down gesture is matched with its gestures
and then redirects user to the snap map page.
Output: Snap map will open a Terrain map of the user’s whereabouts
and his surrounding areas with exact location of his friends.

FUNCTIONAL REQUIREMENT 8 : Chat


Description: Users can send text messages or pictures or videos or
audio/video recording(s) or even call their friends via audio/video. The latest
releases of Snapchat also include multiplayer games making Snapchat
everyone’s favorite application to use, age ranging from 13 to infinity.

Input: Swipe right on snap camera screen

Processing state: This gesture is validated and is then finalized to chat


option.

Output: Recent conversations are displayed.

FUNCTIONAL REQUIREMENT 9 : Snap streak


Description: Snap streaks are a fun way to keep users engaged in
snapping different snapchatters everyday. A snapstreak is the longest streak
that two people continuously snap each other. This is estimated from atleast
one snap per day adds to the streak while missing a day would break the
streak.

Input: Snap with a friend daily

Processing state: The streak counter keeps incrementing in case of daily


snapping and would turn to 0 in case of a break in the chain.

Output: A fire emoji with a number which mentions the snap streak. 14
P

FUNCTIONAL REQUIREMENT 10 : Snap score


Description: Snap scores are a fun way to keep users engaged in
snapping different snapchatters everyday. A snapscore is a score assigned to
each profile which keeps building upto millions based upon the usage of
Snapchat by the user.

Input: Use Snapchat to your most usage


Processing state: The usage keeps calculating the statistics and build
Snapchat scores.

Output: A Snapchat score which keeps increasing, displayed below the


Snapchat selfie.

FUNCTIONAL REQUIREMENT 11 : Snap codes


Description: Snap codes are a great way to share one’s profile.

Input: Click on the profile, click on Snapchat selfie

Processing state: When the selfie is clicked, the snapcode is generated


and then provides some actions on the snapcode

Output: Display snapcode  Share snapcode/url

FUNCTIONAL REQUIREMENT 12 : Memories


Description: Memories is a new cloud based platform which enables the
user to store a limited number of snaps

Input: Swipe up from the snap camera screen

Processing state: This gesture is recorded and is evaluated and then snap
goes to get stored in cloud , if user wants to save it for longer time and
preserve it from vanishing

Output: Snaps, stories, Camera roll and MyEyes only

FUNCTIONAL REQUIREMENT 13 : My Eyes only 15


P
Description: My eyes only is a private feature of Memories which acts as
a snap vault with a safe passcode. This passcode cannot be retrieved once
forgotten. Once forgotten, all data within vault too shall be erased.

Input: Enter passcode

Processing state: The passcode is then validated.


Output: In case of correct password the vault opens but in case of wrong
passcode it will
simply ask you to try entering it again. You’ll be provided with two choices:
1. Change passcode 2. Forget passcode

FUNCTIONAL REQUIREMENT 14 : Search


Description: This feature enables the user to search for any other
snapchatter or any location based stories or any events/happenings around
him and much more.

Input: Some keywords in the search bar

Processing state: These keywords are matched with those in the


Snapchat’s database.
After the search is processed

Output: All the matched results are displayed, in case of 0 matched


results, an error message will be displayed stating no snaps found.

FUNCTIONAL REQUIREMENT 15 : Support


Description: Snapchat support webpage has everything what a user
needs. Visit the following webpage to follow the support guidelines:
https://support.snapchat.com/en-US

Input: User will input queries in the ‘What can we help you with?’ text
box.

Processing state: Snapchat’s intelligent systems will try to match all


keywords with those recorded in the database and display related queries. In 16
P
case of 0 matches, it would provide an option to directly contact Snapchat.

Output: Related queries are displayed or contact us page will open.

FUNCTIONAL REQUIREMENT 16 : Settings – Add/Modify/Remove user


data
Input: Sensitive user information can be added/updated/deleted
Processing state: New data is captured and updated in the database.

Output: Changes to the user data are made successfully

FUNCTIONAL REQUIREMENT 17 : User registration


Input: Click on signup button and enter credentials

Processing state: Validate user data, verify credentials; if all conditions


are met, assign the account to this new user with all new user information.

Output: Post-signup, the snap camera screen appears

FUNCTIONAL REQUIREMENT 18 : Group chats


Description: Snapchat is a platform which encourages fun. It believes
with the principle ‘The more the merrier’. The user can create multiple
groups with people of his choice in the
group. The group admins can decide the settings for their respective groups.
Once a group is created, user can go for group chats.

Input: Swipe right on the snap camera screen

Processing state: Once the gesture is validated, tap on the group chat and
type to send a text/click to send a snap/video/audio/video recordings/audio,
video calls.

Output: Group chats are enabled and the user can contact anyone on the
group/play games/make calls. Information is exchanged.

FUNCTIONAL REQUIREMENT 19 : Snap status 17


P
Description: User must be able to get information on whether the
snap sent has been received by the intended recipient.

Input: Send any snap or message to intended recipient.

Processing state: The snap travels all the way to the recipient’s
inbox.
Output: Display delivered for just delivered snaps and received for
received snaps.

3.2. EXTERNAL INTERFACES REQUIREMENTS


3.2.1. USER INTERFACES
The Snapchat user interface should be intuitive, such that 99.9% of all
new Snapchat users are able to use the app without any assistance.

3.2.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
• Ability to connect to different applications
• Ability to attach hyperlinks to snaps
• Ability to locate user on a real-time map
• Able to recognize faces using face recognition algorithms
• Ability to sense and hear the music around whenever Shazamed
• Ability to keep a track of all birthdates of each and every user and
send them a
cake, wishes and many more..
• Ability to show relevant ads
• Should be user friendly
18
P
3.2.3. SOFTWARE INTERFACES
The software interfaces are specific to the target other user's Snapchat
software systems. Snapchat demands software like GPS, camera, etc… on
the following mobileOS (environment):
1. iOS
2. Android
3.3. PERFORMANCE REQUIREMENTS

3.3.1. SCALABILITY
Snapchat should be able to provide instant messaging services to 1
billion users at
any given time.

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

3.3.3. PERFORMANCE
Application must be lightweight and must send messages instantly.

3.3.4. SPEED
Application’s processing speed should be so high that there should be no
delay in
executing user’s instructions. Also, the application should not crash
repeatedly.

3.3.5. CACHE MEMORY


The app shall not consume more cache memory. Even if it does, it must
provide a
choice to the user to clear app cache manually.

3.4. OTHER NON-FUNCTIONAL REQUIREMENTS

3.4.1. PRIVACY 19
P
The users are provided with the benefit of customizing their privacy
settings. Hence, they shall make the best use of these settings. Eg: Choose
who can view your story and so on.

3.4.2. SECURITY AND SAFETY


Keep your password safe and don't share it with any other people,
applications, or websites under any circumstances. We also suggest using a
different password for every service you use.
3.4.3. RELIABILITY
It is very important that the app is reliable as 3B+ users use Snapchat
simultaneously. All data collected by Snapchat shall be preserved safely and
should follow data hiding.

3.4.4. PORTABILITY
Snapchat can be used on any apple or android phones and tablets.

3.4.5. MAINTAINABILITY
Snapchat is a popular app and hence has maintenance on loop. Snapchat
Beta releases all new updates first and looks for acceptance from its
customers. Snapchat always surprises its users by releasing fresh updates.

3.4.6. USER FRIENDLY


This application is user-friendly, meaning to say even if one just installs the
app and uses
it for the first time, he’d find it easy to operate the application.

3.4.7. PERMISSIONS
The following permissions need to be granted in order to access all the
features of the application:
ANDROID PERMISSIONS:
1. Read phone status and identity: Autofill your phone
number when you
register for Snapchat, for your convenience.
2. Receive text messages (SMS): Autofill the SMS code
that Snapchat sends you
during phone number verification, for your convenience.
3. Take pictures and videos: Use your camera to take
Snaps, video chat, add
friends by pointing your camera at their Snapcode, and more.
4. Record audio: Use your microphone to record audio
for Snaps,video chat, and more.
5. Modify or delete the contents of your USB storage:
Save Snaps and Stories to
your device's photo gallery, send photos and videos in Chat, and more.
Snapchat also uses your device's storage to save settings and cache content
you send and receive.
6. Read the contents of your USB storage: Snapchat
automatically loads app
settings that you've previously saved.
7. Find accounts on the device: Receive notifications
when friends contact you on Snapchat, when other Snapchatters
add you, and for other important events.
8. Full network access: Send and receive Snaps, chats,
and other data.
9. Receive data from the internet: Receive Snaps and
chats, and other content
from other Snapchatters.
10.View Network Connections: Snapchat optimizes
Snap delivery based on the
strength of your internet connection.
11.Clipboard: Allow Snapchat to access your clipboard
so you can attach links
quickly with the Paperclip tool.
12.Change your audio settings: On some devices,
Snapchat adjusts audio
settings to let you video chat.
13.Prevent phone from sleeping: Your screen won't
automatically turn off while
you're using Snapchat.
14.Control vibration: Allows you to enable vibration for
Snapchat notifications.
15.Control flashlight: Use your flash to take better 2P
photos in the dark.
16.View Wi-Fi Connections: Snapchat optimizes Snap
quality based on the
strength of your Wi-Fi connection.
17.Change network connectivity: Connect directly to
Spectacles via Wi-Fi.
18.Connect & disconnect from Wi-Fi: Import Snaps
from Spectacles via Wi-Fi. 19. Access Bluetooth settings:
Automatically pair with Spectacles you’ve
previously set up.
20.Pair with Bluetooth devices: Pair with Spectacles via
Bluetooth.
21.Read your own contact card: Auto fill your full
name when you edit it in Snapchat settings, for your convenience.
22.Read your contacts: We may collect and use
information from your device's
address book so you can invite friends and so we can improve the app.
23.Precise location (GPS and network-based): Use
your location for features
like Geofilters and Live Stories, and for other services that improve your
experience.

IOS PERMISSIONS:
1. Location: Use your location for features like
Geofilters and Our Stories, and for
other services that improve your experience.
2. Camera: Use your camera to take Snaps, video chat,
add friends by Snapcodes, and more.
3. Microphone: Use your microphone to record audio
for Snaps, video chat, and more.
4. Notifications: Receive notifications when friends
contact you on Snapchat,
when other Snapchatters add you, and for other important events.
5. Photos: Save Snaps and Stories to your device’s
Camera Roll, send photos and 2P
videos in Chat, and more.
6. Contacts: We may collect and use information from
your device’s address book
so you can invite friends, and so we can improve the app.
7. Clipboard: Allow Snapchat to access your clipboard
so you can attach links
quickly with the Paperclip tool.
3.4.8. SUPPORT
A good software is one which listens to its customers’ feedback and helps
them whenever they need something. Snapchat has all supportive help
documentation ready.

3.4.9. BACKUP & RESTORE


This feature is the most important. Today, we exchange devices like crazy
and thus
there’s no guarantee of us using the same device for forever. So Snapchat
provides a backup
and automatic restore facility relating to the online cloud database which
back up all your data (upon given your permission) and all the backed up
information can be easily restored later.
3.4.10. REPORT SPAM
In case of irrelevant, inappropriate content, misbehavior by any
snapchatter, or anything uncomfortable or fishy, the snap users are free to
report a complaint to Snapchat. Strict action shall then be taken against the
individual or post or anything that’s been reported spam.

3.4.11. FEEDBACK/WRITE A REVIEW


Once the app has been installed, the customer/user can write his valuable
feedback. He can rate the app accordingly and can openly share his thoughts
since Snapchat always welcomes opinioned suggestions.

3.5. CONSTRAINTS
Important constraints:

1. Login id & password of user must be valid 2P


2. Signup details – mandatory valid details must be provided by user.
3. New accounts with existing account details cannot be created.
4. Sufficient memory must be available in order to click and store snaps
– 294 MB
5. Internet availability
6. If location of a user is located in unusual places within frequent
intervals, verify user’s
presence and use of app.
7. If someone reports against a user the report count increments. If this
count reaches 10, the user’s account must be informed and then should
be locked forever.
8. OS required: Android (4.4+), iOS (10+)– mobile/tablet platform
9. User MUST AGREE to all terms & conditions lay by Snapchat lest he
cannot use the application.

4. DESIGN

4.1. ENTITY RELATIONSHIP DIAGRAM

An entity–relationship model describes interrelated things of interest in a


specific domain of knowledge. A basic ER model is composed of entity
types and specifies relationships that can exist between entities.

23
PAGE

4.2. DATA FLOW DIAGRAM (DFD)

You might also like