Software Requirement Specification Facebook PDF

Title Software Requirement Specification Facebook
Author Sakib Chonka
Course Software Engineering
Institution Lovely Professional University
Pages 47
File Size 1.7 MB
File Type PDF
Total Downloads 42
Total Views 190

Summary

This is software requirement specification document for Facebook....


Description

Software Requirement Specification for Facebook

Prepared by Fulya Terzi Gökhan Ceyhan Onur Yılmaz

April 2011, Ankara

Table of Contents

1. Introduction 1.1 Purpose 1.2 Scope 1.3 Definitions, Acronyms And Abbreviations 2. Overall Description 2.1 Product Perspective 2.2 Product Functions 2.3 User Characteristics 2.4 Constraints 3. Specific Requirements 3.1 External Interface Requirements 3.1.1 User’s Interfaces 3.1.1.1 Standard User Interface 3.1.1.2 Facebook Administration Interface 3.1.2 Communication Interfaces 3.2 System Features 3.2.1 Creating An Event 3.2.1.1 Background Information 3.2.1.2 Stimulus/Response Sequence 3.2.1.2.1 Diagram 3.2.1.2.2 Description 3.2.1.2.3 Normal Flow Of Events 3.2.1.2.4 Alternative Flow Of Events 3.2.1.3 Functional Requirements 3.2.2 Attending An Event 3.2.2.1 Background Information 3.2.2.2 Stimulus/Response Sequences 3.2.2.2.1 Diagram 3.2.2.2.2 Description 3.2.2.2.3 Normal Flow Of Events 3.2.2.2.4 Alternative Flow Of Events 3.2.3 Searching Friends 3.2.3.1 Background Information 3.2.3.2 Stimulus/Response Sequences 3.2.3.2.1 Diagram 3.2.3.2.2 Description 3.2.3.2.3 Normal Flow Of Events 3.2.3.2.4 Alternative Flow Of Events

5 5 5 6 6 6 7 7 7 8 8 8 8 13 15 15 16 16 16 16 17 17 17 17 18 18 18 18 18 19 19 19 19 20 20 20 20 21 1

3.2.3.3 Functional Requirements 3.2.4 Adding Friends 3.2.4.1 Background Information 3.2.4.2 Stimulus/Response Sequences 3.2.4.2.1 Diagram 3.2.4.2.2 Description 3.2.4.2.3 Normal Flow Of Events 3.2.4.3 Functional Requirements 3.2.5 Creating Groups 3.2.5.1 Background Information 3.2.5.2 Stimulus/Response Sequences 3.2.5.2.1 Diagram 3.2.5.2.2 Description 3.2.5.2.3 Normal Flow Of Events 3.2.5.2.4 Alternative Flow Of Events 3.2.6 Uploading Photos 3.2.6.1 Background Information 3.2.6.2 Stimulus/ Response Sequence 3.2.6.2.1 Diagram 3.2.6.2.2 Description 3.2.6.2.3 Normal Flow Of Events 3.2.6.2.4 Alternative Flow Of Events 3.2.7 Creating Albums 3.2.7.1 Background Information 3.2.7.2 Stimulus/ Response Sequence 3.2.7.2.1 Diagram 3.2.7.2.2 Description 3.2.7.2.3 Normal Flow Of Events 3.2.7.2.4 Alternative Flow Of Events 3.2.8 Sharing User Status 3.2.8.1 Background Information 3.2.8.2 Stimulus/ Response Sequence 3.2.8.2.1 Diagram 3.2.8.2.2 Description 3.2.8.2.3 Normal Flow Of Events 3.2.8.2.4 Alternative Flow Of Events 3.2.8.3 Functional Requirements 3.2.9 Sending Messages 3.2.9.1 Background Information 3.2.9.2 Stimulus / Response Sequences 3.2.9.2.1 Diagram 3.2.9.2.2 Description 3.2.9.2.3 Normal Flow Of Events 3.2.9.2.4 Alternative Event Flows 3.2.9.3 Functional Requirements

21 22 22 22 22 23 23 23 23 23 24 24 24 24 25 25 25 26 26 26 26 27 27 27 27 27 28 28 28 28 28 29 29 29 29 30 30 30 30 31 31 31 31 32 33 2

3.2.10 Receiving Messages 3.2.10.1 Background Information 3.2.10.2 Stimulus / Response Sequences 3.2.10.2.1 Diagram 3.2.10.2.2 Description 3.2.10.2.3 Normal Flow Of Events 3.2.10.2.4 Alternative Event Flows 3.2.10.3 Functional Requirements 3.2.11 Commenting 3.2.11.1 Background Information 3.2.11.2 Stimulus / Response Sequences 3.2.11.2.1 Diagram 3.2.11.2.1 Description 3.2.11.2.3 Normal Flow Of Events 3.2.11.3 Functional Requirements 3.2.12 Uploading Videos 3.2.12.1 Background Information 3.2.12.2 Stimulus/ Response Sequence 3.2.12.2.1 Diagram 3.2.12.2.2 Description 3.2.12.2.3 Normal Flow Of Events 3.2.12.2.4 Alternative Flow Of Events 3.2.12.3 Functional Requirements 3.2.13 Creating Complaint Reports 3.2.13.1 Background Information 3.2.13.2 Stimulus / Response Sequences 3.2.13.2.1 Diagram 3.2.13.2.2 Description 3.2.13.2.3 Normal Flow Of Events 3.2.13.2.4 Alternative Flow Of Events 3.2.13.3 Functional Requirements 3.2.14 Reading Complaints 3.2.14.1 Background Information 3.2.14.2 Stimulus / Response Sequences 3.2.14.2.1 Diagram 3.2.14.2.2 Description 3.2.14.2.3 Normal Flow Of Events 3.2.14.2.4 Alternative Event Flows 3.2.15 Responding Complaints 3.2.15.1 Background Information 3.2.15.2 Stimulus / Response Sequences 3.2.15.2.1 Diagram 3.2.15.2.2 Description 3.2.15.2.3 Normal Flow Of Events 3.2.15.2.4 Alternative Event Flows

34 34 34 34 34 35 35 35 36 36 36 36 36 37 37 37 37 38 38 38 38 39 39 39 39 40 40 40 40 41 41 41 41 42 42 42 43 43 44 44 44 44 45 45 45 3

3.2.15.3 Functional Requirements 4. Non-Functional Requirements 4.1 Performance Requirements 4.2 Design Requirements

46 46 46 46

4

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

5

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.

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.

Figure 2.1.1: Facebook social network website system 6

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 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, 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 people’s access to their information. 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.

7

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 channels will be described in order 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 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 USER’S INTERFACES

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

8

Figure 3.1.1.1: Diagram for Standard User Interface of Facebook

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 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, Groups etc. In the menu, order of these features shall be updated according to their usage levels for the users Finally, sub-functions, 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:

a) Creating an Event: This function’s 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 the event. 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”. 9

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.

Attending an Event: This function will be shown in the related event’s 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.

b) 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.

c) Creating Album: This function will have an interface as a form type. This form will include two text 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.

d) 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. In 10

addition, limit and copyright notifications will be shown (under 1024 MB and 20 minutes and user’s own production). If user selects inappropriate files, s/he will be informed, on the other hand successful uploading will take the user to the video page which is just uploaded.

e) 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 written send button will not take any action and no notification will be shown.

f) Receiving Message: This function will be available through the “message received notification” in the home page. Reaching the receiving message interface, the sent message will be shown with the sender’s “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.

g) 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.

11

h) 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.

i) 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.

j) 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 from 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 “Add as a Friend” button thereafter.

k) 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 dropdown 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 friend’s 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.

12

l) Creating Complaint: This interface will be reachable from any of the profile pages, shared items or events by clicking 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 complain report, there shall be “Continue” and “Cancel” buttons. Upon successful sending the user will be informed about the completion.

3.1.1.2 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, administrator’s name, authority level and logout button shall be located at the top of the page thereafter. Basic outline for the Facebook administrators’ interface can be seen the figure below 3.1.1.2:

Figure 3.1.1.2: Diagram for Interface of Facebook Administrators

Administrators’ main responsibility will be reading and responding complaints, however they will be able to search through Facebook users and send message to them in order to control activities of users that have complaints recorded against. Therefore, after a

13

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 same as the standard users’ interfaces, they will not be described again in this part. On th...


Similar Free PDFs