You are on page 1of 13

Software Requirements Specifications Document

.
Requirement Specification
Facebook

Prepared By:
o

Badiulzaman

Munib Asad Malik (FA11-BCS-224)

(SP11-BCS-030)

o Suleman Asghar(FA11-BCS-168)
o Hassan Ali (FA11-BCS-065)

Page 1

43/30/41

Software Requirements Specifications Document

Table of Contents
Introduction ............................................................................................................................ 2
1.1 Purpose..2
1.2 Scope ..................................................................................................................2
1.3 Definitions, Acronyms, and Abbreviations2
1.4 References2

2. Overall description.3
2.1 product Perspective.....3
2.2 Product Function.....3
2.3 User Characteristics....3
2.4 Constraints..3

3. Specific Requirement....4
3.1 External interfaces Requirements4
3.1.1 Users Interface..5
3.1.2 Standard User Interface.6
3.1.3 Operations..6

4. Functional Requirements....7
4.1 Facebook Administration interface.9
4.1.2 Communication interface...10
4.1.3 System interface.10

5 .Non-Functional Requirements..10
5.1 Performance Requirements..10
5.2 Design Requirements ..11
5.3 Reliability.11
5.4 Availability.11
5.5Secuerity11
5.6 Maintainability.....11

Page 2

43/30/41

Software Requirements Specifications Document

1. INTRODUCTION:
This document is prepared in order to determine a software requirement specification
for Facebook. Facebook is a social network on which people can add their friends,
share videos and photos, send and receive messages, comment on the links etc. In
order to gain an overview about the report, firstly, the purpose and scope of this
document will be given, and then an overall description of Facebook system is
followed. In addition to these, system features such as uploading photo, sharing video,
adding friend etc. are described deeply. After mentioning about the introduction of the
software system, the specific requirements will be addressed for it. In the final part,
functional and non-functional requirements will be addressed.

1.1 PURPOSE:
The SRS is needed to evolve as the development of the software product processes.
The purpose of this document is to give a complete description about how Facebook
social network system can be developed. This document is to provide information
about what the software product is to do to customers and establish an agreement
between customers and suppliers and also become helpful for development. In
addition to these, it provide a basis for validation and verification. The issues which
are basically addressed are functionality such as adding friends, uploading photos,
external interfaces, performance, attributes and the design constraints of the system.

1.2 SCOPE:
The name of the software product is Facebook. Facebook is a social network that
connects people. The aim of Facebook is to provide information to the users about the
events and the people whom they know. The users of Facebook can add friends, share
videos which
they want their friends watch; upload photos, comment on their friends sharings,
chatting
with their friends and become informed about their friends. Moreover, people can
create social groups for such as university clubs, football clubs or for social
awareness. People can be informed about the events by the help of these groups or
their friends.

1.3 DEFINITIONS, ACRONYMS and ABBREVIATIONS:


When the user logins Facebook, they can see their home page, which is named as
News Feed that provide users to see what their friends share, what their friends
write their status. Moreover, at the left of this page, the user can see the event
invitations and the birthdays of their friends. Therefore News Feed is the main page
which combines daily friend interactions.
Page 3

43/30/41

Software Requirements Specifications Document

2. OVERALL DESCRIPTION:
In this section, background information about what type of requirements the system
should have will be provided briefly

2.1 PRODUCT PERSPECTIVE:


Facebook is an independent and world-wide social network website. Every person can
use it online without a fee. The Facebook 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 contents of the
sharings and comments done by the other people, Facebook has also a control
mechanism. People can deliver their complaints
About any part of the Facebook to the Facebook Administrators. Then,
Facebook Administrators might take appropriate actions according to the
complained situation which is
Against the rules.

Details :

Page 4

43/30/41

Software Requirements Specifications Document


User login
Actor
Description
Data
Stimulus
Response
Comments

Update profile
Actor
Description
Data
Stimulus
Response
Comments

Make an event
Actor
Description
Data
Stimulus
Response
Comments

Add friend
Actor
Description
Data
Stimulus
Response
Comments

Page 5

user
User can login through the email and
password of the system.
user name user ID, doctor, Cell#, password.
Save user information
Confirmation message.
System must have authorization permissions
to access system.

user
User can update/Change the information .
Alternative record of already added record.
Save Information
Confirmation message, New details should
display on screen.
user must have security permissions to
access user database, There should be details
of a user to be updated.

user
User first check for available time slots , then
make an event In a suitable time slot.
ID, password
Save an appointment
Confirmation message.
User has security permission to access MIS,
Specific time slot should be available.

user
User can add the details of a new person
Nurse ID, Nurse Name, Category,.
Save information.send request for friendship
Confirmation Message.
User must have security permission to
access. Should not be already added.

43/30/41

Software Requirements Specifications Document

Newz feed
Actor
Description
Data
Stimulus
Response
Comments

User,facebook admisntrator
User can View the recent activities of friends
ID, password.
View
Table of duties of specified users should be
displayed on screen.
User must have security permission to view
the other person schedules.

2.2 PRODUCT FUNCTIONS:


After creating an account and starting to use the Facebook, first thing he or she will
make is searching for friends. The user will search people by their names and can
send an invitation to them to add as a friend and to be able to see their shared items on
Facebook. If the person accepts the invitation, these two persons become friends on
Facebook and can interact more closely such as sending messages to each other. Any
user can share his/her status like whatever he is thinking, wherever he is or his current
mode. Friends of this person can make a comment on that. Furthermore, if a user
shared a photo, video, link or anything, any friend of that user can share that shared
item also. Users can upload photo and video to their profiles and create an album.
Anyone can create a group and invite people to join in the group. Similarly, people
can attend the activities where they are invited.

2.3 USER CHARACTERISTICS:


Facebook does not require any specific computer knowledge to use it except the
developers and administrators of it. Standard users are thought to be from any age,
any gender
And from any nationality who can use just computers 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,
Facebook provides people the right to choose the category of people who will be able
to view their shared items. Some users may not desire the access of some people to
their shared items and information. If this is the case, users can set their privacy
settings to
Prevent some peoples access to their information.

Page 6

43/30/41

Software Requirements Specifications Document

Secondly, Facebook cannot 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, external interface requirements for user and communication channel
will be described in order to clarify the relationship of this software with other entities
and systems.
In the first part, users interfaces will be explained with the layout information, textual
Items and error handling types for two types of users of the system, as standard users
and Facebook administrators. In the second part, communication interfaces of our
system will be described in order to explain the relationship with other systems which
are sharing information with Facebook.

3.1.1 USERS INTERFACES:


3.1.2 STANDARD USER INTERFACE:
Standard users shall be using the web browser to use the product. Thus, it shall have a
login page and users must login with their e-mail addresses and passwords. After a
successful
Login, they shall be taken to their News Feed which is
Their homepage thereafter. Since they are logged into the system, there must be
logout button and their Facebook profile names at the top of the page until they
logged out of the system. In addition, there shall be Help menu in order to explain the
processes of Facebook to the users.

Being a social network, a direct link to the list of Friends shall be listed in the
Account menu, located at the right top, which shall also include Logout and
Account and Privacy Settings. At the top, there shall be Home and Profile
buttons which are used
Page 7

43/30/41

Software Requirements Specifications Document

For linking News Feed and users own profile respectively. Search field which lets
users
Search for their friends, events, etc. shall be located at the center of the top in the
whole processes. All other features of the system shall be reachable by menu as a left
sidebar such as Events, Photos, Videos, and Groups etc. In the menu, order of these
features shall be updated according to their usage levels for the users finally, subFunctions, such as Creating Event which is related to Events
Feature, shall be reachable from the related features menu. Since standard users can
use different types of features, there shall be different interfaces for each of them and
they will be described separately:

3.1.3 Operations

Search friends
Home
Friend request sent
Cancel friend request
notifications
Create page
Activity Log
Settings
Messages
Groups
Page info
Privacy & Appearance
Logout

4. Functional Requirements:
(a) Creating an Event:
This functions interface will be a form which contains text fields/areas and
check boxes. This form will have
a text fields for Date and Time, Name and Place of theevent. Optional
text fields for ending time will be shown when user clicks on Adding End
Time and optional Street and City/Town will be shown when user clicks on
Adding Street Address button. There will be a text area which is for
Additional Information
There will be a button for selecting guests and when user clicks on this, friends list
will be
Shown to select. Finally there will be two check boxes for making event Public
Event and Showing guest list to others. In order to send this form, there will be
a Create Event
Button. If the user does not fill the form correctly, s/he will be notified and when
the user submits correctly s/he will be directed to Event page which is just created.

Page 8

43/30/41

Software Requirements Specifications Document

(b) Attending an Event:


This function will be shown in the related events page at the top of the page. This
will
be formed of three buttons for attendance situation of the user to the event. These
shall be
No, Yes and Maybe Attending. When user clicks on Yes or Maybe
Attending, s/he will be listed in the guest list and when No is clicked no action
will be taken.
(c) Uploading Photo:
When this function is to be performed, there will be a button for choosing image
files. When user clicks on it, a file browser will be opened to select images. When
user successfully uploads the photo, s/he will get a notified, if an error occurs
during the upload, the user bill be informed about it.
(d) Creating Album:
This function will have an interface as a form type. This form will include two
texts
Fields for Name of the Album and Location and there will be a drop down
menu for
Selecting the album
s privacy settings. In order to complete form, there will be Cancel and
Create Album buttons. When user creates album s/he will be taken to uploading
photo function.

(e) Uploading Video:


With resembling to Uploading Photo interface this function will have a button for
choosing files to be uploaded and there will be a text field for the name of the
video.

(f) Sending Message:


This function will use an interface constituted of one text field for message
receiver and one text area for message itself. There will be two buttons for
attaching a file or picture and one additional check box if the user wants this
message to be sent as a text message also. To complete form, there will be send
and cancel buttons. Upon successful sending user will
be informed as your message sent and if no user selected or no message is writte
n send
Button will not take any action and no notification will be shown.

(g) Receiving Message:


This function will be available through the message received notification in the
Page 9

43/30/41

Software Requirements Specifications Document

home page. Reaching the receiving message interface, the sent message will be
shown with
the senders Profile Name and Profile Picture.
Time at the message sent will be shown at the right top of the message and subject
of the message will be shown below time. In order to continue conservation, at the
bottom there will be Sending Message interface.

(h) Sharing User Status:


For this function, there will be a text field for the status to be shared and there will
be a drop down menu for selecting the privacy level of the shared status for
Friends, Networks or Public. Finally, there will be a share button to complete the
form. When the user exceeds the
limit of status, which is 420 characters, s/he will be informed for Exceeding
limit; therefore
the remaining character limit will be shown at the right top of the text area. Upon
sharing in the limits, the shared status will be shown in the News Feed thereafter.

(i) Commenting:
This function will be reachable for the every shared item such as pictures, videos,
user
status etc. This interface will have a text area for comments and when the user
presses Enter
key after writing the comment in the text field, the comment will be listed
thereafter in the bottom of the related item.

(j) Searching Friend:


This interface will be reachable from every page and will include one text field for
text to be searched and one button at the left to start searching. This interface will
take the user to the results page which shows the list of the search results.

(k) Adding Friend:


This function will be reachable from every profile page which is not already
added as
a friend. Clicking the Add as a Friend button fro
m the top of the profile page, interface of
this function will be reached. This interface will have an optional button for
adding Personal Message to the other user which will open a text field for this
personal message. At the right
bottom of the interface, there will be two buttons for cancelling the request and
sending the request. Sending the request successfully, an informative text will be
shown at the profile
page of the user which the request sent as a friendship request sent instead of A
dd as Friend button thereafter.
Page 10

43/30/41

Software Requirements Specifications Document

(l) Creating Group:


This interface will be in a form style. There will be a text field for the group name and
a text area for writing the names of the group members. At the bottom of the interface,
a drop-down menu will help user to select the privacy level of the group and these
will be followed
by create and cancel buttons. If the user either does not type a group name or any frie
nds
name to be member of the group, the user will be informed. When the user
successfully fills fields, the interface will take the user to the group page which is just
created.

4.1.1. FACEBOOK ADMINISTRATION INTERFACE:


Administrators of the Facebook 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 to the reading
complaints interface directly.
In addition, administrators name, authority level and logout button shall be located at
the top
of the page thereafter. Basic outline for the Facebook administrators interface.

4.1.2 COMMUNICATION INTERFACES:


As a whole social networking website, Facebook 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 Facebook for
Android, iPhone, Windows Mobile etc., or other websites which want to use
Facebook integration will be connecting to the Facebook main system by using
Facebook Platform. Facebook 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 willbe Facebook Platform for
Facebook. However, this integration and its level will be set by the user, who wants to
integrate their accounts and information with other websites. Basic out line of the
communication interfaces.

Page 11

43/30/41

Software Requirements Specifications Document

4.1.3 SYSTEM FEATURES:


In this section, all normal and alternative flow of events are organized with the
assumption that users or administrators are successfully reached their homepage by
login into the system. This assumption is made in order to describe specifications of
the sub-features with better focusing.

5. NON-FUNCTIONAL REQUIREMENTS
5.1 PERFORMANCE REQUIREMENTS:
System shall 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 Facebook,
therefore it is essential that the system shall be available at all times. System shall not
be affected from the number of active users in the system until half of the registered
users become active. Being a worldwide network, assuming that half of the registered
users are reaching to the website is a legitimate and necessary requirement.

5.2 DESIGN REQUIREMENTS:


Design of the system shall arrange the content size as compatible for different
platforms, such as mobile phones, tablets and desktop computers. Since Facebook is
based on sharing with friends, design of the system shall let high level of mobile
access. Design of the system shall let different languages to be shown without
affecting the general layout and operations. Being a worldwide network, different
language sets shall be able to shown as the main language of the website without
creating any obstacles on the operations.
Page 12

43/30/41

Software Requirements Specifications Document

5.3 Reliability
The system will be implemented using state of the art and market recognized tools
like Oracle and ASP.Net. Also the techniques, algorithms and data structures used for
implementing the system will be quite efficient, thus the system is not expected to fail
while running and will continue to perform its required functions under normal
conditions in its 18 hours of uptime.

5.4 Availability
The system is expected to have an uptime of 18 hours. It will have a downtime from
12am to 6 am for system repairs and reboot. This reboot is essential as per
requirements of Windows XP which slows down over time.

5.5 Security
To give access to customers, they are required to be authenticated by the library card
number and password. This includes security into the system as no un-authorized
access is allowed.

5.6 Maintainability
The system will be made in such a way that it is easy to manage and maintain.

Page 13

43/30/41

You might also like