Srs For Snap Chat
Srs For Snap Chat
net/publication/344668443
CITATIONS READS
0 868
1 author:
Sriashika Addala
Lovely Professional University
3 PUBLICATIONS 0 CITATIONS
SEE PROFILE
All content following this page was uploaded by Sriashika Addala on 15 October 2020.
CSE320::SOFTWARE ENGINEERING
SRIASHIKA ADDALA | 11712155 | ST141 | A54
Software Requirements Specification for “SNAPCHAT” June 20, 2019
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
4. Design
4.1. Entity-Relationship diagram (ER diagram) PAGE1
4.2. Data flow diagram (DFD)
4.3. Use-case diagram
5. Testing – Black Box & White Box
5.1. Test cases
5.2. Snapshots
6. Appendices
Software Requirements Specification for “SNAPCHAT” June 20, 2019
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.
MNEMONICS MEANING
DB Database
DDB Distributed Database
ER Entity Relationship
SS Screenshot
1.4. DEFINITIONS
PAGE3
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
Software Requirements Specification for “SNAPCHAT” June 20, 2019
1.6. REFERENCES
https://www.snapchat.com/
https://en.wikipedia.org/wiki/Snapchat#Further_reading
https://blog.hubspot.com/marketing/snapchat-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 PAGE4
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.
Software Requirements Specification for “SNAPCHAT” June 20, 2019
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.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. PAGE6
It's the perfect way to make any occasion even more special!
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.
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. PAGE7
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
Software Requirements Specification for “SNAPCHAT” June 20, 2019
“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.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 PAGE8
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.
Software Requirements Specification for “SNAPCHAT” June 20, 2019
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.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.
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
3. SPECIFIC REQUIREMENTS
Processing state: User can apply lenses/set timer/enable grid/enable flash and then click
a selfie or click a picture.
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.
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.
Software Requirements Specification for “SNAPCHAT” June 20, 2019
Processing state: When user swipes left, this gesture is validated and finally comes as
discover and thus this page opens.
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.
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’.
Software Requirements Specification for “SNAPCHAT” June 20, 2019
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.
Processing state: This gesture is validated and is then finalized to chat option.
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.
Software Requirements Specification for “SNAPCHAT” June 20, 2019
Output: A fire emoji with a number which mentions the snap streak.
Processing state: The usage keeps calculating the statistics and build Snapchat scores.
Output: A Snapchat score which keeps increasing, displayed below the Snapchat selfie.
Processing state: When the selfie is clicked, the snapcode is generated and then provides
some actions on the snapcode
Processing state: This gesture is recorded and is evaluated and then snap goes to get PAGE15
stored in cloud , if user wants to save it for longer time and preserve it from vanishing
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
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.
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 case of 0 matches, it would PAGE16
provide an option to directly contact Snapchat.
Processing state: Validate user data, verify credentials; if all conditions are met, assign
the account to this new user with all new user information.
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.
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.3.1. SCALABILITY
Snapchat should be able to provide instant messaging services to 1 billion users at
any given time.
3.3.2. ROBUSTNESS
Software Requirements Specification for “SNAPCHAT” June 20, 2019
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.4.1. PRIVACY
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.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.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.
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 PAGE20
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 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.
Software Requirements Specification for “SNAPCHAT” June 20, 2019
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
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. PAGE21
3.5. CONSTRAINTS
Important constraints:
1. Login id & password of user must be valid
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.
PAGE22
Software Requirements Specification for “SNAPCHAT” June 20, 2019
4. DESIGN
PAGE23
Software Requirements Specification for “SNAPCHAT” June 20, 2019
PAGE24
Software Requirements Specification for “SNAPCHAT” June 20, 2019
PAGE25
Software Requirements Specification for “SNAPCHAT” June 20, 2019
PAGE26
Software Requirements Specification for “SNAPCHAT” June 20, 2019
PAGE27
Software Requirements Specification for “SNAPCHAT” June 20, 2019
PAGE28
Software Requirements Specification for “SNAPCHAT” June 20, 2019
PAGE29
Software Requirements Specification for “SNAPCHAT” June 20, 2019
PAGE30
Software Requirements Specification for “SNAPCHAT” June 20, 2019
5. TESTING
PAGE31
Software Requirements Specification for “SNAPCHAT” June 20, 2019
PAGE32
Software Requirements Specification for “SNAPCHAT” June 20, 2019
case 1 case 2
PAGE33
Software Requirements Specification for “SNAPCHAT” June 20, 2019
PAGE34
Software Requirements Specification for “SNAPCHAT” June 20, 2019
PAGE35
Software Requirements Specification for “SNAPCHAT” June 20, 2019
PAGE36
Software Requirements Specification for “SNAPCHAT” June 20, 2019
PAGE37
Software Requirements Specification for “SNAPCHAT” June 20, 2019
6. APPENDICES
6.1. BITMOJI
6.1.1. CREATE
PAGE38
Software Requirements Specification for “SNAPCHAT” June 20, 2019
PAGE39
Software Requirements Specification for “SNAPCHAT” June 20, 2019
PAGE40