Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Software Requirements
Specification
for
Project
Based
Learning-II
Version 1.0
P
repared by Harsh Choudhary
Kevin Sabu
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
Glossary..........................................................................................................................8
Software Requirements Specification for Sales Page i
Prediction Model
Revision History
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.
This Document was created based on the IEEE template for System Requirement
Specification Documents.
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.
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
https://goo.gl/nsUFwy
2. Overall Description
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.
Typical Users, such as students, who want to use the model for analyzing a
sales dataset .
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.
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
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/).
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).
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
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.
Jupyter Notebook does not have any security requirements and thus any type of user
can use it without any additional privileges.
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.