67
S-IMS AN INVENTORY MANAGEMENT SYSTEM WITH DATA VISUALISATION AND DEMAND FORECASTING YONG JING XIAN BACHELOR OF COMPUTER SCIENCE (SOFTWARE DEVELOPMENT) WITH HONOURS UNIVERSITI SULTAN ZAINAL ABIDIN 2021

S-IMS AN INVENTORY MANAGEMENT SYSTEM WITH DATA

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: S-IMS AN INVENTORY MANAGEMENT SYSTEM WITH DATA

S-IMS AN INVENTORY MANAGEMENT SYSTEM WITH

DATA VISUALISATION AND DEMAND FORECASTING

YONG JING XIAN BACHELOR OF COMPUTER SCIENCE (SOFTWARE

DEVELOPMENT) WITH HONOURS UNIVERSITI SULTAN ZAINAL ABIDIN

2021

Page 2: S-IMS AN INVENTORY MANAGEMENT SYSTEM WITH DATA
Page 3: S-IMS AN INVENTORY MANAGEMENT SYSTEM WITH DATA

S-IMS AN INVENTORY MANAGEMENT SYSTEM WITH

DATA VISUALISATION AND DEMAND FORECASTING

YONG JING XIAN

BACHELOR OF COMPUTER SCIENCE (SOFTWARE DEVELOPMENT) WITH HONOURS

Universiti Sultan Zainal Abidin

2021

Page 4: S-IMS AN INVENTORY MANAGEMENT SYSTEM WITH DATA

i

DECLARATION

I hereby declare that the report is based on my original work except for quotations and citations, which have been duly acknowledged. I also declare that it has not been previously or concurrently submitted for any other degree at Universiti Sultan Zainal Abidin or other institutions.

_______________________________ Name: Yong Jing Xian Date: 25 January 2021

Page 5: S-IMS AN INVENTORY MANAGEMENT SYSTEM WITH DATA

ii

CONFIRMATION

This is to confirm that: The research conducted and the writing of this report was under my supervision.

_______________________________ Name: En. Abd Rasid bin Mamat Date: 27 January 2021

Page 6: S-IMS AN INVENTORY MANAGEMENT SYSTEM WITH DATA

iii

DEDICATION

First of all, I would like to thank my supervisor, Encik Abd. Rasid bin Mamat because

with his guidance, the advice, and the thoughtful ideas are given to me; therefore, I can

prepare this report successfully.

Besides, my gratitude is also to my fellow friends who share their ideas, opinions,

knowledge, and reminders. They helped me by answering every question that was

important to me in completing this report.

Thanks to my beloved mother and father, always supporting and their motivation

encouraged me during the whole process of preparing this report for Final Year Project.

I would like to take the opportunity to thank all lecturers of the Informatics and

Computing Faculty for their attention, guidance, and advice in helping and sharing ideas

and opinions in making this report successful.

Thank you.

Page 7: S-IMS AN INVENTORY MANAGEMENT SYSTEM WITH DATA

iv

ABSTRACT

Inventory Management System (IMS) is widely used to increase the efficiency of

managing item flow in and out from inventory. The traditional IMS method used in

some small and medium-sized enterprises (SME) involved much paperwork such as

spreadsheet and order list which will be difficult to manage. Besides that, deciding on

inventory replenishment can be difficult; thus, the need for demand forecasting

capability in an inventory management system. Therefore, this project aims to develop

a web-based inventory management system, S-IMS. The purpose of S-IMS is to help

SMEs in managing their inventory efficiently. A hybrid of Kanban and incremental

model is used as the methodology of this project development lifecycle. Double

exponential smoothing, a time series based method is used to do the demand forecasting.

This project's expected result is that the successful development of S-IMS and the

system is expected to serve its functions, helping SMEs manage their inventory with its

capabilities in data visualisation and demand forecasting.

Page 8: S-IMS AN INVENTORY MANAGEMENT SYSTEM WITH DATA

v

ABSTRAK

Sistem Pengurusan Inventory (IMS) digunakan secara meluas untuk meningkatkan

kecekapan dalam menguruskan aliran stok masuk dan keluar daripada inventori.

Kaedah tradisional pengurusan inventory yang digunakan oleh sebahagian perusahaan

kecil dan sederhara (SME) melibatkan banyak dokuman seperti spreadsheet,

menyebabkan kesusahan dalam pengurusan. Selain daripada itu, keputusan untuk

mengisi semula stok dalam inventori adalah sesuatu tugas yang mencabar. Hal ini

menunjukkan bahawa keperluan terhadap fungsi peramalan perminataan dalam sistem

pengurusan inventory. Oleh sebab itu, projek ini bertujuan untuk membangukan satu

sistem pengurusan inventori yang berasaskan web, S-IMS. Tujuan S-IMS adalan

menbantu SME dalam mengurus inventori mereka secara efisien. Kanban dan model

pembangunan secara berperingkat digunakan bersama sebagai methodologi kitaran

hayat pembangunan projek ini. Pelicinan eksponesial berganda, satu kaedah

berdasarkan siri masa akan digunakan untuk melakukan peramalan permintaan. Hasil

yang diharapkan dari projek ini adalah kejayaan pembangunan S-IMS dan sistem

diharapkan berfungsi mengikuti jangkaan, membantu SME untuk menguruskan

inventori mereka dengan kemampuannya dalam visualisasi data dan peramalan

permintaan.

Page 9: S-IMS AN INVENTORY MANAGEMENT SYSTEM WITH DATA

vi

CONTENTS

PAGE

DECLARATION i CONFIRMATION ii DEDICATION iii ABSTRACT iv ABSTRAK v CONTENTS vi List of Tables viii List of Figures ix List of Abbreviations x CHAPTER 1 INTRODUCTION 1

1.1 Introduction 1 1.2 Problem Statement 3 1.3 Objectives 5 1.4 Scopes 6 1.5 Limitation of Work 7 1.6 Expected Result / Contribution 8 1.7 Report Structure 9

CHAPTER 2 LITERATURE REVIEW 10 2.1 Introduction 10 2.2 Existing Solutions 10

2.2.1 eStockCard 11 2.2.2 QNE Inventory Version 12 2.2.3 SAGE UBS Inventory and Billing 12 2.2.4 Summary of Existing Solutions and Comparison 13

2.3 Data Visualisation 14 2.3.1 What is Visualisation 14 2.3.2 Importance of Data Visualisation 14 2.3.3 Data Visualisation Process 16 2.3.4 Data Visualisation in Support of Executive Decision

Making 16 2.3.4.1 Example 1: Inventory Management 18

2.3.5 Tools Available in Market 20 2.3.5.1 D3.js 21 2.3.5.2 FusionCharts 21

2.4 Demand Forecasting 21 2.4.1 What is demand forecasting 22 2.4.2 Forecasting Data and Methods 22

2.4.2.1 Time Series Approaches 22 2.4.3 Case Study 24

2.4.3.1 Moving Average Model 24 2.4.3.2 Simple Exponential Smoothing 26

CHAPTER 3 METHODOLOGY 29 3.1 Introduction 29 3.2 Software Development Life Cycle 29

Page 10: S-IMS AN INVENTORY MANAGEMENT SYSTEM WITH DATA

vii

3.2.1 Phases in Software Development Methodology 31 3.2.1.1 Requirements Gathering 31 3.2.1.2 Architecture Design 31 3.2.1.3 Iterations of Analysis/Design, Development and Testing

32 3.2.1.4 Validation 33 3.2.1.5 Delivery 33

3.3 Justification for Methodology 33 3.3.1 Workflow Control Using Kanban 34

3.4 Requirement Analysis Process 35 3.4.1 Requirement Elicitation 36 3.4.2 Requirement Analysis 36 3.4.3 Requirement Specification 36

3.5 System Design 38 3.5.1 Architecture Design 38 3.5.2 Process Model 39 3.5.3 Data Model 45

3.6 Algorithms 49 3.6.1 Double Exponential Smoothing 49 3.6.2 Implementation of the algorithm in Java 51

References 53

Page 11: S-IMS AN INVENTORY MANAGEMENT SYSTEM WITH DATA

viii

LIST OF TABLES

Table No. Title Page

Table 2.1 Summary of Existing Solutions and Comparison 13

Table 2.2 Comparison of Related Visualisation Fields 17

Table 3.1 Data Dictionary for "account_authentication" entity in ERD 47

Table 3.2 Data Dictionary for "account_role" entity in ERD 47

Table 3.3 Data Dictionary for "item_listing" entity in ERD 48

Table 3.4 Data Dictionary for "inventory_listing" entity in ERD 48

Table 3.5 Data Dictionary for "sales_history" entity in ERD 48

Table 3.6 Data Dictionary for "restock_history" entity in ERD 49

Page 12: S-IMS AN INVENTORY MANAGEMENT SYSTEM WITH DATA

ix

LIST OF FIGURES

Figure No. Title Page

Figure 2.1 Data Visualisation Process 16

Figure 2.2 Front Store and back store distribution of articles over time 19

Figure 2.3 Information visualisation evaluation by purchasing and sales (incl. visual merchandise) departments 20

Figure 2.4 Total number of guest visiting the Republic of Macedonia from 2012-2016 in a quarterly interval (Ivanovski, Milenkovski, & Narasanov, 2018) 25

Figure 2.5 Result of Forecasting using Weighted Moving Average Model (Ivanovski, Milenkovski, & Narasanov, 2018) 26

Figure 2.6 Comparison between Forecasted Number and Actual Number of the Visitor in 2017 (Ivanovski, Milenkovski, & Narasanov, 2018) 26

Figure 2.7 Jute Yarn Demand Data from the year 2010 to 2013 (Karmaker, Halder, & Sarker, 2017) 27

Figure 2.8 Comparison Between Forecasted Sales and Actual Sales Number (Karmaker, Halder, & Sarker, 2017) 28

Figure 3.1 Kanban 29

Figure 3.2 Incremental Model 30

Figure 3.3 Architectural design of S-IMS 38

Figure 3.4 Use Case Diagram of S-IMS 40

Figure 3.5 Data Flow Diagram (Level 0) of S-IMS 44

Figure 3.6 Data Flow Diagram (Level 1) of S-IMS 45

Figure 3.7 ERD of S-IMS 46

Figure 3.8 Code Snippet of Double Exponential Smoothing in Java 51

Figure 3.9 Code Snippet of Double Exponential Smoothing in Java 52

Page 13: S-IMS AN INVENTORY MANAGEMENT SYSTEM WITH DATA

x

LIST OF ABBREVIATIONS

GAAP Generally Accepted Accounting Principles

JIT Just In Time

JIC Just In Case

MRP Material Requirement Planning

EOQ Economic Order Quantity

DSI Days Sales of Inventory

SKU Stock Keeping Unit

KPI Key Performance Indicator

SME Small and Medium-Sized Enterprise

WIP Work In Progress

IEEE Institute of Electrical and Electronics Engineers

API Application Programming Interface

HTTP Hypertext Transfer Protocol

ERD Entity Relationship Diagram

Page 14: S-IMS AN INVENTORY MANAGEMENT SYSTEM WITH DATA

1

CHAPTER 1

INTRODUCTION

1.1 Introduction

Inventory management is the general process of monitoring the flow of items into and

out of the inventory of an existing business. This process usually involves two major

types of operation: transferring units into the inventory to ensure all the items in the

appropriate stock count for business fluency and transferring out the items out from the

inventory for sales. According to Generally Accepted Accounting Principles (GAAP),

the primary framework for financial accounting standards, inventory is a current asset.

In particular, inventory represents "tangible personal property which is held for sale in

the ordinary course of business; are in the production process for such sale; or, are to be

currently consumed in the production. In other words, inventory (in the form of "work-

in-process", "raw materials" or finished goods") is an asset because it represents a

property that is likely to be converted to revenue, as the ultimate goal of inventory is to

facilitate sales for an organisation. (Waller & Esper, 2014)

Inventory is an essential asset to carry out the business's normal activities, which

involves satisfying demand by providing supply, especially if the sales activity of the

business is product-based, such as businesses in the retail industry. It is an essential

asset because inventory's turnover rate represents one of the primary sources of revenue

or profit generation and subsequent earnings for the business. In retail, manufacturing,

food service and other inventory-intensive industry, finished products are the core of its

Page 15: S-IMS AN INVENTORY MANAGEMENT SYSTEM WITH DATA

2

business. A shortage of inventory when it is needed, or it is in demand lead by a wrong

strategy made in inventory management can be fatal to a business.

Page 16: S-IMS AN INVENTORY MANAGEMENT SYSTEM WITH DATA

3

1.2 Problem Statement

Managing the inventory of a business can be a tedious task, especially if it is done

manually. It is ineffective and inefficient, and poor inventory management is among the

top reasons why small business fail.

For businesses with complex supply chain, balancing the risks of inventory gluts and

the out-of-stock situation is especially difficult. To achieve that, existing solutions of

inventory management system often implement few major methods to do the task in

managing inventory, such as Just-In-Time (JIT), Just-In-Case (JIC), Material

Requirements Planning (MRP), Economic Order Quantity (EOQ), Days Sales in

Inventory (DSI) and qualitative analysis of inventory.

The Just-In-Time (JIT) method is a management strategy that aligns raw-materials order

from supplier with the production or manufacturing schedules. This strategy involves

ordering and receiving inventory for production and customer sales only as it is needed

to produce finished goods, and not before. The benefits of this strategy are to increase

efficiency and decrease waste by receiving inventory only as they need then for the

manufacturing process, which reduces inventory costs. It provides many benefits, but

is not without its downsides, because of the nature that inventory for production is

ordered on an as-needed basis, it relies heavily on factors such as a strong, fast and

efficient network of suppliers. If a raw materials supplier has a breakdown and cannot

deliver the ordered inventory on time, this could stall the business's entire production

line. Besides that, JIT inventory management strategy can be risky, if demand

unexpectedly spikes, the manufacturer may not be able to secure the inventory it needs

to meet that demand, causing an outage and damaging its reputation with customers.

Page 17: S-IMS AN INVENTORY MANAGEMENT SYSTEM WITH DATA

4

In contrast, Just-In-Case (JIC) method is a strategy that keeps large inventories on hand

to minimise the probability that a product will sell out of stock. A business practising

this strategy essentially incurs a great amount of cost at holding the inventory in the

warehouse in return for a reduction in the number of sales lost due to sold-out-inventory.

Besides that, complex data in the form of rows and columns are difficult for end-users

to digest. Keeping track of several spreadsheets is difficult and complex data in

spreadsheets are difficult to process, let alone garner insights on a business's

performance.

An inventory management system's main goal is to avoid a business having overstock

and understock situation to ensure the business is running without issues and prevent

unnecessary loss on revenue. For example, in the case of a business whose main activity

is retailing a broad range of food products with relatively short shelf life, an overstocked

scenario of these items will result in a direct loss since expired items have to be castoff.

Understocking items, on the other side, causing a loss in revenue because of losing

potential sales. Effective inventory management can generate more sales for the

company, which directly affects the company's performance. (Mohamad, Suraidi,

Rahman, & Nabihah & Suhaimi, 2016) An effective inventory management system

should be able to present a visualisation of data to facilitate business owner on doing

better decision making and able to do demand forecasting, so a business can have a

suitable amount of inventory on hand to handle demand while not losing potential sales

due to out-of-stock.

Page 18: S-IMS AN INVENTORY MANAGEMENT SYSTEM WITH DATA

5

1.3 Objectives

The objectives of this project are as following:

• To study the current issues and requirements in the conventional inventory

management system.

• To design a web-based inventory management system that digitalises the

process of inventory management.

• To develop the web-based inventory management system.

Page 19: S-IMS AN INVENTORY MANAGEMENT SYSTEM WITH DATA

6

1.4 Scopes

The project's scope is to develop a web-based inventory management system designed

to help convenience stores digitalise the process of managing inventory, monitoring the

stock count for each product in the inventory to ensure that every product has sufficient

quantity to handle the demand. Besides that, the system is designed to provide data

visualisation to support executive decision-making and demand forecasting to make

inventory replenishment decisions.

a) Inventory Administrator

i. Inventory Administrator can log in into the system.

ii. Admin can view the metrics/KPIs in a visual form, which the

data will be presented in a line graph or pie chart form.

iii. Admin can view the demand forecasting on each product in

the inventory, showing the product's forecasted demand in

the near future.

b) Inventory Manager

i. Inventory Manager can log in into the system.

ii. Inventory Manager can perform CRUD operations on

products in the system.

iii. Inventory Manager can perform restocking operation on

products in the system.

iv. Inventory Manager can view the demand forecasting on each

product in the inventory, showing the product's forecasted

demand in the near future.

Page 20: S-IMS AN INVENTORY MANAGEMENT SYSTEM WITH DATA

7

1.5 Limitation of Work

Usage of this inventory system requires an internet connection, therefore if there is an

internet outage happened, end-user would be unable to access the web-based inventory

management system for the period of that internet outage.

Besides that, the demand forecasting functionality of this inventory management system

would require historical sales data, for example in order to predict the demand for a

product in the inventory for the next three months, at least three months of historical

sales data of that product would be required to perform the forecasting. This

requirement of having historical data would make the system unsuitable for new-

opening business or business that do not store historical sales data digitally.

The data visualisation functionality would have a similar requirement with the demand

forecasting. Metrics or KPIs need a certain range of periodical data in order to present

the insights on the inventory in visual form to end-users.

Page 21: S-IMS AN INVENTORY MANAGEMENT SYSTEM WITH DATA

8

1.6 Expected Result / Contribution

Based on this project's objectives, the expected outcome would be an inventory

management system equipped with functionalities of data visualisation and demand

forecasting would be developed.

To the end-user of the system such as inventory manager of a business, can manage the

inventory effectively, able to have insights of the inventory without the need to digest

complex information involving rows and columns of data in a spreadsheet, With the

help of data visualisation, this kind of information will be presented in an intuitive form

which is in a visual form such as line graph or pie chart.

Lastly, helping the end-user of the system to make a decision on restocking with the

demand forecasting functionality.

Page 22: S-IMS AN INVENTORY MANAGEMENT SYSTEM WITH DATA

9

1.7 Report Structure

This report's body consists of four chapters, Chapter 1 giving an overview of an

inventory management system, problem statement, the objectives of this project, the

limitation of work of this project, and the expected result of this project. Then, Chapter

2 discusses the literature review of the subjects involved in this project, the current

inventory management systems in the market, and a comparison among these existing

solutions. Chapter 2 also discusses data visualisation, including its importance, the data

visualisation process, the significance of data visualisation in support of executive

decision-making, and the tools capable of doing it, continuing with an introduction to

demand forecasting and its and case study on these techniques. Chapter 3 discuss the

methodology used in this project, including the software development methodology, its

justification, requirement analysis process, the system design and the algorithms.

Page 23: S-IMS AN INVENTORY MANAGEMENT SYSTEM WITH DATA

10

CHAPTER 2

LITERATURE REVIEW

2.1 Introduction

This chapter would discuss the existing solutions and techniques related to the

development of this inventory management system, S-IMS.

Section 2.2 would be comparing the existing solution and discussing their strengths and

weaknesses. In Section 2.3, we would discuss the overview of visualisation, the

importance of data visualisation, data visualisation process, how it acts as a support in

executive decision-making, and tools available in the market to do data visualisation.

Lastly, Section 2.4 would discuss the overview of forecasting, demand forecasting,

techniques that can be implemented into the system to do demand forecasting for a

product in the inventory and finally, some case study on these techniques.

2.2 Existing Solutions

This section will be looking at some existing solutions available in the market, a brief

introduction on their capabilities or features offered. Lastly, in Subsection 2.2.4

Summary of Existing Solutions and Comparison would give an overview of their

features and compare these existing solutions.

Page 24: S-IMS AN INVENTORY MANAGEMENT SYSTEM WITH DATA

11

2.2.1 eStockCard

eStockCard by Chronos is an inventory system with barcode tracking for SMEs to

manage sales, purchasing and warehouse inventory operations. It can help improve

business's inventory accuracy, reduce stock holding, track item shelf life and FIFO

usage, improve sales picking & invoicing process, reduce purchasing workload, and

alert the person-in-charge for any inventory abnormality detected. (Chronos Process

Integration, 2018)

Features of eStockCard:

• Manage Incoming Stocks

• Manage Outgoing Stocks

• Barcode Labelling

o Details on products can be checked by scanning the

barcode label generated by the system, helping in product

tracking and management.

• Data Backup

• Report Generation

o Report generation to help in analyse and control the

inventory effectively.

• Bin Management

o Bin management can help in quickly identify and track

the physical locations of the inventory items in the store

or warehouse. The system shows the inventory location

using the Location Code.

Page 25: S-IMS AN INVENTORY MANAGEMENT SYSTEM WITH DATA

12

2.2.2 QNE Inventory Version

QNE Inventory Software allows users to manage their inventory easily like creating

invoices, invoice management, stock balance management, goods management, goods

category management, staff records management and staff permission management,

backup and restore stock. (QNE, 2017)

Features of QNE Inventory

• Password Protection

o Every user in QNE Inventory should log in with their

username and password with the authorised access right.

• Powerful Search Engine

o Search all the details of a customer. For example,

customer name, phone number, contacts person, fax,

current balance, area, salesman.

• Support six costing method.

o FIFO, LIFO, Weighted Average, Last Purchase Price and

FIFO with the future cost.

• Multi-level Access Control

o QNE uses multi-level access control to further control the

user accessibility to each modulus of QNE. Different

kind of users will be given different access rights to use

QNE, thus providing higher security control.

2.2.3 SAGE UBS Inventory and Billing

UBS Inventory and Billing software which handles all kinds of inventory transactions

and stays up-to-date with stock. Through the simple order entry module, it generates

Page 26: S-IMS AN INVENTORY MANAGEMENT SYSTEM WITH DATA

13

the Sales Order, Purchase Order, Delivery Order, Invoices, Credit and Debit Notes.

UBS Inventory and Billing software include the bill of the material, and it uses cost

valuation methods such as Fixed Cost, FIFO, Monthly Moving Average and Moving

Average. It also has different levels of security for user access. (iDynamics, 2020)

Features of SAGE UBS Inventory and Billing

• Different levels of data access security

• Multi-Currency Transactions entry

• 14-character stock code

• Supports graded stocks

• Track the reorder quantities and generate a forecast based on the

order

• Invoice

• Sales Order

• Transaction Summary by the quantity

• Location Stock Card

• Stock Aging Report

2.2.4 Summary of Existing Solutions and Comparison

Table 2.1 below shows the summary of existing solutions mentioned in the previous

subsection and compares these solutions.

Table 2.1 Summary of Existing Solutions and Comparison

Advantages Disadvantages Similarities

eStockCard Barcode labelling on batch Data backup

Report generated is in spreadsheet form.

Managing inventories Password protection

Page 27: S-IMS AN INVENTORY MANAGEMENT SYSTEM WITH DATA

14

Report generation Bin management

Without data visualisation. No functionality on demand forecasting

QNE Inventory Version

Multi-level access level Equipped with a powerful search engine Six costing method available Data exporting features

No demand forecasting Report generation with limited visual form support focused on invoice and sales.

Managing inventories Password protection

SAGE UBS Inventory and Billing

GST compliance SMS alert Data backup

No demand forecasting

Managing inventories Password Protection Data visualisation

2.3 Data Visualisation

In this section, we would take a look at what visualisation is, its importance and tools

available in the market to do data visualisation.

2.3.1 What is Visualisation

Definition of visualisation is "the process of representing data as a visual image,"

(Latham, 1995) The purpose of visualisation is not to replace good solid quantitative

analysis, but instead to allow the quantitative analysis to be focussed. Visualisation of

data allows decision-makers to user their natural spatial/visual abilities to find the

information in the data.

2.3.2 Importance of Data Visualisation

Data visualisation is critical to fulfilling widely held goals for expending the

organisation's analytics culture and driving more decisions with data. Across

organisations, employees who are subject matters experts in areas such as marketing,

customer service, online engagement, finance and more need to interact with data and

Page 28: S-IMS AN INVENTORY MANAGEMENT SYSTEM WITH DATA

15

analyse it for significant patterns, trends and anomalies. Data visualisation can

contribute significantly to the fruitful interpretation and sharing of insights from

analytics, enabling non-technical SMEs to perform data discovery in a self-directed

fashion. Implementation of chart engine and the growth of number and variety of

visualisation available in graphic libraries are supporting new sophistication in visual

analysis, allowing users to go beyond simple bar and pie charts to express more

advanced insights about quantitative information. (Stodder, 2013)

"Graphics reveal data," wrote Edward Tufte in his seminal work, The Visual Display of

Quantitative Information. "Indeed, graphics and be more precise and revealing than

conventional statistical computation." (Tufte, 2001) Phycologists and brain scientists

have extensively studied how humans respond to visual stimuli and how we use short-

term and long-term memory to bring previous experiences to bear on the processing of

information. "We acquire more information through vision than through all of the other

senses combined." Our visual system, a flexible pattern finder, coupled with an adaptive

decision-making mechanism, a visualisation of data has become an external artefact

support decision making. (Ware, 2004)

One of the most significant benefits of data visualisation is the sheer quantity of

information that can be rapidly interpreted if it is presented well. (Ware, 2004)

Page 29: S-IMS AN INVENTORY MANAGEMENT SYSTEM WITH DATA

16

2.3.3 Data Visualisation Process

Figure 2.1 Data Visualisation Process

As shown in Figure 2.1, the first step in the visualisation process is to acquire data from

various sources, data collected from heterogeneous sources may be unstructured/semi-

structured, so it has to be parsed into a structured format. All the data may not be

necessary for visualisation; the next step is to filter out the unimportant data. Useful

patterns are then extracted and represented in the form of charts and graphs so as to

reveal hidden information. (Chawla, Bamal, & Khatana, 2018)

2.3.4 Data Visualisation in Support of Executive Decision Making

Over time, and as information technology has evolved, increasing volumes of data have

been generated from varying sources, creating a data explosion (McAfee &

Brynjolfsson, 2012) which has resulted in increased organisational anxiety on how to

effectively manage it for beneficial use, such as formulating, implementing strategic

decisions.

According to Jack G Zheng (2017), business data visualisation has some unique features

compared to some related fields or methods that also utilise general visualisation

techniques including information visualisation, illustration, scientific visualisation and

simulation.

Data Acquisition

Parsing and Filtering

Mining Hidden

PatternsRefinement Data

Visualisation

Page 30: S-IMS AN INVENTORY MANAGEMENT SYSTEM WITH DATA

17

Table 6.1 Comparison of Related Visualisation Fields (Zheng, 2017) is shown in Table

2.2 below.

Table 2.2 Comparison of Related Visualisation Fields

Content Visual Forms/Tools Purpose

Business Data Visualisation

Quantitative data, metrics, KPIs

Charts, Diagrams, Dashboards

Data exploration, analysis, decision-making

Information visualisation

All kinds of information, quantitative and qualitative

Infographics, illustrational, diagrams

Information seeking, artistic illustration, casual communication, storytelling

Illustration

Processes, structures concept, ideas

Diagram, image, graphics

Making the content more vivid and engaging, easier to understand the complexity

Scientific visualisation

Real-world object or phenomenon, mathematical, functions and formulas

Computer-generated graphics, 3D virtual reality

Recreate or simulate the real-world object or phenomenon, or visualise an algorithm effect.

Simulation

Calculated data based on formulas or rules

Animated diagram or virtual reality

Demonstrate the effect of scenarios under certain rules

Dashboard, a term originally came from operational status monitoring on machines

which provides a visual display for quick reading. It has been expanded to a

visualisation of digital data associated with business performance on screens.

The data on the dashboard primarily consists of metrics, KPIs and textual information.

Metrics are numerical values that measure various aspects of the business activities; a

KPI is a metric that compares to its target and other comparable benchmarks

(performance intervals, historical periods or industry averages) (Barr, 2009) A well-

designed dashboard allows decision-makers to see the most relevant data that reflects

Page 31: S-IMS AN INVENTORY MANAGEMENT SYSTEM WITH DATA

18

business status and support a decision. It is a highly summarised and centralised

snapshot that saves a user's time by eliminating the need to run multiple reports or get

data through different sources. It also allows the user to understand data and respond

promptly at one place quickly.

A few researchers have done a research to illustrate how, for a major European apparel

retailer, the visualisation of performance information plays a critical role in improving

business decisions and extracting insights from Radio-Frequency Identification (RFID)

based performance measures. (Al-Kassab, Ouertani, Shciuma, & Neely, 2017)

This paper highlighted three fundamental managerial functions of information

visualisation, namely as: a communication medium, a knowledge management means,

and a decision-support instrument. We would only discuss the function of information

visualisation as a decision-support instrument here, as it is the topic concerned with this

project.

A decision-support instrument, this managerial function of information visualisation is

illustrated through two different examples, provided to evidence the benefit of

information visualisation, based on real industrial case evidence. One of the examples

is discussed in Section 2.3.4.1 Example 1:Inventory Management

2.3.4.1 Example 1: Inventory Management

The collected data can be used to calculate the back store and front store inventory

levels on an article group level – in real-time as well as for any given point of time. A

list can be generated for an article group, for each day of the year and be plotted (see

Figure 2.2). (Al-Kassab, Ouertani, Shciuma, & Neely, 2017) This analysis and its

Page 32: S-IMS AN INVENTORY MANAGEMENT SYSTEM WITH DATA

19

information visualisation support the retailer in reducing the number of "out-of-shelf

but in stock" or "stock-out" situations, which are responsible for lost sales and reduced

customer satisfaction.

Figure 2.2 Front Store and back store distribution of articles over time

As outlined by the example above, the visualisation of information has provided

managerial function to support business performance management in the department

store. Two workshops are later then conducted with managers of the retailer's holding

company. The managers agreed that the new level of transparency, conveyed by

traditional and innovative visualisation techniques, supported them from moving from

an experienced-based to fact-based decision making.

Figure 2.3 below (Al-Kassab, Ouertani, Shciuma, & Neely, 2017) provides an overview

of the qualitative evaluation regarding the importance, usefulness and potential benefits

for the purchasing (P) as well as sales (S; including visual merchandise) departments,

using the following evaluation scheme:

Page 33: S-IMS AN INVENTORY MANAGEMENT SYSTEM WITH DATA

20

Black = absolutely important and beneficial, a major driver for

RFID technology and the corresponding information

visualisation,

Grey = rather important, not a major driver,

White = no important benefit/application for RFID technology

and its information visualisation; just a "follower".

Figure 2.3 Information visualisation evaluation by purchasing and sales (incl. visual merchandise) departments

2.3.5 Tools Available in Market

We will now take a look at some tools in that market that can help in doing data

visualisation.

Page 34: S-IMS AN INVENTORY MANAGEMENT SYSTEM WITH DATA

21

2.3.5.1 D3.js

D3.js is a JavaScript library for manipulating documents based on data. D3 helps the

user to encapsulate data in HTML, SVG and CSS files.

2.3.5.2 FusionCharts

FusionCharts is the most comprehensive JavaScript charting library. FusionCharts

integrates easily with libraries like jQuery, frameworks like AngularJS and React and

languages like ASP.Net and PHP.

2.4 Demand Forecasting

The predictability of an event or a quantity depends on several factors, including:

i. how well we understand the factors that contribute to it;

ii. how much data is available

iii. whether the forecasts can affect the thing that we are trying to forecast.

Forecasting situations vary widely in their time horizons, factors determining actual

outcomes, types of data patterns, and many other aspects. Forecasting methods can be

simple, such as using the most recent observation as a forecast (which is called the naive

method), or highly complex, such as neural networks and econometric systems of

simultaneous equations. (Hyndman & Athanasopoulos, 2018)

Quantitative forecasting can be applied when two conditions are satisfied:

i. numerical information about the past is available

Page 35: S-IMS AN INVENTORY MANAGEMENT SYSTEM WITH DATA

22

ii. it is reasonable to assume that some aspects of the past patterns will

continue into the future.

Most quantitative prediction problems use either time-series data (collected at regular

intervals over time) or cross-sectional data (collected at a single point of data).

2.4.1 What is demand forecasting

Forecasting the demand for the products generally hinges on the product characteristics

and industry's properties. (Kolassa & E.Siemsen, 2016) For example, demand

forecasting in the apparel and footwear industry is extremely challenging due to the

volatile demand, strong seasonality.

Forecasting product demand is crucial to any supplier, manufacturer, or retailer.

Forecasts of future demand will determine the quantities that should be purchased,

produced, and shipped. Most firms cannot merely wait for demand to emerge and then

react to it.

2.4.2 Forecasting Data and Methods

In this subsection, we would discuss the approaches that can be used to do forecasting

on data.

2.4.2.1 Time Series Approaches

Time series procedures are applied to demand data that are longitudinal rather than

cross-sectional. That is, the demand data represent the experience that is repeated over

time rather than across items or locations. The approach's essence is to recognise ( or

assume) that demand occurs over time in patterns that repeat themselves, at least

Page 36: S-IMS AN INVENTORY MANAGEMENT SYSTEM WITH DATA

23

approximately. If we can understand the pattern, then we can use this to form the basis

of a forecast.

• The Simple Moving Average In a moving average, the forecast would be calculated as the

average of the last "few" observations as illustrated in Equation

1 below. If we let M equal to the number of observations to be

included in the moving average, then:

Equation 1 Simple Moving Average

Equations 1 shows the formula for Simple Moving Average.

• The Weighted Moving Average

In a weighted moving average, we will place relatively more

emphasis on recent data and relatively less emphasis on less

current experience or observations. Equation 2 below shows the

equation of the weighted moving average.

Equation 2 Weighted Moving Average

where the last M observations are averaged together, but they are

not given equal weight in the average.

• Simple Exponential Smoothing

Page 37: S-IMS AN INVENTORY MANAGEMENT SYSTEM WITH DATA

24

In a simple exponential smoothing, we make a forecast for the

next period by forming a weighted combination of the last

observation and the last forecast. Equation 3 below shows the

equation for simple exponential smoothing.

Equation 3 Simple Exponential Smoothing where α is a parameter called the "smoothing coefficient". Values

of α are restricted such that 0 < α < 1. In this form, α can be

interpreted as the relative weight given to the most recent data in

the series. For example, if an α of 0.2 is used, each successive

forecast consists of 20% "new" data and 80 "old" data, since the

prior forecast is composed of recursively weighted combinations

of prior observations.

2.4.3 Case Study

A case study is carried out in this subsection and discusses a few cases that used

approaches mentioned in the previous subsection to do the forecasting.

2.4.3.1 Moving Average Model

Few researchers have used the Moving Average Model to perform the time series

forecasting. (Ivanovski, Milenkovski, & Narasanov, 2018)

They have analysed quarterly for the total number of guests for the five-year period

from 2012-2016 that have visited the Republic of Macedonia and done a forecast using

Page 38: S-IMS AN INVENTORY MANAGEMENT SYSTEM WITH DATA

25

Weighted Moving Average model on the number of guests who will visit the Republic

of Macedonia in next year. Figure 2.4 shows the total number of guests visiting the

Republic of Macedonia from 2012 to 2016 in a quarterly interval. Figure 2.5 shows the

result of the forecast using the model. Figure 2.6 shows the comparison between the

forecasted number and the actual number of visitors in the year 2017.

Figure 2.4 Total number of guest visiting the Republic of Macedonia from 2012-2016 in a quarterly interval (Ivanovski, Milenkovski, &

Narasanov, 2018)

Page 39: S-IMS AN INVENTORY MANAGEMENT SYSTEM WITH DATA

26

Figure 2.5 Result of Forecasting using Weighted Moving Average

Model (Ivanovski, Milenkovski, & Narasanov, 2018)

Figure 2.6 Comparison between Forecasted Number and Actual

Number of the Visitor in 2017 (Ivanovski, Milenkovski, & Narasanov, 2018)

2.4.3.2 Simple Exponential Smoothing

A few researchers used various models on predicting and forecasting in a real case

demonstration. A practical case study on Akij Jute Mills, Akij Group Ltd in Noapara,

Jessore was conducted. (Karmaker, Halder, & Sarker, 2017) Eight forecasting methods

were used, and one of the methods are using Simple Exponential Smoothing model.

Page 40: S-IMS AN INVENTORY MANAGEMENT SYSTEM WITH DATA

27

They used the model to forecast the jute yarn demand using demand data from 2010 to

2013. Figure 2.7 below shows the jute yarn demand data from 2010 to 2013. Then

Figure 2.8 shows the comparison of the forecasted sales numbers and the actual sales

numbers.

Figure 2.7 Jute Yarn Demand Data from the year 2010 to 2013 (Karmaker, Halder, & Sarker, 2017)

Page 41: S-IMS AN INVENTORY MANAGEMENT SYSTEM WITH DATA

28

Figure 2.8 Comparison Between Forecasted Sales and Actual Sales

Number (Karmaker, Halder, & Sarker, 2017)

Page 42: S-IMS AN INVENTORY MANAGEMENT SYSTEM WITH DATA

29

CHAPTER 3

METHODOLOGY

3.1 Introduction

This chapter will be discussing the methodology used for the project development

lifecycle, which is all the phases of planning, designing, developing and testing. Various

diagrams would be used to illustrate the data flow of the system, processes in the system

such as Use Case Diagram, Data Flow Diagram, Entity Relationship Diagram, etc.

3.2 Software Development Life Cycle

The methodology that will be used to the software development life cycle is a hybrid of

Personal Kanban and incremental model. Figure 3.1 below shows how a Kanban looks

like.

Figure 3.1 Kanban

Backlog Planning/Design Developing Testing Done

Page 43: S-IMS AN INVENTORY MANAGEMENT SYSTEM WITH DATA

30

In a Kanban system, there are a fixed number of cards (Kanban) which corresponds to

the decided capability of cards in the system. Each card represents one piece of work.

When a card is available, the free card adds a piece of work which sticks with it through

the whole system. If there are no available cards, no more pieces of work can be started

until another card is free. When a piece of work is done, the card is recycled, and a new

piece of work can be attached and put into the queue to go into the system. This kind of

system is called a pull-system since new pieces of work are pulled in the system when

they can be handled.

Then, we will talk about the incremental model. Figure 3.2 below illustrates the overall

structure of an incremental model.

Figure 3.2 Incremental Model

In an incremental model. the cost of accommodating changing requirements is reduced.

The amount of analysis and documentation that has to be redone is much less if

Page 44: S-IMS AN INVENTORY MANAGEMENT SYSTEM WITH DATA

31

compared to other models such as the waterfall model. Further elaboration on the phases

of this methodology will be discussed in Subsection 3.2.1 Phases.

3.2.1 Phases in Software Development Methodology

This subsection will discuss the phases in the software development methodology

mentioned, which is the incremental model.

3.2.1.1 Requirements Gathering

Requirement gathering is the first step in the methodology. Requirements are collected

to help define the project scope. Requirements are the expectations of the project's

outcomes. Therefore, it needs to be collected accurately so that this project's deliverable

would satisfy the needs or expectations. Further details on the requirements analysis,

such as the methodology of doing so will be discussed in Section 3.4 Requirement

Analysis Process.

3.2.1.2 Architecture Design

The system's requirements should transform into an architecture that describes the

system's top-level structure and identifies its components. This is established through

architectural design which acts as the preliminary "blueprint" from which system can

be built.

Page 45: S-IMS AN INVENTORY MANAGEMENT SYSTEM WITH DATA

32

Institute of Electrical and Electronics Engineers (IEEE) defines that architectural design

as the "process of defining a collection of hardware and software components and their

interfaces to establish the framework for the development of a computer system."

Further details on the architecture design of the system will be discussed in Subsection

3.5.2 Architecture Design

3.2.1.3 Iterations of Analysis/Design, Development and Testing

The incremental model's core idea is that it is a process of software development where

requirements are divided into multiple stand-alone modules of the software

development life cycle. When a module is developed, the first increment of the system

is built. In this model, each increment goes through the analysis/design, developing and

testing phases. Every subsequent increment adds new functions or modules to the

previous increment. The iteration goes on until the complete system is developed based

on the requirement specifications established.

White box testing approach is used in the testing phase in each increment. It inspects

and verifies the inner workings of the system. Two forms of white box testing are used,

which is the unit testing and integration testing. Unit testing's main objective is to test

that each module or components are working as expected, and integration testing checks

integration points between internal modules or components in the system.

Page 46: S-IMS AN INVENTORY MANAGEMENT SYSTEM WITH DATA

33

3.2.1.4 Validation

Validation is done to determine if the system complies with the requirements

specification and performs functions for which it is intended and meet the requirements

and needs.

3.2.1.5 Delivery

The final phase of the model, the system is developed completely with its functionality

meets with the requirement specifications established. The system is ready to put into a

production environment or production-ready, capable of solving stakeholder's needs.

3.3 Justification for Methodology

Kanban is a Japanese word meaning a signboard, and it is used in manufacturing as a

scheduling system. It is a flow control mechanism for pull-driven JIT production, in

which the downstream process demand signals trigger the upstream processing

activities. The Kanban method is software development was originated in 2004 when

David J. Anderson was assisting a small IT team at Microsoft that was operating poorly.

The Kanban method in software development drives teams to visualise the work

workflow, limit Work-In-Progress (WIP), and provides visibility to the software

process. (Ahmad, Markkula, & Oivo, 2013) Kanban is implemented on top of the

incremental model as a mean of managing the workflow.

An incremental model is a process where the system's requirements are broken down

into multiple modules that serve its own functionality. Incremental development is done

in steps that consist of planning, analysis/design, development and testing. Each

Page 47: S-IMS AN INVENTORY MANAGEMENT SYSTEM WITH DATA

34

iteration passes through the requirements, design, developing and testing phases. And

each subsequent modules that are developed in an incremental fashion by adding

function to the previous increment until all the required modules are developed to

produce the final system which is the deliverable of this project, S-IMS, the inventory

management system.

3.3.1 Workflow Control Using Kanban

Application of Kanban method in software processes is expected to yield certain

positive results. Kanban limits WIP according to team capacity, which balances

demands against the throughput of the team delivered work. It helps to visualise process

problems, decrease defects and maintain a steady flow. (Ahmad, Markkula, & Oivo,

2013)

The visualisation of tasks with Kanban makes it clearer for developers or members in a

team to understand the overall direction of work, and helps them to manage the flow.

The "limit work in progress" principle of the Kanban method minimises context

switching and lead time. It also helps an individual work better as he/she only work on

the assigned tasks and focus only on it. Therefore, resulting in faster delivery and

improvement in the quality of work.

The Kanban method would be used as a "plug-in" with the incremental model for the

whole software development life cycle.

Page 48: S-IMS AN INVENTORY MANAGEMENT SYSTEM WITH DATA

35

3.4 Requirement Analysis Process

Since the beginning of the software engineering era, the inability to produce a complete,

accurate, and unambiguous software requirements remains as one of the major causes

of software development failure.

Therefore, requirement analysis process has become a critical process in the software

engineering field and an essential part of successful software development. To perform

requirement analysis, we must first understand what a requirement is. IEEE defines a

requirement as the following:

i. A software capability needed by the user to solve a problem or achieve an

objective.

ii. A software capability that must be met or possessed by a system or system

component to satisfy a contract, specification, standard, or other formally

imposed documents.

The requirement analysis process is broken into a number of phases. It consists of five

main activities which are, requirement elicitation, requirement analysis, requirement

specification, requirement verification and requirement management. (Thayer &

Dorfman, 1997) Requirement elicitation would be discussed on Subsection 3.4.1

Requirement Elicitation, then requirement analysis on Subsection 3.4.2 Requirement

Analysis, lastly requirement specification on Subsection 3.4.3 Requirement

Specification. Requirement verification and requirement management are omitted for

the sake of simplicity.

Page 49: S-IMS AN INVENTORY MANAGEMENT SYSTEM WITH DATA

36

3.4.1 Requirement Elicitation

Requirement elicitation is the practice of researching and discovering the requirements

of a system from the stakeholders. This practice is sometimes called "requirement

gathering".

The requirement elicitation was done by carrying out brainstorming session and analysis

on existing solutions in the market.

3.4.2 Requirement Analysis

The requirements gathered from the requirements gathering phase are analysed to see

if it is fit to use to develop the system.

Firstly, the requirements gathered are analysed against existing solutions in the market

to determine which requirements are essential in developing an inventory management

system.

3.4.3 Requirement Specification

Requirement specification can be view as the representation process after the analysis

process.

The summary of the functional requirements of the system is as follows:

i. The system shall allow the inventory administrator and inventory manager to

log in to the system.

Page 50: S-IMS AN INVENTORY MANAGEMENT SYSTEM WITH DATA

37

ii. The system shall allow the inventory administrator and inventory manager to

log out from the system.

iii. The system shall allow the inventory administrator to view the metrics/KPIs and

the overview of the inventory.

iv. The system shall allow the inventory administrator and inventory manager to

view the listing of items in the inventory.

v. The system shall allow the inventory administrator and inventory manager to

view an item's details with its turnover rate, days in inventory, and the forecasted

demand for the item.

vi. The system shall allow the inventory manager to add a new item into the

inventory.

vii. The system shall allow the inventory manager to edit or update an existing item

in the inventory.

viii. The system shall allow the inventory manager to remove an existing item from

the inventory.

ix. The system shall allow the inventory manager to restock for an item in the

inventory.

Page 51: S-IMS AN INVENTORY MANAGEMENT SYSTEM WITH DATA

38

3.5 System Design

In this section, we would discuss the system's design in various aspects, such as its

architectural structures, the process involved in the system, the data flow in the system,

and the system's logical data model.

3.5.1 Architecture Design

This subsection would be discussing the architectural design of the system. Figure 3.3

below illustrates the architectural design of the system.

Figure 3.3 Architectural design of S-IMS

Page 52: S-IMS AN INVENTORY MANAGEMENT SYSTEM WITH DATA

39

The architecture of S-IMS is a layered architecture. In a layered architecture, the layers

can be used in a strict way, where a layer only know the layer directly beneath it, or in

a more flexible approach where a layer can access any layer beneath it.

First, the front end of S-IMS will be built using Angular, and it communicates with the

backend web application programming interface (API) sending a Hypertext Transfer

Protocol (HTTP) request and receiving a response from it. Client-side endpoints will be

interacting with the system using an internet connection, and the Angular frontend will

be the presentation layer of the system. The presentation layer is responsible for render

the web interface to the users, allowing users to interact with the application and

translating the user's inputs into application commands.

Then, the backend of the system consists of a web API and a database server, the

database server stores all information needed by the system in a centralised fashion.

The web API consists of three-layer, which is the application layer, domain model layer

and persistence layer. The application layer orchestrates Domain Objects to perform the

task required by the user, and the domain layer is the layer that contains all the business

logic. The persistence layer acts as a kind of intermediate layer between a database

server and business logic, allowing easier migration to other database servers, for

example migrating from MySQL server to the PostgreSQL server.

3.5.2 Process Model

This subsection will discuss how the requirements definition and use cases can be

further clarified through a process model. A process model is a graphical way of

representing how a business system should operate. It illustrates the processes or

Page 53: S-IMS AN INVENTORY MANAGEMENT SYSTEM WITH DATA

40

activities that are performed and how data move among them. (Dennis, Wixom, &

Tegarden, 2012)

Figure 3.4 Use Case Diagram of S-IMS

Figure 3.4 above is the use case diagram for S-IMS that model the system's functionality

using actors and use cases. Use cases are a set of action, services, or functions that the

system need to perform. Use case diagram is used to visualise the roles or external

Page 54: S-IMS AN INVENTORY MANAGEMENT SYSTEM WITH DATA

41

entities and how those roles interact with the system. In S-IMS, the actor or external

entity that interact with the system is the inventory administrator and inventory

manager. In this context, we refer the external entities as inventory administrator and

inventory manager, but any role name can be used as long as their responsibilities in the

business are managing the inventory because an actor is not a specific user, but a role

that a user can play while interacting with the system.

There are three use cases connected to the actor of Inventory Administrator through an

association relationship which is as follows:

i. Login

This use case is the process of the system when the user of the system is trying to login

to the system. In the diagram, we can see that it use the functionality of another use case

which is the use case labelled with "verify credentials", it verifies the login credentials

given by the user to determine if the user has the authority to use the system. Besides

that, it extends the functionality of another use case labelled with" login error" which

when the credentials given are invalid, it tells the user that the login attempt failed.

ii. View Inventory

This use case is the process of the system when the user of the system is viewing all the

items in the inventory in a tabular form. It uses the functionality of other four use cases

labelled with "View item", "Turnover rate", "Inventory days", and "Demand

forecasting". The "View item" use case allows the user to view the details of the item,

Page 55: S-IMS AN INVENTORY MANAGEMENT SYSTEM WITH DATA

42

while the other three use cases display their value on the information panel along with

the details of the item.

iii. View Dashboard

This use case is the process of the system when the user of the system is viewing the

dashboard, which displays the metrics or KPIs that shows that performance of the

inventory. It uses the functionality of the other two use cases labelled with "Expenses

on inventory" which shows the total expenses on the inventory of the business and

"Inventory in category" shows all the item in inventory grouped by categories.

There are four use cases connected to the actor of Inventory Manager through an

association relationship which is as follows:

i. Login

This use case is the process of the system when the user of the system is trying to login

to the system. In the diagram, we can see that it use the functionality of another use case

which is the use case labelled with "verify credentials", it verifies the login credentials

given by the user to determine if the user has the authority to use the system. Besides

that, it extends the functionality of another use case labelled with" login error" which

when the credentials given are invalid, it tells the user that the login attempt failed.

Page 56: S-IMS AN INVENTORY MANAGEMENT SYSTEM WITH DATA

43

ii. Manage Inventory

This use case is the process of the system when the user of the system is managing the

inventory of the system. It uses the functionality of other four use cases labelled with

"Add a new item", "Edit/Update an item", "View item", and "Remove an existing item".

iii. View Inventory

This use case is the process of the system when the user of the system is viewing all the

items in the inventory in a tabular form. It uses the functionality of other four use cases

labelled with "View item", "Turnover rate", "Inventory days", and "Demand

forecasting". The "View item" use case allows the user to view the details of the item,

while the other three use cases display their value on the information panel along with

the details of the item.

iv. Restock

This use case is the process of the system when the user of the system is doing restock

on the inventory of the system. It uses the functionality of the other use case labelled

with "Update the quantity of an item" which allow the user to do restocking operation

on the inventory.

Page 57: S-IMS AN INVENTORY MANAGEMENT SYSTEM WITH DATA

44

Figure 3.5 Data Flow Diagram (Level 0) of S-IMS

Figure 3.5 above is the data flow diagram (Level 0) or also known as the context

diagram of S-IMS, which act as a high-level map of the system. The system context

diagram's objective is to focus attention on external factors and events that should be

considered in developing a complete set of system requirements and constraints.

(Kossiakoff, Sweet, Seymour, & Biemer, 2011)

In the diagram, the oval shape is used to represent the external entities which is the

inventory administrator and inventory manager. The rounded rectangle shape is used to

represent the system box, which is the S-IMS. A whole system is represented as a single

process in a context diagram. The diagram shows the input and output flows of data to

and from the system and external entities.

Page 58: S-IMS AN INVENTORY MANAGEMENT SYSTEM WITH DATA

45

Figure 3.6 Data Flow Diagram (Level 1) of S-IMS

Figure 3.6 above is the data flow diagram (Level 1) for S-IMS. There are four symbols

in the data flow diagram language ( processes, data flows, data stores and external

entities) represented by a different graphic symbol. Gane and Sarson style symbols are

used in the data flow diagram above.

3.5.3 Data Model

This subsection would discuss the data model, which is a formal way of representing

the data that are used and created by a business system. The data model in this

subsection is a logical data model which shows the logical organisation of data without

indicating how data are stored, created, or manipulated.

Page 59: S-IMS AN INVENTORY MANAGEMENT SYSTEM WITH DATA

46

Figure 3.7 ERD of S-IMS

Figure 3.7 above is the entity-relationship diagram (ERD) of the system. It shows the

information that is created, stored and used by the system. Crow's Foot notation is used

in the ERD. There is total of six entities in the logical data model, which is

"account_authentication", "account_role", "item_listing", "item_inventory",

"sales_history" and "restock_history".

The data relationship between "account_authentication" and "account_role" is one-to-

any, means that an account can have one or more roles in the system. Then, the data

relationship between "item_listing" and "inventory_listing" is one-to-one, means that

an item in the listing can only have one record in the inventory listing. Then, the data

Page 60: S-IMS AN INVENTORY MANAGEMENT SYSTEM WITH DATA

47

relationship of "item_listing" to "sales_history" and "restock_history" is zero, one or

many, means that an item can have zero, one or many sales records and restock records.

Table 3.1 below is the data dictionary for the "account_authentication" entity in the

logical data model.

Table 3.1 Data Dictionary for "account_authentication" entity in ERD

Attributes Data type Description Example account_id int unique identifier for an

account 1,2,3,...

account_usern varchar(64) unique username for an account, for the login purpose

“inveAdmin1”,”inveManager2”,...

account_passw char(64) hashed password from plaintext

Table 3.2 below is the data dictionary for the "account_role" entity in the logical data

model.

Table 3.2 Data Dictionary for "account_role" entity in ERD

Attributes Data type Description Example account_usern varchar(64) unique username for an

account, for the login purpose

“inveAdmin1”,”inveManager2”,...

role varchar(64) role of the account "Admin"

Table 3.3 below is the data dictionary for the "item_listing" entity in the logical data

model.

Page 61: S-IMS AN INVENTORY MANAGEMENT SYSTEM WITH DATA

48

Table 3.3 Data Dictionary for "item_listing" entity in ERD

Attributes Data type Description Example item_id varchar(255) unique identifier for an item 1,2,3... item_SKU varchar(64) Stock Keeping Unit for an

item “FDSA23123D231”, “JKFD53245R233”,...

item_name varchar(64) Name of the item "SimNong Honey Butter Chips",...

item_dimensions varchar(64) Dimensions of the item in Length(cm) x Width(cm) x Height (cm)

“60x40x50”,...

item_weight numeric(16,5) Weight of the item "2.50"," 4.00",... item_volume numeric(16,5) Volume of the item "1.50"," 3.00",... item_description text Description of the item item_unit_price numeric(16,5) Price of the item per unit "35.80"," 18.90",...

Table 3.4 below is the data dictionary for the "inventory_listing" entity in the logical

data model.

Table 3.4 Data Dictionary for "inventory_listing" entity in ERD

Attributes Data type Description Example item_SKU varchar(64) Stock Keeping Unit for an

item “FDSA23123D231”, “JKFD53245R233”,...

item_inventory_quantity

int4 Quantity of the item in inventory

45,56,90,...

last_restock_date date Date of last restock operation on the item

"2020-12-24",...

stock_level enum Count level of the item in inventory

"Low", "Normal",...

Table 3.5 below is the data dictionary for the "sales_history" entity in the logical data

model.

Table 3.5 Data Dictionary for "sales_history" entity in ERD

Attributes Data type Description Example item_SKU varchar(64) Stock Keeping Unit for an

item “FDSA23123D231”, “JKFD53245R233”,...

sales_date date Date of the sales record "2020-12-24",... sales_time time Time of the sales record "04:05",...

Page 62: S-IMS AN INVENTORY MANAGEMENT SYSTEM WITH DATA

49

sales_quantity int4 Unit quantity of item in the sales record

3,5.6,...

transaction_amount numeric(16,5) Total amount for the sales record

“156.00”,...

Table 3.6 below is the data dictionary for the "restock_history" entity in the logical data

model.

Table 3.6 Data Dictionary for "restock_history" entity in ERD

Attributes Data type Description Example item_SKU varchar(64) Stock Keeping Unit for an

item “FDSA23123D231”, “JKFD53245R233”,...

restock_date date Date of the restock "2020-12-24",... restock_quantity int4 Quantity of the restock

(unit) 12,15,50,...

restock_unit_cost numeric(16,5) Cost of the restock item per unit

“28.80”,”15.40”,...

account_usern varchar(64) unique username for an account, to record who did the restock operation

“inveAdmin1”,”inveManager2”,...

3.6 Algorithms

In this project, double exponential smoothing method is used as the time series-based

method to forecast the demand for an item in the inventory.

3.6.1 Double Exponential Smoothing

Exponential smoothing is a technique for smoothing time series data using the

exponential window function. Exponential functions are used to assign exponentially

decreasing weights on past observations over time. Simple exponential smoothing does

not do well when there is a trend in the time series data. To solve this, recursive

application of an exponential twice, thus the name of "double exponential smoothing".

Page 63: S-IMS AN INVENTORY MANAGEMENT SYSTEM WITH DATA

50

The basic idea behind this method is to introduce a term to take into account the

possibility of a series exhibiting some form of trend. The slope component is itself

updated via exponential smoothing.

The raw time series data is represented by 𝑦𝑦𝑡𝑡, beginning at 𝑡𝑡 = 0. 𝑆𝑆𝑡𝑡 is used to represent

the smoothed value for time 𝑡𝑡 and 𝑏𝑏𝑡𝑡 is the best estimate of the trend at time 𝑡𝑡. The

output of the algorithm is now written as 𝐹𝐹𝑡𝑡+𝑚𝑚 an estimate of the value of 𝑦𝑦𝑡𝑡+𝑚𝑚 at time

𝑚𝑚 > 0 based on the raw time series up to time 𝑡𝑡.

There are two equations associated with double exponential smoothing.

𝑆𝑆𝑡𝑡 = 𝛼𝛼𝑦𝑦𝑡𝑡 + (1 − 𝛼𝛼)(𝑆𝑆𝑡𝑡−1 + 𝑏𝑏𝑡𝑡−1)

where 0 ≤ α ≤ 1 is the level smoothing factor.

𝑏𝑏𝑡𝑡 = 𝛽𝛽(𝑆𝑆𝑡𝑡 − 𝑆𝑆𝑡𝑡−1) + (1 − 𝛽𝛽)𝑏𝑏𝑡𝑡−1

where 0 ≤ β ≤ 1 is the trend smoothing factor.

The m-period-ahead forecast is given by

𝐹𝐹𝑡𝑡+𝑚𝑚 = 𝑆𝑆𝑡𝑡 + 𝑚𝑚𝑏𝑏𝑡𝑡

Page 64: S-IMS AN INVENTORY MANAGEMENT SYSTEM WITH DATA

51

3.6.2 Implementation of the algorithm in Java

The double exponential smoothing algorithm is then implemented in Java.

Figure 3.8 Code Snippet of Double Exponential Smoothing in Java

Figure 3.15 above implemented the equations associated with double exponential

smoothing in Java.

𝑆𝑆𝑡𝑡 = 𝛼𝛼𝑦𝑦𝑡𝑡 + (1 − 𝛼𝛼)(𝑆𝑆𝑡𝑡−1 + 𝑏𝑏𝑡𝑡−1)

where 0 ≤ α ≤ 1 is the data smoothing factor.

Page 65: S-IMS AN INVENTORY MANAGEMENT SYSTEM WITH DATA

52

𝑏𝑏𝑡𝑡 = 𝛽𝛽(𝑆𝑆𝑡𝑡 − 𝑆𝑆𝑡𝑡−1) + (1 − 𝛽𝛽)𝑏𝑏𝑡𝑡−1

where 0 ≤ β ≤ 1 is the trend smoothing factor.

Figure 3.9 Code Snippet of Double Exponential Smoothing in Java

Figure 3.16 above shows how to perform m-period-ahead forecast using the formula of

𝐹𝐹𝑡𝑡+𝑚𝑚 = 𝑆𝑆𝑡𝑡 + 𝑚𝑚𝑏𝑏𝑡𝑡

Page 66: S-IMS AN INVENTORY MANAGEMENT SYSTEM WITH DATA

53

REFERENCES

Ahmad, M. O., Markkula, J., & Oivo, M. (2013). Kanban in Software Development: A Systematic Literature Review. Software Engineering and Advanced Applications (SEAA), 9-16.

Al-Kassab, J., Ouertani, Z. M., Shciuma, G., & Neely, A. (2017). Information Visualisation to Support Management Decisions. International Journal of Information Technology & Decision Making, 407-428.

Barr, S. (2009, November 2009). What Does "KPI" Really Mean? Retrieved from Dashboard Insight: www.dashboardinsight.com/articles/digital-dashboards/fundamentals/what-does-kpi-really-mean.aspx

Chawla, G., Bamal, S., & Khatana, R. (2018). Big Data Analytics for Data Visualsation: Review of Techniques. International Journal of Computer Applications, 37-40.

Chronos Process Integration. (2018). eStockCard Inventory Software. Retrieved from eStockCard Inventory Software: http://www.estockcard.com/

Dennis, A., Wixom, B. H., & Tegarden, D. P. (2012). Systems Analysis and Design: An Object-Oriented Approach with UML. New York: Wiley Publishing.

Grinstein, G., & Ward, M. O. (2001). Introduction to Data Visualization. Information visualisation in data mining and knowledge discovery, 21-45.

Hyndman, R., & Athanasopoulos, G. (2018). Forecasting: Principles and Practice. OTexts: Melbourne, Australia.

iDynamics. (2020). Sage UBS Inventory & Billing. Retrieved from Sage UBS Inventory & Billing: https://idynamics.com.my/sage-ubs-inventory-billing/

Ivanovski, Z., Milenkovski, A., & Narasanov, Z. (2018). TIme Series Forecasting Using A Moving Average Model for Extrapolation of Number of Tourist. UTMS Journal of Econimics, 121-132.

Karmaker, C. L., Halder, P. K., & Sarker, E. (2017). A Study of Time Series Model for Predicting Jute Yarm Demand: Case Study. Journal of Industrial Engineering.

Kolassa, S., & E.Siemsen. (2016). Demand Forecasting for Managers. New York:Business Expert Press.

Kossiakoff, A., Sweet, W. N., Seymour, S. J., & Biemer, S. M. (2011). Systems Engineering: Principles and Practice. Hoboken, N.J. : Wiley-Interscience. doi:10.1002/9781118001028

Latham, R. (1995). The Dictionary of Computer Graphics and Virtual Reality. Springer-Verlag New York.

McAfee, A., & Brynjolfsson, E. (2012). Big Data: The Management Revolution. Harvard Business Review, 60-68.

Page 67: S-IMS AN INVENTORY MANAGEMENT SYSTEM WITH DATA

54

Mohamad, S., Suraidi, S. J., Rahman, N. &., & Nabihah & Suhaimi, R. (2016). A Study on Relationship between Inventory Management and Company Performance: A Case Study of Textile Chain Store. Journal Of Advance Management Science, 299-304.

QNE. (2017). QNE-Malaysia Inventory Software. Retrieved from QNE-Malaysia Inventory Software: https://www.qne.com.my/inventory-software/

Stodder, D. (2013). Data Visualization and Discovery for Better Business Decisions. TDWI Research.

Thayer, R. H., & Dorfman, M. (1997). Software Requirement Engineering. IEEE Computer Society Press.

Tufte, E. R. (2001). The Visual Display of Quantitative Information Second Edition. Graphics Press.

Waller, M. A., & Esper, T. L. (2014). The Definitive Guide to Inventory Management. In M. A. Waller, & T. L. Esper, Principles and Strategies for the Efficient FLow of Inventory Across the Supply Chain (p. 2). Pearson Education, Inc.

Ware, C. (2004). Information Visualisation: Perception for Design Second Edition. Morgan Kaufmann Publishers.

Zheng, J. G. (2017). Data Visualisation for Business Intelligence. Global Business Intelligence.