0% found this document useful (0 votes)
110 views52 pages

3-Warehouse Inventory Management System

This document provides a technical report on a Warehouse Inventory Management System developed by students at Universiti Malaysia Perlis. It outlines the methodology used, which followed a waterfall model approach involving requirements, design, implementation, verification, and maintenance stages. Technologies used included Visual Studio, SQL, JSON, and barcode scanning. The system allows users to log in, view inventory levels and categories on a dashboard, and scan barcodes to transfer items between warehouses. Evaluation of the system and considerations for its design are also discussed.

Uploaded by

CHIRAG BODH
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
110 views52 pages

3-Warehouse Inventory Management System

This document provides a technical report on a Warehouse Inventory Management System developed by students at Universiti Malaysia Perlis. It outlines the methodology used, which followed a waterfall model approach involving requirements, design, implementation, verification, and maintenance stages. Technologies used included Visual Studio, SQL, JSON, and barcode scanning. The system allows users to log in, view inventory levels and categories on a dashboard, and scan barcodes to transfer items between warehouses. Evaluation of the system and considerations for its design are also discussed.

Uploaded by

CHIRAG BODH
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 52

UNIVERSITI

MALAYSIA
PERLIS

WAREHOUSE INVENTORY
MANAGEMENT SYSTEM

Ku Nurul Fazira Ku Azir


Junita Mohd Nordin
Aini Syuhada Md Zain
Lim May Yann
Amar Raaj Singh
Wan Nur Azreen Wan Azemin
Nur ‘Ain Husna Abdul Rahman
Nurul Hikmah Nasri

Technical Report
TECHNICAL REPORT

WAREHOUSE INVENTORY
MANAGEMENT SYSTEM

Ku Nurul Fazira Ku Azir


Junita Mohd Nordin
Aini Syuhada Md Zain
Lim May Yann
Amar Raaj Singh
Wan Nur Azreen Wan Azemin
Nur ‘Ain Husna Abdul Rahman
Nurul Hikmah Nasri

i
©Universiti Malaysia Perlis, 2020

All rights reserved. No part of this book may be reproduced or transmitted in any forms by any means,
electronic, mechanical, or otherwise, whether now or hereafter devised, including photocopying,
recording, or by any information storage and retrieval system without express written prior permission
from the publishers.

e-ISBN 978-967-2829-06-5

Published by:

Penerbit UniMAP, Universiti Malaysia Perlis


Tingkat 10, Bangunan KWSP
Jalan Bukit Lagi,
01000 Kangar, Perlis. MALAYSIA.

Tel: (04) 977 5159, Fax: (04) 977 5135


Website: http://penerbit.unimap.edu.my
E-mail: [email protected]

ii
Table of Contents
LIST OF TABLES.......................................................................................................................................iv
LIST OF FIGURES ...................................................................................................................................... v
LIST OF Abbreviations ...............................................................................................................................vi
ACKNOWLEDGEMENT ......................................................................................................................... vii
PREFACE viii
1.0 Introduction 1
2.0 Methodology ....................................................................................................................... 3
2.1.1 Requirements........................................................................................................... 4
2.1.2 Design ..................................................................................................................... 6
2.1.3 Implementation ..................................................................................................... 16
2.1.4 Verification ........................................................................................................... 20
2.1.5 Maintenance .......................................................................................................... 20
2.2 Technologies Involved ...................................................................................................... 20
2.2.1 Hardware Requirement ......................................................................................... 20
3.0 Result and Discussion ....................................................................................................... 22
3.1.1 Login ..................................................................................................................... 22
3.1.2 Dashboard ............................................................................................................. 23
3.1.3 View and Print....................................................................................................... 24
3.2 User Manual (Mobile Application) ................................................................................... 27
3.2.1 Login ..................................................................................................................... 27
3.2.2 Main Page.............................................................................................................. 29
3.2.3 Warehouse Transfer .............................................................................................. 30
4.0 Project Design Consideration ........................................................................................... 36
5.0 PROJECT MANAGEMENT AND COSTING ................................................................ 38
5.2.1 Cloud Storage ........................................................................................................ 40
6.0 Conclusion .......................................................................................................................... 41
References………………………………………………………………………………..43
Appendix A………………………………………………………….. ............................. 44

iii
LIST OF TABLES

Table No. Title Page


2.1 Barcode Descriptions 18
2.2 NuGet packages 19
2.3 Requirement to run the system 20
2.4 Requirement to develop the system 21
3.1 Mobile user manual (login) 27
3.2 Mobile user manual (main page) 29
3.3 Mobile user manual (Warehouse Transfer) 30
3.4 32
Mobile user manual (Scan barcode)
3.5 34
Mobile user manual (Items List)
5.1 Project costing 39

iv
LIST OF FIGURES

Figure No. Title Page


2.1 Waterfall model 3
2.2 Framework of the system. 5
2.3 Mind map of Barcode Inventory System 6
2.4 Entity 7
2.5 Cardinality 7
2.6 ER diagram of Warehouse Inventory Management System. 10
2.7 Flowchart of Login Module 12
2.8 Flowchart of System Main Page Navigation module 13
2.9 Flowchart of Inventory Sub Menu Navigation module 14
2.10 Flowchart of Login, Main Page and Browse Item modules 15
2.11 Visual Studio Community IDE 2019 16
3.1 Login screen 22
3.2 Error message for Login Form 22
3.3 Dashboard 23
3.4 Inventory options 24
3.5 All Inventory Barcodes 24
3.6 Inventory category options 25
3.7 Save table format icons 25
3.8 Save option 25

3.9 View PDF 26


3.10 View Excel 26

v
LIST OF Abbreviations

Abbrev Description

IDE Integrated Development Environment

SQL Structured Query Language

JSON JavaScript Object Notation

URL Uniform Resource Locator

EAN European Article Number

ERD Entity Relationship Diagram

vi
ACKNOWLEDGEMENT

Firstly, we want to extend our thanks to Universiti Malaysia Perlis (UniMAP) and the
School of Computer and Communication Engineering (SCCE) for giving us such an opportunity
that allows us to practice the knowledge we had gained throughout the years of study by
implementing it in a real-life situation of problem solving.

We would also like to show immense gratitude and say thank you to our supervisors, Ts.
Dr. Ku Nurul Fazira Ku Azir and Ir. Ts. Dr. Junita Mohd Nordin for their kind and understanding
spirit in guiding us and giving encouragement during the process of completing the project.
Without their assistance and dedicated involvement in every step throughout the process, this paper
would have never been accomplished.

We thank all the people for their help directly and indirectly to complete our project. We
are grateful to all of those with whom we had the pleasure to work during this project. Sincere
thanks to all group members for their cooperation and great teamwork from the starting point to
the ending of our project. Everyone played an important role that led to the completion of the
project.

vii
PREFACE

Inventory Management System is important to ensure everything is in order when handling


huge amounts of materials and its quality within huge facilities such a factory’s warehouse. It is
important to keep track of fluctuation of incoming and outgoing materials that happen daily for
these facilities. It is also a useful tool to monitor the shortage of materials which may affect the
production rate of the factory. The problem at hand is that the current inventory management
being used is time consuming and difficult.

One way to do such inventory management is by having a Windows Form application


system with C# language that can instantly track and update the information on materials. The
objective is to provide a better management system that is better and have more functionality
compared to the previous system being used. To achieve this, the scope of this project is to focus
on the aspects such as to make, delete inventory, add new inventory, keeping track of inventory
materials, supplier and order. This information will be stored within the database. This also
allows to alert when materials are running low.

In developing the system, Waterfall development method is chosen. Firstly, a mind map is
drawn to group and arrange each function. Before the next process will begin, each step must be
fully fulfilled. This makes it easier to focus on the flow in achieving the project scope. The
expected result of the system’s user interface will be user-friendly which will enable even people
with no IT background to be able to handle it easily. The system is also expected to serve its
functionalities and reduce the workload of the inventory management.

viii
1.0 Introduction

Inventory Management is one of the essential parts of the organization. Inventory management is
the process of efficiently monitoring the constant flow of units into and out of an existing inventory
this is because inventory management can help to minimize costs and improve productivity. A car
manufacturing business involves a continuous flow of material and supplies to keep up with
demands. These simple methods require three steps, which are determined when the material is
obtained and added to the inventory, by comparing the receiving quantity to the previous on-hand
balance, when the material is removed from the inventory, another new balance is determined by
deducting the quantity removed from the quantity on hand before removal.
From time to time, it may be found that the recorded on – and the balance differs from the quantity
on hand for a variety of reasons. In these instances, the recorded are changed by adding, as
necessary to the on-hand balance either by subtracting or hanging from it. To prevent the flow
disturbance, most try to keep track of the quantities of the element on hand. Though, as the
number of inventories increases and the rate of material flows either into or out of stock
increases, it becomes hard to track the inventories. If this situation occurs, it takes some sort of
record keeping.
Typically, record-keeping requires many individuals. When we are dealing with all these things,
it introduces extra expenses in recruiting new workers, and meanwhile the company faces certain
risks created by carelessness and employee mistakes. And it will also take some time to handle all
the Inventory Management operations. Our project purpose is therefore to build a Barcode
Inventory System Barcode, in its simplest form, is a set of bars and spaces representing alphabet
or numeric data for identification of a particular product, service or a process. Barcode technology
is the best-known and most widely used method of Automatic Identification This will improve
stock management efficiency by using a barcode scanner, provide well-being manpower in
monitoring inventory availability with auto featured function, and manage inventory successfully
by automatically sending the order to the supplier when the stock is below the reorder point.

1.1 Problem Statement

One of the main problems involving a manufacturing company is having too much product in
inventory or too little on hand as this will cost them money and consequently, profit. When there
are low in stock this will push back all the production resulting in low profits and delay the
production. While overstocking is just as harmful understocking as it occupies space in the
warehouse. The contrast of overstocking is when manage stock that are high in demand. There are
some seasons in every year where company receive higher demand of new car to be manufactured.
Buying work in progress item in larger lot and holding inventory is found to be cheaper for the
company than buying frequent small lots. In such cases one buys in bulk and holds inventories at
the plant warehouse.
Sometimes it takes time to acquire and to keep track of all the inventory in warehouse and on
request, especially for big company with growing size of inventory. Besides from inventory, others
information that are also very important such as supplier’s information, manage order, and car
manufacturing process also required huge paper works.
When we are doing the management manually, a very critical problem that every mankind cannot

1
be avoided is carelessness. It is normal for human to make mistakes, but it will cost company
significantly in a long run. There are many factors that may influence and decrease the employee’s
performance during their workday. Factors such as fatigue, emotional stress, multitasking, and so
on. Therefore, inaccurate data might be recorded manually. Wrong calculation or typo error could
mean losses or extra expenses that need to bear by company.

1.2 Objectives

The purpose of this project is to provide a better management system that will be better and have
more functionality compared to the previous system being used which was quite time consuming
and had limited functions to its user. The objectives include:

1. To ensure stable inventory supply for automotive manufacturing assembly station, therefore
control overstocking and low-volume stock.
2. To provide proper functions in inventory management system including material, suppliers,
and order information in a user-friendly database system with reduced time.
3. To ensure accurate data recorded in database and able to generate accurate reports.

1.3 Scope of project

This project is subjected to several scopes that will work like a guideline on how the project is
conducted to ensure it will be able to achieve the targets, the aspects are as the following:

i. To ensure stable inventory supply for automotive manufacturing assembly station.


ii. To record the inventory and the details of the inventory including the material, supplier,
order, and each of this information shall be stored within the database.
iii. To display the material information and supplier information in an organized manner.
iv. To send alerts when the inventory levels are low available and allow the option to order
more material.
v. To give alert for inventory which are in high demand by assembly line at the moment.
vi. To be able to trace history of every record, including car manufacturing record, purchase
order, warehouse transfer.

The aim is that by achieving these aspects will allow it to be implemented within the company to
assist the inventory manager record the inventory.

2
2.0 Methodology
This part will explain about the procedure and methodology of The Inventory System. Firstly, the
flow of the project is created to make it easier for planning methods of the project for which we
used Waterfall Development Method. The mind map was drawn initially to group and arrange each
function. Next, the requirements and problems being faced are discussed along with design
specifications and the implementations. Then, the hardware requirements for the application and
development of the system are specified. The Gantt chart is presented as the guideline that provided
a graphical illustration of a schedule that helped to plan, coordinate, and track specific tasks in this
project. All the information and theories are collected for several sources including journals,
previous research, internet and with the guidance from supervisors.

2.1 Waterfall Development Method

This method is the most traditional Software Development Life Cycle (SDLC) which is a strict
linear model consisting of sequential phases with an emphasis on distinct objectives. Before the
next process will begin, each step must be fully fulfilled. This means that any phase in the
development process only begins if the previous phase is completed. There is normally no
mechanism to go back to the previous phase and modify the project and direction.

Figure 2.1. Waterfall model

3
2.1.1 Requirements

By understanding the current requirements and problems faced by automotive warehouse, we refer
to one of automotive manufacturing warehouse in Malaysia which is located at Kulim, Kedah.
We gathered the requirements by doing research through the background of automotive
manufacturing and how they operate. We also discussed with supervisors about the ideas:
• Functions the software will need to address (Problems)
• Functions the software will resolve (Solutions)
• Function the users might also desire (Extra Features)

From the discussion, we were able to list down several points that will be able to satisfy the ideas
above, which are:
1. Problems
➢ The ability to generate, edit scan and check information of item
➢ The ability to keep track of current location of a certain item

2. Solutions and extra features


➢ The ability to generate, edit and delete barcodes that contain information of item.
➢ The ability to view, edit and delete the information of warehouse.
➢ The option to view, edit and delete the information of suppliers and monitor
supplies from around the world and track ongoing orders including invoice history.
➢ To monitor the transport of items that go into and out from the warehouse including
the information on user who is current in possession of that item.
➢ Being able to keep track of current supply of items and the ability to place an order
for items that are running low.
➢ The ability to manage the hierarchy of the users that will be able to access the
system, user from a certain department will not be able to interfere with supplies of
another department.

4
2.1.1.1 Framework of the System

Figure 2.2. Framework of the system.

The users of the system include:


• Any employees of automotive manufacturing company who can access to this desktop
system to modify information of goods.
• Any employees of automotive manufacturing company who can download the mobile
application to scan barcode and browse inventory information, perform warehouse
transfer.
The system includes:
• A user-friendly interface.
• A database to store all information.

User can interact with the system by using the provided interface. System will process inputs from
user, prompt and store the inputs to database.

5
2.1.2 Design

Design phase include logical design and physical design. Logical design is the abstract
representation of how data flow, inputs, and outputs. During this process all potential device
specifications to be created are being sketched out using tools such as MindMeister for mind map,
MySQL Workbench for Entity Relationship Diagram (ERD) and flow chart for overall system
flow. The physical design such as data storage server and network hardware.

2.1.2.1 Mind map

A mind map is a schematic which is used to arrange knowledge visually. A mind map is
bureaucratic and displays interspecies of the entire system. The center of the mind map is the main
title of the project, followed by name of modules and functionality of each module. Refer to
appendices for mind map.

Figure 2.3. Mind map of Warehouse Inventory Management System

6
2.1.2.2 Entity Relationship Diagram (ERD)

An entity-relationship model defines interrelated matters of concern in a specific information


domain. An ER model is composed of types of entities and specifies the possible relationships
between entities. An ERD contain entity and different cardinal relationships that represent different
functions, which act as connector to connect the entities together. The ER diagram for the project
was drew in Crow’s Foot notation. Refer to figure 2.6 for complete ER diagram for the system.

Figure 2.4. Entity

Figure 2.5. Cardinality

7
Figure 2.6. ER diagram of Warehouse Inventory
Management System.

10
2.1.2.3 Devices
The devices used are PC which act as a main device that can access to all function of the
software and smartphones which only used for scan barcode, review items information and
perform warehouse transfer operation. To scanning barcode, a webcam was used during the
development and a smartphone is used to test the system for application by user.

2.1.2.4 Flow Chart


A flowchart is a kind of diagram that shows a procedure or process flow. A flowchart can also be
defined as a diagrammatic representation of algorithm, a process approach to resolving a task. The
flowchart shows the steps as different types of boxes, and their arrangement by linking the boxes
with arrowheads. This diagram showing a model of solution to a perceived task.
The flowchart is used to plan and log basic systems or processes. Unlike certain types of graphs,
they also explain what is going on and therefore better clarify a procedure and may even reveal
aspects that are less apparent in the design, such as defects and bottlenecks. Different styles of
flowcharts exist, each style has its own collection and annotations. The flowchart below shows
how each form works alongside with button function.

11
Desktop Application:

Figure 2.7. Flowchart of Login module

12
Figure 2.8. Flow chart of Main Page - Navigation

13
Figure 2.9. Flowchart of Inventory Sub Menu Navigation module

14
Mobile application:
Login Main Page and Browse Item

Figure 2.10. Flowchart of Login, Main Page and Browse Item modules for Mobile Application
15
2.1.3 Implementation

In contrary to the name, this phase is not where the software implemented into user environment
rather the implementation phase is building the system into actual software, which is the devices
that we specified in design phase. The software is coded according to the design document. The
programming languages used is C# (c sharp) which is a language that developed by Microsoft that
runs on .NET framework.

2.1.3.1 IDE

An integrated development environment (IDE) is a software framework which offer extensive


software development environment. An IDE usually consists of at least one source code editor, a
debugger and automation tools. The IDE used for this project is Visual Studio 2019 from
Microsoft.

Figure 2.11. Visual Studio Community IDE 2019

2.1.3.2 Framework and Tools


The framework used for developing desktop application is .NET framework which programmed
with C# language, and Xamarin which is a cross-platform app development tools by Microsoft.
Although both mobile and desktop use same programming language but their structure is different.
Since desktop application is developed with .NET framework therefore it is not allowed to use on
operating system other than Windows. While Xamarin can in different platform such as Android,
iOS, Linux, et cetera. Since it is implemented by Mono. The software application is primary used
in Android system.

16
2.1.3.3 Database

MySQL is an open-source relational database management (DBM) system based on structured


query language (SQL). MySQL is the most popular query language and has vast range of purpose
on warehousing, e-commerce, logging application, et cetera. The database management and design
tool used is MySQL Workbench which used for database design and development.
There are two types of database used which is local and online. The database does not fully
available online is due to the connection speed is very slow and it often failed to connect since the
online database is free. Mobile application is fully online but not on desktop application.
The reasons that we choose MySQL over another powerful database such as Oracle is because:
• Cost
Since MySQL is an open-source software and provide free relational database management
system (RDBMS) software under terms of GNU General Public License.

• Space and flexibility


MySQL require less storage to run the server compare to other database. Which makes it
more efficient to implement on small scale of system such as the start-up software that we
are doing for this project.

• Management
Database administration is easier due to auto-management features such as automatic space
expansion, auto-restart, and dynamic configuration changes, et cetera.

2.1.3.4 Barcode

The barcode is a technique for representing data in a visual way, machine-meaningful structure
which able to read by computer. At first, the barcode defined by changing the width and spacing
between parallel lines. The barcode generator we implemented can generate one-dimensional
(1D) barcode, which consisting of lines and spaces with varying widths that made up of explicit
and complex patterns. The two-dimensional (2D) barcode is usually referred as QR code. EAN-
13 format barcode is being chosen as our primary generate barcode although our barcode reader
can reader wide range of one-dimensional (1D) barcode. "EAN" stands for European article
number and 13 in it refers to the number of digits that are in the barcode. However, only the first 12
digits contain information that is transmitted by the barcode.
The final digit of the code is known as the check digit. The final digit number does not contain
information, but it is used to confirm that the barcode is correctly scanned. The 13th digit is the
mathematical result of a formula dealing with the other 12 digits. The formula used in this process
is known as the modulo 10 algorithms. To calculate an EAN-13 barcode is by determining the 13th
digit of the code by applying this modulo 10 algorithms to the other 12 digits.

17
These are the steps to perform the modulo-10 algorithm:

1) First, locate the 13th digit in the barcode. If the check digit is not yet placed, this is the
last digit from the left. If the check digit is in place, this is the 2nd to last digit from the
left. For example, if the EAN-13 was 9 735940 564824, the 13th digit is ‘2’.
2) Starting with this 12th digit, move from right to left across the code adding every second
digit to it. Using our example code of 9 735940 564824, this means starting with the ‘2’
and adding to it the numbers 4, 5, 4, 5 and 7, giving a total of 27.
3) Multiply the sum that is obtained in Step 2 by 3. Using our example above, this means
the multiplying of 27 by 3, giving a total of 81.
4) Locate the 11th digit in the code. Using the example code of 9 735940 564824, this would
be the ‘8’.
5) Starting with the 11th digit, move from right to left of the code adding every 2nd digit to
it. Using the example of 9 735940 564824, this means starting with the ‘8’ and adding to
it 6, 0, 9, 3 and 9, giving a total of 35.
6) Add the results from Step 3 and Step 5. In the example this means adding 81 and 35,
giving a total of 116.
7) Round the result of Step 6 up to the nearest multiple of 10. In the example, this means
rounding 116 up to 120.
8) Subtract the result of Step 7 from the result of Step 6. In the example, this is 120-116,
giving us a difference of 4. Hence 4 should be the 13th digit in the EAN-13, otherwise
known as the check digit.

For the inventory system, we have several types of barcode that hold data for different
types of data to scan:

Table 2.1. Barcode Descriptions


Type Starting number Barcode Description
Item 0 Contain the data for
single item.

Car 1 Contain data for


single car model.

Car manufacturing 2 Contain data for car


batch manufacturing by
batch.

18
2.1.3.5 Barcode Reader
Both desktop and mobile application can scan barcode with camera. Desktop use webcam to scan
barcode while smartphone use built-in camera to scan. Both devices use ZXING (“zebra crossing”)
package, which is an open-source, multi-format 1D/2D barcode image processing library.

2.1.3.6 NuGet Packages


NuGet is a Visual Studio’s Package management system. It makes adding, upgrading, and
deleting external library within our application simple. We can easily build our own packages
using NuGet and make them accessible to others. The packages contain codes that wrote by other
developers. Package consumers can install the packages from NuGet packages manager and call
the functionality of a package into project code.

There are several packages implemented in this project, the list of packages is in the table below.

Table 2.2. NuGet packages

NuGet Package Description


BUNIFU framework A DLL driven tools that provides greater user
interface experience and reduce development
time for Visual Studio. Used for desktop
application.
Synfusion .NET based product which used as template
for mobile application
Gmap.NET Used to display maps with pinpoint location.
LiveCharts Used to display an array of data in chart such
as pie chart or line chart.
Newtonsoft.JSON Serialize received JSON. The JSON data are
obtained from URL and used to perform
geocoding of address.
RestSharp An open source HTTP library, used before
Newtonsoft. RestSharp create HTTP request,
add parameters to the request, execution, and
handle response, deserialization, and
authentication.
ZXing Used to decode barcode by capturing through
camera.
iTextSharp Used to convert data into PDF
Interop Used to convert data into Excel

19
2.1.3.7 User Interface Design
User interface (UI) design is the method of designing interfaces with an emphasis on appearance
of software interface. Designers aim to build projects that will be easy to use and efficient. The
icons and color of the interface are specially picked by using other application. The application
Metro Studio by Syncfusion contain vast library for icons and we can customize the icon’s color,
background, and size. To pick the right color, Just Color Picker for color matching.

2.1.4 Verification

System verification is the phase where a completed and integrated is tested by potential users or
by professional tester. They usually test the system in terms of design or behaviors and the
expectations and requirements. If the system does not fulfil the requirements, it will be sent back
to design phase for programmer.

2.1.5 Maintenance

In the final stage of the software development life cycle, the system has met the expectations and
requirements, ready to be deployed in industry. This phase also known as stabilization period. User
provides feedback for programmer to investigate and programmer provide information for user
to learn how the system works.

2.2 Technologies Involved

2.2.1 Hardware Requirement


The hardware and software requirement to run the system are:

Table 2.3. Requirement to run the system

Item Description
Processor x86, 1.6GHz or faster
Memory 512MB or higher
Hard Disk 1GB of available hard disk space
Resolution 1024 by 768 or higher resolution
Windows (desktop app) Windows 10
Android (mobile app) Android 9 (Pie) of above

20
The hardware required to develop the system are:

Table 2.4. Requirement to develop the system

Item Description
Processor x86, 1.6GHz or faster
Memory 1GB RAM or higher
Hard Disk 1GB of available hard disk space
Resolution 1024 by 768 or higher resolution
Windows Windows 10

21
3.0 Result and Discussion

3.1 User Manual (Desktop Application)

3.1.1 Login

1. User must login to system with recorded username and password.


2. Key in username and password then click on button “LOG IN” or “EXIT” to exit the
application.

Figure 3.1. Login screen.

3. If username and password mismatch, the following error message will prompt, and user
need to insert username and password again.

Figure 3.2. Error message for Login Form

4. If username and password are matched, program navigate user to main page of the system.

22
3.1.2 Dashboard

1. The dashboard page will appear every time after user login or click on “Dashboard” button
on left menu panel

Figure 3.3. Dashboard.

• Upper left: total warehouse, low in stock, in transit, suppliers


• Upper right: check in and check out of items over the past 10 warehouse activity
recorded.
• Lower left: suppliers around the world
• Lower right: warehouse check in, check out and transfer activity from 10 of the latest
record.

23
3.1.3 View and Print

1. Click on the “Inventory” button which is located on the left-hand side to expand. Then, click on
“All Inventory” button.

Figure 3.4. Inventory options

2. The following form will appear.

Figure 3.5. All Inventory Barcodes

24
3. There are four types of views in total, click the desired panel to view the table.

Figure 3.6. Inventory category options

4. There are 4 clickable icons on top right. The tables can be generated in forms of PDF,
Excel, CSV, or print directly (format same as PDF).

Figure 3.7. Save table format icons

5. Click on the PDF icon to export the table to a pdf file. A dialogue box will pop out. Change
name of file then click on “Save”.

Figure 3.8. Save option

25
6. The saved pdf should have contents like figure 3.9.

Figure 3.9. View PDF

5. To download the form in excel format, click on the Excel icon to export the table to an excel
file. A dialogue box will pop out like figure 3.8. Change name and path of file as desired then
click on “Save”.

6. The saved excel file should have contents like figure 3.10.

Figure 3.10. View Excel

26
3.2 User Manual (Mobile Application)

3.2.1 Login

Table 3.1. Mobile user manual (login)

• Insert username and password as


provided from system admin, then
click button “LOG IN”.

• The application shall navigate


user to main page of the
application with successful login.

• If user insert incorrect username


or password, the above message
should prompt.

27
• If click on “FORGOT
PASSWORD”, the following
message will pop out.

• Note that the current mobile


application does not support
changing yet.

28
3.2.2 Main Page

Table 3.2. Mobile user manual (main page)

• Main page of the application act as


navigation for user. It usually
appears after login page.

29
3.2.3 Warehouse Transfer

Table 3.3. Mobile user manual (Warehouse Transfer)

1. To perform warehouse transfer, click on


“Warehouse Transfer” tab at main page.

2. Fill in all required fields, then click on


“CHECK IN / OUT” button.

3. “Form Warehouse” and “From Warehouse”


fields are optional.
• If you wish to check in the stocks to
warehouse, then leave “From
Warehouse” blank.
• If you wish to check out the stocks
from warehouse permanently, then
leave “To Warehouse” blank.

30
4. The following message will prompt if data
are inserted successfully in database.

5. If data does not record by database, the


“Success” word will be replaced by “Failed”.

31
3.2.4 Scan Barcode

Table 3.4. Mobile user manual (Scan barcode)

1. To scan item’s barcode, click on “Scan”


tab at main page.

2. User shall be navigated to the following


page.

3. Click on “SCAN” button to activate phone


camera.

4. After the camera has been activated, place


the barcode on red horizontal line.

5. It is advised that user ensure only one


barcode is being scanned by camera to avoid
unnecessary error.

32
6. If barcode were found in database, the
messages of items will display as following
screenshot.

7. If barcode record does not find in


database, it will show only empty screen with
“SCAN AGAIN” button.

8. Click on “SCAN AGAIN” to repeat steps


from step 4 and onwards.

33
3.2.5 Items List

Table 3.5. Mobile user manual (Items List)

1. To browse item’s information by name,


click on “Browse” tab at main page.

2. User shall be navigated to the following


page.

3. User shall scroll down the list to find the


item name or tap on magnifying class icon
which located on right side of “Items List” to
type the item name.

34
4. Tap on the item name, then it shall
navigate to “Scan and Check” page which is
also used to display scanned barcode result.

35
4.0 Project Design Consideration

4.1 Health and safety

By implement this system, it reduces labor-intensive to operate manually. This reduce of human
error caused by manually tracking inventory. Inventory management system do not require
nonstop monitoring to verify that each transaction is accounted for and that products are preserve
at the appropriate stocking level. By this inventory management system also it will keep an
accurate item supply count, as well as to make sure the goods in and out of the warehouse are
recorded. It will ensure the security of data and the safety of employees when they just must do
business only through the inventory system.
This system use barcode to controlling inventory. Using barcode in inventory system will ensure
the safety and quality. Barcodes afford tightly quality control and more accurate inventory
tracking. Tight control is also a safety feature where theft or loss can be easily identified and
followed up to reduce the impact further down the chain. Plus, by using barcode will be useful
when affixed to equipment so that the locations of equipment, especially small items which tend
to go ‘missing’ frequently, can be ascertained quickly and accurately reducing the amount of time
employee spend looking for them. Each lost item also can be identified because the system can
detect each location change with the correct storage unit and the right quantity transferred. It
ensures the safety of the goods. Besides, to minimize the data entry errors when there is more
product to manage at one time, a check digit is used. A check digit known as a checksum character;
it is the number located on the far-right side of a barcode is used to verify that the information on
the barcode has been entered correctly. If an error is made during intake, the likelihood of being
caught is relatively small. Besides that, this system used C# language. C# is a type-safe object-
oriented language that enables developers to build a variety of secure and robust applications that
run on the .NET Framework. C# is easier and secure to develop application based on the C#
language and the .NET Framework. This system also use MySQL stored procedure to increase
security in database. The database administrator can grant convenient permission to applications
that only access specific stored procedures without giving any permission on the underlying tables.
Stored procedure limit direct access to tables via defined roles in the database.

4.2 Environmental Consideration

The inventory management system will allow you to keep an accurate record of item still has
stock. Besides, using barcode in inventory represent a generalized yet clever way of accurately
storing information. You will be better equipped to accurately predict changes in supply and
demand needs, and this way you will avoid over-producing and inevitable wastage that can be
devastating to the environment over time which leads to less packaging which leads to less waste
and contribute to environmental advantage.
In addition, the system uses a MySQL database that stack terabytes of data, which will reduce
the use of paper if data is recorded manually using paper. The use of paper will impact the globe
at every stage in its lifecycle. Many trees are being cut down for the paper and pulp industries.
There will be loss in the ecological balance, increased rate of greenhouse gases, giving rise to
severe global warming and climatic changes. By switching to MySQL database to store data
instead of manually store data using paper, it will save tree and our environmental.
36
4.3 Cultural and Benefit to the Society

This project is designed to provide a better inventory management system of with authorized
person in charge in monitoring the system. Inventory management system using is the controlling
of industry supply or controlling the movement of items and services following their demand.
Inventory management enhances industrial operations with the effective flow of items and
services. Inventory management system are highly beneficial in today’s industry world as it makes
a vital part in any industry success/failure by having intense competition with its competitors.
Inventory management plays a vital part in enhancing product quality, improving competitiveness,
reducing carrying cost of inventory by reducing inventories, service enhancement, and operational
flexibility through pull systems. Inventory Management and control provide actions and strategies
that are integrated into all management controlling, planning, and processes which are crucial to
enhancing and making successful management.

The use of barcodes in inventory management makes it more an efficient way of tracking
inventory throughout the production process all the way to a sale, making it so much easier for
employee to store items in a sensible way, locate them and make ordering decisions based on more
accurate inventory levels. This project uses mobile application, and it is more convenient because
employee can use smartphones, which they already have in their pockets, to process inventory and
asset transactions. They can process inventory transactions or change asset status now it happens,
with one scan of barcode. They also can access accurate inventory count or asset status in the
field with one scan of barcode.

37
5.0 PROJECT MANAGEMENT AND COSTING

5.1 Project Gantt Chart

TASK SEMESTER 2

FEB MAR APR MAY JUNE

1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4
Discussion with
Supervisors
Information Gathering
Determination of System
Requirement
Analysis & Design

Database Development

Software Development

Testing and Debugging

System Optimization

Project Documentation

38
5.2 Project Costing

Project costing is the structure of the project task to make decision and demonstrate how the task
deal with the cost income as well as the process of handling the billing. Project cost management
is the technique used by calculating the payment cost of development needed. The aim of
software costing is to accurately predict the cost of developing the software so that it can help
with the planning process and the effective use of resources. For this project of inventory system
there are few software and tools that need to be analyzed in terms of their cost as shown in table
below.

Table 5.1 Project costing

Price
No. Software / Tools Description Quantity
(RM)
This software is a free, fully featured,
and extensible solution for developers to
Visual Studio
1. create applications for Android, iOS, 0 1
2019 Community
Windows and the web.
Software tool used to access MySQL
MySQL using a friendly user interface. It is free
2. 0 1
Workbench for download and installation.

An open-source online MySQL server


that allows to store data in tables, create
3. MySQL Database 0 1
indexes on the data, and query the data.
A PC was used to access the system. It
also used to scan the barcode via the
4. PC 2500 1
webcam.
Smartphone was used for the mobile app
that also able to access the system and
5. Smartphone 800 1
for barcode scanning.
The estimate average cost for electricity
6. Electricity 200
used for the system development.
TOTAL RM 3500.00

The total cost for the project is RM 3500 that included the cost of tools and software. However,
the software used in this system do not cost any to the system as those all are an open-source
software that are free for download and installation.

39
5.2.1 Cloud Storage
A cloud database is a storage system that allows to save files and data on a server that is
connected to the internet. With a cloud database service provider, all the info stored in the
company’s computers is transferred to the database and can be access through the internet. It also
able to keep a backup data in case of any crashes that might be happened. With this option, if the
data was lost, we can just log in to the account and retrieve back the data.
Database used in this inventory system is MySQL that the most popular open-source database. It
has evolved and is known to be the best database for system that allows to store data in tables,
create indexes on the data, and query the data. This database was chosen as it is available for free
download and installation and a secure and reliable database management system.
Other than MySQL there are other types of cloud database that can also offer a better
performance. One of it is Oracle database. Only Oracle Express Edition is free of cost, but
Oracle Express Edition has very limited features when compared to MySQL. For extensive
features, either Oracle Standard Edition or Oracle Enterprise Edition must be purchased. For
Standard Edition, the license cost is 17,500 USD per unit and 47,500 USD for Enterprise
Edition. Although the license price is high, it provides enhanced database security and can
performs well even when handling huge amounts of data.
Besides, as a start-up developer that require a flexible database solution, Azure SQL database
should have been listed as one of the cloud databases. It can easily be scaled without the need for
more memory or new servers. With Azure, clients can use the services purely on the cloud or it can
be combined with any existing applications, data center or infrastructure.

40
6.0 Conclusion

6.1 Future Enhancement and Limitations

First, the online MySQL server does not support stored procedure. The reason we preferred using
stored procedure over writing the query along with C# coding is because it is easier to maintain the
system. Sometimes a particular query function will be used by more than one function in C#
therefore instead of editing each same part separately we can access it all at once with stored
procedure. As the inventory system control all the inventory, which is an asset for the company,
the security of the system should be emphasis in the future. The security vulnerable such as SQL
injection can be critical. Unlike web application which hacker can perform injection through user
input, hacker should have obtained the desktop application since the application can directly
connect to database. Hence, stored procedure is also considering as an intermediate layer to
prevent hacker directly access to the database tables.
Other than stored procedure, since the online database is free, we may expect some time delay
when fetching the data which may cause connection timeout when applications are attempted to
connect with it. Performance of application are slowed down due to the slow database
connection speeds which limits the use of online database in desktop application. In near future, a
better and faster paid online database should be considered or maybe switch to more powerful
cloud computing service such as Microsoft Azure.
There are more limitations in desktop application. Since desktop application is using .NET
framework instead of .NET core, it is unable to run on operating system other than Windows.
Although .NET core allows cross-platform on application, as we are not computer science student
and most of us are not very fluent in programming, .NET framework is much easier to learn and
implement. In future, we can migrate system from .NET framework to .NET core for more scalable
application.
Besides from the limitations that we mentioned above, there are more improvement that can be
done in future. Some solutions like cloud storage might be costly but the features they provided
is totally worth it and we can see it as an investment. The system with good cloud server would
be able to speed up activities in inventory activities and perhaps it is more than just inventory but
the entire activities in industry.

6.2 Summary

Thus, a comprehensive inventory management system was developed that might help NAM
manage their stocks, car model information, and also car manufacturing process using the barcode
inventory system. It would minimize the worker's efforts to maintain the track of each object
manually, and their hassle of maintaining the log as it will be stored in the database.
The project also has the potential to notify the company if any products fall below the level of the
recorder and the products in-store as well as the amount available in the store. The project has an
efficient security system by using stored procedure in MySQL, among other achievements, which
makes the documents highly confidential using an effective password program.

41
Good inventory system often because of the system has proper maintenance from programmer
from time to time. Although the system has a lot of improvement now, but it should be always
maintained by programmer and update the best possible features for company to deal with
changing technical and management environment. There is no perfect inventory but best
inventory that fits the environment of the company and therefore lead to more organized warehouse
with minimum cost.

42
References

1. Pribadi, N. (n.d.). INVENTORY MANAGEMENT SYSTEM. Retrieved from


https://www.academia.edu/33744531/INVENTORY_MANAGEMENT_SYSTEM
2. Barcode Attendance System. (n.d.). Retrieved from
https://www.scribd.com/doc/76922514/Barcode-Attendance-System
3. Naza Automotive Site. (n.d). Retrieved from http://www.nam.com.my/
4. Andrew Powell-Morse. (8 December 2016). Waterfall development method. Retrieved from
https://airbrake.io/blog/sdlc/waterfall-model
5. Lisa Crispin. (22 October 2012). Mind Mapping for Successful Software Development.
Retrieved from https://smartbear.com/blog/test-and-monitor/mind-mapping-for-successful-
software-
development/#:~:text=They%20identify%20important%20test%20cases,simply%20you%20
can%20get%20started..
6. “What is an ER diagram?”. (5 August 2015). What is an Entity Relationship Diagram
(ERD)? Retrieved from https://www.lucidchart.com/pages/er-diagrams
7. “Oracle Corporation”. (1 March 2020). Oracle Technology Global Price List. Retrieved from
https://www.oracle.com/assets/technology-price-list-070617.pdf
8. “Microsoft Azure”. (6 April 2019). Azure SQL Database Pricing. Retrieved from
https://azure.microsoft.com/en-us/pricing/details/sql-database/single/
9. Wikipedia Contributors. (15 April 2020). Naza Automotive Manufacturing. Retrieved from
https://en.wikipedia.org/w/index.php?title=Naza_Automotive_Manufacturing&oldid=951073
739
10. Soren Bagley. (26 September 2017). How to Calculate EAN13 Barcodes. Retrieved from
https://bizfluent.com/how-5332722-calculate-ean-barcodes.html
11. Marc Cousineau. (14 May 2019). How to improve maintenance inventory management?
Retrieved from https://www.fiixsoftware.com/blog/8-ways-to-control-inventory-related-
costs-with-maintenance-assistant-cmms-2/

43
Appendix A

//c# class that used to generate ean13 barcode


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
namespace naza_system_v1._0
{
class ean13class
{
public static string Barcode13Digits = "";
public static string ean13(string chaine)
{
int i;
int first;
int checkSum = 0;
string Barcode = "";
bool tableA;
if (Regex.IsMatch(chaine, "^\\d{12}$"))
{
for (i = 1; i < 12; i += 2)
{
System.Diagnostics.Debug.WriteLine(chaine.Substring(i, 1));
checkSum += Convert.ToInt32(chaine.Substring(i, 1));

}
checkSum *= 3;

for (i = 0; i < 12; i += 2)


{
checkSum += Convert.ToInt32(chaine.Substring(i, 1));
}
chaine += (10 - checkSum % 10) % 10;
Barcode13Digits = chaine.ToString();
Barcode = chaine.Substring(0, 1) + (char)(65 + Convert.ToInt32(chaine.Substring(1,
first = Convert.ToInt32(chaine.Substring(0, 1));
for (i = 2; i <= 6; i++)
1))); {

44
tableA = false
switch (i)
{
case 2:
if (first >= 0 && first <= 3) tableA = true;
break;
case 3:
if (first == 0 || first == 4 || first == 7 || first == 8) tableA = true;
break;
case 4:
if (first == 0 || first == 1 || first == 4 || first == 5 || first == 9) tableA = true;
break;
case 5:
if (first == 0 || first == 2 || first == 5 || first == 6 || first == 7) tableA = true;
break;
case 6:
if (first == 0 || first == 3 || first == 6 || first == 8 || first == 9) tableA = true;
break;
}
if (tableA)
{
Barcode += (char)(65 + Convert.ToInt32(chaine.Substring(i, 1)));
}
else
{
Barcode += (char)(75 + Convert.ToInt32(chaine.Substring(i, 1)));
}
}
Barcode += "*";
for (i = 7; i <= 12; i++)
{
Barcode += (char)(97 + Convert.ToInt32(chaine.Substring(i, 1)));
}
Barcode += "+";
}
return Barcode;
}
}
}

45

You might also like