Download - Group1 Social Networking
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
Registration page
Back to
Login Page
General
Social
Contact
Update
Page
User Page
Photo/Video
sharingBlogSell Products
Buying And Selling
Of products
Back to User Page
Logout
If the user is not a
registered member.
If the user is a registered
member.
Edit Profile
Optional
User’s Choice
Search Friends
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 IS THE PRIMARY KEY
FRIEND LIST TABLE
USER_ID FRIEND_USER_ID USER_ID IS THE FOREIGN KEY REFERRED FROM REGISTER TABLE
USER_ID PASSWORD FIRST_NAME LAST_NAME GENDER DOB ADDRESS
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:
High Level
Design
1.Samarth Save
2.Tauseef Jamadar
3.Swapnil Deo
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
Buy page
with
Validation
Video Page
and
messaging
User Profile
and edit
profile with
validation
Blogging
Page and Sell
page with
validation
Photos Page
and login
page,
registration
with
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
hours each) 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4
• Requirements Analysis
Understanding
The primary needs
• Design & Review.
High Level Design
(HLD)
HLD Review
Low Level
Design
(LLD)
LLD Review.
Coding and Reviews
Testing