You are on page 1of 5

LEXI CHATBOT SRS DOCUMENT 

 
1.INTRODUCTION  
 
1.1 Purpose 
The purpose is creating a chatbot that receives questions from users,matches it with 
pairs in its database and provides appropriate answers. 
 
1.2 Project Scope 
The goal is to provide people a quick and easy way to have their questions answered. 
 
1.3 Terminologies 
a) Chatbot : A chatbot is a service, powered by rules and sometimes artificial 
intelligence, that you interact with via a chat interface.. 
b) URL : Uniform Resource Locator, an address to a resource on the Internet. 
 
1.4 References 
a) www.vogella.com/tutorials/My SQLJava /article.html 
b) https:// docs.oracle.com / java se/7/docs/api/ java/sql /package 
c) https://lecturenotes.in/subject/268/object-oriented-system-design-oosd 
d) engineering.purdue.edu › Engineering 
 
1.5 Overview of Document 
A chat bot will be used to give information or answers to any question asked by a user. 
According to input, the system will process the query and give response to the user. In 
case the question asked by the user is not present in the database then it will store that 
question in a file which will later on be seen by the administrator of software and all the 
questions would be provided with the answers. 
 
2.General Description 
 
2.1 Product Perspective 
Most of the search engines, like Google, use a system 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. Lexi, however, will 
just match the query with the existing queries in the database and return the answer. 
 
 
 
 
 
 
2.2 Product functions 
Lexi is a chatbot that receives questions from users, matches it with pairs in its 
database and provides appropriate answers.Some of the main functions are 
1) Chatting 
2) Learning 
3) Searching 
4) Reminders 
 
2.3 User Characteristics 
● Web app users 
These users consist of non-technical users who want to get answers for their questions. 
These users ask questions and get answers for those questions. 
 
●Administrator 
These users are administrators or managers of the software.They are responsible for 
making any changes to the software, providing answers to the queries etc. 
 
2.4 General Constraints 
A) Limited Question Scope : 
Creating a chatbot able to answer every single question is not possible to 
implement. 
B) Language : 
The system will only support questions in standard English. 
 
2.5 Assumptions and Dependencies 
If the Google server is down then it is not possible to search the net. 
 
3. Specific Requirements 
 
3.1 External Interface Requirements 
3.1.1 User Interface 
Lexi only supports web-app based interfaces. 
3.1.2 Software Interfaces 
The app works in all popular web browsers. 
3.1.3 Communication Interfaces 
1) LAN 
2) Internet 
 
 
 
 
 
 
3.2 Functional Requirements 
 
3.2.1 Chatting :​ Provides user experience of as if chatting with a human being by 
providing suitable answers for his questions.User will feel as if he is chatting to 
some human and not a robot. 
● INPUT :​ Here the input would be the user query/question in standard 
English. 
● OUTPUT :​ Output will be the result/answer to the user query that too will 
be in the standard English. 
● PROCESSING :​ Our software accepts the user query in the form of string 
of characters and then compares that query with the queries that are 
present in the app database using string matching algorithms and returns 
the answer. 
● ERROR HANDLING :​ If the answer to the user query is not present in the 
database, then the default statement “Sorry unable to process your 
request” would be returned. 
 
3.2.2 Learning :​ In case any question that’s asked by the user is not present in 
our software database then it records such statements and gets its answers 
from the admin which can later be provided to the user when the same question 
repeats. 
● INPUT :​ Here the input would be the user query/question in standard 
English whose answer is not present in the database. 
● OUTPUT :​ Statement saying “Sorry unable to process your request”. In 
addition to this the question is being recorded in the file that is specially 
maintained for such questions and answer to these questions is taken 
from admin. 
● PROCESSING :​ Whenever such a query is encountered which does not 
match with any of the query in the database then the query is being 
copied and recorded in the file specially maintained for such questions 
and answer to these questions is provided by the admin later on. 
● ERROR HANDLING :​ In case the answer provided by the admin is not 
stored in the database, then admin is again required to provide ans and 
make sure that now it's present in the database for use. 
 
 
 
 
 
 
 
 
3.2.3 Searching :​ When a user wants to know anything about trending topics or 
news or if he wants to know weather etc then our software can search for that 
thing on the net and provide the user with an answer. 
● INPUT :​ Any user query in standard English form. 
● OUTPUT :​ Provides search result for the query searched. 
● PROCESSING :​ Accepts user string and searches the same on net, or 
directly redirects the user to the website. 
● ERROR HANDLING :​ In case of any errors like poor net connection or no 
connection it displays a message ”Please check your connection and try 
again.”. 
 
3.2.4 Reminders :​ Our software is capable of reminding us of certain events by 
alarming us at that time.We just need to set an alarm for a particular day or time 
and at that moment our software will remind us of our event. 
● INPUT :​ User sets the date and time of the event. 
● OUTPUT :​ An alarm to remind the user of a particular event. 
● PROCESSING :​ Software accepts the date and time from the user and 
saves that value in the reminder app of mobile. 
● ERROR HANDLING :​ In case the input provided by the user is not correct 
then the message “Invalid input” will be displayed. 
 
3.3 Non-Functional Requirements 
 
3.3.1 Performance 
The average time for the server to respond, over the question testing set, will be 
less than or equal to 2 seconds. 
 
3.3.2 Reliability 
Since our software has the ability to learn so it is highly reliable in case of 
answering questions. 
 
3.3.3 Security 
The connection between the Web API and the programs will use HTTPS, for 
security reasons. 
 
3.3.4 Maintainability 
The system is designed in such a way that the algorithms for the main units will 
be able to be easily swapped out.In case any module is not functioning properly 
or causing other modules to crash then they can be removed easily. 
 
3.3.5 Portability 
Since our software is mainly based on portable languages such as javascript and 
SQL, therefore it can easily be installed to any system in future. 
 
3.4 Design Constraints 
Exhaustive searches of the entire set of combinations of queries will not be done. 
Heuristics will be developed for this problem. Only people who know English will be able 
to use this application. It doesn’t support any other languages. 
 
4. Other requirements 
 
4.1 Apportioning Of Requirements 
We use an external agency to promote our product. 
 
4.2 Database Requirements 
Lexi uses MySQL for database purposes. 

You might also like