Professional Documents
Culture Documents
IMS Documentation (AutoRecovered)
IMS Documentation (AutoRecovered)
3 Overview
4 Problem definition
5 Objective
6 Existing System
7 Proposed system
8 Scope and limitations of project
9 Analysis of System
9.1 Background Research
9.2 Requirement Analysis
9.3 Software Requirements
9.4 Hardware Requirements: 15
9.5 Development Tool 16
9.6 Python IDLE 18
9.7 GUI Application 18
9.8 Tkinter 19
9.9 Database 19
9.10 DBMS 25
9.11 SQL 27
9.12 MYSQL 29
9.13 User Requirement 32
9.14 Feasiblity Analysis 33
9.15 Economic Feasiblity 35
9.16 Operational Feasiblity 60
9.17 Schedule Feasiblity 60
10 IMS Functions Details 68
10.1 Registration 69
10.2 Dashboard 69
11 Design Approach
11.3 ER Diagram
13 Conclusion
ABSTRACT
This project is aimed at developing a GUI application named Inventory Management System for
managing the inventory system of any organization. The Inventory Management System refers to
the system and processes to manage the stock of organization with the involvement of
Technology system. This system can be used to store the details of the inventory, stock
maintenance, update the inventory based on the sales details, generate sales and inventory report
daily or weekly based. This project is categorise individual aspects for the sales and inventory
management system. In this system we are solving different problem affecting to direct sales
management and purchase management.
Introduction
Inventory refers to all goods, items and materials purchased or manufactured by business for
Sale to the customer to make profit. Inventory management is all about tracking and controlling
of business inventory right from manufacturing buying to storing and using. It controls the entire
flow of goods from purchasing to sale and ensures that you always have the right quantities of
the right item in the right location at the right time.
The "Inventory Management System" has been developed to override the problems prevailing in
the practicing manual system. This software is supported to eliminate and in some cases reduce
the hardships faced by this existing system. More over this system is designed for the particular
need of the company to carry out operations in a smooth and effective manner.
Overview
The purpose of Inventory Management system is to automate the existing manual system by the
help of computerized equipments and full-fledged computer software, fulfilling their
requirements, so that their valuable data/information can be stored for a longer Period with easy
accessing and manipulation of the same. Required software and hardware are easily available
and easy to work with.
Inventory Management system as described above can lead to error free, secure, reliable and
Fast management system. It can assist the user to concentrate on their other activities rather to
concentrate on the record keeping. Thus it will help in better utilization of resource
Problem definition
1. Security of data documents related to business transactions it is not possible to provide a best
security to it
2. The variation of the prices of raw materials are also analyzing with their effects on the overall
working of the unit.
3. The literary meaning of the word "Inventory" is stock of goods. Every enterprise needs
inventory for smooth running of its activities. It serves as a link between production and
distribution process. The unforeseen fluctuation in demand and supply of goods also necessitates
the need for inventory. It also provides a cushion for future price fluctuations.
Objective
The main objectives of inventory management are operational and financial. Listed below are
some of the main objectives inventory management.
7) To facilitate furnishing of data for short term and long term planning and control of inventory.
11) To decide which item to stock and which item to procure on demand.
Existing system
The existing system is currently saving record (property, staff, customer, and seller) manually on
registers, notebooks etc. Seller and customer record is saved via the visit to the office. If
customer/seller wants to update the details of his property, he should contact the agent or visit
office. If customer/seller gives any updated details regarding his property then agent have to
change all the details on every record keeping register.
This manual record keeping of property, staff and customers are time-consuming. There is a lot
of duplication and common errors are faced while entering and updating property data, making it
inconsistent and unavailable at times for future use. In addition, to this, the retrieval of the
information is the slow and boring task to perform. The security of data is also a concem as it is
placed in cabinets that could be accessed by others.
Proposed system
The software is used to track the Products and parts as they are transported from a vendor to a
warehouse, between warehouses, and Finally to a retail location or directly to a customer
Inventory management Software is used for a variety of purposes for inventory.
The System Maintains a balance between too much and too little inventory The system Tracks
inventory as it is transported between locations It manages Receiving items into a warehouse of
the other locations The Picking, Packing and shipping of items are done from a warehouse. It
keeps track of product sales and Inventory levels.
Scope:
It may help collecting perfect management in details. in a very short time, the collection will be
obvious, Simple and sensible it will help a person to know the management of passed year
perfectly and vividly It also helps in current all works relative to Inventory management system.
In computer system the person has to fill various Forms and number of copies of the forms can
be easily generated at a time. It satisfies the user requirement. It is very easy to understand by
user and operate. It is easy to operate with a good interface
Limitations:
Although the system is flexible easy to operate but limitations cannot be ruled out. Though the
Software Presents a broad range of options to its user some intricate options could not be covered
into it Partly because of logistic and lack of Sophistication. Thus it is not possible to make
software foolproof and dynamic.
The system is easy to operate but first instance of user can be a bit problematic. The transactions
will be executed in offline mode hence online data for Products sells capture and modification is
not possible. The offline reports of stock, customers. Products will not be able to generate due to
batch mode Execution.
ANALYSIS OF SYSTEM
Background Research:
I started research by identifying the need of IMS around the world. Initially I bounded my
research to find the general reasons that emerged the needs of Inventory Management System. I
researched a lot on the internet I used various IMS application to understand how it works and
what Functions it provides I also asked small shop owners and big shop owners their way of
handling Inventory. After collecting all the data I understood the following factors are the
reasons software developers need to develop IMS application:
Requirement Analysis
I pointed out the requirements for project from my research, website visits, and by asking some
IT Company employees about their experiences regarding the concepts of its development. I
have even Used various IMS Application and analyse its importance and try to understand its
weakness found in the application. Then I decided to build same type of application with
different logic flow and language of my choice which will be suitable for my software project.
Software Requirements:
A set of programs associated with the operation of a computer is called software. Software is the
part of the computer system, which enables the user to interact with several physical hardware
devices. The minimum software requirement specifications for developing this project are as
follows:
Language: Python
DBMS: MYSQL
Hardware Requirements:
The collection of internal electronic circuits and external physical devices used in building a
computer is called the Hardware.
The minimum hardware requirement specifications for developing this project are as follows:
RAM: 8GB
DEVELOPMENT TOOL:
simple ad hoc techniques are used instead of a tool, such as print debugging instead of using a
debugger, manual timing (of overall program or section of code) instead of a profiler, or tracking
bugs in a text file or spreadsheet instead of a bug tracking system. The distinction between tools
and applications is murky. For example, developers use simple databases (such as a file
containing a list of important values) all the time as tools.[dubious – discuss] However a full-
blown database is usually thought of as an application or software in its own right. For many
years, computer-assisted software engineering (CASE) tools were sought after. Successful tools
have proven elusive. In one sense, CASE tools emphasized design and architecture support, such
as for UML. But the most successful of these tools are IDEs.
Python IDLE:
Every Python installation comes with an Integrated Development and Learning Environment,
which you’ll see shortened to IDLE or even IDE. These are a class of applications that help you
write code more efficiently. While there are many IDEs for you to choose from, Python IDLE is
very bare-bones, which makes it the perfect tool for a beginning programmer.
Python IDLE comes included in Python installations on Windows and Mac. If you’re a Linux
user, then you should be able to find and download Python IDLE using your package manager.
Once you’ve installed it, you can then use Python IDLE as an interactive interpreter or as a file
editor.
Python IDLE offers a full-fledged file editor, which gives you the ability to write and execute
Python programs from within this program. The built-in file editor also includes several features,
like code completion and automatic indentation, that will speed up your coding workflow. First,
let’s take a look at how to write and execute programs in Python IDLE.
GUI Application:
A graphical user interface (GUI) application is one that is designed using graphical features such
as windows, menus, dialog boxes, and features that make the application easy to use. When you
compile a GUI application, an executable file with start-up code is created. The executable
usually provides the basic functionality of your program, and simple programs often consist of
only an executable file. You can extend the application by calling DLLs, packages, and other
support files from the executable.
Tkinter:
Tkinter is the inbuilt python module that is used to create GUI applications. It is one of the most
commonly used modules for creating GUI applications in Python as it is simple and easy to work
with. You don’t need to worry about the installation of the Tkinter module separately as it comes
with Python already. It gives an object-oriented interface to the Tk GUI toolkit.
Database:
DBMS:
A database management system (or DBMS) is essentially nothing more than a computerized
data-keeping system. Users of the system are given facilities to perform several kinds of
operations on such a system for either manipulation of the data in the database or the
management of the database structure itself. Database Management Systems (DBMSs) are
categorized according to their data structures or types.
SQL :
SQL is a language to operate databases; it includes database creation, deletion, fetching rows,
modifying rows, etc. SQL is an ANSI (American National Standards Institute) standard
language, but there are many different versions of the SQL language.
SQL is Structured Query Language, which is a computer language for storing, manipulating and
retrieving data stored in a relational database.
SQL is the standard language for Relational Database System. All the Relational Database
Management Systems (RDMS) like MySQL, MS Access, Oracle, Sybase, Informix, Postgres and
SQL Server use SQL as their standard database language.
MySQL:
MySQL is a relational database management system (RDBMS) developed by Oracle that is
based on structured query language (SQL).
A database is a structured collection of data. It may be anything from a simple shopping list to a
picture gallery or a place to hold the vast amounts of information in a corporate network. In
particular, a relational database is a digital store collecting data and organizing it according to the
relational model. In this model, tables consist of rows and columns, and relationships between
data elements all follow a strict logical structure. An RDBMS is simply the set of software tools
used to actually implement, manage, and query such a database.
Users Requirement:
2.Inventory management
Feasibility Analysis:
This software has been tested for various feasibility criterions from various point ofviews.
Economic Feasibility:
The system is estimated to be economically affordable. The system is medium scale desktop
application and has affordable price. The benefits include increased efficiency, effectiveness, and
the better performance. Comparing the cost and benefits the system is found to be economically
feasible.
Technical Feasibility:
Microsoft SQL Which are easily available within the estimated cost and schedule
Operational Feasibility:
The system provides better solution to the libraries by adding the typical requirement and
necessities. The solution provided by this system will be acceptable to ultimate solution for the
stock management.
Schedule Feasibility:
The organized schedule for the development of the system is presented in the schedule sub-
section. The reasonable timeline reveals that the system development can be finished on desired
time framework.
To provide efficient, fast, reliable and user-friendly system is the basic objective behind
this exercise. The main function of inventory management is to determine the sufficient amount
and type of products, with an easy billing system which can easily print the bill save our efforts
It can also help us to contain information about Suppliers and our Employees.
REGISTRATION:
This will appear on the desktop of user when they launch this application. It will only
appear one time during registration a user will have to create their Unique ID and Password and
will have to add personal information such as Name, D.O.B, D.O.J, Gender, Email and Address
After Registration is done we can login our Id and Password error will appear in front of
us if user put an invalid Id or Password user. If user forgets their Id and Password they can use
the Forget password Option to recover their Password through Email.
DASHBOARD:
This function will appear in front of user after they after they login their correct Id and
Password the dashboard will contain an option of Menu on the left side of the applications which
contains information of Employee, Supplier, Products, Sales, Exit on the right side of page user
will get a logout option
On the middle of page there are labels which will contain information of Total
Employees , Total Suppliers, Total Products, Total Sales, Total Category and on the right side of
page user will get an Logout button which will allow them to logout.
EMPLOYEES INFORMATION:
This function of IMS Contains the information of employees like their Name, Contact
no, D.O.B, D.O.J, Username, Password and Email an user can save, delete and update their
information in this section.
There is a Search Bar in this section which user can use to search the name of an
employee some information like Email id has no validations as user may change their Email Id.
A User information can either be saved as an Admin or Employee. After saving the information
of an employee the label of Total Employees will also be changed.
SUPPLIER INFORMATION:
This section of Supplier contains information of the Supplier such as Invoice no,
Supplier name, Contact no, Description the supplier will be provided with an unique invoice
number which is important to identify them
In description we can save the quantities of products which will help user to recognize
number of products sent by a particular Supplier.
The Product section manages product name and information we can add and delete any
product name from the product category. If we add any product to the product category the
following product will be added in the product list with a product ID and name
The name of the product saved in the product category will also be saved on Label
named as Total Category
PRODUCT INFORMATION:
This section contains information about products details it can help to track the
category of product, Price of the product and the quantity of a product available in the stock. A
user can manage the information of product here by adding or removing products from the list
according to sales and the stocks received from Supplier
SALES INFORMATION:
This section contains information about products details it can help to track the category
of product, Price of the product and the quantity of a product available in the stock an user can
manage the information of product here by adding or removing products from the list. In sales
information there will be three sections which will be used for Sales All products, Customer
details and Customer billing area
All products section will contain Name, price , quantity and status of the product In
customer details section we have to add the information of customer such as Name and contact
no and the product and price that customer has ordered there will also be calculator here which
will help to count the price of the product
In customer billing area the bill amount and Discount given to customer will be displayed
we can save and print bill from here
DESIGN APPROACH
Inventory Management System Data flow diagram is often used as a preliminary step to create
an overview of the Inventory without going into great de tail, which can later be elaborated.it
normally con sists of overall application dataflow and processes of the Inventory process. It
contains all of the user flow and their entities such all the flow of Inventory, Customer,
Purchasing, Receiving Stock, Payment, Supplier, Login. All of the below diagrams has been
used for the visualization of data processing and structured design of the Inventory process and
working flow.
Zero Level Data Flow Diagram(0 Level DFD) Of Inventory Management System:
This is the Zero Level DFD of Inventory Management System, where we have elaborated the
high level process of Inventory. It's a basic overview of the whole Inventory Management
System or process being analysed or modeled. It's designed to be an at a-glance view of
Payment, Supplier and Login showing the system as a single high-level process, with its
relationship to external entities of Inventory, Customer and Purchasing. It should be easily
understood by a wide audience, including Inventory, Purchasing and Payment In zero level DFD
of Inventory Management System, we have described the high level flow of the Inventory
system.
First Level DFD (1st Level) of Inventory Management System shows how the system is divided
into sub systems (processes), each of which deals with one or more of the data flows to or from
an external agent, and which together provide all of the functionality of the Inventory
Management System as a whole. It also identifies internal data stores of Login, Supplier,
Payment, Receiving Stock, Purchasing that must be present in order for the Inventory system to
do its job, and shows the flow of data between the various parts of Inventory, Purchasing,
Supplier, Login, Payment of the system. DFD Level 1 provides a more detailed breakout of
pieces of the 1st level DFD. You will highlight the main functionalities of Inventory
Main entities and output of First Level DFD (1st Level DFD):
DFD Level 2 then goes one step deeper into parts of Level 1 of Inventory. It may require more
functionalities of Inventory to reach the necessary level of detail about the Inventory functioning.
First Level DFD (1st Level) of Inventory Management System shows how the system is divided
into sub systems (processes). The 2nd Level DFD contains more details of Login, Supplier,
• Admin logins to the system and manage all the functionalities of Inventory Management
System
• Admin can add, edit, delete and view the records of Inventory, Purchasing, Payment, Login
• Admin can manage all the details of Customer, Receiving Stock, Supplier
•Admin can also generate reports of Inventory, Customer, Purchasing, Receiving Stock,
Payment, Supplier
• Admin can apply different level of filters on report of Inventory, Receiving Stock, Payment
• Admin can tracks the detailed information of Customer, Purchasing, Receiving Stock, Payment
Second level DFD
Inventory Management System Activity Diagram For Admin:
This is the Activity UML diagram of Inventory Management System which shows the flows
between the activity of Supplier, Purchase, Payment, Inventory, Receiving Stock. The main
activity involved in this UML Activity Diagram of Inventory Management System are as
follows:
1.Admin User can search Supplier, view description of a selected Supplier, add Supplier, update
Supplier and delete Supplier.
2. Its shows the activity flow of editing, adding and updating of Purchase
3. User will be able to search and generate report of Payment, Inventory, Receiving Stock
5. Its shows the full description and flow of Supplier, Inventory, Receiving Stock, Supplier,
Employee.
Login Activity Diagram of Inventory Management System Admin:
All these pages are secure and user can access these page after
login. The diagram of Admin and User helps demonstrate how the login page works in a
Inventory Management System. The various objects in the . Inventory Report Activity,
Employee Details Activity, Supplier Details Activity, Receiving Stock Activity interacts over the
course of the Activity, and user will not be able to access this page without verifying their
identity.
Activity Diagram for Admin
Inventory Management System Activity Diagram for User:
This is the Activity UML diagram of Inventory Management System which shows the flows
between the activity of Supplier, Purchase, Payment, Inventory, Receiving Stock. The main
activity involved in this UML Activity Diagram of Inventory Management System are as
follows:
1. Identification Activity
2 Billing Activity
5.Products Activity
All these pages are secure and user can access these page after login.
The diagram of Admin and User helps demonstrate how the login page works in a Inventory
Management System. The various objects in the Identification Activity, Billing Activity,
Inventory Report Activity, Customer Details Activity, Products Activity interacts over the course
of the Activity, and user will not be able to access this page without verifying their identity.
Activity Diagram for User
This ER (Entity Relationship) Diagram represents the model of Inventory Management System
Entity. The entity-relationship diagram of Inventory Management System shows all the visual
instrument of database tables and the relations between Customer, Stock, Inventory, Supplier etc.
It used structure data and to define the relationships between structured data groups of Inventory
Management System functionali ties. The main entities of the Inventory Management System are
Inventory, Customer, Purchasing, Stock, Payment and Supplier.
• The details of Inventory is store into the Inventory tables respective with all tables
• Each entity (Supplier, Purchasing, Payment, Customer, Inventory) contains primary key and
unique keys.
•The entity Purchasing, Supplier has binded with Inventory, Customer entities with foreign key
•There is one-to-one and one-to-many relationships available between Payment, Stock, Supplier,
Inventory
• All the entities Inventory, Customers, Purchasing, Supplier are normalized and reduce
duplicacy of records
• We have implemented indexing on each tables of Inventory Management System tables for fast
query execution.
ER DIAGRAM
Inventory Management System Use Case Diagram:
This Use Case Diagram is a graphic depiction of the interactions among the elements of
Inventory Management System. It represents the methodology used in system analysis to
identify, clarify, and organize system requirements of Inventory Management System. The main
actors of Inventory Management System in this Use Case Diagram are: Super Admin, System
User, Supplier, Anonymous Users, who perform the different type of use cases such as Manage
Inventory, Manage Customer, Manage Purchasing, Manage Receiving Stock, Manage Payment,
Manage Supplier, Manage Users and Full Inventory Management System Operations. Major
elements of the UML use case diagram of Inventory Management System are shown on the
picture below.
The relationships between and among the actors and the use cases of Inventory
Management System:
1.Super Admin Entity: Use cases of Super Admin are Manage Inventory, Manage Customer,
Manage Purchasing, Manage Receiving Stock, Manage Payment, Manage Supplier, Manage
Users and Full Inventory Management System Operations
2.System User Entity: Use cases of System User are Manage Inventory, Manage Customer,
Manage Purchasing, Manage Receiving Stock, Manage Payment, Manage Supplier
3.Supplier Entity: Use cases of Supplier are Check Inventory, Send Products, Create Invoice,
Manage Bills, Manage Stocks
Usecase Diagram
Inventory Management System Class Diagram:
4.Purchasing Stock Class: Manage all the operations of Stock Payment Class: Manage all the
operations of Payment
saveSupplier(), searchSuppl
Class Diagram
Inventory Management System Sequence Diagram:
This is the UML sequence diagram of Inventory Management System which shows the
interaction between the objects of Inventory, Receiving Stock, Payment, Customer, Supplier.
The instance of class objects involved in this UML Sequence Diagram of Inventory Management
System
1.Inventory Object
2.Supplier Object
3.Category Object
4.Products Object
5.Sales Object:
This is the Login Sequence Diagram of Inventory Management System, where admin will be
able to login in their account using their credentials. After lo gin user can manage all the
operations on Payment, Inventory, Receiving Stock, Supplier, Customer. All the pages such as
Receiving Stock, Supplier, Customer are secure and user can access these page after login. The
diagram below helps demonstrate how the login page works in a Inventory Management System.
The various objects in the Supplier, Payment, Inventory, Receiving Stock, and Customer page-
interact over the course of the sequence, and user will not be able to access this page without
verifying their identity.
Sequence Diagram for Admin
This is the UML sequence diagram of Inventory Management System which shows the
interaction between the objects of Inventory, Receiving Stock, Payment, Customer, Supplier.
The instance of class objects involved in this UML Sequence Diagram of Inventory Management
System are as follows:
3.Payment Object
4.Customer Object
5.Supplier Object
Sequence Diagram
Inventory Management System Component Diagram:
This is a Component diagram of Inventory Management System which shows components, pro
vided and required interfaces, ports, and relationships between the Purchase, Inventory, Reciving
Stock, Customer and Payment. This type of diagrams is used in Component-Based Development
(CBD) to de scribe systems with Service-Oriented Architecture (SOA). Inventory Management
System UML component diagram, describes the organization .
•Customer Component
•Payment Component
• You can show the models the components of Inventory Management System.
Topic Selection
Submitting
Topic Name
Introduction
and Objectives
Studying
Existing
System
Problem
Definition
Planning
Proposed
System
Creation of
Diagram
Requirement
Gathering
Completion of
Documentation
Submission of
Documentation
Conclusion
To conclude, Inventory Management System is a simple GUI application basically suitable for
small organization. It has every basic item which are used for the small organization. I may be
successful in making the application where we can update, insert and delete the item as per the
requirement. This application also provides a simple report on daily basis to know the daily sales
and purchase details. This application matches for small organizations. Through it has some
limitations, I strongly believe that the implementation of this system will surely benefit any
organization.
Lesson Learnt:
Doing something for long time periods always gives good lesson. Some of the things that our
team learnt are listed as below:
Future Enhancements:
Since this project was started with very little knowledge about the Inventory Management
System, I came to know about the enhancement capability during the process of building it.
Some of the scope we can increase for the betterment and effectiveness oar listed below: