You are on page 1of 14

Software Requirements Specification

for

Online Blog Content Management


System
Version 1.0 approved

Prepared by Abhinab Paul

Techno Main, Salt Lake

25/07/2022

i|Page
Table of Contents
1 Introduction ............................................................................................................................................................. 2
1.1 Purpose/Objective ........................................................................................................................................... 3
1.2 Document Conventions (Definition, Acronyms, Abbreviations) ................................................................ 3
1.3 Scope................................................................................................................................................................. 3
1.4 References ........................................................................................................................................................ 3
2 History/Background Study (Sources of Domain Knowledge) ............................................................................. 4
2.1 Technical Literature ....................................................................................................................................... 4
2.2 Existing Applications ...................................................................................................................................... 4
2.3 Customer Surveys ........................................................................................................................................... 4
2.4 Expert Advice .................................................................................................................................................. 7
2.5 Current/Future requirements ........................................................................................................................ 7
3 Overall Description ................................................................................................................................................. 8
3.1 Product Functions ........................................................................................................................................... 8
3.1.1 Hardware Requirement .......................................................................................................................... 8
3.1.2 Software Requirement ............................................................................................................................ 8
3.2 Functional Requirements ............................................................................................................................... 8
3.3 Non-Functional Requirements ..................................................................................................................... 12
3.3.1 Correctness Requirement ..................................................................................................................... 12
3.3.2 Portability requirement ........................................................................................................................ 12
3.3.3 Efficiency Requirement ........................................................................................................................ 13
3.3.4 Usability Requirement .......................................................................................................................... 13
3.3.5 Reusability Requirement ...................................................................................................................... 13
3.3.6 Reliability Requirement ....................................................................................................................... 13
3.3.7 Maintainability Requirement............................................................................................................... 13
3.4 User Characteristics ...................................................................................................................................... 13
3.5 Design & Implementation Constraints........................................................................................................ 13
3.6 Assumptions & Dependencies ...................................................................................................................... 13
4 Interface Requirements ........................................................................................................................................ 14
4.1 User Interfaces............................................................................................................................................... 14
4.2 Hardware Interfaces ..................................................................................................................................... 14
4.3 Software Interfaces ....................................................................................................................................... 14
4.4 Communication Interfaces ........................................................................................................................... 14
5 Conclusion ............................................................................................................................................................. 14

1 Introduction
2|Page
1.1 Purpose/Objective
The project “Online Blog Content Management System” is developed to provide a
common platform where users can read blogs, publish their own blogs, reply and add
comments and their views on other’s blogs. The basic purpose of the SRS is to describe
the complete behaviour of the application proposed. The system easily understands and
solves any problem if the SRS is produced. Special and extra importance is given to
identify what we require from the system, not how the system will work and achieve
its goal. The final goal is to produce a stable and high-quality SRS.

1.2 Document Conventions (Definition, Acronyms,


Abbreviations)
1.2.1 Alignment
The entire document is in justified alignment.
1.2.2 Convention for the Main Title
1.2.2.1 Font Face: Times New Roman
1.2.2.2 Font Style: Bold
1.2.2.3 Font Size: 24
1.2.3 Convention for the Sub Title
1.2.3.1 Font Face: Times New Roman
1.2.3.2 Font Size: Bold
1.2.3.3 Font Size: 18
1.2.4 Convention for the Body
1.2.4.1 Font Face: Times New Roman
1.2.4.2 Font Size: 12
1.2.5 Abbreviations]’
1.2.5.1 CMS - Content Management System
1.2.5.2 Mac – Macintosh
1.2.5.3 RAM – Random Access Memory
1.2.5.4 HDD – Hard Disk Drive
1.2.5.5 ASAP – As Soon As Possible
1.2.5.6 OTP – One Time Password

1.3 Scope
Our software provides blog management services to everyone. This platform provides
an interface that everyone including people with not much technical know-how can
access too. We also provide user friendly customer service which helps the users in case
they encounter some issue.

1.4 References
1.4.1 https://www.creativebloq.com/web-design/best-blogging-platforms-
121413634
1.4.2 https://en.wikipedia.org/wiki/Blog
1.4.3 https://themeisle.com/blog/what-is-a-content-management-system-cms/

3|Page
2 History/Background Study (Sources of Domain
Knowledge)
2.1 Technical Literature
People have always associated with the idea of reading articles/pieces by different
authors on physical paper in newspaper, magazines, etc. In recent years, online
blogging has taken the center stage in this domain. It allows users to pen down thoughts,
write about a trending topic, spread awareness, etc. all from the ease and comfort of
home. Online blog CMS sites have become increasingly popular in recent years and is
becoming a significant part of human culture.

2.2 Existing Applications


There are many existing blogging applications in the market which provide internet
blogging CMS, ensuring seamless blogging:
 wix.com
 wordpress.org
 linkedin.com
 weebly.com
 medium.com
 ghost.org
 blogger.com
 tumblr.com

2.3 Customer Surveys


Link to the google form: Click here

2.3.1

2.3.2

4|Page
2.3.3

2.3.4

2.3.5

2.3.6

2.3.7
5|Page
2.3.8

2.3.9

2.3.10

2.3.11

2.3.12

6|Page
2.3.13

2.3.14

2.3.15

2.3.16

2.4 Expert Advice


The software is the best and most convenient way to enable users to publish and read
blogs. It requires little to none technical know-how and also comes with customer care
support.

2.5 Current/Future requirements


2.5.1 Hassle free system.
2.5.2 Provides the user the ability to publish and view blogs at their
fingertips
2.5.3 Secure account creation
7|Page
2.5.4 Extremely convenient and user friendly
2.5.5 Personalized recommendations for users
2.5.6 Thorough reviewing of reports received

3 Overall Description
3.1 Product Functions
3.1.1 Hardware Requirement
 Standard PC/ Mac/ Android/iOS with at least 2 GHz processor
and 2 GB RAM.
 HDD space: 250 GB
 At least Snapdragon 600 series/ Intel i3 5th gen/ Apple a10
bionic processor
3.1.2 Software Requirement
 A web browser (Google Chrome, Mozilla Firefox, etc.)
 OS- Windows 7, Mac OS 10, Android 7, iOS 10 and onwards

3.2 Functional Requirements


3.2.1 Initial Registration
Description – New users have to go through a one-time sign-up
procedure where they create a new account. Existing users/admins go
through a simple login procedure.
3.2.1.1 Creating new account (Sign up):
3.2.1.1.1 Giving credentials
 Input - User has to provide following
inputs:
o Username
o Email
o Mobile number
o Profile picture
o Answer to a secret question
 Output – Account has been created
awaiting email and mobile verification.
3.2.1.1.2 Email verification
 Input – OTP sent to email address
 Output – Email verification successful,
account successfully created.
3.2.1.1.3 Mobile verification
 Input - OTP sent to mobile number
 Output – Mobile verification successful,
account successfully created.
3.2.1.2 Logging in
 Input – Username and password
 Output – If credentials match, then successful login,
else show ERROR.
3.2.1.3 Bot checking

8|Page
 Input – While logging in, show a picture puzzle (like
CAPTCHA test).
 Output – If correct answer is given, allow entry else
ERROR
3.2.1.4 Forgot password
3.2.1.4.1 Mobile number
 Input – OTP sent to registered mobile
number.
 Output – If OTP matches, link to reset
password, else ERROR.

3.2.1.4.2 Email
 Input – OTP sent to registered Email
ID
 Output – If OTP matches, link to reset
password, else ERROR.
3.2.1.4.3 Secret question
 Input – Answer to a personal secret
question
 Output – If answer is correct, link to
reset password, else ERROR.
3.2.1.5 Remember username
 Input – Clicking checkbox to remember username for
future logins.
 Output – On future login from same system, username
is pre-filled automatically.
3.2.2 Publishing blogs
Description: Creating text fields for writing the whole body of the
blogs to be published, along with attachments for image/video/etc.
3.2.2.1 New blog
3.2.2.1.1 Writing blog
3.2.2.1.1.1 Heading
 Input – Write blog
heading in the heading
field.
 Output – Blog heading is
created.
3.2.2.1.1.2 Subject
 Input – Write subject in
subject field.
 Output – Blog subject is
created
3.2.2.1.1.3 Category
 Input – Specify single or
multiple blog category
from given fields or create
custom category.
 Output – Blog category
is assigned.
9|Page
3.2.2.1.1.4 Body
 Input – Type in the body
of the blog.
 Output – Blog body is
created.
3.2.2.1.1.5 Media
 Input – Add hyperlink /
storage address of media
items like image or video
in the appropriate field.
 Output – The media
item is integrated in the
blog.
3.2.2.1.1.6 Publishing
 Input – “Publish” button
is pressed.
 Output – Blog is
published publicly on
website.

3.2.2.2 Editing old blog


 Input – Old blog is reopened for customization,
including addition, deletion, other modification.
 Output – Old blog is now updated.
3.2.2.3 Deleting blog
 Input – Delete option on a previously posted blog is
pressed.
 Output – A confirmation message appears. If yes is
pressed, blog is deleted from the software.
3.2.2.4 Drafting blog
 Input – After writing a blog, “Save to draft” option is
selected instead of “Publish”.
 Output – Instead of publishing, the blog is privately
stored on user profile, which can be published later.
3.2.3 Reading blogs
3.2.3.1 Searching
3.2.3.1.1 Author
 Input – Enter name of author.
 Output – Displays all blogs by that
author.
3.2.3.1.2 Keywords
 Input – Enter particular blog heading or
keywords.
 Output – Display blogs which best
match the keywords.
3.2.3.1.3 Category

10 | P a g e
 Input – Enter particular category or
multiple categories.
 Output – Displays blogs from the
particular category(s).
3.2.3.1.4 Sorting
3.2.3.1.4.1 Upvotes
 Input – Select Upvotes
filter during searching.
 Output – Display search
results based on
descending order of
upvotes.
3.2.3.1.4.2 Date posted
 Input – Select Date
Posted filter during
searching.
 Output – Displays latest
blogs first.
3.2.3.1.4.3 Relevance
 Input – Select relevance
filter during searching
 Output – Displays search
result sorted in order of
relevance based on
previous blogging history.

3.2.3.2 Recommendations
 Input – Agreeing to get personalized recommendations
 Output – Personalized blog recommendations
displayed on home page based on previous usage
history.

3.2.3.3 Reactions
 Input – User clicks on upvote/downvote or other
custom reactions on a blog.
 Output – Reactions are added to the blog and the blog
author is notified. The number of each reactions
received is counted and displayed.
3.2.3.4 Comments and Replies
 Input – User types comments under other blogs, or
replies to other comments
 Output – The comment/ reply is uploaded and
appropriate user is notified.
3.2.4 Reporting blogs
3.2.4.1 Reporting blog
 Input – Report option a blog is pressed.
 Output – Selected post is flagged for review by admin.
3.2.4.2 Reporting comment

11 | P a g e
 Input – Report option for a particular comment is
pressed.
 Output – Selected comment is flagged for review by
admin.
3.2.5 Admin privileges
3.2.5.1 Reviewing Reports
 Input: Blogs/ Comments flagged for review are
checked.
 Output: If report is found true, appropriate action is
taken.
3.2.5.2 Blog ratings
 Input: If a blog has excessive downvotes, it is reviewed
by admins.
 Output: If objectionable content found in blog,
appropriate action is taken.
3.2.5.3 Deleting blogs
 Input: Blogs with severe accusations/ multiple reports
sent for review
 Output: Blog is deleted by admin and author is warned.
3.2.5.4 Action agaist users
 Input: Reports of a blog from an author with multiple
past warnings have arised.
 Output: Admins have the authority to suspend/
permanently ban users from the software.
3.2.6 Software Support
3.2.6.1 Helpline number
 Input: User opts to talk on helpline number/
 Output: Helpline number is dialed where user can
communicate with a user support executive
3.2.6.2 Help email
 Input: User opts to communicate via email.
 Output: Email address link is displayed to the user.
3.2.6.3 Online chat bot
 Input: User texts the online chat bot provided on the
software.
 Output: Online chatbot continues conversation with
user until issue is resolved, diverts to call/email for
further assistance.

3.3 Non-Functional Requirements


3.3.1 Correctness Requirement
All the requirements specified in this document have been correctly
implemented. It covers all the requirements that is expected from the
online blog CMS platform.
3.3.2 Portability requirement
The software is programming language based and uses SQL and so the
front end (part accessed by the user) is completely portable and can run
on any system having a web browser, including any hardware platform
12 | P a g e
that is present now and will be available in the future. The end user can
use this software in any platform like Windows, MacOS, Android, iOS,
etc.
3.3.3 Efficiency Requirement
The system and all its modules are highly efficient and optimized for
running on even the lowest end machines. The system rarely fails, but
in case of any mishap, the system can be recovered within a few hours.
3.3.4 Usability Requirement
The software has a simple yet effective user interface that can be easily
accessed by anyone, even by people with not much technical know-how.
So, any user can avail its functions without any complications.
3.3.5 Reusability Requirement
Multiple parts of this project can be used in other major stand-alone
projects. For example, the registration and login features can also be
implemented while making other login-based software.
3.3.6 Reliability Requirement
The platform stores data in multiple servers, in a distributed fashion. In
case of a shutdown, essential data can be retrieved from nearby working
servers. Additionally, multiple security measures have been taken for
user account protection, Hence the software is reliable.
3.3.7 Maintainability Requirement
A commercial database is used to maintain the software database and
the application server takes care of the same site. Thus, during failure,
program can be effectively restarted. The program is designed using
modules, so maintainability can be done with maximum efficiency.

3.4 User Characteristics


The application does not require any specific computer knowledge to use it except the
developers and administrators of it. Standard users can be of any gender and nationality
with 15+ age and know how to operate web browser. Admins need to have some know-
how about the software to offer better assistance, whereas developers should be an
expert in web technologies and services.

3.5 Design & Implementation Constraints


Any update in the data must be recorded and the correct information must be updated
across all the ASAP. The data must be backed up in HDDs which will be stored in our
storage facilities. Periodic theft/malware scans should be done.

3.6 Assumptions & Dependencies


3.6.1 Assumptions:
 Code is error-free.
 The user is a single person not a company.
 The software has an efficient and fast storage facility.
 Being an online software, the software should ensure the safety
of information given by the user and provide some privacy
setting options to the user. It cannot sell private information of

13 | P a g e
the users to someone else but if the user permits then some
information can be extracted.
 Users are English/Hindi/Bengali speaking.
3.6.2 Dependencies:
 The product needs following third party applications for
development:
o Android Studio (development of android based
applications)
o Netbeans
o C++, Java, JavaScript
o UI/UX (for editing layouts, visuals, etc.)
 There must be availability of an internet connection (preferably
3G or above or WiFi)

4 Interface Requirements
4.1 User Interfaces
The software offers a very user-friendly GUI that can run on any device performing
various tasks related to the blogging.

4.2 Hardware Interfaces


The system has to run over the internet, which needs any of the following hardware to
be connected:
 WAN/LAN network
 Ethernet cross-cable
 Modem

4.3 Software Interfaces


The software is on a server and requires a scripting language like JavaScript. It requires
a database to store the data of users like MySQL. It also requires a DNS for naming
service of the internet. It also needs a web browser to interact with the system.

4.4 Communication Interfaces


As an online blog CMS, it will be a completely stand-alone system which allows its
users to access and create blogs easily. The platform will provide APIs and tools for
third party developers to let them create highly secured plugins and algorithms.

5 Conclusion
Online Blog CMS caters to all the blogging needs of the users ranging from just browsing through different
blogs to publishing their own blogs, creating one’s own dedicated blogging page, looking up specific authors
or blogs – all from the ease and comfort at home. With adequate means to authenticate users as well as dedicate
customer helpline, the risk of any fraud/problem becomes minimum. There are conveniently made separate
sections for writing, reading and searching blogs for user convenience.

14 | P a g e

You might also like