You are on page 1of 29

Software Requirements

Specification
For

Social Networking Website.


VERSION 2.1

Prepared by:

Abhishek Iyer

Samarth Save

Tauseef Jamadar

Vaibhav Chitnavis

Swapnil Deo
Software Requirements Specification for Social Networking Website

Table of Contents
Table of Contents ...........................................................................................................................2
1. MILESTONE 1 ........................................................................................................................3
1.1 Introduction ............................................................................................................................. 3
2. MILESTONE 2 ........................................................................................................................4
2.1 Product Perspective .................................................................................................................. 4
2.2 Product Functions .................................................................................................................... 4
2.3 Operating Environment ............................................................................................................ 5
2.4 Design and Implementation Constraints ................................................................................... 5
2.5 Assumptions and Dependencies ............................................................................................... 5
2.6 External Interface Requirements............................................................................................... 6
2.7 System Features ..................................................................................................................... 12
2.8 System Feature....................................................................................................................... 12
2.9 Other Nonfunctional Requirements ........................................................................................ 13
2.10 Security Requirements ........................................................................................................... 13
3. MILESTONE 3 ......................................................................................................................14
3.1 Design Phase.......................................................................................................................... 14
3.2 Programmer’s Point of View .................................................................................................. 23
3.3 Functional Break Down of Social Networking Website: ......................................................... 25
3.4 Work Distribution of the Project:............................................................................................ 27
3.5 Planning Chart for Social Networking Website....................................................................... 29
Software Requirements Specification for Social Networking Website

1. MILESTONE 1
1.1 Introduction
1.1.1 Purpose
Product intends to provide a well established web-based social networking system. This
documents a networking system scope, functionalities, requirements and feasibility.

1.1.2 Document Conventions

In this whole document key points are written in bold faces with the same font as the text.

1.1.3 Intended Audience and Reading Suggestions

• Software developer
• Administrator
• Security Analysts
• Users of the system
• Maintenance Team

1.1.4 Product Scope

The social networking website is an online community designed to make your social life more
active and stimulating. The social network can help you maintain existing relationships with
people and share pictures and messages, and establish new ones by reaching out to people
you've never met before.
This website also provides the features of blogging all at one place. The main idea behind
behind blogging is to share your thoughts with all your friends which can be read by all the users
using the website. This blog can be handled by the user as he wants for example adding videos
and photos also.
This website enhances proper auctioning of products. People using this website can buy and
sell products from this website. The main purpose behind this auctioning functionality will help
people to buy products in trusted circle.
Software Requirements Specification for Social Networking Website

2. MILESTONE 2
2.1 Product Perspective
This social networking website challenges to give a better socializing and auctioning System at
the same place. This website helps buying and selling of products in trusted friend circle

2.2 Product Functions


• Authorization: Entire authority of the system is to the founder / administrator of the
system.

• User authentication: A newly created user is authenticated against the given email
address.

• User form: The system offers a simple, attractive, user friendly user interface easily
understandable by the users of the system. Entries of the user form are under the
authority of the administrator only. Some of the entries in the form are mandatory in
order to authenticate the user, describe the user thoroughly etc.

• Administrator Functions:

1. Authentication of the users after registration.


2. Mails to the users regarding the approval as a registered user, disapproval
mentioning the appropriate reasons.
3. Updating the account details on the request of the users.
4. Answering the user queries.
5. Notification to the end users regarding proposals.
6. Payment of the system by the user.
7. Mentioning the security measures for the system’s safety.
8. Deleting an account/user from the system’s databases on request of the user.

• Website Information:

1. Displaying History: Mentions the history about the system such as founder of
the system, number of users using the system.
2. Comments: Mentions the comments on the system by the existing users and
their experiences of using the system. It does not include the FAQs.
3. Contact details: Contact details about personnel related to the system for
personal or vocal assistance.
4. Advertisements: Website will contain advertisements related to all various
products present for auctioning.
Software Requirements Specification for Social Networking Website

2.3 Operating Environment


• Internet Browser Support:

1. Internet Explorer 6/7/8


2. Mozilla Firefox
3. Google Chrome
4. Opera
5. Safari

• Operating System Support:

1. WINDOWS 98/XP/VISTA/7
2. Mac OS

• Internet Connectivity Required

2.4 Design and Implementation Constraints

• Security: The files in which the information regarding account


Should be secured against malicious deformations.

• Fault Tolerance: Data should not become corrupted in case of system crash or
power failure.

2.5 Assumptions and Dependencies


• Central server of the system must be able to handle all the incoming requests
simultaneously.

• Back up of the databases in case of hardware failure, disaster, natural calamities.

• No data loss in case of handling of the system by the administrators or the system
related personnel.
Software Requirements Specification for Social Networking Website

2.6 External Interface Requirements


2.6.1.1 Flow Diagram

Login Page If the user is not a


registered member.

If the user is a registered


member. Back to
Login Page

Optional
Registration page
Edit Profile
User Page Logout

General

Social

User’s Choice

Contact

Search Friends
Update
Page
Sell Products Photo/Video
Blog
sharing

Buying And Selling


Of products

Back to User Page

Fig 1: Flow Diagram


Software Requirements Specification for Social Networking Website

2.6.2 User Interfaces

Login Page:

Fig 2: Login Page

Validation:
Minimum length of user name must be at least four characters.
Minimum length of password is 5 characters.
Error reporting:
If validation constraints are not satisfied then an error is displayed below the text box

Fig 2.1 Error Message


Software Requirements Specification for Social Networking Website

Registration Page:

Fig 3 : Registration Page


Validation:
All fields are required
Match email ID with confirm email ID
Match Password with confirm password
Error reporting:
If validation constraints are not satisfied then an error is displayed alongside the text box

Fig 3.1 Error message


Software Requirements Specification for Social Networking Website

Home Page :

Fig 4 home Page

Message Page:

Fig 5 Message Page


Software Requirements Specification for Social Networking Website

Video Page:

Fig 6 Video Page

Photo Page :

Fig 7 Photo Page


Software Requirements Specification for Social Networking Website

Blog Page:

Fig 8 Blog Page

Bidding Page :

Fig 9 Bidding Page


Validation:
Bid value must be greater than start price
Software Requirements Specification for Social Networking Website

Selling Page:

Page 10 Selling Page


Validation:
Start price must be mentioned.

2.6.3 Communications Interfaces


To use the social networking system efficiently user need to have an internet connection with a
personal computer running with any well established Operating System like Windows or Linux.
User needs to have installed Internet browser and email client on his machine for the same.

2.7 System Features


The social networking website is for people to get connected, there is also a feature for them
to buy and sell products in a trusted friend circle. In addition to this feature the users have the
facility to add videos and photos. This website gives a lot of features all at one place.

2.8 System Feature


• Creating a new account
User is allowed to create his own profile.
According to the specifications required by the administrator, the user forms his
own profile and submits it to the system.

• Updating the account


The user is allowed to update his/her account.
The administrator updates the profile accordingly.
The user is not allowed to keep any mandatory fields blank while updating. For
e.g. Name, Last name, occupation etc.
Software Requirements Specification for Social Networking Website

• Deleting the account


The user, if he/she/, wish to delete the account, the administrator is informed and
with the permission of the desired user account is deleted from the system’s
database.

• Uploading Photographs
The user has a facility to upload and share his photographs.
• Adding YouTube videos
The user can add videos from you tube and share with people.
• Blogging
The user has the right to write his own blog and publish it. This blog can be read by
people in his social circle.
• Bidding option
The users can place their items they need to sell on this website. The users can
also buy items from this website. As this is a social network website one can trust
on the quality of the items begin posted.

2.9 Other Nonfunctional Requirements


2.9.1 Performance Requirements

• Scalability: System should be able to handle a number of users. For e.g.


Handling around thousand users at the same time.

• Usability: Simple user interfaces that a layman can understand.

• Speed: Speed of the system should be responsive i.e. response to a particular action
should be available in short period of time. For e.g. on registering as a new user the
notification about the approval is sent immediately to the respective user through email.
Updating the account takes few seconds for the changes if the entry is not starred.

2.10 Security Requirements


• The new profile formed is validated against the given email address.

• The system or the system databases should not be manipulated by the user. In case of
any such manipulations by the registered user, strict actions to be taken for the safety of
the system.
Software Requirements Specification for Social Networking Website

3. MILESTONE 3
3.1 Design Phase

1. Use case diagrams.

Login Page

Fig 1 LOGIN PAGE


Software Requirements Specification for Social Networking Website

Home Page

Fig 2 HOME PAGES


Software Requirements Specification for Social Networking Website

Buy Sell Page

Fig 3 BUY – SELL PAGE

Video Page

Fig 4 VIDEO PAGE


Software Requirements Specification for Social Networking Website

Blog Page

Fig 5 BLOG PAGE


Software Requirements Specification for Social Networking Website

3.1.1 Package Diagram and Deployment Diagram

Package Diagram

Fig 6 Package Diagram

Deployment Diagram
Software Requirements Specification for Social Networking Website

Fig 7 Deployment Diagram

3.1.2 Database Schema design

REGISTER TABLE

USER_ID PASSWORD FIRST_NAME LAST_NAME GENDER DOB ADDRESS

USER_ ID IS THE PRIMARY KEY

FRIEND LIST TABLE

USER_ID FRIEND_USER_ID

USER_ID IS THE FOREIGN KEY REFERRED FROM REGISTER TABLE


Software Requirements Specification for Social Networking Website

VIDEO TABLE

USER_ID URL

USER_ID IS THE FOREIGN KEY REFERRED FROM REGISTER TABLE

PHOTO TABLE

USER_ID LINK

USER_ID IS THE FOREIGN KEY REFERRED FROM REGISTER TABLE

BLOGGING TABLE

USER_ID TITLE CONTENTS DATE_OF_CREATION

USER_ID IS THE FOREIGN KEY REFERRED FROM REGISTER TABLE

BUY TABLE

USER_ID LIST_OF_PRODUCTS START_PRICE BIDDER_ID BID_PRICE

USER_ID IS THE FOREIGN KEY REFERRED FROM REGISTER TABLE

SELL_TABLE

USER_ID IMAGE_LINK DESCRIPTION START_PRICE LIST_OF_PRODUCTS


Software Requirements Specification for Social Networking Website

USER_ID IS THE FOREIGN KEY REFERRED FROM REGISTER TABLE

MESSAGE TABLE

USER_ID RECEIVER_ID MESSAGES

USER_ID IS THE FOREIGN KEY REFERRED FROM REGISTER TABLE

3.1.3 Database work

All the database queries that will be required for the project have been completed. The
structure of the database is subject to change according to the requirements of the project
and the need to incorporate new features or update existing ones.

Some changes have been made to the existing database queries:

1. Change made to the register table

Register_table query
CREATE TABLE register_table(
user_id VARCHAR( 20 ) NOT NULL ,
password VARCHAR( 30 ) NOT NULL ,
first_name VARCHAR( 50 ) NOT NULL ,
last_name VARCHAR( 50 ) NOT NULL ,
gender VARCHAR( 10 ) NOT NULL ,
date_of_birth VARCHAR(20) NOT NULL ,
street VARCHAR(20) NOT NULL ,
city VARCHAR(20) NOT NULL ,
state VARCHAR(20) NOT NULL ,
zip integer(20) NOT NULL ,
country VARCHAR(20) NOT NULL ,
email VARCHAR(20) NOT NULL ,
PRIMARY KEY ( user_id )
) ENGINE = MYISAM
Friend_list table
CREATE TABLE friend_list (
Software Requirements Specification for Social Networking Website

user_id VARCHAR( 20 ) NOT NULL ,


friend_user_id VARCHAR( 20 ) NOT NULL ,
CONSTRAINT user_id_fk FOREIGN KEY(user_id)
REFERENCES register_table(user_id) ON DELETE CASCADE,
CONSTRAINT friend_user_id_fk FOREIGN KEY(friend_user_id)
REFERENCES register_table(user_id) ON DELETE CASCADE
) ENGINE = MYISAM ;

The register table query that was mentioned earlier was modified to add the other
details like gender,street etc. These values will be used to display the data on the user
profile page.

2 .Change made to the videos table query

CREATE TABLE video (


user_id VARCHAR( 20 ) NOT NULL ,
video_id VARCHAR( 20 ) NOT NULL ,
UNIQUE(video_id),
CONSTRAINT user_id_fk FOREIGN KEY(user_id)
REFERENCES register_table(user_id) ON DELETE CASCADE
) ENGINE = MYISAM ;

The Video table will now have a video_id unique attribute to disallow redundant data
into the database. All other details have been implemented dynamically using the
youtube API.

3. Changes made to the message table query

CREATE TABLE message (


Seq INT NOT NULL AUTO_INCREMENT,
user_id VARCHAR( 20 ) NOT NULL ,
receiver_user_id VARCHAR( 20 ) NOT NULL ,
message VARCHAR( 350 ) NOT NULL,

PRIMARY KEY(seq),
CONSTRAINT user_id_fk FOREIGN KEY(user_id)
REFERENCES register_table(user_id) ON DELETE CASCADE,

CONSTRAINT receiver_user_id_fk FOREIGN KEY(receiver_user_id)


REFERENCES register_table(user_id) ON DELETE CASCADE
) ENGINE = MYISAM
Software Requirements Specification for Social Networking Website

The message table now limits the maximum number of characters for a single
message to be 350 characters. This change was made to save space utilized and the
memory footprint of our project. Another change made was adding the sequence
attribute which is the primary key of the message table. This was added because data
base inconsistency was occurring during the actual implementation phase.

4. Changes made to the blog table query:


CREATE TABLE blog (
user_id VARCHAR( 20 ) NOT NULL ,
title VARCHAR( 100 ) NOT NULL,
contents LONGBLOB NOT NULL,
date_of_creation DATE NOT NULL,
CONSTRAINT user_id_blog_fk FOREIGN KEY(user_id)
REFERENCES register_table(user_id) ON DELETE CASCADE
) ENGINE = MYISAM ;

The actual contents of the blog are now stored with the data type CLOB instead of
LONGBLOB because CLOB satisfies all our requirements and saves some memory too.

3.2 Programmer’s Point of View


The earlier section covers the schema of the project with the design of the tables being created.
For all pages we are going to use PHP and HTML as frontend and MySQL as backend.

Login Page:

We are going to verify the login credentials from register table. If user enters valid information
he/she will get logged in and home page will get displayed. If person is new user he will select
Register page option.

Register Page:

Register page will take basic user details and after checking all the values (eg. Empty values,
Invalid Password etc.) It will insert all the values in the register table. After successful inserts,
user will get directed to login page.

Home Page:

On the home page, we will have friends list displayed in html table on the right side of page and
all these values will be retrieved from friends table. This page will also have links to pages like
videos, blogs etc. The middle part of home page will have entries displayed from register table.

Edit profile page:


Software Requirements Specification for Social Networking Website

Once the user has logged on, he can change the profile details by using the edit profile page.
When the user reaches this page, data will be obtained from the register table (select query on
the register table) and displayed in the respective text boxes. The user could change these
details if he wishes to do so. After he finishes editing the details he can click the update button.
When this button is clicked the new details will be updated in the register table. These new
details will be selected from the register table during future references.

Video Page:

For video page we are going to use YouTube API. We will have search video option. After
searching the videos, option will be provided to user for adding the video to his/her profile. For
this functionality will add the ‘Embed’ details for that video will get added to video tables. All the
profile videos will get displayed on the right hand side of the page.

Image Page:

On the image page we will have browse button. User will select the image file from his local
machine and click on add Image. After adding the image, the image will be stored in the images
folder on the server. And the URL of that image will be stored in the images tables. Below the
browse button, all the images added for the current user will get displayed from images table.

Sell page:

This page will allow the user to add the image of the product he wishes to sell. The uploaded
image would be stored on the server and the image link would be saved in the sell table. Along
with the product image the description of the product and the start price is entered in the sell
table. The sell page would also have the option of adding more products if the user wishes to
sell. In this scenario the entries would be added in the sell table. If the user wishes to see all the
items which are up for sale, the user can click on the link “List Of All Items” .All the information
about the products would be retrieved from the sell table.

Buy Page:

This page shows the Interface through which the user can Bid for the products available for the
user. This page requires some validations like for example, the product seller must provide with
an initial price. The bid value must be greater than the starting price. When the user selects the
product to be bided from the drop down menu a query is fired to the buy table in the database
which then retrieves the image and the corresponding details of the product and displays it on
the right side. The user enters the bid value and selects buy to place the bid for the product.
Now if the bid value is maximum and suitable then it is notified to the seller user to accept the
bid or reject it. If the seller accepts it then the product is registered in the user’s name that bids
for it and hence owns the product.

Blogging Page:
Software Requirements Specification for Social Networking Website

The blogging page would give you a create new blog form. The user will enter the title of the
blog and the contents of the blog in the respective text boxes. After entering the user will click
the create button. When the create button is clicked the title of the blog and the contents of the
blog will be saved in the blog table. All previously stored blogs will be retrieved from the blog
table and displayed below to create new blog form.

3.3 Functional Break Down of Social Networking Website:


Software Requirements Specification for Social Networking Website
Software Requirements Specification for Social Networking Website

3.4 Work Distribution of the Project:


Designing phase:

1.Samarth Save
2.Tauseef Jamadar
High Level
3.Swapnil Deo
Design
4.Vaibhav Chitnavis
5.Abhishek Iyer
Software Requirements Specification for Social Networking Website

Implementation phase:

Social Networking
Website

Tauseef Jamadar Samarth Save Vaibhav Chitnavis Abhishek Iyer Swapnil Deo

Photos Page
and login
User Profile Blogging page,
Buy page Video Page
and edit Page and Sell registration
with and
profile with page with with
Validation messaging
validation validation validation

• Low level design depends on the changes and improvement done during the implementation
phase

Testing Phase:

Testing phase will be done by interchanging the pages in the group.

Biding page : Samarth Save.

Video page : Tauseef Jamadar.

User profile: Swapnil Deo

Blogging : Vaibhav Chitnavis

Photos page: Abhishek Iyer


Software Requirements Specification for Social Networking Website

3.5 Planning Chart for Social Networking Website


Weeks 1 2 3 4 5

4 Days of work
(approximately 2 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4
hours each)

• Requirements Analysis
Understanding
The primary needs

• Design & Review.


High Level Design
(HLD)
HLD Review

Low Level
Design
(LLD)
LLD Review.

Coding and Reviews

Testing