Sunteți pe pagina 1din 10

Software Requirements Specification

for
Shakville

Product Owner: Edwin Rodriguez


Scrum Master: Justin
Development Team: Andy, Jeremy, Sarah, Sebastian

1
Product Owner: Edwin Rodriguez

Signature: ___________________________ Date: ____________

Scrum Master: Justin

Signature: ___________________________ Date: ____________

2
Table of Contents

Table of Contents……………………………………………………………………………2
1. Problem Description……………………………….……………………………………..3
2. Approach...……………………………….……………………………………………….4
3. Functional Requirements……………………………….………………………………..4
​3.1 Blog Feed……………………………….……………………………………………..4
3.2 Email Confirmation……………………………….…………………………………...4
3.3 Account Creation……………………………….……………………………………..5
3.4 Create a New Blog……………………………….…………………………………....5
3.5 Account Privacy……………………………….……………………………………....5
3.6 Profile Picture……………………………….………………………………………...5
3.7 Liking/Dislike a Blog……………………………….………………………………...5
3.8 Commenting on a Blog……………………………….……………………………....6
3.9 Embedded links on the site……………………………….…………………………..6
3.10 Tags for blog posts……………………………….……………………………….....6
3.11 Search for blogs using tags……………………………….…………………………6
3.12 Notifications……………………………….………………………………………..6
3.13 Hiding comments on the blog feed………………………………………………....6
3.14 Account blog feed……………………………….……………………………….....7
3.15 Filter for inappropriate language…………………………………………………....7
3.16 Account activity history……………………………….……………………………7
3.17 Replying to comments……………………………….……………………………..7
4. Nonfunctional Requirements……………………………….………………………..…9
​4.1 Aesthetics……………………………….…………………………………………....9
4.2 Environment……………………………….………………………………………....9
4.3 Operating Constraints……………………………….……………………………….9
4.4 Performance……………………………….………………………………………....9
4.5 Privacy……………………………….……………………………………………....9
​4.6 Quality……………………………….……………………………………………....10
4.7 Usability……………………………….………..…………………………………...10

3
1. Problem Description

This web blogging service will consist of three parts: client, middleware, and server. The
client will be used to create a platform for authenticated users to post and view mediums
including text, images, and videos, online. The middleware will be used to transfer data between
the client and the server. The server will be used to store the following information:
User’s profile:
It includes the user name, profile picture, number of posts, top five posts, user’s
email and password.
Post description:
It includes the date, number of likes, dislikes, and comments for each post, tags
for the post, recent post, and the most liked post.
Comment description:
It includes no more than 1000 words per comment and the number of likes and
dislikes.

Client Middleware Server


Web browser ​>>> Software >>> ​Database
(javascript) <<< (DJango) <<< (SQL)

With the web browser, the new users will be asked to create a personal account for
logging in the blog. The users need a unique username, an email address for verifying, and a
password for the new account. After the users logged in, they will be able to view other posts in
public space as well as create their own post.

The content of the post could include words, images, and videos. A comment filter
system would be in place for scanning any inappropriate language. This system will scan the post
and comments prior to its publication using a built-in blacklist. Posts and comments with
inappropriate language will be blocked by the web blogging service.

Each post will have embedded links on the site. Each post could have one or more tags.
The result of the search will be based on the tags of the post with a list view. The post with the
most likes will be at the top.

The users will be able to hide or show comments on the posts. They are able to like,
dislike, and comment on the post or on another comment(s). Accordingly, there will be a
notification system that will alert the account owner of activity related to the post including: a
new comment made on the post and a like on the post.

4
2. Approach

We have a group with five persons and four weeks to do this web blogging service.
During the first week, Justin worked on the website architecture and the contract page for SRS.
After Justin conducted research, he reached a conclusion on front-end, middleware and backend
architecture. The architecture we are going to use is Client(Javascript), Middleware(Django),
Backend(SQL). Sarah is working on the company webpage using HTML/CSS and the cover
page for the SRS. Sarah created an awesome company webpage which includes meeting logs, the
home page, and SRS page. The company webpage will continue to be updated as the project
progresses. Sebastian is working on the functional requirements we will have for the web
blogging service. The functional requirements discuss the details on how the product works.
Jeremy is working on the nonfunctional requirements of the web blogging service which relate to
the privacy, performance, reliability, etc. Andy is working on the problem description and
approach for the SRS.

We will have 6 sprint meetings and many daily meetings. At the beginning of each sprint
meeting, we will talk about what we did and what we will do. We will do some installation of the
framework and discuss the coding process for our project at each meeting. We will also be
meeting with the client twice a week (Monday and Wednesday) until August 5, 2019 to ensure
the client’s needs for the product are met throughout the process.

3. Functional Requirements
The following section will contain the functional aspects of the software in question.

3.1 ID: FR1


Title: Blog feed
DESC: The main page of the website where all the blogs will be shown to the public.
RAT: This will show the blogs that have been posted by members of the website.
DEP: None

3.2 ID: FR2


Title: Email confirmation
DESC: A system in check that makes sure the email a user is using has not been used again or is
not real.
RAT: Keep from spam creation of accounts.
DEP: None

5
3.3 ID: FR3
Title: Account Creation
DESC: A user can create an account by creating a username, password, and using an existing
email address to verify their account. Usernames must be unique. An account allows for
additional functionality to the users.
RAT: Adding members to the site to secure that users do not have multiple accounts and allow
users to interact on the website.
DEP: FR2

3.4 ID: FR4


Title: Create a new blog
DESC: A registered account can add a new blog which will be added to the blog feed.
RAT: Adding new blogs to the website
DEP: FR1, FR3

3.5 ID: FR5


Title: Account Privacy
DESC: Accounts will have the option to not show all the information that is tied down to their
account.
RAT: Hide information a user may not want to show the public.
DEP: FR3

3.6 ID: FR6


Title: Profile Picture
DESC: Accounts will be able to add a picture as their profile picture. This will be able to be done
as many times a user would like.
RAT: Allows users to add and change their profile pictures.
DEP: FR3

3.7 ID: FR7


Title: Liking/Disliking a blog
DESC: Once a user is logged in, they will be able to interact with a blog by either disliking or
liking any blog of their choosing.
RAT: A like/dislike system set up for blogs.
DEP: FR1, FR3

6
3.8 ID: FR8
Title: Commenting on a blog
DESC: Once a user is logged on, they will be able to post comments under blogs they would
wish to interact with. Comments will have a limit of 1000 characters per comment.
RAT: A comment system for the blogs.
DEP: FR1, FR3

3.9 ID: FR9


Title: Embedded links on the site
DESC: When adding a web address to a blog or a comment, the address will become a clickable
hyperlink for ease of other users.
RAT: Adding hyperlinks to blogs and comments.
DEP: FR1, FR4, FR8

3.10 ID: FR10


Title: Tags for blog posts
DESC: Blogs will have tags to help better categorize the topics of the blogs.
RAT: Added tags to the blogs.
DEP: FR4

3.11 ID: FR11


Title: Search for blogs using tags
DESC: Be able to search through all the blogs using the tags of the blogs.
RAT: A search to find blogs using their tags.
DEP: FR1, FR10

3.12 ID: FR12


Title: Notifications
DESC: Accounts will receive a notification when there’s any interacts with a blog that they have
posted.
RAT: Active notification for users.
DEP: FR3, FR7, FR8

3.13 ID: FR13


Title: Hiding comments on the blog feed
DESC: Every blog that has commented on it will have a drop-down button that will expand and
show the comments done on the blog.
RAT: Hides comments to not clutter up the feed.

7
DEP: FR1, FR8

3.14 ID: FR14


Title: User profile sample blog feed
DESC: Each user’s account profile will contain a sample feed of the top 5 most liked blogs that
have been posed by the account. This will archive the blog posts to the accounts.
RAT: Top 5 blogs created by a user will be visible on their account.
DEP: FR5, FR7, FR8

3.15 ID: FR15


Title: Filter for inappropriate language
DESC: This will be a filter applied to both blogs and comments. This filter will stop the
inclusion of inappropriate language from appearing on the blog site.
RAT: Minimizing inappropriate language use on the site.
DEP: FR4, FR8

3.16 ID: FR16


Title: Account activity history
DESC: Every account has the ability to show their activity on the site. This will include creation
of new blogs, liking a blog, and commenting on a blog.
RAT: Shows the activity of a user’s account.
DEP: FR4, FR7, FR8

3.17 ID: FR17


Title: Replying to comments
DESC: Once an initial comment is added under a blog, another user may reply to the comment.
This will appear in a set format to keep comments organized.
RAT: The ability to reply to a comment.
DEP: FR8, FR12

8
4. Nonfunctional Requirements

4.1 Aesthetics

Our primary concern will be to make sure the product is fast and reliable. Nevertheless,
we will need to make the site easy to read and navigate, so aesthetics is still important. We will
focus on creating a simple and organized site.

4.2 Environment

We will be creating a web blogging service where multiple users can create an account as
long as they have a valid email address. Account users can post pictures, videos, links, etc.
These posts can be viewed by other users, and they can like, dislike, and comment on the posts.
Users will also be able to comment on other comments made by others.

4.3 Operating Constraints

The primary constraint to this product will be the limited amount of time we have. We
also have little experience with some of the resources we are using, so we will need to learn as
we go.

4.4 Performance

Our web blogging service will be quick with a fast response time. We will also be able to
handle a large number of users concurrently while still withholding the same performance
standards.

4.5 Privacy

Anyone can customize their privacy settings by controlling what they choose to show in
their profile information which includes, but is not limited to, name, age, gender, birthday, and
occupation.

9
4.6 Quality

All posts uploaded to our site will have embedded links which delivers a better
experience for our users. For example, if a user uploads a video on their blog, people can watch
that video without having to click the link and be redirected. We will also create a filter and
blacklist for sensitive content.

4.7 Usability

Our web blogging service will be easy for anyone to use. The product itself is fairly
simple, requiring fairly simple features for an online blog. Users will be able to post stuff on
their blog and other users will be able to like, dislike, and comment on those posts. We will add
the ability to personalize the layout of each blog. User names will be unique which will make it
easier to identify each other.

10

S-ar putea să vă placă și