SRS of Instagram
SRS of Instagram
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.
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.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.
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.
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.
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.
4. NON-FUNCTIONAL REQUIREMENTS
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
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
UserInfoDB
Responsibilities Collaborator
RegistrationSuccessPage
Responsibilities Collaborator
Responsibilities Collaborator
SessionCreatingAblumController
Responsibilities Collaborator
SessionLikingController
Responsibilities Collaborator
SessionCommentingController
Responsibilities Collaborator
SessionHastagController
Responsibilities Collaborator
Responsibilities Collaborator
SessionSearchingFriends
Responsibilities Collaborator
SessionFollowingFriends
Responsibilities Collaborator
Following friends to see their photos and Followers, Following, User, Inventory
videos uploaded.
SessionCreatingComplains
Responsibilities Collaborator
SessionReadComplainsAdmin
Responsibilities Collaborator
Admin Statechart
Question 6. Class Design