0% found this document useful (0 votes)
3K views

SRS of Instagram

Uploaded by

Sawan Tripathi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3K views

SRS of Instagram

Uploaded by

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

INSTAGRAM SOFTWARE REQUIREMENTS

SPECIFICATION (SRS)
1. INTRODUCTION
This document is prepared in the context of a software requirement specification for
Instagram. Instagram (also known as IG or Insta) is a photo and video-sharing social
networking service owned by Facebook, Inc. In order to gain an overview of the report,
firstly, the purpose and scope of this document will be given, then an overall description of
Instagram is followed In addition to these system features such as photo uploading, sharing
video, images, follow others and etc. are deeply described. After mentioning the introduction
of the software system, the specific requirements will be addressed for it. In the end,
functional and non-functional requirements will be addressed.

1.1 PURPOSE
The SRS is needed to evolve the development of the software product processes. The
purpose of this document is to give a complete description of how social networking can be
developed. This document is about the product of the software and is also available to
customers . In addition to these, it provides a basis for validation and verification. The
content of the author, the uploading of images, the external interfaces, the performance, the
attributes and the design constraints of the system.

1.2 SCOPE
The name of the software product is Instagram . Instagram is a social network that connects
people. The aim of Instagram is to share videos, images and connect people. The users of
Instagram can follow friends they want their friends watch; upload photos, how do their
friends' sharings, chatting with their friends and friends.

1.3 DEFINITIONS, ACRONYMS and ABBREVIATIONS


● Sign Up Page:
This page enables the non-registered users to sign up as a new user and create his/her own
account. Once a new user has registered, he/she can sign into his account by giving his/her
username & password in the SIGN IN page.
● Sign In:
This page provides the facility for the registered user to login to the next page to view the
availability of the items. Once user has signed into his/her account he/she can send scrap to
any one in his friend list and can join any community or group present within the database. If
the user is new he/she will be redirected to the SIGN UP page.
● Home Page
When the user logins Instagram, they can see their homepage, which is named as "News
Feed" What do they provide to their followers? photos. Moreover, at the right of this page,
the user can see the day stories of their friends.Therefore News Feed is the main page
which combines daily followers interactions.

2. OVERALL DESCRIPTION
In this section, the information should be provided briefly.
2.1 PRODUCT PERSPECTIVE
Instagram is an independent and world-wide social network. Everybody can use it online
without a fee. The Instagram is not a part of a larger system, it is an independent system.
People from different regions of the world can connect to it and exchange information with
other people.In order to control the content of the sharings and comments done by the other
celebrities, Instagram HAS aussi a control mechanism. People can deliver their complaints
about any part of the Instagram to the "Instagram Administrators". Then, "Instagram
Administrators" might take appropriate actions according to the complained situation which is
against the rules.

2.2 PRODUCT FUNCTIONS


After creating an account and starting to use the Instagram, the first thing he will be looking
for friends, idols, etc. The user will search their names and send them a following request to
their Instagram page. If the person Accepts the following request then two persons become
friends on Instagram and can interact more étroitement such as sending messages to each
other or can watch private photos, videos . Any user can share his / her status or whatever
he is thinking, where he is or his current mode with a photo or video required. Friends of this
person Furthermore, if a user shared a photo, video, link or anything also. Users can upload
photos and videos to their profiles and create an album.

2.3 USER CHARACTERISTICS


Instagram does not require any specific computer knowledge to use it except the developers
and administrators of it. Standard users are thought to be of any age, any gender and from
any nationality who just can use computer's browser. On the other hand, Administrators and
potential developers need a high level of expertise to understand web technologies.

2.4 CONSTRAINTS
Being a social network website, the software should ensure the safety of information given
by the user and provide some privacy settings options to the user. Firstly, Instagram
provides people the right to choose the category of people who will be reliable to view their
shared items. Some users may not longed for tea access of some people to their shared
items and information. If this is the case, users can set their privacy prevent some people's
access to their information.
Secondly, Instagram can not sell the private information of users to someone else. However,
if the user permits, an application can access to some information of the user.

3. SPECIFIC REQUIREMENTS
In this section, all software requirements will be explained in detail. All requirements are
divided into two groups as functional and non-functional.

3.1 EXTERNAL INTERFACE REQUIREMENTS


In this section, these interfaces will be described in this section to clarify the relationship of
this software with other entities and systems. In the first part, user's interfaces will be
explained with the layout information, textual standard user and administrator for the user. In
the second part, communication interfaces of our system will be described in the context of
the relationship with other systems .

3.1.1 USER'S INTERFACES

3.1.1.1 STANDARD USER INTERFACE


Standard users use the web browser, iOS or Android device to use Instagram. Thus, it
should have a login and users login with their email addresses and passwords. After a
successful login, they will be taken to their "News Feed" which is their homepage thereafter.
Since they are logged into the system, they must be logged in . In addition, there will be a
menu in order to explain the processes of Instagram to the users.

Being a social network, a direct link to the list of "Friends" will be listed in the "Account"
menu, located at the top right corner, which also include "Logout" and "Account and Privacy
Settings". At the top, there shall be "Home" and "Profile" buttons which are used for linking
News Feed and Users "Search" field which lets users search for their friends, events, etc.
shall be located at the center of the top in the whole process . All other features of the
system shall be reachable by ace has left sidebar menu Such As Stories, Photos, Videos,
etc. In the menu, order of These features shall be updated selon Their use levels for the
users. Since standard users can use different kinds of features, there shall be different
interfaces for each of them and they will be described separately:

a. Login/Logout
This function is a filter to allow only registered user can sign in (authentication) his/her
account. After authenticated, user can scrap any photos, videos, etc from user’s friends and
user’s profile.

b. Register:
To become a standard user, non registered user need to sign up his/her self first. This
function check the provided information from user given.

c. Uploading Photo:
When this function is performed, there will be a button for choosing image files. When user
clicks on it, the browser will open to select images. When the user successfully uploads the
photo, he / she will get notified, the user will be informed about it.

d. Uploading Video:
With resembling to uploading Photo interface this function will have a button for choosing
files to be uploaded. In addition, limit and copyright notifications will be shown (under 1024
MB and 20 minutes and user's own production). If user selects inappropriate files, he will be
informed, on the other hand successful uploading will take the user to the videoust uploaded.

e. Liking Photo, Video:


This function will be used for this one photo, etc. The user use “Mouse” to touch on heart
symbols, this photo is liked and owner’s photo get notify.

f. Commenting:
This function will be used for this one status etc. This interface will have a text area for
comments and when the user presses "Enter" key after writing the commentary in the text
field, the comment will be listed later.

g. Hashtag photo​:
You can add hashtags in the caption or comments of your post. If you have a public account
and add hashtags to a post, the post will be visible on the corresponding hashtag page. After
you tag your post with a hashtag, you'll be able to tap the hashtag to see a page that shows
all the photos and videos people have uploaded with that hashtag.

i. Tagging or Mentions:
To mention someone, type @ followed immediately by their username (example: "great
photo, @shayne!"). Don't include a space between @ and the username. When you mention
someone, they'll get a notification in their Activity feed letting them know.

k. Searching Friend:
This interface will be reachable from every page and will include a text for the search engine.
This interface will take the user to the results page which shows the list searching results.

l. Following Friend:
This function will be reachable from each profile a friend. On the specific profile, clicking the
"Follow" button front the top of the page profile, he/ she sent one following request to this
profile. At the same position, we have two buttons for canceling request and sending the
request. Sending the request successfully, an informative text will be shown at the profile
page is "Following" INSTEAD of "Follow" button thereafter.

m. Creating Complaint:
This interface will be reachable from any one of the profile pages, or a direct link. This
interface will be in a form style which lets users to select any of the Reasons Why They Are
Complaining about the content. Therefore the reasons will be listed with radio boxes. In
order to send the complaint report, there shall be "Continue" and "Cancel" buttons.
Successful sending will be informed about the completion.

3.1.1.2 ADMINISTRATION INTERFACE


Administrators of the Instagram will be using the administration features by logging into their
specific interface using a browser. Therefore, there shall be a login page which is different
than standard users' login page and administrators shall use that page to login system. After
successful login they will be taken directly to the interface. In addition, administrator's name
logout button shall be located at the top of the page thereafter. Basic outline for the
Instagram administrators' interface can be figure out below:

Administrators' main responsibility they will be able to search through Instagram users and
send a message to them . Therefore, after a successful login, administrators will be able to
reach sending messages, searching, reading and responding complaints interfaces by the
direct links given at the top of the page. Since searching and sending message interfaces
are the same as the standard users’ interfaces, they will not be described again in this part.
On the other hand, Reading Complaints and Responding Complaints interfaces will have
different characteristics that will be described:

a. Reading Complaints:
This interface will enable administrators to read the complaints that are sent. Therefore, this
interface will be in a list type which includes subject of the complaint, name of the sender,
content of the complaint and time when the complaint is sent. Administrator will be able to
sort the complaints according to their priority levels or to time at which the complaint is
occurred; therefore, at the top of the list related buttons shall be located. In addition,
administrator will be able to filter the complaints according to the time interval that are sent,
countries which they are sent from and priority levels. Therefore, drop down menus for
filtering functions must be located next to the list.

b.Responding Complaints:
This interface will enable administrators to take actions to the complaints that are sent.
Therefore this interface shall be shown at the bottom of the complaint which is related to.
These actions will include deleting the user account, sending an attention to the user and
deleting the shared item which does not obey copyright or privacy rules. Therefore, a drop
down menu in order to let the administrator to select an action shall be located. After taking a
successful action, or in this concept responding the complaint, a feedback will be given to
the administrator.

3.1.2 COMMUNICATION INTERFACES


As a whole social networking website, Instagram will be completely stand-alone system
which lets other platforms connect, fetch and transform data in certain levels. Therefore,
other platforms such as mobile phone applications, namely Instagram for Android, iPhone,
Windows Mobile etc., or other websites which want to use Instagram integration will be
connecting to the Instagram main system by using Instagram Platform. Instagram Platform
will provide APIs and tools to 3rd party developers to let them create high-level integrated
plugins and programs. Therefore main communication interface with the other platforms will
be Instagram Platform for Instagram. However, this integration and its level will be set by the
user, who wants to integrate their accounts and information with other websites.

4. NON-FUNCTIONAL REQUIREMENTS

4.1 PERFORMANCE REQUIREMENTS


System will be available from all over the world at all times. Being a social network, any
interruption in the sharing chain will cause people to give up on Instagram, so it is essential
that the system will be available at all times. System shall be affected by the number of
active users in the system until half of the registered users become active. Being a
worldwide network, assumes that half of the registered users are reaching for the website is
a legitimate and necessary requirement.

4.2 DESIGN REQUIREMENTS


Design of the system shall be compatible with different platforms, such as mobile phones,
tablets and desktop computers. Since Instagram is based on sharing with friends, design of
the system and high level of mobile access. Design of the system shall be shown without
affecting the general layout and operations. Being a worldwide network, different languages
​will be able to show you the obstacles on the operations.

Question 2​. Design of Use Case Diagram


Question 3​. ERD (Entity Relationship Diagram)
Question 4​. CRC (Class-Responsibility-Collaborator)

​Entity

User

Responsibilities Collaborator
UserId SessionRegistrationController

UserName Tagging

Password SearchingFriend

Fullname Followers

Dob Following

Address Comment

Email UploadPhoto

pictureURL UploadVideo

privacyLevel Complaint

Liking

HastagPhoto

HastagVideo

SessionCreatingAblumController

SessionLikingController

SessionCommentingController

SessionHastagController

SessiongTagingController

SessionSearchingFriends

SessionFollowingFriends

SessionCreatingComplains

Admin
Responsibilities Collaborator

adminId Complaint

adminName SessionReadComplainsAdmin

password

fullname

address

email

Photo

Responsibilities Collaborator

photoId Liking

photoName UploadPhoto

photoUrl HastagPhoto

userId Comment

Caption SessionCreatingAblumController

Video

Responsibilities Collaborator
videoId Liking

videoName UploadVideo

videoUrl HastagVideo

userId Comment

Caption SessionCreatingAblumController

Followers

Responsibilities Collaborator

followerId User

userId Inventory

followDate SessionFollowingFriends

InventoryId

Following

Responsibilities Collaborator
followingId User

userId Inventory

followDate SessionFollowingFriends

InventoryId

Comment

Responsibilities Collaborator

PhotoId User

userId Photo

comment Video

imageUrl Inventory

commentDate SessionCommentingController

InventoryId

Liking

Responsibilities Collaborator
photoId User

likeUserId Photo

likeDate Video

InventoryId Inventory

SessionLikingController

HastagPhoto

Responsibilities Collaborator

userId Photo

photoId User

Caption Inventory

InventoryId SessionHastagController

HastagVideo

Responsibilities Collaborator

userId Video

videoId User

caption Inventory

InventoryId SessionHastagController
UploadPhoto

Responsibilities Collaborator

photoId User

userId Photo

uploadDate SessionCreatingAblumController

UploadVideo

Responsibilities Collaborator

videoId User

userId Photo

uploadDate SessionCreatingAblumController

Tagging

Responsibilities Collaborator

userId User

taggedUserId Inventory

InventoryId SessiongTagingController
SearchingFriend

Responsibilities Collaborator

userId User

searchedName SessionSearchingFriends

Complaint

Responsibilities Collaborator

userId User

approveAdminId Admin

content Inventory

typeComplaint SessionCreatingComplains

InventoryId SessionReadComplainsAdmin

Inventory

Responsibilities Collaborator
InventoryId Liking

InventoryContent Comment

HastagVideo

HastagPhoto

Tagging

Complaint

Followers

Following

SessionLikingController

SessionCommentingController

SessionHastagController

SessiongTagingController

SessionFollowingFriends

SessionCreatingComplains

SessionReadComplainsAdmin

Session

RegistrationController

Responsibilities Collaborator
Handle the registration request( creates a UserInfoDB,
user account with the desired user
name/password) User,

RegistrationSuccessPage,

RegistrationFailturePage

Know RegistrationPage

Know (or Create)


RegistrationSuccessPage

Know (or Create) RegistrationFailturePage

UserInfoDB

Responsibilities Collaborator

Accomplish the following two task in one


atomic step: Verify the nonexistence of a
user name/password pair, and if successful,
insert that pair into database.

RegistrationSuccessPage

Responsibilities Collaborator

Notice successful login after check


username/password pair in UserInfoDB (if
nonexistence)
RegistrationFailturePage

Responsibilities Collaborator

Notice failture login after check


username/password pair in UserInfoDB (if
existence)

SessionCreatingAblumController

Responsibilities Collaborator

Handle login request UserInfoDB

Handle logout request UserInfoDB

Uploading a video Inventory, Video, User, UploadVideo

Edit a video Inventory, Video, User

Delete a video Inventory, Video, User

Uploading a Photo Inventory, Photo, User

Edit a Photo Inventory, Photo, User

Delete a Photo Inventory, Photo, User

Know Video Contents


Know Photo Contents

Know User information

Know LoginPage, LogoutPage,


BrowserPage, etc.

SessionLikingController

Responsibilities Collaborator

Handle login request UserInfoDB

Handle logout request UserInfoDB

Liking a video Inventory, Liking, User

Unliking a video Inventory, Liking, User

Liking a Photo Inventory, Liking, User

Unliking a Photo Inventory, Liking, User

Know User information

Know LoginPage, LogoutPage,


BrowserPage, etc.

SessionCommentingController
Responsibilities Collaborator

Handle login request UserInfoDB

Handle logout request UserInfoDB

Commenting a video Inventory, Comment, User

Edit comment of that video Inventory, Comment, User

Delete comment of that video Inventory, Comment, User

Commenting a Photo Inventory, Comment, User

Edit comment of that Photo Inventory, Comment, User

Delete comment of that Photo Inventory, Comment, User

Know Comment contents

Know User information

Know LoginPage, LogoutPage,


BrowserPage, etc.

SessionHastagController

Responsibilities Collaborator

Hastag helps to search Photos or Videos HastagPhoto, HastagVideo, User,Inventory


have tha same hastag easier and earlier.
SessiongTagingController

Responsibilities Collaborator

Tagging friends on comment or in content Tagging, User,Inventory


of Photos and Videos

SessionSearchingFriends

Responsibilities Collaborator

Searching friend by username SearchingFriend, User

SessionFollowingFriends

Responsibilities Collaborator

Following friends to see their photos and Followers, Following, User, Inventory
videos uploaded.

SessionCreatingComplains
Responsibilities Collaborator

Creating complains to Admin to impove the Complaint, User, Inventory


quality

SessionReadComplainsAdmin

Responsibilities Collaborator

Handle Login/Logout admin Admin

Read complains in ComplainDB Complain

Responding complains to users Inventory, Admin, User


Question 5​. Build State Chart

Standard Users Statechart

Admin Statechart
Question 6​. Class Design

You might also like