Vous êtes sur la page 1sur 18

Software Requirements Specification

For
JAVA Social Networking Application
Version 0.1

Prepared by Teodor Patra and Ionel Aungurencei Guided by Conf. dr. ing. Mihai Horia Zaharia

Technical University of Iai

05 Mar 2012

http://code.google.com/p/jasna/

Table of Contents
Contents
MILESTONE 1.............................................................................................................................. 1 MILESTONE 2.............................................................................................................................. 2 Other Requirements...................................................................................................................... 8 MILESTONE 3............................................................................................................................ 10 Database Relationship ................................................................................................................ 15

Page ii

MILESTONE 1
1.1
1.1.1

Introduction
Purpose

This software requirement specification (SRS) document describes the functional and nonfunctional requirements of our social networking application. 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 Conf. dr. ing. Mihai Horia Zaharia.

1.2
1. 2. 3. 4. 5.

Intended Audience
Software developer Administrator Security Analysts Users of the system Maintenance Team

1.3

Project Scope

The social networking application is 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. This application 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 application. This blog can be handled by the user as he wants. It also provides the features of adding videos and photos.

Page 1

MILESTONE 2
1.4 Product Perspective

This social networking application challenges to give a better socializing and secure System at the same place.

1.5

Product Functions

Authorization: Entire authority of the system is to the administrators 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 of an action. Approving the update of the account details 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 or misconduct.

Application Information:

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

1.6

Operating Environment

Operating System Support:

1. WINDOWS 98/XP/VISTA/7/8
Page 2

2. Mac OS 3. Linux
Internet Connectivity Required

1.7

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.

1.8

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

1.9
1.9.1

External Interface Requirements


Flow Diagram

Fig 1: Flow Diagram

Page 4

1.9.2

Activity Chart for Social Networking Website

1.9.3

Communications Interfaces

To use the social networking system efficiently the user needs to have an internet connection with a personal computer running with an Operating System, like Windows or Linux, that has a JVM installed.

Page 5

1.10 System Features


The social networking application is intended for connecting people. 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)

1.11 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.
Features with an asterisk (*) means this feature will be implemented if time permits. Features with an asterisk (*) means this feature will be implemented if time permits. 3 Features with an asterisk (*) means this feature will be implemented if time permits.
1 2

Page 6

Get forgotten password via Email In case of forgotten account password, the user can receive a mail containing a verification code to authenticate 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 YouTube and share with people Blogging The user has the right to write posts in his blog and publish them.

1.12 Nonfunctional Requirements


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

1.13 Security Requirements


1. The new profile formed is validated against the given email address. 2. The password should be at least 8 characters, containing at least a character and a number. 3. The systems backend or the system databases should not be manipulated by the normal users.

Page 7

Other Requirements
1.14 System Development Requirements
1.14.1 Description This section describes what resources will be utilized in the development and use of the software. 1.14.2 Requirements Req # REQ-SR1 REQ-SR2 REQ-SR3 REQ-SR4 REQ-SR5 REQ-SR6 REQ-SR7 Description The database backend system in use will be MYSQL. The Front-end and middle logic tools and technology will be written using Java Code will be stored on the Google Code SVN repository. Development environment will be the Eclipse Integrated Development Environment. The database and other dependences will use Tomcat as a web server. The project will use Iterative model (Scrum Framework) and Agile Methodology. Bugzilla will be for bug tracking

3.1.2.1 Agile Methodology

Page 8

3.1.2.2 Iterative Model

3.1.2.3 Scrum Framework

Page 9

MILESTONE 3
1.15 Design Phase
1.15.1 Use case diagrams.

1.15.1.1Login/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

1.15.1.2Home Page

Page 11

1.15.1.3Wall Page

Delete message from own wall

User Reply to Message

1.15.1.4Blog Page

Add/ Modify/ Delete Post to blog

Add/ Delete comment on blog post User

1.15.1.5Profile Page

Add/ Modify/ delete profile info User

Page 12

1.15.1.6Search Friend Page

Get List of Searched Friend

Add friend User Write message on friends wall

Delete own message from friendrs wall

1.15.1.7Friend 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

1.15.1.8Photo Page

Add/ Delete photo

User

1.15.1.9Video Page

Add/ Delete video Link User

Page 14

Database Relationship

Page 15

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