Академический Документы
Профессиональный Документы
Культура Документы
Specification
for
Quora
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.
Font: Arial
Face: Bold
Size: 11
Font: Arial
Face: Bold
Size: 11
Font: Arial
Face: Normal
Size: 11
Software Requirements Specification for Quora Page 2
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.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/
2. Overall Description
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.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.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.
Apple Safari 6.1.6 and older running on OS X v10.5 Mountain Lion and above
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.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.
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.
Intel Xeon E9 Quad Core Processor clocked at 4GHz with liquid cooing features
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.
Any reply on the asked question will be notified to the user by notification on
navigation section.
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.
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.
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.
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.
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.