Dbms Project Inventory Management System: Visvesvaraya Technology University
Dbms Project Inventory Management System: Visvesvaraya Technology University
Dbms Project Inventory Management System: Visvesvaraya Technology University
“Jnana sangama”,BELAGAVI-590014
ON
Submitted in partial fulfilment for the award of the degree of bachelor of engineering in
computer science and engineering
Submitted by
Assistant professor
BANGALORE – 560090
Dept of CSE,SKIT 1
DBMS PROJECT INVENTORY MANAGEMENT SYSTEM
“Jnana sangama”,BELAGAVI-590014
CERTIFICATE
This is to certify that the project Work entitled “ENGINEERING STREM BOOKS” is the
bonafide work carried out in partial fulfilment for the award of the degree of Bachelor of
Engineering in Computer Science and Engineering from Visvesvaraya Technology
University Belagavi during the year 2021-2022
1.
2.
Dept of CSE,SKIT 2
DBMS PROJECT INVENTORY MANAGEMENT SYSTEM
ACKNOWLEDEGMENT
Any achievement does not depend solely on individual efforts but on the guidance,
encouragement and cooperation of intellectuals, elders and friends. A number of
personalities, in their own capacities, have helped us in carrying out this mini project work.
We would like to take this opportunity to thank them all.
This completion of min project work brings a sense of satisfaction, but it is never complete
without thanking the persons responsible for its successful completion.
I extend my special in-depth, heartfelt, sincere gratitude to my guide Prof Kusuma H. P.,
Assistant Professor, Department of Computer Science and Engineering, Sri Krishna Institute
of Technology, Bengaluru, for her constant support and valuable guidance for completion of
the mini-project work.
I would like to thank all the teaching and non-teaching staff members in my Department Of
Computer Science and Engineering, Sri Krishna Institute of Technology, Bengaluru, for their
support.
Finally, we thank our parents and friends for their moral support.
Siddalingesh SM
Srinivas Rao S
Dept of CSE,SKIT 3
DBMS PROJECT INVENTORY MANAGEMENT SYSTEM
ABSTRACT
Inventory Management System is important to ensure quality control in businesses
that handle transactions revolving around consumer goods. Without proper inventory control,
a large retail store may run out of stock on an important item. A good Inventory Management
System will alert the retailer when it is time to reorder. Inventory Management System is also
an important means of automatically tracking large shipments. For example, if a business
orders ten pairs of socks for retail resale, but only receives nine pairs, this will be obvious
upon inspecting the contents of the package, and error is not likely. On the other hand, say a
wholesaler orders 100,000 pairs of socks and 10,000 are missing. Manually counting each
pair of socks is likely to result in error. An automated Inventory Management System helps to
minimize the risk of error. In retail stores, an Inventory Management System also helps track
theft of retail merchandise, providing valuable information about store profits and the need
for theft-prevention systems. Automated Inventory Management System work by scanning a
barcode either on the item. A barcode scanner is used to read the barcode, and the
information encoded by the barcode is read by the machine. This information is then tracked
by a central computer system. For example, a purchase order may contain a list of items to be
pulled for packing and shipping. The Inventory Management System can serve a variety of
functions in this case. It can help a worker locate the items on the order list in the warehouse,
it can encode shipping information like tracking numbers and delivery addresses, and it can
remove these purchased items from the inventory tally to keep an accurate count of in-stock
items. All of this data works in tandem to provide businesses with real-time inventory
tracking information. Inventory Management System make it simple to locate and analyze
inventory information in real-time with a simple database search.
Dept of CSE,SKIT 4
DBMS PROJECT INVENTORY MANAGEMENT SYSTEM
TABLE OF CONTENTS
PAGE NO’S
1. INTRODUCTION 7
2. ANALYSIS 8-9
6. IMPLEMENTATION 26-30
7. SNAPSHOTS 31-39
Dept of CSE,SKIT 5
DBMS PROJECT INVENTORY MANAGEMENT SYSTEM
8. CONCLUSION 40
9. FUTURE ENHANCEMENTS 41
LISTS OF FIGURES
3. ER DAIGRAM 3.3 16
Dept of CSE,SKIT 6
DBMS PROJECT INVENTORY MANAGEMENT SYSTEM
CHAPTER 1
INTRODUCTION
Inventory management and supply chain management are the backbone of any
business operations. With the development of technology and availability of process driven
software applications, inventory management has undergone revolutionary changes in any
business or organization, all functions are interlinked and connected to each other and are
often overlapping. Some key aspects like supply chain management, logistics and inventory
form the backbone of the business delivery function. Therefore these functions are extremely
important to marketing managers as well as finance controllers. Inventory management is a
very important function that determines the health of the supply chain as well as the impacts
the financial health of the balance sheet. Every organization constantly strives to maintain
optimum inventory to be able to meet its requirements and avoid over or under inventory that
can impact the financial figures. Inventory is always dynamic. Inventory management
requires constant and careful evaluation of external and internal factors and control through
planning and review. Most of the organizations have a separate department or job function
called inventory planners who continuously monitor, control and review inventory and
interface with production, procurement and finance departments.
Dept of CSE,SKIT 7
DBMS PROJECT INVENTORY MANAGEMENT SYSTEM
CHAPTER 2
DISADVANTAGES:
The following drawbacks of the existing system emphasize the need for computerization:
2. Proposed System
This web-application is used to take note of each and every location of stock
locations, products stored in location and transport of products. The user can log in
on the web-app and add, delete or edit all the details such as location, products,
product movement. The user has to either register or log in to access the web-app.
This application will display the list of all locations, products and product movement.
Dept of CSE,SKIT 8
DBMS PROJECT INVENTORY MANAGEMENT SYSTEM
2.2System Specifications
Hardware Requirements:-
● Pentium-IV(Processor)
● 256 MB Ram
● Hard disk 10 GB
Software Requirements: -
● Operating System: Windows/Unix
● Front-End: HTML
● Database: Sqlite
Dept of CSE,SKIT 9
DBMS PROJECT INVENTORY MANAGEMENT SYSTEM
CHAPTER 3
DESIGN
3.1 INTRODUCTION:
Design is the first step in the development phase for any techniques and
principles for the purpose of defining a device, a process, or system in sufficient
detail to permit its physical realization.
Once the software requirements have been analyzed and specified the software
design involves three technical activities - design, coding, implementation, and
testing that are required to build and verify the software.
The design activities are of main importance in this phase because, in this
activity, decisions ultimately affecting the success of the software implementation
and its ease of maintenance are made. These decisions have the final bearing on the
reliability and maintainability of the system. Design is the only way to accurately
translate the customer’s requirements into finished software or a system.
The DFD takes an input-process-output view of a system i.e. data objects to flow
into the software, are transformed by processing elements, and resultant data objects
flow out of the software.Data objects represented by labeled arrows and
transformation are represented by circles also called bubbles. DFD is presented in a
hierarchical fashion i.e. the first data flow model represents the system as a whole.
Subsequent DFD refines the context diagram (level 0 DFD), providing increasing
details with each subsequent level.The DFD enables the software engineer to develop
models of the information domain & functional domain at the same time. As the
DFD is refined into greater levels of detail, the analyst performs an implicit functional
Dept of CSE,SKIT 10
DBMS PROJECT INVENTORY MANAGEMENT SYSTEM
decomposition of the system. At the same time, the DFD refinement results in a
corresponding refinement of the data as it moves through the process that embodies
the applications. In a context-level DFD for the system, the primary external entities
produce information for use by the system and consume information generated by the
system. The labeled arrow represents data objects or object hierarchy.
● Identify and label each process internal to the system with Rounded circles.
● Make sure the names of the processes accurately convey everything the
process is done.
● Identify all data flows for each process step, except simple Record retrievals.
Dept of CSE,SKIT 11
DBMS PROJECT INVENTORY MANAGEMENT SYSTEM
DATAFLOW DIAGRAMS:
Fig: 3.1
Dept of CSE,SKIT 12
DBMS PROJECT INVENTORY MANAGEMENT SYSTEM
A database schema can be represented in a visual diagram, which shows the database
object and their relationship which represents the logical view of the databaseand how
the relationships among them are represented.
FIG:3.2
Dept of CSE,SKIT 13
DBMS PROJECT INVENTORY MANAGEMENT SYSTEM
● It maps well to the relational model. The constructs used in the ER model can
easily be transformed into relational tables.
● It is simple and easy to understand with a minimum of training. Therefore, the
model can be used by the database designer to communicate the design to the end-
user.
● In addition, the model can be used as a design plan by the database developer to
implement a data model in specific database management software.
Dept of CSE,SKIT 14
DBMS PROJECT INVENTORY MANAGEMENT SYSTEM
ER Notation
There is no standard for representing data objects in ER diagrams. Each
modeling methodology uses its own notation. The original notation used by Chen is
widely used in academic texts and journals but rarely seen in either CASE tools or
publications by non- academics. Today, there are several notations used, among the
more common are Bachman, crow's foot, and IDEFIX.
All notational styles represent entities as rectangular boxes and relationships as
lines connecting boxes. Each style uses a special set of symbols to represent the
cardinality of a connection. The notation used in this document is from Martin. The
symbols used for the basic ER constructs are:
● entities are represented by labeled rectangles. The label is the name of the entity.
Entity names should be singular nouns.
● relationships are represented by a solid line connecting two entities. The name of
the relationship is written above the line. Relationship names should be verbs
● attributes, when included, are listed inside the entity rectangle. Attributes that are
identifiers are underlined. Attribute names should be singular nouns.
● the cardinality of many is represented by a line ending in a crow's foot. If the
crow's footis omitted, the cardinality is one.
● existence is represented by placing a circle or a perpendicular bar on the line.
Mandatory existence is shown by the bar (looks like a 1) next to the entity for an
instance is required. Optional existence is shown by placing a circle next to the
entity that is optional
Dept of CSE,SKIT 15
DBMS PROJECT INVENTORY MANAGEMENT SYSTEM
Fig:3.3
Dept of CSE,SKIT 16
DBMS PROJECT INVENTORY MANAGEMENT SYSTEM
CHAPTER 4
Modules
Dept of CSE,SKIT 17
DBMS PROJECT INVENTORY MANAGEMENT SYSTEM
FROM LOCATION
TO LOCATION
o PRODUCT NAME : Name of the product to be moved.
o QUANTITY: The number of products to be moved.
o DATE MOVED: When the products are moved.
o FROM LOCATION: Location where the products are moved from.
o TO LOCATION: Destination of the product movement.
Dept of CSE,SKIT 18
DBMS PROJECT INVENTORY MANAGEMENT SYSTEM
CHAPTER 5
HTML
HTML, which stands for HyperText Markup Language, is the predominant
markup language for web pages. It provides a means to create structured documents
by denoting structural semantics for text such as headings, paragraphs, lists, etc as
well as for links, quotes, and other items. It allows images and objects to be
embedded and can be usedto create interactive forms. It is written in the form of
HTML elements consisting of "tags"
surrounded by angle brackets within the web page content. It can include or can
load scripts in languages such as JavaScript which affect the behavior of HTML
processors like Web browsers, and Cascading Style Sheets (CSS) to define the
appearance and layout of text and other material. The W3C, a maintainer of both
HTML and CSS standards, encourages the useof CSS over explicit presentational
markup.
Most graphical e-mail clients allow the use of a subset of HTML (often ill-
defined) to provide formatting and semantic markup not available with plain text.
This may include typographic information like-colored headings, emphasized and
quoted text, inline images, and diagrams. Many such clients include both a GUI
editor for composing HTML e-mail messages and a rendering engine for displaying
them. The use of HTML in e-mail is controversial because of compatibility issues
because it can help disguise phishing attacks, because it can confuse spam filters and
because the message size is larger than plain text.
Dept of CSE,SKIT 19
DBMS PROJECT INVENTORY MANAGEMENT SYSTEM
NAMING CONVENTIONS
The most common filename extension for files containing HTML is .html. A
common abbreviation of this is .html, which originated because of some early
operating systems and file systems, such as DOS and FAT, limited file extensions to
three letters.
HTML APPLICATION
An HTML Application is a Microsoft Windows application that uses HTML
and Dynamic HTML in a browser to provide the application's graphical interface. A
regular HTML file is confined to the security model of the web browser,
communicating only to web servers and manipulating only webpage objects and site
cookies. An HTA runs as a fully trusted application and therefore has more
privileges, like creation/editing/removal of filesand Windows Registry entries.
Because they operate outside the browser's security model, HTAs cannot be executed
via HTTP, but must be downloaded (just like an EXE file) and executed from the
local file system.
Python
Python is an interpreted high-level general-purpose programming language. Its
design philosophy emphasizes code readability with its use of significant indentation.
Its language constructs as well as its object-oriented approach aim to help
programmers write clear, logical code for small and large-scale projects.
Python is dynamically-typed and garbage-collected. It supports multiple
programming paradigms, including structured (particularly, procedural), object-
oriented and functional programming. It is often described as a "batteries included"
language due to its comprehensive standard library.
Python was conceived in the late 1980s by Guido van Rossum at Centrum Wiskunde
& Informatica (CWI) in the Netherlands as a successor to the ABC programming
language, which was inspired by SETL, capable of exception handling and
interfacing with the Amoeba operating system. Its implementation began in
December 1989. Van Rossum shouldered sole responsibility for the project, as the
lead developer, until 12 July 2018, when he announced his "permanent vacation"
from his responsibilities as Python's "benevolent dictator for life", a title the Python
Dept of CSE,SKIT 20
DBMS PROJECT INVENTORY MANAGEMENT SYSTEM
community bestowed upon him to reflect his long-term commitment as the project's
chief decision-maker. In January 2019, active Python core developers elected a five-
member "Steering Council" to lead the project.
Python 2.0 was released on 16 October 2000, with many major new features,
including a cycle-detecting garbage collector (in addition to reference counting) for
memory management and support for Unicode.
Python 3.0 was released on 3 December 2008. It was a major revision of the
language that is not completely backward-compatible. Many of its major features
were backported to Python 2.6.x and 2.7.x version series. Releases of Python 3
include the 2to3 utility, which automates the translation of Python 2 code to Python
3.
Python 2.7's end-of-life date was initially set at 2015 then postponed to 2020 out of
concern that a large body of existing code could not easily be forward-ported to
Python 3. No more security patches or other improvements will be released for it.
With Python 2's end-of-life, only Python 3.6.x and later are supported.
Python 3.9.2 and 3.8.8 were expedited as all versions of Python (including 2.7) had
security issues, leading to possible remote code execution and web cache poisoning.
Flask
The microframework Flask is part of the Pallets Projects (formerly Pocoo), and based on
several others of them.
Werkzeug
Werkzeug (German for "tool") is a utility library for the Python programming language, in
other words a toolkit for Web Server Gateway Interface (WSGI) applications, and is licensed
under a BSD License. Werkzeug can realize software objects for request, response, and utility
Dept of CSE,SKIT 21
DBMS PROJECT INVENTORY MANAGEMENT SYSTEM
functions. It can be used to build a custom software framework on top of it and supports
Python 2.7 and 3.5 and later.
Jinja
Main article: Jinja (template engine) Jinja, also by Ronacher, is a template engine for the
Python programming language and is licensed under a BSD License. Similar to the Django
web framework, it handles templates in a sandbox.
MarkupSafe
MarkupSafe is a string handling library for the Python programming language, licensed under
a BSD license. The eponymous MarkupSafe type extends the Python string type and marks
its contents as "safe"; combining MarkupSafe with regular strings automatically escapes the
unmarked strings, while avoiding double escaping of already marked strings.
ItsDangerous
ItsDangerous is a safe data serialization library for the Python programming language,
licensed under a BSD license. It is used to store the session of a Flask application in a cookie
without allowing users to tamper with the session contents.
Features-
Development server and debugger
Integrated support for unit testing
RESTful request dispatching
Uses Jinja templating
Support for secure cookies (client side sessions)
100% WSGI 1.0 compliant
Unicode-based
Extensive documentation
Google App Engine compatibility
Dept of CSE,SKIT 22
DBMS PROJECT INVENTORY MANAGEMENT SYSTEM
DATABASE TABLES:
USER:
USERS table has the attributes id(primary key), username(primary key) and
password.
Name Type Is null
PRODUCT:
PRODUCT table has an attributes productID(primary key),
productName, productDescription and QTY.
Dept of CSE,SKIT 23
DBMS PROJECT INVENTORY MANAGEMENT SYSTEM
LOCATION:
LOCATION table has the attribute locationID(primary key) and locationName.
PRODUCT_MOVEMENT
PRODUCT_MOVEMENT table has the attribute movementID(primary key), productName,
Timing, fromlocation, tolocation, QTY
Dept of CSE,SKIT 24
DBMS PROJECT INVENTORY MANAGEMENT SYSTEM
PRODUCTS :
PRODUCTS table has the attribute productID(foreign key), productName,
productDescription
Dept of CSE,SKIT 25
DBMS PROJECT INVENTORY MANAGEMENT SYSTEM
CHAPTER 6
IMPLEMENTATION:
6.1 concepts and techniques
The system can be implemented only after thorough testing is done and if it is
found to work according to the specification.
The more complex the system being implemented, the more involved will
be the systems analysis and design effort required just for implementation.
6.2 Testing
Dept of CSE,SKIT 26
DBMS PROJECT INVENTORY MANAGEMENT SYSTEM
error. Testing is a crucial element of software quality assurance and presents the
ultimate review of specification, design, and coding.
Testing Objectives.
● Testing is the process of executing a program with the intent of finding
an error.
Testing Principles
● All tests should be traceable to end-user requirements.
● Testing should begin on a small scale and progress towards testing on a large.
Dept of CSE,SKIT 27
DBMS PROJECT INVENTORY MANAGEMENT SYSTEM
White-box testing:
White box testing focuses on the program control structure. Test cases are
derived to ensure that all statements in the program have been executed at least once
during testing and that all logical conditions have been executed.
Black-box testing:
Black box testing is designed to validate functional requirements without regard to the
internal workings of a program. Black box testing mainly focuses on the information
domain of the software, deriving test cases by partitioning input and output in a manner
that provides thorough test coverage. Incorrect and missing functions, interface errors,
errors in data structures, errors in functional logic are the errors falling in this category.
Testing strategies:
A strategy for software testing must accommodate low-level tests that are necessary
toverify that all small source code segment has been correctly implemented as well as high-
level tests that validate major system functions against customer requirements.
Testing fundamentals:
Testing is the process of executing a program with the intent of finding an
error. A good test case is one that has a high probability of finding an undiscovered
error. If testing is conducted successfully it uncovers the errors in the software.
Testing cannot show the absence of defects, it can only show that software defects are
present.
Information flow for testing flows the pattern. Two classes of input were
provided to test the process.The software configuration includes a software
requirements specification, a design specification, and a source code.
Test configuration includes test plans and test cases and test tools. Tests are
conducted and all the results are evaluated. That is test results are compared with
expected results. When erroneous data are uncovered, an error is implied, and
debugging commences.
Dept of CSE,SKIT 28
DBMS PROJECT INVENTORY MANAGEMENT SYSTEM
Unit testing:
Unit testing is essential for the verification of the code produced during the coding phase
and hence the goal is to test the internal logic of the modules. Using the detailed design
description as a guide, important paths are tested to uncover errors within theboundary of
the modules. These tests were carried out during the programming stage itself. All units
of ViennaSQL were successfully tested.
Integration testing :
System testing:
System testing tests the integration of each module in the system. It also tests
to find discrepancies between the system and its original objective, current
specification, and system documentation. The primary concern is the compatibility of
individual modules. Entire system is working properly or not will be tested here, and
specified path ODBC connection will correct or not, and giving output or not are
tested here these verifications and validations are done by giving input values to the
system and by comparing with the expected output. Top- down testing implementing
here.
Acceptance Testing:
This testing is done to verify the readiness of the system for implementation.
Acceptance testing begins when the system is complete. Its purpose is to provide the
end-user with the confidence that the system is ready for use. It involves planning and
execution of functional tests, performance tests, and stress tests in order to
demonstrate that the implemented system satisfies its requirements.
Timing Analyzer – also called a profiler, reports the time spent in various regions
Dept of CSE,SKIT 29
DBMS PROJECT INVENTORY MANAGEMENT SYSTEM
Coding standards – static analyzers and standard checkers are used to inspect
code for deviations from standards and guidelines.
Using White-Box testing methods, the software engineer can drive test cases that
● Execute all loops at their boundaries and within their operational bounds.
The test case specification for system testing has to be submitted for review before
system testing commences.
Dept of CSE,SKIT 30
DBMS PROJECT INVENTORY MANAGEMENT SYSTEM
CHAPTER 7
SNAPSHOTS:
Dept of CSE,SKIT 31
DBMS PROJECT INVENTORY MANAGEMENT SYSTEM
Dept of CSE,SKIT 32
DBMS PROJECT INVENTORY MANAGEMENT SYSTEM
Dept of CSE,SKIT 33
DBMS PROJECT INVENTORY MANAGEMENT SYSTEM
Dept of CSE,SKIT 34
DBMS PROJECT INVENTORY MANAGEMENT SYSTEM
Dept of CSE,SKIT 35
DBMS PROJECT INVENTORY MANAGEMENT SYSTEM
Dept of CSE,SKIT 36
DBMS PROJECT INVENTORY MANAGEMENT SYSTEM
Dept of CSE,SKIT 37
DBMS PROJECT INVENTORY MANAGEMENT SYSTEM
Dept of CSE,SKIT 38
DBMS PROJECT INVENTORY MANAGEMENT SYSTEM
Dept of CSE,SKIT 39
DBMS PROJECT INVENTORY MANAGEMENT SYSTEM
Dept of CSE,SKIT 40
DBMS PROJECT INVENTORY MANAGEMENT SYSTEM
CHAPTER 8
CONCLUSION
The package was designed in such a way that future modifications can be done
easily.
The following conclusions can be deduced from the development of the project.
Dept of CSE,SKIT 41
DBMS PROJECT INVENTORY MANAGEMENT SYSTEM
CHAPTER 9
FUTURE ENHANCEMENTS:
Dept of CSE,SKIT 42
DBMS PROJECT INVENTORY MANAGEMENT SYSTEM
BIBLIOGRAPHY
Websites Referred:
https://docs.python.org/3/
https://flask.palletsprojects.com/en/2.0.x/
https://www.w3schools.com/TAGS/default.ASP
https://www.youtube.com/watch?v=oA8brF3w5XQ
https://www.youtube.com/watch?v=8PPvgexhmYg
https://www.youtube.com/watch?v=Z1RJmh_OqeA
Dept of CSE,SKIT 43