You are on page 1of 8

Software

Requirements
Specification (S.R.S)
FOR
BENNETT PIZZA CHATBOT

Prepared By

Amit Patel E18CSE013

Arnav Bansal E18CSE028

Aditya Singh E18CSE009

Adarsh Hota E18CSE008

Avinash Kumar E18CSE031

Mentored By

Dr. Shakti Sharma


1. Introduction

1.1 Purpose of Document

1.2 Project Scope

1.3 Overview of Document

2. Description

2.1 Product Perspective

2.2 Product Features

2.3 User Classes and Characteristics

2.4 Constraints

2.4.1 Limited Question Scope

2.4.2 Language

3. Functional Requirements
3.1 User/Client Responsibilities

3.2 Server/chat bot Responsibilities

3.3 Chat bot response responsibilities (basically the backend support)

3.4 User Interfaces

1. Introduction

1.1 Purpose of Document

This document will provide all of the requirements for the project Bennett Pizza Chat bot.
It will serve as a reference for developers and customers during the development of the
final version of the system.

1.2 Project Scope

Bennett Pizza Chat bot (an intelligent pizza ordering service) is an chat bot that receives
questions from users, tries to understand the question, provides appropriate answers and
place order of your pizza according to your choices. It does this by converting an English
sentence into a machine-friendly query, then going through relevant data to find the
necessary information, and finally returning the answer in a natural language sentence. In
other words, it answers your questions like a human does and place order as you place it
on counter of a pizza shop.

The main objective is creating a Web API, connecting it to cloud database, and develop an
interactive android application for placing pizza orders.

The goal is to provide students and faculty a quick and easy way to place pizza orders.

1.3 Overview of Document

1. Introduction :
Provide an overview of the application, explain the objectives and goal of the project and
describe the document structure.

2. Overall Description :

Provide the specification of the system model, the classes model and the main constraints.

3. Functional Requirements :

Provide the analysis of the requirements by feature.

2. Description

2.1 Product Perspective

Most of the search engines today, like Google, use a system (The Page rank Algorithm) to
rank different web pages. When a user enters a query, the query is interpreted as
keywords and the system returns a list of highest ranked web pages which may have the
answer to the query. Then the user must go through the list of webpages to find the
answer they are looking for. Bennett Pizza Chat bot, however, will try to understand the
query and provide a definitive answer. There will be four main units to the system working
together to understand the question and return an appropriate answer:

● Generic question construction - capable of taking a natural language question


and making it more generic.

● Generic answer construction - capable of taking a generic question template and


providing a generic answer template.

● Generic answer population - capable of taking a generic answer template and


populating it with information from the database to form an answer.

● Information extraction - capable of finding information through structured or


unstructured websites, and storing that information in a database.

2.2 Product Features


The major features for Bennett Pizza Chat bot will be the following:

● Web API: An API(IBM Watson) call will include a question in the form of a query
string URL parameter and the service will reply in audio and text.

● Natural Language Processing: The system will take in questions written in


standard English or dictated standard English.

● Natural Language Responses: The answer to the question will be written in


standard and understandable English in text and audio format.

● Information Extraction: There will be a database containing all the information


needed called intents in IBM Watson, populated using information extraction
techniques and sorting of data using keywords.

2.3 User Characteristics

Android application users consist of non-technical users who want to get answers for their
questions and place ord. These users ask questions and get answers with mobile, web, or
text messaging interfaces. This class of users include Drexel’s current and prospective
students, teaching faculty, and staff.

2.4 Constraints

2.4.1 Limited Question Scope Creating a chatbot able to answer every single question and
placing every order of pizz is not possible to implement with current technology and
within the duration of the project, so the system will be able to answer questions about
limited topics and limited order can only be placed.

2.4.2 Language The system will only support questions in standard English(audio or text).
3. FUNCTIONAL REQUIREMENTS:

3.1 User/Client Responsibilities,

1. The user/client can ask anything from the chat bot but he/she should keep in mind
that what is the purpose of that chat bot, means for what that bot was developed.
The questions he asks must not go out of scope of bots capabilities, and if he even
asks such questions, he should not expect a perfect answer/reply, else he should
expect a non-satisfying answer.
2. The client should specify everything he wants to have without any kind of
ambiguity. This will make both user/client and chat bot comfortable. He can define
step by step but should not create confusion as this will make the chat bot to
generate undesired responses.
3. A single sentence would be perfect to have a beautiful conversation with the chat
bot. multiple sentences at once creates confusion and user’s query might not be
understandable to the bot.

3.2 Server/chat bot responsibilities,

1. The bot developed should be able to respond to any input/text/query it


receives. This input given by the user can be related to anything but the chat
bot must reply to that in any manner at any cost. If it is not able to deal with
the input, it should say a default message designed for these kind of cases only,
but it must reply.
2. If the bot is not able to understand the inputs given to it by the user, it should
ask for some specific things which might be relevant to the user input. And
these things should be asked to the user in a questionable way. This
questioning way of replying to an input makes the user feel that the mistake is
done by him and not the chat bot which is a very important thing because if the
user starts thinking that the chat bot is not working properly, he will definitely
loose interest in talking to it which is not at all a good sign for a chat bot
developer.
3. If the bot understands the input, it should respond accordingly in a very gentle
and polite way. The main point is that the user should feel satisfied by the bot’s
answer/reply.
4. The bot specifically designed for purpose, in our case “pizza ordering”, should
take almost all user inputs towards that direction only, as that is the main use
of that bot. Also it is important in sense of making the business grow much
faster.
5. The bot in the end should say explicitly about the order that the client/user has
made so that if the user wants to get anything changed, he could do it.

3.3 Chat bot response responsibilities,

1. The backend program or the used API to develop chat bot, should be able to
function properly at all times. Its working should not be affected by any kind of
bug.
2. The backend support must be able to read the text inputs given by the user and
process them in a sufficient amount of time by reducing time complexity.
3. For specifically defined user values, there should be memory allocations so that in
future, at the time of response those values specifically defined by the user could
be used to generate a more real time output. It will provide the user a much better
experience as he will see the bot taking his specification under consideration.
4. There should be use of some generic words to build a more powerful conversation.
5. If there comes an error at the time of replying, the backend should force the bot to
generate a default message such as “sorry, I didn’t understand” or “please come
again” instead of giving a wrong and non-relevant response.
6. A generic question should be answered in a generic way and a specific question
should be answered in a more specific way. For this purpose the data set should be
properly enriched and enhanced so that the user will not face any difficulty
chatting to the bot.
7. If any question asked by the user, that is out of the scope of the bot, at that time
the bot should simply say like “sorry, but I don’t know the answer” or “sorry, but
you asked something different that I don’t know”.
8. A response generated should be short and pleasant in order to not bore the
user/client.
9. Every function available on GUI should be properly linked with backend otherwise
user’s action might not match the actual function.

3.4 User Interface,

1. The GUI provided to a client/user should be user friendly. By user friendly we mean
that every function available should be clear to the user. He should know what that
function do and how to use it.
2. Every function available on GUI should be properly linked with backend otherwise
user’s action might not match the actual function.
3. The GUI will have a textbox that will accept inputs from a keyboard.
4. Text box will originally contain a suggestive text question, to guide the
user to the format of an appropriate question.
5. The GUI will have a “Send” button which sends text from the textbox to the
API when clicked.
6. The GUI will have a chat window displaying questions sent to the system
and responses from the API.
7. The chat window will contain all questions and answers from the current
session, with a scroll bar if all messages can’t fit on the screen.
8. If there is a network issue, the chat window will display an error message.

THANKYOU

You might also like