Srs For Tumblr
Srs For Tumblr
Software Requirements
Specification
for
Tumblr
Table of Contents
Table of Contents .......................................................................................................................... ii
Revision History ............................................................................... Error! Bookmark not defined.
1. Introduction ..............................................................................................................................1
1.1 Purpose ........................................................................................................................................ 1
1.2 Document Conventions ............................................................................................................... 1
1.3 Intended Audience and Reading Suggestions ............................................................................. 1
1.4 Product Scope .............................................................................................................................. 1
1.5 References ................................................................................................................................... 1
2. Overall Description ..................................................................................................................2
2.1 Product Perspective ..................................................................................................................... 2
2.2 Product Functions ........................................................................................................................ 2
2.3 User Classes and Characteristics ................................................................................................. 3
2.4 Operating Environment ............................................................................................................... 3
2.5 Design and Implementation Constraints ..................................................................................... 3
2.6 User Documentation .................................................................................................................... 4
2.7 Assumptions and Dependencies .................................................................................................. 4
3. External Interface Requirements ...........................................................................................4
3.1 User Interfaces ............................................................................................................................. 4
3.2 Hardware Interfaces .................................................................................................................... 4
3.3 Software Interfaces ...................................................................................................................... 4
3.4 Communications Interfaces ......................................................................................................... 4
4. System Features .......................................................................................................................5
Appendix A: Glossarry………………………………………….17
1. Introduction
1.1 Purpose
The purpose of this document is to present a detailed description of Tumblr. It describes the
software requirements and specifications to Tumblr which is a microblogging and social
networking website founded by David Karp in New York city in 2007, and is presently owned
by Yahoo!
The document is intended for all the stakeholder customer, new users to social networking sites and
the developer (designers, testers, maintainers).
The purpose of Tumblr is to have a way to put all the blogs, pictures, anything that one wants to
share with other people in one single location. This is useful for personal interests, such as putting
writing compositions together or photography compositions together but also for educational
reasons.
1.5 References
https://www.tumblr.com/policy/en/terms-of-service#dmca
https://www.tumblr.com/
2. Overall Description
Dashboard: The dashboard is the primary tool for the typical Tumblr user. It is a live feed of recent
posts from blogs that one has followed. Through the dashboard, users are able to comment, reblog,
and like posts from other blogs that appear on their dashboard. The dashboard allows the user to
upload text posts, images, video, quotes, or links to their blog with a click of a button displayed at
the top of the dashboard. Users are also able to connect their blogs to their other networking sites
such as Twitter and Facebook accounts, so whenever they make a post, it will also be sent as a tweet
and a status update.
Queue: Users are able to set up a schedule to delay posts that they make. They can spread their
posts over several hours or even days
.
Tags: For each post a user creates, they are able to help their audience find posts about certain
topics by adding tags. If someone were to upload a picture to their blog and wanted their viewers to
find pictures, they would add the tag #picture, and their viewers could use that word to search up
posts with the tag #picture.
HTML editing: Tumblr allows users to edit their blog's theme HTML coding to control the
appearance of their blog. Users are also able to use a custom domain name for their blog.
Inbox and messaging
Tumblr blogs may optionally allow users to submit questions, either as themselves or anonymously,
to the blog for a response. Tumblr also offered a "fan mail" function, allowing users to send
messages to blogs that they follow.
On November 10, 2015, Tumblr introduced an integrated instant messaging function, allowing users
to chat between other Tumblr users. The feature is being rolled out in a "viral" manner; it was
initially made available to a group of 1500 users; other users may receive access to the messaging
system if they are sent a message by any user that has received access to the system itself. The
messaging system only supports text-based conversations, although other features (such as group
chat and image embeds) will be added in the future. The messaging platform will also replace the
fan mail system, which has been deprecated.
Editorial content
In May 2012, Tumblr launched Storyboard, a blog managed by an in-house editorial team which
features stories and videos about noteworthy blogs and users on Tumblr. In April 2013, Storyboard
was shut down.
The users of this site do not require any technical expertise or skills. Anyone above the age of 13
years can use Tumblr to posts his/her original content. Users with different age group and interests
use this site. Users who are interested in blogging, they use this site for blogging and other use
Tumblr according to their interest.
Operating Environment
The hardware, software and technology used should have following specifications:
• Greatly user friendly
• Ability to run for long period of time.
• Resource requirement from the device must be minimum.
• Must support touch and keypad inputs from device.
• Ability to connect to server side database and Softwares.
• Ability to validate user and get input from user.
• Ability to provide output in minimum amount of time.
.
4. System Features
Functional Requirements 1: validate user
Outputs: the new changes have been displayed in the users account.
4.4.1 Availability
The Tumblr Website has to be available 24 hours a day.
4.4.2 Security
The Tumblr Website’s connection must be highly secured.
4.4.3 Maintainability
Maintain by highly professional maintainers, only maintainers are allowed to update and add new
features to the network.
6. Other Requirements
Video and Audio calling.
Security of Tumblr.
Database for tumbler.
7. ER Diagram
9.TESTING:
Test Cases TC 1:
TC 2:
Control Panel Purpose: To check if admin can change and modify database.
Pre-Requirement: User must be admin.
Test Data: MySQL query and pup Code.
Test-Methods:
1) Admin can execute new modified PHP code.
2) Admin must successfully execute MySQL queries.
TC 3:
Search Result: To check if entered data is searched from database in right manner.
Pre-Requirement: User must be registered user.
Test Data: Other user’s name, Post, Pictures, songs etc.
Test-Methods:
1)Don’t enter anything in box and search.
2)Enter Post name and search.
3)Enter song name and search.
4)Enter Picture name and search.
TC 4:
Reclog purpose: To check if user can reclog a post successfully.
Pre-Requirement: User must be registered user.
Test Data: pictures, posts, audio, video
Test-Methods:
1)Search through entire posts and reclog.
2)Enter Audio name and search then reclog song.
3)Enter video name and search then reclog video.
TC 5:
Log Out Purpose: To check if User Can Log Out from Tumblr successfully.
Pre-Requirement: User must have already logged in.
Test Data: NULL
Test-Methods:
1)Close the tab and check if it is automatically logged out or not.
TC 6:
TC 7:
TC 8:
TC 9:
TC 10:
10.FRONT END
Front end for signup/login form
<!DOCTYPE html>
<html lang = "en">
<head>
<meta charset = "utf-8">
<meta http-equiv = "X-UA-Compatible" content = "IE = edge">
<meta name = "viewport" content = "width = device-width device, initial-scale = 1">
<title>Tumblr</title>
</head>
<body >
<script src =
"https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src = "//maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<meta name="author" content="">
<title>Theme</title>
<link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"
rel="stylesheet">
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.0/themes/base/jquery-ui.css">
<link rel="stylesheet" href="/resources/demos/style.css">
<style>
#draggable
{
width: 150px; height: 150px; padding: 1em;
padding-top:5px
background:buttonface;
}
#mygame
{
width: 200px;
float: left;
}
#startover
{
width: 100px;
height: 50px;
text-align: center;
padding-top: 5px;
float: right;
}
.hoverOut
{
color: red;
background-color: yellow;
}
.hoverIn
{
background-color: red;
color: yellow;
}
#logout
{
float: right;
padding-right: 10px;
padding-top: 10px;
}
</style>
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.0/jquery-ui.js"></script>
<script>
$( function() {
var score=0;
$('#draggable').draggable();
$('#startover').addClass('hoverOut');
$('#success').hide();
$('#doremon').click(function()
{
score++;
$('#score').text(score);
$('#success').show('slow').fadeOut(2000);
}
);
$('#startover').hover(function()
{
score=0;
$('#score').text(score);
$('#startover').addClass('hoverIn').removeClass('hoverOut');
},function()
{
$('#startover').removeClass('hoverIn').addClass('hoverOut');
}
);
} );
</script>
</head>
<body>
<div id="wrapper">
<div id="logout">
<form class="form-group" action="usercontroller" method="post">
<input type="submit" class="btn btn-primary" name="button" value="logout"/>
</form>
</div>
<div id="draggable" class="ui-widget-content">
<p>Welcome TO Tumblr</p>
</div>
</div>
</body>
</html>
10.BACK END
package controller;
import java.io.IOException;
import java.io.PrintWriter;
import java.nio.channels.SeekableByteChannel;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import dao.userdao;
import model.user;
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException
{
HttpSession session=req.getSession();
resp.setContentType("text/html");
PrintWriter out=resp.getWriter();
String button=req.getParameter("button");
if(button.equals("logout"))
{
RequestDispatcher rd=req.getRequestDispatcher("index.html");
rd.include(req, resp);
session.invalidate();
if(button.equals("login"))
{
String userid=req.getParameter("userid");
String password=req.getParameter("passwprd");
System.out.println();
user user=new user();
user.setUserid(userid);
user.setPassword(password);
userdao userdao=new userdao();
Boolean b=userdao.find(user);
if(b==true)
{
session.setMaxInactiveInterval(1);
session.setAttribute("userid", userid);
RequestDispatcher rd=req.getRequestDispatcher("home.jsp");
rd.include(req, resp);
}
else
{
out.println("Server problem or password is not correct");
RequestDispatcher rd=req.getRequestDispatcher("index.html");
rd.include(req, resp);
}
if(button.equals("signup"))
{
String userid=req.getParameter("userid");
String password=req.getParameter("password");
String email=req.getParameter("email");
String name=req.getParameter("name");
RequestDispatcher rd=req.getRequestDispatcher("index.html");
rd.include(req, resp);
}
}
}
Model User.java
package model;
public class user
{
String name,userid,password,email;
this.email = email;
}
}
Dao
package dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import util.ConnectionProvider;
import model.user;
}
return flag;
}
ps.setString(1, user.getName());
ps.setString(2, user.getUserid());
ps.setString(4, user.getPassword());
ResultSet rs=ps.executeQuery();
if(rs.next())
{
flag=true;
}
} catch (SQLException e) {
flag=false;
e.printStackTrace();
}
return flag;
}
ConnectionProvider.java
package util;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.util.Properties;
}
}
} catch (Exception e)
{
e.printStackTrace();
}
return con;
}
10.Appendix A: Glossary
Account
An individual has a single account on Tumblr which can be accessed using your login id and
password. First time users need to sign up and create an account.
Sign-up
The first-time users of Tumblr need to sign up that is register themselves by providing some basic
contact information to the application. The application accesses the basic information of the user
and stores it.
Username
The username is the name which the user uses and is visible to other users using the application the
username is not permanent and can be changed by going to the blog settings.
Posts
What one puts or displays on his/her timeline or dashboard is called a post. Tumblr allows seven
types of post that are text, photo, quote, link, chat, audio and video.
Microblogging
Tumblr is a microblogging site to which the user makes short and frequent posts. The activity or
practice of making short, frequent posts to a microblog is called microblogging. Tumblr is an
exciting path for all bloggers who prefer to post frequently.
Reblogging
It is the mechanism in blogging which allows users to repost the content of another user's post with
an indication that the source is another user.
Follow
This feature of Tumblr allows one to follow the posts and blogs of other users that is the follower
gets a notification when the person being followed makes a post.
Dashboard:
The dashboard is the primary tool for the typical Tumblr user. It gives live feed of recent posts from
blogs that one follows. Through the dashboard, users are able to comment, reblog, and like posts
from other blogs that appear on their dashboard