Sei sulla pagina 1di 12

Software Requirements Specification for Sales

Prediction Model Page-ii

Software Requirements
Specification
for

Project
Based
Learning-II
Version 1.0

P
repared by Harsh Choudhary

Kevin Sabu

Sharda University Greater Noida


May 2020
Software Requirements Specification for Sales Page i
Prediction Model

Table of Contents

Table of Contents..............................................................................................................i
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......................................................................................................................... 1
1.5 References.............................................................................................................................. 2

2. Overall Description....................................................................................................3
2.1 Product Perspective................................................................................................................3
2.2 Product Functions................................................................................................................... 3
2.3 User Classes and Characteristics............................................................................................3
2.4 Operating Environment............................................................................................................3
2.5 Design and Implementation Constraints..................................................................................4
2.6 User Documentation................................................................................................................4
2.7 Assumptions and Dependencies.............................................................................................4

3. External Interface Requirements..............................................................................5


3.1 User Interfaces........................................................................................................................ 5
3.2 Hardware Interfaces................................................................................................................ 6
3.3 Software Interfaces.................................................................................................................. 6
3.4 Communications Interfaces.....................................................................................................6
4. Other Nonfunctional Requirements.........................................................................7
4.1 Performance Requirements.....................................................................................................7
4.2 Security Requirements............................................................................................................ 7
4.3 Software Quality Attributes......................................................................................................7

Glossary..........................................................................................................................8
Software Requirements Specification for Sales Page i
Prediction Model

Revision History

Name Date Version


Sales Prediction 1 May
Model using LSTM 1.0.0 Alpha
and RNN 2020
Software Requirements Specification for Sales Page 1
Prediction Model

1. Introduction

1.1 Purpose

The purpose of this document is to present a detailed description of the Project created
under Project Based Learning(PBL). It will explain the purpose and features of the
project, the interfaces of the project, what the model will do and the constraints
under which it must operate. This document is intended for users of the model like
big industries and agencies.

1.2 Document Conventions

This Document was created based on the IEEE template for System Requirement
Specification Documents.

1.3 Intended Audience and Reading Suggestions

 Typical Users, such as students, who want to use the Model for analyzing sales
of any particular company(using dataset freely available at Kaggle)
 Advanced/Professional Users, such as engineers or researchers, who want to use
model for more demanding graph analysis.
 Big Companies and Agencies that want to have a better financial planning.

1.4 Product Scope

The Sales Prediction Model is a tool that can be used to predict sales for a particular
timespan. Users can use it to have a better planning of their demand and supply
structure. They can alter the dataset being trained on, to understand the model in a
better way and discover hidden aspects about it, such as patterns or faults during
data sourcing.
This is a model for Time Sequence prediction, a paradigm in the Deep Learning field of
research.

1.5 References

IEEE Template for System Requirement Specification Documents:

https://goo.gl/nsUFwy
2. Overall Description

2.1 Product Perspective

The Sales Prediction Model is a simple time series calculation model based on the
algorithm Long Short Term Memory Networks(LSTM).
It is an open source project. It was developed to run on Windows, Mac OS X and Linux.

2.2 Product Functions


Jupyter Notebook:
 Context
 File: Displays the type of file been worked upon.
 Edit: Displays the Edit tab.
 View: Displays the View tab.
 Language: Displays the Language tab.

2.3 Operating Environment


 Windows 7
 Windows 8
 Windows 10
 Mac OS X
 Linux

2.4 User Classes and Characteristics

 Typical Users, such as students, who want to use the model for analyzing a
sales dataset .

 Advanced/Professional Users, such as engineers or researchers, who want to use


it for more Predictive Analysis.
 Programmers who are interested in working on the project by further developing it
or fix existing bugs.
2.5 Design and Implementation Constraints

The model is developed in Python, it has been built on top of the Jupyter Notebook
Platform. It uses a modular design where every feature is wrapped into a separate
module and the modules depend on each other through well-written APIs. There
are several APIs available to make plugin development easy.

2.6 User Documentation

There is a quick start guide available on the website of


Jupyter Notebook
: https://jupyternotebook.org/users/quick-start/

2.7 Assumptions and Dependencies

The model is developed in Python and therefore requires Python to be installed on the
user’s system. The latest stable version of it requires Python version 2.7 or higher.
This applies to Windows and Linux users.
3. External Interface Requirements

3.1 User Interfaces

1. Jupyter Notebook’s Welcome Screen:

2. Jupyter Notebook’s Main Screen:


3.2 Hardware Interfaces

The minimum hardware requirements of the model are a greater than 2 Gigahertz
CPU and 8 gigabytes of RAM. For bigger Models, CPU should also support GPU. The
minimum GPU requirement is Nvidia RTX
2070(https://timdettmers.com/2018/12/16/deep-learning-hardware-guide/).

3.3 Software Interfaces

The model requires Python to be installed on the system, more specifically Python
version 2 or 3 for its latest release. Additional information can be found on section
2.7 of this document.
Python can be connected with a .csv file to access the database using built in
libraries(pandas).

3.4 Communications Interfaces

Jupyter Notebook requires an internet connection to, launch at the port 8888, install
new plugins, update already installed ones and update some of its components
(APIs, modules etc.).
4. Other Nonfunctional Requirements

4.1 Performance Requirements

Gephi requires a system with at least 2 gigahertz CPU and 8 gigabytes of RAM and a
graphics card of at least 2 gigabytes. However, these requirements can support data
prediction for very long period if time. Performance depends on the size of the training
and test datasets and as a result, the system requirements for bulkier models are more
demanding.

4.2 Security Requirements

Jupyter Notebook does not have any security requirements and thus any type of user
can use it without any additional privileges.

4.3 Software Quality Attributes

Jupyter Notebook provides the users with both simple and advanced features. Due to
its well designed and easy to use interface it can be used by both experts and typical
users. However, users must already have a basic knowledge of Python programming
before using it.
Glossary
References: https://machinelearningmastery.com/gentle-introduction-long-short-term-memory-
networks-experts/

Machine Learning: It is a method of data analysis that automates analytical model building. It is a
branch of artificial intelligence based on the idea that systems can learn from data, identify patterns and
make decisions with minimal human intervention..

Deep Learning: Deep learning is a subset of machine learning in artificial intelligence (AI) that has
networks capable of learning unsupervised from data that is unstructured or unlabeled. Also known
as deep neural learning or deep neural network.

Neural Network: A neural network is a network or circuit of neurons, or in a modern sense, an artificial
neural network, composed of artificial neurons or nodes.[1] Thus a neural network is either a biological
neural network, made up of real biological neurons, or an artificial neural network, for solving artificial
intelligence (AI) problems. The connections of the biological neuron are modeled as weights. A positive
weight reflects an excitatory connection, while negative values mean inhibitory connections. All inputs
are modified by a weight and summed. This activity is referred to as a linear combination. Finally, an
activation function controls the amplitude of the output. For example, an acceptable range of output is
usually between 0 and 1, or it could be −1 and 1.

Recurrent Neural Network: A recurrent neural network (RNN) is a class of artificial neural


networks where connections between nodes form a directed graphs along a temporal sequence. This
allows it to exhibit temporal dynamic behavior. Derived from feedforward neural networks, RNNs can
use their internal state (memory) to process variable length sequences of inputs. This makes them
applicable to tasks such as unsegmented, connected handwriting recognition or speech recognition.

Long Short Term Memory: Long short-term memory (LSTM) is an artificial recurrent neural


network (RNN) architecture used in the field of deep learning. Unlike standard feedforward neural
network, LSTM has feedback connections. It can not only process single data points (such as
images), but also entire sequences of data (such as speech or video). For example, LSTM is
applicable to tasks such as unsegmented, connected handwriting recognition, speech
recognition and anomaly detection in network traffic or IDS's (intrusion detection systems).

Potrebbero piacerti anche