Вы находитесь на странице: 1из 12

Software Requirements

Specification
for

Quora

Version 1.0 approved

Prepared by Chinmaya Pati

K1402, B48, 11403573

27th September, 2016


Software Requirements Specification for Quora Page ii

Table of Contents
Table of Contents .......................................................................................................................... ii
Revision History ............................................................................................................................ ii
1. Introduction ..............................................................................................................................1
1.1 Purpose ............................................................................................................................................ 1
1.2 Document Conventions.................................................................................................................... 1
1.3 Intended Audience and Reading Suggestions .................................................................................. 1
1.4 Product Scope .................................................................................................................................. 2
1.5 References........................................................................................................................................ 3
2. Overall Description ..................................................................................................................3
2.1 Product Perspective ......................................................................................................................... 3
2.2 Product Functions ............................................................................................................................ 3
2.3 User Classes and Characteristics ..................................................................................................... 4
2.4 Operating Environment.................................................................................................................... 5
2.5 Design and Implementation Constraints .......................................................................................... 5
2.6 User Documentation ........................................................................................................................ 6
2.7 Assumptions and Dependencies ...................................................................................................... 6
3. External Interface Requirements ...........................................................................................6
3.1 User Interfaces ................................................................................................................................. 6
3.2 Hardware Interfaces ......................................................................................................................... 7
3.3 Software Interfaces .......................................................................................................................... 7
3.4 Communications Interfaces ............................................................................................................. 7
4. System Features........................................................................................................................8
4.1 System Feature 1 ............................................................................ Error! Bookmark not defined.
4.2 System Feature 2 (and so on)......................................................... Error! Bookmark not defined.
5. Other Nonfunctional Requirements .......................................................................................9
5.1 Performance Requirements .............................................................................................................. 9
5.2 Safety Requirements ........................................................................................................................ 9
5.3 Security Requirements ..................................................................................................................... 9
5.4 Software Quality Attributes ............................................................................................................. 9
5.5 Business Rules ............................................................................... Error! Bookmark not defined.
6. Other Requirements ..............................................................................................................10
Appendix A: Glossary...................................................................... Error! Bookmark not defined.
Appendix B: Analysis Models ......................................................... Error! Bookmark not defined.
Appendix C: To Be Determined List .............................................. Error! Bookmark not defined.

Revision History
Name Date Reason For Changes Version
Software Requirements Specification for Quora Page 1

1. Introduction

1.1 Purpose
Quora is a question-and-answer site where questions are asked, answered, edited and organized
by its community of users. Here, users can collaborate by editing questions and suggesting edits
to other users answers. It is designed to share and grow the worlds knowledge, a vast amount of
knowledge that would be valuable to many people is currently only available to a few either
locked in peoples heads, or only accessible to select groups. The main motive is to connect the
people who have knowledge to the people who need it, to bring together people with different
perspectives so they can understand each other better, and to empower everyone to share their
knowledge for the benefit of the rest of the world.

1.2 Document Conventions

1.2.1 Main Section Titles

Font: Arial

Face: Bold

Size: 11

1.2.2 Sub Section Titles

Font: Arial

Face: Bold

Size: 11

1.2.3 Other Text Explanations

Font: Arial

Face: Normal

Size: 11
Software Requirements Specification for Quora Page 2

1.3 Intended Audience and Reading Suggestions


This document is to be read by the development team, the project manager, marketing staff,
testers and documentation writers. Our stakeholders may review the document to learn about the
project and to understand the requirements. The SRS has been organized approximately in order
of increasing specificity. The developers and project managers need to become intimately familiar
with the SRS.

Others involved need to review the document as such:


Overall Description Marketing staff have to become accustomed to the various product features
in order to effectively advertise the product.
System features Testers need an understanding of the system features to develop meaningful
test cases and give useful feedback to the developers.

The author would suggest clients to go through the requirement section thoroughly before
installing the software. The testers are expected to have certain knowledge in the terms used and
hence can go for the security issues directly. Students and developers can utilize the
documentation as a resource in developing the project to a new product.

1.4 Product Scope

1.4.1 The heart of Quora is questions questions that affect the world, questions that explain
recent world events, questions that guide important life decisions, and questions that provide
insights into why other people think differently. Quora is a place where you can ask questions you
care about and get answers that are amazing.

1.4.2 Quora has only one version of each question. It doesnt have a left wing version, a right wing
version, a western version, and an eastern version.

1.4.3 Quora brings together people from different worlds to answer the same question, in the
same place - and to learn from each other.

1.4.4 We want Quora to be the place to voice your opinion because Quora is where the debate is
happening. We want the Quora answer to be the definitive answer for everybody forever.
Software Requirements Specification for Quora Page 3

1.4.5 Quora has content you will feel good about having read. Quora helps you understand why
the world works the way it does, why people behave the way they do, and what we can all do to
make the world better.

1.5 References
https://www.quora.com

https://en.wikipedia.org/wiki/Quora

http://techwhirl.com/writing-software-requirements-specifications/

Software Engineering: A Practitioner's Approach. , By: Pressman Roger, McGraw Hill


ISBN 9780073375977.

2. Overall Description

2.1 Product Perspective


This product is developed focusing on spreading knowledge across globe. This is a new kind in
the market and expected to grow in large sense.

Quora provides a personalized feed of insightful answers to questions you hadnt realized you
should ask.

Quoras answers come from people who really understand the issues and have first-hand
knowledge. Quora is the place to read Barack Obama on the Iran deal, prisoners on life in
prison, scientists on global warming, police officers on how to deter burglars, and TV producers on
how their shows are made. Quora is the place to read inspiring people such as Gloria
Steinem, Stephen Fry, Hillary Clinton, Glenn Beck, Sheryl Sandberg, Vinod Khosla, and Gillian
Anderson directly answering the questions people most wanted them to answer. Quora is where
you can read important insights that have never been shared anywhere else, from people you
could never reach any other way.

2.2 Product Functions


Quora provides the following described features: -

2.2.1 Login/Sign up - Users can sign up and login to keep track of their activities on the site i.e.
asking a question, participating in some discussion forum or answering a question.
Software Requirements Specification for Quora Page 4

2.2.2 Voting - There are also functionalities that enables users to up vote or down vote on a
specific answer. This helps in finding most helpful answer for the asked question.

2.2.3 Analytics - In Quora, analysis is performed on the questions asked by the date of posting,
content relevance and later provided some score that helps in publishing most trending and helpful
article in the homepage of the same.

2.2.4 Feeds This section contains all bookmarked, followed, up voted contents by the user from
the users previous activities. Cookies are used to ensure delivery of proper feeds according to the
browsing history.

2.2.5 Trending Now This section contains all trending posts till date. It always frequently
updated to provide the best happenings in the world.

2.2.6 Top Stories For You This section contains questions posted, answers, comments for the
same and vote counts. There is also option to share the post in social medias specifically
Facebook and twitter.

2.2.7 Improve your feed This section keeps track of users activities like visiting own feed,
following more than 20 topics, finding a friend on quora, up voting more than 3 good answers,
asking first question, adding info about what the user is aware of and answer a question.

2.2.8 Read This is the home page of the site that holds all of the mentioned functionalities. It is
a static navigation section component.

2.2.9 Answer This is also a static navigation section component that enables users to answer
any question which will be suggested by the system according to users preferences.

2.2.10 Notifications This is a static navigation section component that delivers information
regarding new followers, questions answers that were asked by you or any new questions
generated specifically for the user by the system. It also includes a function Mark these as read
that prevents notifications highlighted on the home page.

2.2.11 Users Section This is a static navigation section component which includes options to
update profile data, read messages, create or keep track of created blog, view users published
contents and modify settings.

2.3 User Classes and Characteristics

2.3.1 Users: The site is solely for the users that it has who believe in spreading knowledge and
participate actively asking questions, answering, following, creating and managing blog, or sharing
Software Requirements Specification for Quora Page 5

in the social media. The users are expected to have little proficiency so that sites reputation
doesnt get affected.

2.3.2 Administrators: The admin group controls and monitors all the activities going on in the site.
They have access to the Quora database, and rights to manage the same. They have permissions
to add, block or notify a specific user regarding any issues to be dealt with.

2.3.3 Analyst: They analyze a post on the following dependencies, the date and time of post, by
author, number of people following, number of up votes or down votes. They provide content to be
delivered to homepage, feed section of user, notifications to the users.

2.3.4 Security: These team is 24*7 dedicated to prevent site from attackers by continuously
monitoring and updating obsolete functionalities.

2.4 Operating Environment


This site is written in Python, so Python web server kicks the site online. C++ is also used to index
the posts and perform analytics to provide feeds and updates to various sections of the program.

This site is compatible in the following web browsers:

Chrome 32.0.1700 and older, with layout engine Blink 537.36

Mozilla Firefox 49.0 and older

Apple Safari 6.1.6 and older running on OS X v10.5 Mountain Lion and above

Microsoft IE9 and above or Edge browsers

This software is compatible to run on any Linux system with kernel 4.1 or above, Windows NT 6.2
or above and OS X v10.5 or above.

2.5 Design and Implementation Constraints

2.5.1 Government Policies: Any policy made to regulate content of discussion or any type of
censorship imposed on the site could cause inefficient function of the site.

2.5.2 Attacks: Any cyber-attack, specifically distributed denial of services could cause loss
financially as well as to the productivity of the site. Proper resources and pre-planning needs to be
implanted to face the same.

2.5.3 Post Content: Any improper or vulgar post could harm the reputation of the site as it is
viewed by plenty of users including various age groups with class.
Software Requirements Specification for Quora Page 6

User Documentation
This product is in development stage, and certainly not all required modules are currently included
in the same. Once it enters the beta stage, required company employee manuals can be provided.
Users manual is not necessary but can be prepared if demanded.

2.6 Assumptions and Dependencies


It is assumed that the software designed will work correctly with Linux, Windows or Mac Operating
System with mentioned legacy versions. With the given hardware requirements, software will work
efficiently. It will send user activities reports to the concerned team.

3. External Interface Requirements

3.1 User Interfaces

3.1.1 Dashboard: This page is displayed whenever user accesses the website no matter if not
logged in. It contains all the feeds, posts, trending topics, manage user functionalities and quality
of usage report.

3.1.2 Login/Sign up: This is present on right side of the navigation section. Users can sign up and
login to keep track of their activities on the site i.e. asking a question, participating in some
discussion forum or answering a question.

3.1.3 Feeds This section contains all bookmarked, followed, up voted contents by the user from
the users previous activities. Cookies are used to ensure delivery of proper feeds according to the
browsing history.

3.1.4 Trending Now This section contains all trending posts till date. It always frequently
updated to provide the best happenings in the world.

3.1.5 Top Stories for You This section contains questions posted, answers, comments for the
same and vote counts. There is also option to share the post in social medias specifically
Facebook and twitter.

3.1.6 Improve your feed This section keeps track of users activities like visiting own feed,
following more than 20 topics, finding a friend on quora, up voting more than 3 good answers,
asking first question, adding info about what the user is aware of and answer a question.
Software Requirements Specification for Quora Page 7

3.1.7 Read This is the home page of the site that holds all of the mentioned functionalities. It is
a static navigation section component.

3.1.8 Answer This is also a static navigation section component that enables users to answer
any question which will be suggested by the system according to users preferences.

3.1.9 Notifications This is a static navigation section component that delivers information
regarding new followers, questions answers that were asked by you or any new questions
generated specifically for the user by the system. It also includes a function Mark these as read
that prevents notifications highlighted on the home page.

3.1.10 Users Section This is a static navigation section component which includes options to
update profile data, read messages, create or keep track of created blog, view users published
contents and modify settings.

3.2 Hardware Interfaces


This product requires a system with the following requirements:

Intel Xeon E9 Quad Core Processor clocked at 4GHz with liquid cooing features

ADATA 128GB Dual Channel DDR4 Ram

RAID10 100TB Storage

Optical Fibers connecting every machine to the routers

External Cooling System for the CPU as well as hard disk

3.3 Software Interfaces


The following software needs to be installed in the system:

Python 2.7.12 with OpenCV libraries and Django Framework

MySQL 5.5 with InnoDB engine and Phpmyadmin

G++ 4.8 with OpenCV libraries

3.4 Communications Interfaces


This product requires HTTP, HTTPS, FTP, SMTP protocols to be enabled in the firewall or
iptables.

A network connectivity with more than or equal to 100Mbps bandwidth is required.


Software Requirements Specification for Quora Page 8

Server logs can be found in the logfile.txt generated by the system. Additional Users logs can
be found in the temporary repository database.

4. System Features
This product is expected to deliver required and relevant contents to its users, analysis and visitors
statistics reports to the administrators and managers of the same. This is a question-and-answer
knowledge sharing site with interactive features added.

4.1 Asking a question

4.1.1 Description and Priority

Question is expected to be appropriate, and have publicly viewable content. This is


viewed by users of various age groups and classes.

4.1.2 Stimulus/Response Sequences


Question asked can be answered by any user. There is no time limit constraint for
closing any post or so.
4.1.3 Notification

Any reply on the asked question will be notified to the user by notification on
navigation section.

4.2 Answering a question

4.2.1 Description and Priority

Answering a question is available in the improve your feed section at right hand side
in dashboard. It enables a user to answer any question that are currently available
which is generated by the system.

4.2.2 Response Sequence

Answer is expected to be publicly viewable content, and should have some


relevance to the question. User also have features to up vote or down vote any
answer.
Software Requirements Specification for Quora Page 9

5. Other Nonfunctional Requirements

5.1 Performance Requirements


The performance of the product under the mentioned hardware and software requirements is
expected to result good. Upgrading the system, especially hard drive and needs, network
connectivity and cooling system could effectively improvise results.

5.2 Safety Requirements


All the mentioned protocols need to be enabled and expected to be properly working on
respective ports.

Failure of any hardware or software dependencies could lead to malfunction or downtime for
the site.

Prevention for various cyber-attacks should be initiated by default as well as additional manual
monitoring should be engaged to prevent downtime.

5.3 Security Requirements


A dedicated cyber-security team should be engaged to monitor attacks and prevent downtime.

Using obsolete software should be avoided and there should be timely check for updates.

Depending on the number of users, hardware should be upgraded. There should also be timely
check for maintenance of components such as hard drive, mother board etc.

5.4 Software Quality Attributes


This product is applicable to age groups above 8. This will be available in all reasons except
Germany and Poland.

Quora respects users privacy and hides adult contents as not available for respective age
group.

Quora features easy maintenance for user as well as administrators by providing easy to use
UI, analytics, control tools respectively.

Quora is written in object oriented pattern and has a MVC architecture. Hence it sports easy
portability as well as scalability.

Regular backup is taken and synchronized to prevent any type of loss. Python handles all the
content delivery stuff and C++ performs indexing and analysis of posts and contents. Hence
multiple threaded working environment is implemented to provide faster content delivery to
users.
Software Requirements Specification for Quora Page 10

6. Other Requirements
Normalization of tables is required.

Regular database check as well as backup should be implemented.

Legal copy right for the following program should be obtained in order to prevent piracy of the
content.

Temporary storage is to be kept of small size and flushed in due time to prevent buffer
overflow.

Вам также может понравиться