Inventory Management System
Inventory Management System
net/publication/335233766
CITATIONS READS
0 357
1 author:
SEE PROFILE
Some of the authors of this publication are also working on these related projects:
All content following this page was uploaded by Mani Shanker Chaubey on 19 August 2019.
Supervisor
Cand. Sci., Assoc. Prof.
__________ O.N. Ivanova
Author,
the student of the group CE-229
__________ M.S. Chaubey
Normative control
_____________ O.N. Ivanova
“___”___________ 2019
Chelyabinsk–2019
2
MINISTRY OF SCIENCE AND HIGHER EDUCATION OF THE RUSSIAN FEDERATION
Federal State Autonomous Educational Institution of High Education
South Ural State University (National Research University)
School of Electronical Engineering and Computer Science
Department of Computer Science
APPROVED
Head of the department,
Dr. Sci., Prof.
__________ L.B. Sokolinsky
“___”___________ 2019
TASK
of the master graduate qualification work
for the student of the group KE-129
Mani Shanker Chaubey
in master direction 02.04.02
“Fundamental Informatics and Information Technologies”
(master program “Database Technologies")
1. The topic (approved by the order of the rector from 25.04.2019 No. 899)
Development of inventory management system for establishments in Republic
of India.
2. The deadline for the completion of the work: 05.06.2019.
3. The source data for the work
3.1. Garsia-Molina H., Ullman J.D., Widom J. Database systems. The
complete book. 2nd Edition. – USA, New Jersey: Pearson Education Inc.,
2009. – 1241 p.
3.2. Upton D. CodeIgniter for rapid PHP application development. – UK:
Published by Packt Publishing Ltd, 2007. – 257 p.
Supervisor
Cand. Sci., Assoc. Prof. O.N. Ivanova
The task is taken to perform M.S. Chaubey
4
TABLE OF CONTENTS
INTRODUCTION.................................................................................................. 6
1. THE ANALYSIS OF THE SUBJECT AREA.................................................. 9
1.1. The problem statement.................................................................................... 9
1.2. The used development tools.......................................................................... 10
2. DEVELOPMENT OF A SITE......................................................................... 13
2.1. Functional requirements................................................................................ 13
2.2. Use case diagram........................................................................................... 14
3. IMPLEMENTATION OF THE WEB-APPLICATION................................. 21
3.1. Full implementation of the part of Administrator.........................................21
3.2. Full implementation of the part of Special User and partial implementation
of the part of Ordinal User....................................................................................26
3.3. File structure of the project............................................................................27
3.4. PHP code screens for the project...................................................................28
4. TESTING OF THE WEB APPLICATION..................................................... 36
CONCLUSION.....................................................................................................38
LITERATURE......................................................................................................39
5
INTRODUCTION
Actuality
Inventory management is an important aspect of any successful business.
It is the process of overseeing and controlling the flow of inventory units a
business uses in the production or manufacture of goods for sale or distribution.
Inventories are usually made up of a combination of goods, raw materials and
finished products, and effective management of these items is essential to ensure
optimal stock levels and to maximize the earning potential of the company. It
also allows a business to prevent or mitigate any inventory-associated losses.
Inventory management software is used by businesses for various reasons: it can
track the costs of inventory throughout the manufacture and sales process, tell
businesses when to replenish stock, and allow them to track profits. It can also
be used to forecast inventory levels and prices, as well as expected product
demand.
Effective inventory management is important as not only is inventory one
of the most valuable assets to a business; there is a direct link between inventory
levels and company profits. Inventory represents an investment that is tied up
until either the item is sold, or it is used in the production of another item that is
sold. Businesses are reliant on having items in stock; otherwise customers will
simply go to a competitor who can provide what they want.
However, holding inventory in stock is not without costs – storage,
insurance and maintenance all must be considered. When it comes to
replenishing stock levels, most management plans seek to strike a balance
between having enough units when required, and ensuring supplies are not
overstocked. This is why having an inventory management system can be
advantageous.
An inventory management system monitors all aspects of a company’s
inventory as items move through the production and sales process. The process
involves tracking customer orders, shipping, costs, stock and sales. Whether or
6
not a business has some form of inventory software in place, there are some
critical elements every system needs in order to function efficiently.
Research goal and objectives
The goal of the research is the development of a system for cloud based
inventory management to implement it at the various different business entities
in the republic of India.
For the reaching this goal we must solve the following objectives:
1) to describe the subject domain;
2) to study the modern tools of web sites developing and make the
comparative analysis of the content management frameworks for web-
development;
3) to develop the structure of the required cloud based database for
Inventory System;
4) to develop and implement the system for cloud based inventory
system for the business entities in the Republic of India;
5) to test the system.
The practical significance
This project is useful for most of the business entities in the Republic of
India because they all have the very similar algorithm of Inventory system. The
difference between them is only about the product domain they use.
This project can be useful because it contains several features to assist the
special experts in a company who calculates and checks the total sales and gives
the possibility for usual workers to place an order if stock is out of inventory:
1) secure access for the private data about the users of web portal,
including the individual identification at the site for all users;
2) saving the time and efforts while working at site;
3) ensuring data integrity among the different users of web portal;
4) uploading the media files related to the product with its description;
7
5) easily process of calculation of sale for a day and generate report for
a month or a day between two calendar date;
6) easily dealing with the site for its friendly-man design;
7) ability for the following development of the site.
Structure of the thesis
The thesis consists of four chapters, introduction, conclusion and
reference list.
In the first chapter, problem statement is represented, as well as the
overview and comparative analysis of popular content management frameworks
for web-development is done. Also, we describe the chosen development tools
here.
In chapter two, there is a description of functional requirements, use case
diagram, database scheme and the design of the application.
In chapter three, we show several fragments of PHP-code for
implementing the basic functionality of the system and the algorithm of the
Inventory Management System and its implementation in the web-application.
Chapter Four is devoted to the testing of the application.
The thesis has 38 pages; the list of references contains 20 resources.
8
1. THE ANALYSIS OF THE SUBJECT AREA
1.1. The problem statement
Inventory systems provide companies with the ability to track the supplies
and raw materials needed to build product to meet customer demand. The
accuracy of the inventory system affects purchasing, planning and production
departments in the organization. The planning department uses the inventory
data to create a production schedule to meet customer demand. Accurate
inventory records allow the purchasing department to make an accurate
assessment of lead times for purchasing materials for production and to ensure
the production department has the materials and supplies available to build
customer product.
Employee Errors
Employee errors can cause inaccuracies in the inventory records, which
can cause purchasing to fail to purchase materials or to acquire an excessive
amount of inventory. The employees responsible for transacting materials or
work orders must have the training necessary to update the inventory system
accurately. In addition, employees responsible for inventory management, such
as cycle counters and inventory management specialists, must receive training in
the specific inventory system used in the organization.
Stock Outs
Stock outs are shortages in inventory that can result from inaccurate
records or a poor forecasting in the inventory system. The purchasing
department must have accurate trigger points that determine when to make
material purchases. Stock outs can result in product delays to customers.
Excess Inventory
Excess inventory results in additional costs to the organization in storage
costs and funds tied up in unused stock. When companies do not use inventory
quickly after purchase, the business begins to lose money on the materials. In
9
the event any of the material is defective, it can take much longer for the
organization to discover the problem.
Misplaced Inventory
An inventory system must not only store quantity information, but it must
also provide details of its location in the building. Misplaced inventory results in
wasted time as workers search for lost materials. Time delays can result in late
deliveries to customers as well.
Lack of Optimization
The inventory system must collect sufficient data to assist purchasing and
planning to forecast future supply needs. A well-optimized inventory system can
provide the company with information on quantities used in production as well
as scrap and waste information. This data can help purchasing determine an
accurate inventory level for production materials.
10
storeroom. It adds speed and flexibility. Defined relations making it possible to
combine data from several tables on request link the tables. The SQL part of
MySQL stands for “Structured Query Language” - the most common
standardized language used to access databases.
MySQL is an open source software. It means that it is possible for anyone
to use and modify. Anybody can download MySQL from the Internet and use it
without paying anything. Anybody so inclined can study the source code and
change it to fit their needs.
MySQL is very fast, reliable, and easy to use. MySQL also has a very
practical set of features developed in very close cooperation with our users.
MySQL was originally developed to handle very large databases much faster
than existing solutions and has been successfully used in highly demanding
production environments for several years. MySQL today offers a rich and very
useful set of functions. The connectivity, speed, and security make MySQL
highly suited for accessing databases on the Internet.
MySQL is a client/server system that consists of a multi-threaded SQL
server that supports different backends, several different client programs and
libraries, administrative tools, and a programming interface. MySQL has a lot of
contributed software available.
It is very likely that you will find that your favorite application/language
already supports MySQL [13].
PhpMyAdmin is a free software tool written in PHP, intended to handle
the administration of MySQL over the web. It supports a wide range of
operations on MySQL, and other DBMS. Frequently used operations (managing
databases, tables, columns, relations, indexes, users, permissions, etc.) can be
performed via the user interface, while the developer will have the ability to
directly execute any SQL statement.
PhpMyAdmin comes with a wide range of documentation. The developers
can use a variety of support channels to get help. To ease usage to a wide range
11
of people, phpMyAdmin is translated into 72 languages and supports both LTR
and RTL languages [14].
PHP stands for Hypertext Preprocessor (no, the acronym doesn't follow
the name). It's an open source, server-side, scripting language used for the
development of web applications. By scripting language, we mean a program
that is script-based (lines of code) written for the automation of tasks.
What does open source mean? Think of a car manufacturer making the
secret to its design models and technology innovations available to anyone
interested. These design and technology details can be redistributed, modified,
and adopted without the fear of any legal repercussions.
Web pages can be designed using HTML. With HTML, code execution is
done on the user's browser (client-side). On the other hand, with PHP server-side
scripting language, it's executed on the server before it gets to the web browser
of the user.PHP can be embedded in HTML, and it's well suited for web
development and the creation of dynamic web pages for web applications, e-
commerce applications, and database applications. It's considered a friendly
language with abilities to easily connect with MySQL, Oracle, and other
databases.
12
2. DEVELOPMENT OF A SITE
2.1. Functional requirements
This application must contain the following basic functions:
1) authorize the users;
2) connect to the database;
3) sales management;
4) user management;
5) product management.
The requirement “Authorize the users” means to have an opportunity for
users to log in and log out the site. It is a special type of protection from the
unauthorized access. There are three types of users:
1) Administrator;
2) Special User;
3) General User.
Administrator Dash board view contains highest sales product, Latest
sales, recently added product, on the admin navigation the user will able to
manage users and their groups, can add categories for the product, can view
stock details, can add and manage products, add and manage sales, can generate
sales report by date and month.
Special User can add an inventory location, can add the discount for the
product, and can upload a media file related to product into database.
User can check inventory location for a product item, can place an order
for the product in case of product is out of order, can add and manage the sales.
The application implement the following technical requirements:
1) operating system: different versions of Windows, Linux;
2) browser: Internet Explorer (from version 5), Mozilla Fireworks (from
version 4), Opera (from version 5);
3) server: PHP version 5.1.6 or newer, MySQL (4.1+).
13
2.2. Use case diagram
Unified Modeling Language (UML) enable IT professionals to model
computer applications. UML provides a unified standard modeling notation that
IT professionals had been wanting for years.
Using UML, they could now read and disseminate the system structure
and design plans just as construction workers have been doing for years with
blueprints of buildings.
A use case diagram is a type of UML diagrams. It illustrates a unit of
functionality provided by the system.
The main purpose of the use case diagram is to help development teams to
visualize the functional requirements of a system, including the relations
between “actors” (human beings who will interact with the system) and essential
processes (use cases) [1].
The result of developing the use case model is shown in the fig. 1.
There are three main actors: Administrator, Special user and User. They
use different use cases to work with tables in the database. For example, they
can see sales, enter and modify data in different tables.
There are main four use cases for the system “Add sales”, “Manage Sales”,
“Add Products” and “Manage products”.
14
Fig. 1. Use case diagram
15
The DBMS is expected to allow users to create new databases and specify
their schemas (logical structure of the data), give users the ability to query and
modify the data [10].
A DBMS is a powerful tool for creating and managing large amounts of
data efficiently and allowing it to persist over long periods of time, safely. These
systems are among the most complex types of software available [4].
MySQL, launched in 1995, has become the most popular open source
DBMS. Another root cause of MySQL's popularity has been the ongoing
success of phpMyAdmin (www.phpmyadmin.net), a well-established MySQL
web-based interface. Therefore, many websites use MySQL as their back-end
data repository [13].
We decided to specify the following tables of the database:
- the table for categories contains information about the product
categories which save categories names;
- the table, which saves the discount applied to specified product it
contains attributes like product id, percentage, from date, to date;
- the table, which saves the location for inventory items like product
location, product name;
- the tables, which saves the media file information for specific product
it contains media file name and its type;
- the table, which saves product details (i.e., “Name”, “Quantity”,
“Buying Price”, ”Sailing Price” etc.);
- the tables, which saves the user information (i.e., “User Name”, “User
Status”, “User Level”);
- the table, which saves user group information (i.e., “Group Name”,
“Group Status”);
- the table, which saves dates and documents about the loans for
employees;
16
- the tables, which saves information about the sales (for example,
“product”, “qty”, “price” and date);
- the tables, which saves information about deductions for employees
and their types (“not present”, “penalty”, “vacation”);
- the table, which define the new orders if product is out of stock.
The scheme of the database is shown in the fig. 2. It consists of 11 tables,
described below.
The table for categories contains information about the product categories,
which save categories names as in fig. 3.
17
The table, which saves the discount applied to specified product it
contains 6 Fields as in the fig. 4.
The table, which saves the location for inventory items. It consists of 4
fields as in the fig. 5.
The tables, which save the media, file information for specific product. It
consists of fields as in the fig. 6.
18
Fig. 7. Structure of the table “Products”
The tables “sales” save the names of product sales with the sales date and
price, quantity. The structure of sales table is in the fig. 8.
The table “users” saves information about the web portal users and it
connected with the user group. It consists of 10 fields as in the fig. 10.
19
Fig. 10. Structure of the table “Users”
The table User Group is saved information for user’s specific group and it
connected with the users. The structure of the table is in the fig. 11.
20
3. IMPLEMENTATION OF THE WEB-APPLICATION
3.1. Full implementation of the part of Administrator
The implementation of the proposed system is described below by
showing its pictures.
Fig. 12 shows the login form for the Inventory System.
The user who can use our website must be one of the organization's users.
At first, he must login with his or her user name and password.Since logged he
or she can be on their dashboard according their user level,e.g. Admin Dash
Board (fig. 13).
Fig. 16. The page with user management for activation or deactivation
22
Fig. 17. The page with user management for deactivation
After login, Admin can view and add product categories, as in the fig. 18.
After login, Admin can view the product details, as in the fig. 19.
Admin has an access to the section “Sales” (fig. 22). He can add a sale
for a particular date, edit a record of a sale, and remove the information (fig. 23).
Admin has functions to view sales report for a month or on chosen daily
basis, as in the fig. 24–26.
25
Fig. 26. Sales report for daily sales
26
Fig. 29. Client Management
Sales management form is available for the Special User and the Ordinal
User. The interface of it is the same as in Admin part.
27
Fig. 30. Main files structure of project
Fig. 32. Files and folder related to CSS, JQUERY and Images used in the
project
28
Fig. 40 shows the function written for display monthly sale from the
database and fig. 41 demonstrates the monthly sale function called by Monthly
sales generation form. It takes one parameter for year.
29
Fig. 35. User session handling
30
Fig. 38. Database handling file
32
Fig. 43. Daily sale.php called the daily sale function
Figure 44 shows the code screen for gaining total sales between any given
dates by using a function, which finds sales by date.
This function will ask user to supply two arguments as start date and end
date.
Figure 45 shows the code screen for the sale report process.php, which
will call the function “find_sales_by_date” from the sql.php file and store the
result into result variable.
33
Fig. 45. Sales report process.php calls the function find sales by id
34
Fig. 47. Total price function used in sale process report.php to generate profit
35
4. TESTING OF THE WEB APPLICATION
Functional system tests should be based around coverage of the functionality
described in the requirements, but it is common for the design document to be used
as the baseline for testing because the requirements cannot be related to the end
product. In the worst case, system tests can become large-scale repetitions of unit
tests [5]. Each test of my system contains input and output information. Therefore,
we compare the actual results and the expected results (table).
Table. The protocol of functional testing of the site
No. Function Expected result Obtained result Conclusion
1. To give Admin Admin can see Admin can see The
permission to see the the Admin Dash the Admin Dash function
Admin Dash Board Board Board works
2. To give all users the Any user can see Any user can see The
permission to see the the login page at the login page at function
login page at all sections all sections all sections works
3. To show all statics related Admin can see Admin can see all The
to sales on admin dash all sales related sales related function
board statics on statics on works
dashboard dashboard
4. To user management by The Admin can The Admin can The
Admin create new user create new user function
by storing their by storing their works
basic details basic details
related to login related to login
like like
email ,username email ,username ,
,password to the password to the
user table in user table in
database database
5. Under the user Admin can Admin can update The
management navigation update user user details function
admin can activate or details works
deactivate user, update the
password for user.
6. Admin can manage Admin can Admin can create The
groups create a new a new group or function
group or update update the group works
the group information
information
36
Continuation of table
No. Function Expected result Obtained result Conclusion
7. Under the Categories Admin can Admin can create The
navigation admin can add create new new categories or function
new categories for categories or update to works
product or can update it update to database table
database table categories.
categories.
8. Under admin product Admin can add a Admin can add a The
navigation new product to new product to function
database table database table works
product. product
9. Under admin product The admin can The admin can The
navigation admin can views the list of views the list of function
view the listing of product. product works
products.
10. Under the Manage product The admin can The admin can The
section. manage the manage the function
products to the products to the works
product table in product table in
database. database.
11. Under the image section of The The administrator The
admin navigation. administrator can can upload an function
upload an image image of product works
of product to to database table
database table media.
media.
12. Under the sales Report Admin can add Admin can add The
navigation new sales new sales function
works
13. Under the sales Report Admin can view Admin can view The
navigation the sales for a the sales for a function
month month works
14. Under the sales report Admin can view Admin can view The
navigation sales between sales between two function
two dates dates works
37
CONCLUSION
The goal of the research was the development of a system for cloud based
inventory management to implement it at the various different business entities
in the republic of India.
Within reaching this goal, we solved the following objectives:
1) the modern tools of web sites developing and make the comparative
analysis of the content management frameworks for web-development are
studied;
2) the structure of the required cloud based database for Inventory
System is developed;
3) the system for cloud based inventory system for the business entities
in the Republic of India is designed and implemented;
4) the system is tested.
38
LITERATURE
1. Bell D. IBM developerWorks. [Electronic Resource] URL:
http://www.ibm.com/developerworks/rational/library/769.html (the date of
access: 05.02.2015).
2. Bjoremo M. Evaluation of web applications frameworks with regards
to rapid development. – Sweden: Chalmers University of Technology,
University of Gothenburg, 2010. – 41 p.
3. Blanco J.A., Upton D. CodeIgniter 1.7. – UK: Packt Publishing Ltd,
2009. – 300 p.
4. Delisle M. Creating your MySQL Database: Practical Design Tips and
Techniques. – UK: Packt Publishing Ltd, 2006. – 105 p.
5. Gerrard P. A unified approach to system functional testing. //
EuroSTAR, 25–28 October, 1993. – P. 36/1-36/9.
6. Halvorsen H.P. Introduction to Database Systems. – Norway:
Telemark University College, 2014. – 40 p.
7. Heitmann J. Content Management Systems for television production.
// European Broadcasting Union, Technical Review, 1999. – 17 p.
8. Hodgdon J. A programmer’s guide to Drupal. – USA: O’Reilly Media,
2012. – 114 p.
9. Mauthe A., Thomas P. Professional Content Management Systems:
Handling Digital Media Assets. – UK: John Wiley & Sons Ltd, 2004. – 330 p.
10. Molina H.G., Ullman J.D., Widom J. database systems. The Complete
Book. 2nd ed. – USA: Pearson Education Inc., 2009. – 1241 p.
11. Official site of Cakephp frameworks. [Electronic Resource] URL:
http://cakephp.org (the date of access: 01.02.2015).
12. Official site of CodeIgniter frameworks. [Electronic Resource] URL:
http://www.codeigniter.com (the date of access: 01.02.2015).
39
View publication stats
40