You are on page 1of 27

Larkut.

com

Software Requirements Specification


For
Larkut.com Social Networking Website
Version 1.0

Prepared by Trupti Jaiswal

Guided by Prof. Robert Zhu

Herguan University

06/11/2010

Page i

Larkut.com

Table of Contents
Table of Contents .......................................................................................................................... ii Revision History ............................................................................................................................ ii 1. MILESTONE 1 ........................................................................................................................1
1.1 Introduction ................................................................................................................................. 1 1.1.1 Purpose .................................................................................................................................... 1 1.1.2 Document Conventions ........................................................................................................... 1 1.2 Business Requirement ................................................................................................................. 1 1.2.1 Business Opportunity .............................................................................................................. 1 1.3 Intended Audience ....................................................................................................................... 1 1.4 Project Scope ............................................................................................................................... 1 1.5 References ................................................................................................................................... 2 2.1 Product Perspective ..................................................................................................................... 2 2.2 Product Functions ........................................................................................................................ 2 2.3 Operating Environment ............................................................................................................... 3 2.4 Design and Implementation Constraints...................................................................................... 3 2.5 Assumptions and Dependencies .................................................................................................. 3 2.6 External Interface Requirements ................................................................................................. 4 2.6.1 Flow Diagram.......................................................................................................................... 4 2.6.2 Activity Chart for Social Networking Website ....................................................................... 5 2.6.3 Communications Interfaces ..................................................................................................... 5 2.7 System Features ........................................................................................................................... 6 Main Features ....................................................................................................................................... 6 2.8 System Feature ............................................................................................................................ 6 2.9 Nonfunctional Requirements ....................................................................................................... 7 2.9.1 Performance Requirements ..................................................................................................... 7 2.10 Security Requirements................................................................................................................. 7 3.1 System Development Requirements ............................................................................................ 8 3.1.1 Description .............................................................................................................................. 8 3.1.2 Requirements........................................................................................................................... 8 4.1 Design Phase ............................................................................................................................. 10 4.1.1 Use case diagrams. ................................................................................................................ 10 4.1.2 Sequence Diagram ................................................................................................................ 15

2. MILESTONE 2 ........................................................................................................................2

3. Other Requirements ................................................................................................................8

4. MILESTONE 3 ......................................................................................................................10

5. Database Relationship ...........................................................................................................24

Revision History
Name Trupti Jaiswal Trupti Jaiswal Trupti Jaiswal Date 07/01/2010 07/03/2010 07/15/2010 Reason For Changes First Draft First Revision Final Revision Version V0.1 V0.2 V1.0

Page ii

Larkut.com

1. MILESTONE 1
1.1 Introduction
1.1.1 Purpose This software requirement specification (SRS) document describes the functional and nonfunctional requirements of the Larkut.com, a social networking system. Business opportunity and objectives is briefly summarized followed by detailed description of the systems scope, vision, use case, features, functionality, feasibility and other related requirement issues. In the projects later phases, such as system design, database design, implementation and testing, this document should be referred as functional model of the system. 1.1.2 Document Conventions All system development activities should follow the final version of this document. Any discrepancy that found during in later phases should be modified subject to SRS. However, this document may be subject to change dependent on the decision of Guide Prof. Robert Zhu.

1.2 Business Requirement


1.2.1 Business Opportunity Product intends to provide a well established web-based social networking system. As Internet and Webbased applications become more and more crucial and widely adapted in todays society, people have found that most everyday businesses can be carried out online in a more flexible and convenient way. Social network got a great place to communicate make people closer at particular place. It has all things which makes social networking site more enjoying and impressive to people who are using it.

1.3 Intended Audience


1. 2. 3. 4. 5. Software developer Administrator Security Analysts Users of the system Maintenance Team

1.4 Project Scope


The social networking website is an online community designed to make 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.

Page 1

Larkut.com

This website also provides the features of blogging. The main idea 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 .It also provides the features of adding videos and photos. This website includes buying and selling of products feature. People using this website can market to buy and sell products. The main purpose behind this classified functionality will help people to buy products in trusted circle.

1.5 References
Larkut.com project specification http://www.google.com http://www.orkut.com http://www.facebook.com http://craigslist.org

2. MILESTONE 2
2.1 Product Perspective
This social networking website challenges to give a better socializing and classified 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. 2. 3. 4. 5. 6. 7.

Authentication of the users after registration. Mails to the users regarding the approval as a registered user, disapproval Mentioning the appropriate reasons. Updating the account details on the request of the users. Notification to the end users regarding proposals. Mentioning the security measures for the systems safety. Deleting an account/user from the systems databases on request of the user.

Page 2

Larkut.com

Website Information:

1. Displaying History: Mentions the history about the system such as founder of the system. 2. Contact details: Contact details. 3. Advertisements: Website will contain advertisements related to all various products present for selling.

2.3 Operating Environment


Internet Browser Support:

1. 2. 3. 4. 5.

Internet Explorer 6/7/8 Mozilla Firefox Google Chrome Opera Safari

Operating System Support:

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


Internet Connectivity Required

2.4 Design and Implementation Constraints


1. Security: The system should take care of hacks like SQL injection. It should also not expose any sensitive information to normal users. 2. Fault Tolerance: Data should not become corrupted in case of system crash or power failure.

2.5 Assumptions and Dependencies


1. Central server of the system must be able to handle all the incoming requests simultaneously. 2. Back up of the databases in case of hardware failure, disaster, natural calamities. 3. No data loss in case of handling of the system by the administrators or the system related personnel

Page 3

Larkut.com

2.6 External Interface Requirements


2.6.1 Flow Diagram

Fig 1: Flow Diagram

Page 4

Larkut.com

2.6.2 Activity Chart for Social Networking Website

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.

Page 5

Larkut.com

2.7 System Features


The social networking website is for people to get connected, there is also a feature for them to post classifieds 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. Main Features FE-1: FE-2: FE-3: FE-4: Create/Delete Profile Update account Get forgotten password through Email Message system (write on others wall/Delete own message from others wall/delete message from own wall) FE-5: Search members /add as member/delete member FE-6: Blog system (add/modify/delete posts) FE-7: Add comment on others blog post FE-8: Post and search classifieds. FE-9: Add comments on classifieds. FE-10: User login/Logout *FE-111: Add/ Delete/Modify Photo Galleries *FE-122: Add/ Delete/Modify Video Galleries *FE-133: Update/add/delete company information, Site administration to manage site content like Admin Users Members, Pictures, Videos, Music, Blog, Categories, Blog ,Posts, classifieds Categories, block users (by administrator)

2.8 System Feature


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

1. The user can delete his/her account.


Updating the account 1. The user is allowed to update his/her account. 2. The administrator updates the profile accordingly. 3. The user is not allowed to keep any mandatory fields blank while updating. e.g. Name, Last name, email Id etc.

1 2

Features with an asterisk (*) means this feather will be implemented if time permits. Features with an asterisk (*) means this feather will be implemented if time permits. 3 Features with an asterisk (*) means this feather will be implemented if time permits.

Page 6

Larkut.com

Forget password through Email User can request for new password. Existing password will be sent to the registered email Id of the user. Message system User can send and get message to his message box. Search members /add as member/delete member

User can search, add and delete members in his list to widen his network
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 blog and publish it. Post and search classifieds. The users can place their items they need to sell on this website. The users can also search items to buy from this website. As this is a social network website one can trust on the quality of the items begin posted.

2.9 Nonfunctional Requirements


2.9.1 Performance Requirements
Scalability: System should be able to handle 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


1. The new profile formed is validated against the given email address. 2. The system or the system databases should not be manipulated by the normal users.

Page 7

Larkut.com

3. Other Requirements
3.1 System Development Requirements
3.1.1 Description This section describes what resources will be utilized in the development and use of the software. 3.1.2 Requirements Req # REQ-SR1 REQ-SR2 REQ-SR3 REQ-SR4 REQ-SR5 REQ-SR6 REQ-SR7 REQ-SR8 Description The database backend system in use will be MYSQL5.1. The Front-end and middle logic tools and technology will be written using Java2EE, Spring, Hibernate, AJAX, JSP, Javascript, JQuery, Servlets, HTML, CSS Code will be stored on the Google Code SVN repository. Development environment will be the Eclipse Integrated Development Environment. I will use Tomcat as a web server. I will use Iterative model and Agile Methodology. Bugzilla for bug tracking I may make changes to any of the above system requirement at anytime and for any reason.

3.1.2.1 Agile Methodology

Page 8

Larkut.com

3.1.2.2 Iterative Model

3.1.2.3 Scrum Framework

Page 9

Larkut.com

4. MILESTONE 3
4.1 Design Phase
4.1.1 Use case diagrams.

4.1.1.1 Login/Registration
<<include>> Regester for login Get email to confirm registration

<<include>> Login User Validate user

<<include>> Request for forgetted passward <<include>>

Get password email

Page 10

Larkut.com

4.1.1.2 Home Page

Message

Blog

Search to buy item

Post to sell item

Photo User Videos

Profile

Search friends

Friend List

Send Email To Add Friend

Accept/Reject Friend Request

Add HomePage Photo

Logout

Page 11

Larkut.com

4.1.1.3 Wall Page

Delete message from own wall

User Reply to Message

4.1.1.4 Blog Page

Add/Modify/Delete Post to blog

Add/Delete comment on blog post User

4.1.1.5 Profile Page

Add/Modify/delete profile info User

Page 12

Larkut.com

4.1.1.6 Search Friend Page

Get List of Searched Friend

Add friend User Write message on friends wall

Delete own message from friendrs wall

4.1.1.7 Friend List Page

View Profile Info

Write message on friends wall

Delete own message from friendrs wall User

Delete friends

Add/Delete comment on blog post

Page 13

Larkut.com

4.1.1.8 Buy Item Page

Search to buy item

Add/Delete Comment on Searched Item User

4.1.1.9 Sell Item Page

Add Item Details

Modify Item Details User

Delete Item Details

4.1.1.10 Photo Page

Add/Delete photo

User

4.1.1.11 Video Page

Add/Delete video Link User

Page 14

Larkut.com

4.1.2 Sequence Diagram


4.1.2.1 Validate User

User

Login Interface

Larkut Controler

User Table

1 : Enter Login Details() 2 : Submit() 3 : Check Login Info()

4 : Redirect to Home Page() Alt 5 : Display Error Message() Opt 6 : Enter Registration Details() 7 : Submit() 8 : Save Data() 9 : Send Email To Confirm Registration() 10 : Confirm Registration()

11 : Save Data of Confirmation()

Opt

12 : Request for Forget Password()

13 : Submit()

14 : Get Password()

16 : Send Email with Password Info()

15 : Post Password()

Page 15

Larkut.com

4.1.2.2 Home
User Home Interface Larkut Controler User Table Friend Table Email Controler

Opt

1 : click on Edit Profile() 2 : Submit()

3 : Redirect to profile Page() 4 : Click On Wall() 5 : Submit()

6 : Redirect to Wall Page() 7 : Click on Blog() 8 : Submit()

9 : Redirect to Blog Page() 10 : Click on Search to buy Item() 11 : Submit()

12 : Redirect to Buy Page() 13 : Click on Post to Sell Item() 14 : Submit()

15 : Redirect To Sell Page() 16 : Click On Photo() 17 : Submit()

18 : Redirect to Photo Page() 19 : Click on Video Page() 20 : Submit()

21 : Redirect to Video Page() 22 : Click on Manage Friend List() 23 : Submit()

25 : Click on Search friend()

24 : Redirect to FriendList Page() 26 : Submit()

27 : Redirect to Search Frend Page() 28 : Click on Accept Friend Request() 29 : Submit()

30 : Update()

32 : Click on Reject Friend Request()

31 : Update() 33 : Submit() 34 : Update() 36 : Submit() 37 : Submit() 38 : Update()

35 : Send Email To Add Friend()

39 : Update() 40 : Click On Logout() 41 : Submit()

42 : Redirect to Login Page()

Page 16

Larkut.com

4.1.2.3 Wall
User Message Interface Larkut Controler Wall Table

1 : Display Message()

Opt

2 : Enter Message to Reply() 3 : Submit() 4 : Save()

5 : Delete Message()

6 : Submt() 7 : Delete()

4.1.2.4 Blog

User

Blog Interface

Friends Blog Interface

Larkut Controler

Blog Table

BlogComment Table

1 : Enter Blog Post()

2 : Submt() 3 : Save()

Opt

4 : Delete Blog Request() 7 : Modify Blog Request()

5 : Submit() 8 : Submit()

6 : Delete() 9 : Modify()

10 : Add Comment()

11 : Submit()

12 : Svae()

13 : Delete Comment()

14 : Submit() 15 : Delete()

Page 17

Larkut.com

4.1.2.5 Profile
User Profile Interface Larkut Controler UserTable Address Country

1 : Modify Profile info()

2 : Submit()

3 : Update()

4 : Update() 5 : Update()

4.1.2.6 Search Friends


User HomePage Interface Search Friend List Interface Larkut Controler User Table Friend Table

1 : Enter Friend Name in search Box()

2 : Submit()

3 : Get List of Corresponding Names()

4 : Display List() Alt

5 : Display Blank Page with message()

Opt 6 : Click on Friend link() 7 : Click on add Button()

8 : Submit()

9 : Save()

10 : Save()

Page 18

Larkut.com

4.1.2.7 Friend List


User Friend List Interfase Friends Profile Interface Message Interface Blog Interface Larkut Controler Friend Table Wall Table BlogComment Table

Opt

1 : Display Friend List()

2 : Select Friend to Delete() 3 : Submit() 4 : Delete Friend() 5 : Click on some Friend Link()

6 : Submit()

7 : Display Friend Profile()

8 : Click on Wall()

9 : Submit() 10 : Display Wall Messages()

11 : Write and send Message()

12 : Submit()

13 : Save()

14 : Select own message to delete() 15 : Submit() 16 : Delete()

17 : Click on Blog()

18 : Submit() 19 : Display Blog()

20 : Write Comment to Blog()

21 : Submit()

22 : Save()

23 : Select own blog comment to delete()

24 : Submit()

25 : Delete()

Page 19

Larkut.com

4.1.2.8 Buy Item


User SearchToBuy Interface ProductList Interface Larkut Interface Product Table Product Cimment Table

1 : Enter Item Name to Buy()

2 : Submit() 4 : Display Item To Sell()

3 : Get Data()

Opt 5 : Add Comment() 6 : Submit() 7 : Save()

8 : Delete Own Comment()

9 : Submit()

10 : Delete()

Page 20

Larkut.com

4.1.2.9 Sell Item


User Product Interface ProductList Interface Larkut Controler Product Table

1 : Add Item Info()

2 : Submit() 3 : Save()

Opt

4 : Select Own Product to Modify() 6 : Display Item Info()

5 : Submit()

7 : Modify Item Info()

8 : Submit()

9 : Update()

10 : Select Own Product to Delete()

11 : Submit() 12 : Display Product Info()

13 : Delete Item()

14 : Submit()

15 : Delete()

Page 21

Larkut.com

4.1.2.10 Photo
User Photo Interface Larkut Controler Photo Table

1 : Display List of photo()

Opt

2 : Browse and Select Photo()

3 : Submit Add Request() 4 : Save()

5 : Delete Request()

6 : Submit()

7 : Delete()

Page 22

Larkut.com

4.1.2.11 Video
User Video Interface Larkut Controler Video Table

1 : Display Video list()

Opt 2 : browse Video from You tube() 3 : Submit Add Request() 4 : Save()

5 : Request to Delete Video() 6 : Submit() 7 : Delete()

Page 23

Larkut.com

5. Database Relationship

3.2 Programmers 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 JSP as frontend and MySQL as backend.
Login Page:

We are going to verify the login credentials from user 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.

Page 24

Larkut.com

This 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 user table.
Edit profile page:

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 user 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 user table. These new details will be selected from the user 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.
Photo 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. The uploaded image would be stored on the server and the image link would be saved in the table. Along with the product image the description of the product and the start price is entered in the table. The page would also have the option of adding more products if the user wishes to. In this scenario the entries would be added in the 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 product 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 owner must provide with an initial price. User who wants to buy product can comment on the product detail page and contact the owner.
Blogging Page:

The blogging page would give you create new blog post form. The user will enter the title of the blog post and the contents of the blog post 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 post and the contents of the blog post will be saved in the blog table. All previously stored blog posts will be retrieved from the blog table and displayed below to create new blog form.

Page 25