SlideShare a Scribd company logo
CONTENTS
1. INTRODUCTION
2. OBJECTIVE
2.1 DOMAIN
2.2 CLIENT
2.3 USER OF THE PROJECT
3. FUCTIONAL REQUITREMENTS
3.1. USABILITY
3.2 RELIABILITY
3.3 PERFORMANCE
3.4 SUPPORTABILITY
3.5 PACKAGING
4. DETAILED SYSTEM VIEW
4.1 DESIGN GOALS
5. HARDWARE AND SOFTWARE MAPPING
5.1 STORAGE STRATERGY
6.TESTING MATERIALS
6.1 SOFTWARE REQUIREMENTS
6.2 HARDWARE REQUIREMENTS
6.3 JAVA
6.4 MY SQL
7. SOURCE CODE
8. SCREEN SHOTS
9. FUTURE GOALS
10. CONCLUSION
11. REFERENCE
1. INTRODUCTION
At the end of their day, staff and managers in a store spend a couple of
hours counting inventory and placing orders for the following week.
The Store Inventory Control System is designed to not only assist in
this problem, but also automate many of the tedious tasks associated
with it. The system keeps track of current inventory levels in the store
and the shortage of specific material can be track down easily.
The convectional method to maintain the inventory is to keep track of
their inventory levels, staff had to calculate a list of products and
analyse the requirements for the future, and place their next order to
multiple vendors if needed. This process takes up a lot of time and
human effort, and is also prone to human error.
Our case study can be used by both large corporations as well as small
businesses. This meant the system had to provide an efficient and
simple user interface that at the same time is capable of more precise
changes and inputs. The system had to also be accurate and reliable in
terms of the database design. Since all of the data and data objects are
stored in a database, it was imperative that these requirements were
met.
The basic functionality underlying the system is as follows: the admin
can add new stock details including stock id, stock name, total quantity,
unit price, total price (calculate automatically). The admin can also
update stock details, i.e. to update unit price or total quantity with stock
id. The admin can delete the stocks that are not available in the market
or the product whose production is stopped by the vendor. And finally
the admin can view the complete stock details in the shop.
2. OBJECTIVES
The objective of the project is to provide an efficient inventory control
whose main functionality apart from calculating the inventory include
predicting the requirement for the next order and also if there is a
“Special Occasion” then accordingly the manager selects the particular
occasion and extra requirements is added to the next issuing order to
the vendors which needs to be approved by the manager. The product
also aims to keep track of the shelf life of resources.
The success criteria depend on
 The accuracy in maintaining the inventory levels
 The accuracy in updating the inventory.
 Ease of use when it comes to updating inventory levels.
2.1 THE DOMAIN
This proposed project aims at inventory control in a shop. Such a large
domain would result in an equally as large scope of development. As a
result we narrow our software down to our case study of an outlet of a
computer shop concentrating only on the basic resources utilized in
inventory control of the outlet. Although the software will be developed
keeping in mind the needs of a single shop and available data at first,
then applying it to the larger domain of the entire industry can be
achieved with ease.
Our target domain is full of software to track sales of stocks, but lacks
in this area of inventory management. Our software can be scaled from
large whole sale shops to all the way to small shops.
2.2 THE CLIENT
The client can vary from small shop owners to big wholesale dealers.
Our software will allow our client to customize the database to suit the
needs of the shop individually. They can vary in stocks, vendors from
which they order their products, and threshold levels. This provides a
uniform product that can be customized at a smaller scale. t
2.3 USER OF THE PRODUCT
The main users of the product would be the staffs of the shops. The
management would approve the orders that would be sent out, provide
vendor information, upload stocks, and set threshold levels. Many of
these tasks, such as the information regarding vendors, and threshold
levels would need to be set only once. Of course, the option to add,
remove, or update this data would be implemented as well. Once this
initial step has been taken, our software will require nothing more than
a weekly approval for the orders being sent out, minimizing the work
that management has to complete in order to insure the correct amount
of inventory is available.
The staff would be responsible for updating the amount of product sold
at the end of the day. Each day, the register prints out the products sold
and the quantity of each product sold. Instead of manually subtracting
that amount from the inventory, they input the amounts sold into our
software which will do the number crunching for them.
3. FUNCTIONAL REQUIREMENTS
 The user must have, at disposal, functions for managing the
inventory efficiently.
 The functions for inventory management should allow the user to
know which stocks in the inventory are available.
 The system must include functions that will allow the user to add
a stock to the database.
 The user should also be able to delete any stock from the database
when not needed.
 The system must allow the user to update orders for the database
incase there is any change in the price, name etc. Thus keeping a
track of the stocks.
3.1NON-FUNCTIONAL REQUIREMENTS
3.1.1 Usability
 The system must be easy to use by the admin ( that includes both
the manager and the staff) such that they do not need to read an
extensive amount of manuals.
 The system must be quickly accessible by both managers and
staffs.
 The system must be intuitive and simple in the way it displays all
relevant data and relationships.
 The total stocks of the system must be easily navigable by the
users with buttons that are easy to understand.
3.1.2 Reliability
 The System must give accurate inventory status to the user
continuously.
 The system should not update the data in any database for any
failed processes.
3.1.3 Performance
 The system must not lag, because the workers using it don’t have
down-time to wait for it to complete an action.
 The system must complete updating the databases, adding ,
deleting and updating of stocks successfully every time the user
requests such a process.
 All the functions of the system must be available to the user every
time the system is turned on.
 The calculations performed by the system must comply according
to the norms set by the user and should not vary unless explicitly
changed by the user.
3.1.4 Supportability
 The software is designed such that it works even on systems
having the minimum configuration.
 The system is adaptable even if additional plugins or modules are
added at a later point.
 The data can be exported to the manager so as to make the system
more portable.
3.1.5 Packaging
 The system must be able to run on the Windows operating
systems beginning with Windows XP, and must be able to run on
future releases such as the upcoming Windows updations.
 The software must incorporate a license key authentication
process.
4.DETAILED SYSTEM DESIGN
4.1 DESIGN GOALS
 Low Response Time: The main functionality of the system
involves updating and reading the data from the database for
different entities such as different types of stocks. Thus the time
required to retrieve/ update/ add data to the database should be
minimum and preferably should be in the range of 2-5 seconds or
lesser.
 High Robustness: The system should constantly check the user
input at all instances that could generate errors in the program.
For instance:
a. The System should have validated input data fields and must put
a constraint on the inputted names of stocks, to ensure no
duplicate entries are added in the database. This ensures the
robustness of the maintained database.
b. The system should verify all the inputs by the user by using a
confirmation dialog box before processing and making changes
to the data.
 High Reliability: The reliability of the system depends upon its
ability to replicate the specified behaviour. The safekeeping of
the data is essential so as a result a backup of the levels is
generated and stored in the warehouse. There are numerous
factors on which reliability can be defined as for example, the
specifications mention that the updating of database or the
notification of a successful update must be carried out within 2-5
seconds of initiation and the system must adhere to these
specifications to be called a reliable system. Similarly, the system
should be able to achieve performance in lieu with the
specifications mentioned.
 Low fault tolerance: The system works on sensitive data and
therefore any fault in the functioning of the system will hinder
accurate updating or reading of data. This could lead to invalid
entries in the database. Thus, the system should have low fault
tolerance. This is in tandem with the design goal of high
robustness as the validation checks to ensure correct inputs from
the user implies that the fault tolerance of the system is low.
 High Extensibility: The design of the system should be such that
any future improvement can be added with no or minimum
improvements. It is in one’s best interest to always give space for
future enhancements.
 Low Adaptability: The system is designed to work on the domain
of inventory control and management in the Computer sales
industry. The functioning of this project is limited only to these
particular businesses which have similar functioning and thus it
would then be subject to structural re-modification in order to to
apply it in some other application domain.
 High Readability: The system code should be properly
commented so as to explain the functionality of the code
fragments. The code comment should explain the function or task
the code fragment performs and the result and the return value of
the corresponding function or task should also be mentioned.
 High Traceability: The coding scheme of the system should be
such that it could be traced back to its requirements specifications.
This will enable high traceability of the code of the system.
5.HARDWARE SOFTWARE MAPPING
The system runs on a standalone system without the need of any
external server connection or internet connection. Thus the hardware
requirement of the product is a personal computer which meets the
requirements mentioned in the specifications. The product is
programmed in Java programming language and uses MySQL for
database service. Thus the client computer requires the installation of
JDK 1.6 and MySQL server on its machine.
5.1.STORAGE STRATERGY
The database is created and maintained in the open source environment
MySQL. The subsystems connect to the database via JDBC API. Using
an open source database management system enables us to reduce cost
of development of the system plus it allows us to maintain the database
on the same machine on which the other subsystems are functioning.
The only thing required is a JDBC connector driver to setup and
maintain connection to the database. The type of database used is
Relational database, as using a flat file database would prove tedious if
used on such highly connected data entities that we use in our system
6.TESTING MATERIALS (HARDWARE/SOFTWARE
REQUIREMENTS)
6.1. SOFTWARE REQUIREMENTS
The coding for the system is being done on Netbeans IDE for Java and
the database management utility that is being used is MySQL. As the
system uses no network connectivity, the system does not require any
other specialized software for network connectivity. Any operating
system that supports these two modules is a perfectly suitable OS for
the testing purposes.
 Netbeans IDE for Java
 MySQL
 Windows XP, 7,8,10
Also one driver is required for facilitating the connectivity between
Netbeans and MySQL and that is MySQL Connector/J 5.1.6. This
driver must be explicitly imported in the project directory of Netbeans.
6.2. HARDWARE REQUIREMENTS
 Processor : Dual core @ 1.60 GHz or more
 RAM : 1 GB or more
 Hard Disk Drive : 160 GB
 Monitor : SVGA Color
 Keyboard : Standard Keyboard
 Mouse : Standard Mouse
6.3. JAVA
Java is a programming language that produces software for multiple
platforms. When a programmer writes a Java application, the compiled
code (known as bytecode) runs on most operating systems (OS),
including Windows, Linux and Mac OS. Java derives much of its
syntax from the C and C++ programming languages.
Java was developed in the mid-1990s by James A. Gosling, a former
computer scientist with Sun Microsystems
Java produces applets (browser-run programs), which facilitate
graphical user interface (GUI) and object interaction by Internet users.
Prior to Java applets, Web pages were typically static and non-
interactive. Java applets have diminished in popularity with the release
of competing products, such as Adobe Flash and Microsoft Silverlight.
Java applets run in a Web browser with Java Virtual Machine (JVM),
which translates Java bytecode into native processor instructions and
allows indirect OS or platform program execution. JVM provides the
majority of components needed to run bytecode, which is usually
smaller than executable programs written through other programming
languages. Bytecode cannot run if a system lacks required JVM.
Java program development requires a Java software development kit
(SDK) that typically includes a compiler, interpreter, documentation
generator and other tools used to produce a complete application.
Development time may be accelerated through the use of integrated
development environments (IDE) - such as JBuilder, Netbeans, Eclipse
or JCreator. IDEs facilitate the development of GUIs, which include
buttons, text boxes, panels, frames, scrollbars and other objects via
drag-and-drop and point-and-click actions.
Java programs are found in desktops, servers, mobile devices, smart
cards and Blu-ray Discs (BD).
A list of most important features of Java language is given below.
1. Simple
2. Object-Oriented
3. Portable
4. Platform independent
5. Secured
6. Robust
7. Architecture neutral
8. Interpreted
9. High Performance
10. Multithreaded
11. Distributed
12. Dynamic
6.4 MY SQL
MySQL is an Oracle-backed open source relational database
management system (RDBMS) based on Structured Query Language
(SQL). MySQL runs on virtually all platforms, including Linux, UNIX
and Windows. Although it can be used in a wide range of applications,
MySQL is most often associated with web applications and online
publishing.
MySQL is an important component of an open source enterprise stack
called LAMP. LAMP is a web development platform that uses Linux
as the operating system, Apache as the web server, MySQL as the
relational database management system and PHP as the object-oriented
scripting language. (Sometimes Perl or Python is used instead of PHP.)
Originally conceived by the Swedish company MySQL AB, MySQL
was acquired by Sun Microsystems in 2008 and then by Oracle when
it bought Sun in 2010. Developers can use MySQL under the GNU
General Public License (GPL), but enterprises must obtain a
commercial license from Oracle.
MySQL is based on a client-server model. The core of MySQL is
MySQL server, which handles all of the database instructions (or
commands). MySQL server is available as a separate program for use
in a client-server networked environment and as a library that can be
embedded (or linked) into separate applications. MySQL operates
along with several utility programs which support the administration of
MySQL databases. Commands are sent to MySQL Server via the
MySQL client, which is installed on a computer.
MySQL was originally developed to handle large databases quickly.
Although MySQL is typically installed on only one machine, it is able
to send the database to multiple locations, as users are able to access it
via different MySQL client interfaces. These interfaces send SQL
statements to the server and then display the results.
7. SOURCE CODE
Package inventorymanagement;
/**
*
*@author nhatnk
*/
public class Inventorymanagement{
/**
*
* @param args the command line arguments
*/
public static void main(string[]){
}
}
public class Inventory{
private int id;
private string name;
private float price;
public Product(int id,string name,float price){
this.id=id;
this.name=name;
this.float=price;
}
}
public int getId(){
return id;
}
public void setId(int id){
this.id=id;
}
public string getName(){
return name;
}
public void setName setId(string name){
this.name=name;
}
public float getPrice(){
return price;
}
import com.nhatnk.pms.controller;
import com.nhatnk.pms.entity.product;
import java.util.List;
/**
*
* @author nhatnk
*/
public class ProductManager{
private List<product>listofPrroduct;
public ProductManager(){
this.listOfProduct= new ArrayList<>();
}
public int addProduct(Product p)
this.listOfProduct.add(p);
returnthis.listOfProduct.size();
}
public int count(){
return this.listOfProduct.size():
}
public product getProduct (int index){
if(index < 0 || index >= count()){
return null;
}
return this.listOfProduct.get(index);
}
}
pacakage com.fpt.nhatnk.pms.ui;
/**
*
* @author nhatnk
*/
public class ProductConsole;
this.sc= new Scanner (System.in);
}
private int menu(){
system.out.println(“-------PRODUCT MENU--------“);
system.out.println(“ADD“);
system.out.println(“UPDATE“);
system.out.println(“DELETE“);
system.out.println(“PURCHASE“);
int choice ;
while(true){
try{
choice= Integer.parseInt(null)
if(choice >= 1 && choice <= 3)
break;
} catch (Exception e){
e .printStackTrace();
}
}
}
}
private void start(){
while(true){
int choice = menu();
switch (choice){
case 0;
system.exit(0);
case 1;
addProduct();
break;
throw new AssertionError();
. }
}
}
private int readInt(int min, int max)
system.out.println(“Enter id”);
int id=readInt(0, Integer.MAX_VALUE);
system.out.println(“Price”);
float price;
while(true){
try{
price= Float.parseFloat(sc.nextLine());
if (price >= 0 && price<= float.MAX_VALUES{
break;
} catch(Exception e){
system.out.println(“Invalid value”);
}
}
}
Inventory Management System
8. SCREENSHOTS
Inventory Management System
Inventory Management System
9. FUTURE DEVELOPMENT
There is a scope of lot of improvement given that the application of this
project which is now limited to only one industry / outlets can be
applied to other branches also given that it is subjected to appropriate
changes. The prediction algorithm needs to be still more enhanced, but
that is possible with years of data analysis and would then might also
be changed to an artificially intelligent system. Also considering the
large technological movement, access to the program through a web
application would be ideal for remote access to the program and
database. This would require a dedicated server to host the database
and therefore has been considered as an optional enhancement.
To list, the future development may include the following
 Use of AI to learn user behaviour and responses.
 Expansion of software domain.
 Expansion to web domain.
 Allowing remote access.
 Allowing orders to be sent electronically.
10. CONCLUSION
The case study “Inventory Management System” mainly as the name
suggests deals with the calculation of the available and processed
resources for an accurate inventory control and process management
for a domain specific client who are related to the computer hardware
sales industry.
A system that accurately add, delete and update the stocks of a shop,
then automatically performs the back end operation pertaining to a
database of many relational tables onto which the changes are being
made with each and every operation performed on the front end and
which also shows up if at the time of retrieval. The most important
feature is that the admin can view the status of the stocks that is
available. So as when a stock level goes below the threshold level
then it routes an alert to the manager.
Inventory Management System
11. REFERENCES
[1] Database programming with JDBC and Java, O'Reilly and George
Reese, O'Reilly Media-2002.
[2] Bernd Bruegge & Allen H. Dutoit. Object-Oriented Software
Engineering Using UML, Patterns, and Java, Third Edition, 2005.
[3] Object design tradeoffs for Project,
http://www.scribd.com/doc/38302828/29/Object-design-trade-offs [5]
Technical Design Document. www.in.gov/fssa/files/QualCheck.pdf
[4] Union Design Pattern: Inheritance and Polymorphism.
http://cnx.org/content/m11796/latest/
[5] CS 440 Fall 2012 Homepage. http://www.cs.uic.edu/~i440/
[6] Volere Requirement Resources.
http://www.volere.co.uk/index.htm
[7] Requirements Analysis Document, submitted 19th October 2012.
https://skydrive.live.com/redir?resid=2CEDE9F7F5F99604!195&auth
key=!AJpVRmJ8w8giN_M
[8] Design Report, submitted 9th November 2012.
https://skydrive.live.com/redir?resid=2CEDE9F7F5F99604!196&auth
key=!AO5IghTCML6xAk8
[9] Testing Document, submitted 26th November 2012.
https://skydrive.live.com/redir?resid=2CEDE9F7F5F99604!161&auth
key=!AC8P0Lqe9amxSeM
[10] Project Proposal Document, submitted 21st September 2012.
https://skydrive.live.com/redir?resid=2CEDE9F7F5F99604!175&auth
key=!AB_dzPgl7Y2vDdw

More Related Content

DOCX
Inventory management system
Ashrafee rakhi
 
DOC
Sales and inventory management system project report
Fuckboy123
 
PPTX
Stock inventory Management Project
Krishnakumar Hatele
 
PDF
inventory management system
Barbara Onwutalobi
 
PPTX
Stock Management System
Shahriar Kabir
 
PPTX
Inventory management application
Rohit Gupta
 
PDF
Sales and inventory management project report
Upendra Sengar
 
PPTX
stock management system.pptx-converted.pptx
BhanuPratapSingh81727
 
Inventory management system
Ashrafee rakhi
 
Sales and inventory management system project report
Fuckboy123
 
Stock inventory Management Project
Krishnakumar Hatele
 
inventory management system
Barbara Onwutalobi
 
Stock Management System
Shahriar Kabir
 
Inventory management application
Rohit Gupta
 
Sales and inventory management project report
Upendra Sengar
 
stock management system.pptx-converted.pptx
BhanuPratapSingh81727
 

What's hot (20)

PPTX
Sales and inventory management
Rohit Gupta
 
PDF
04.project billing system
girivaishali
 
PDF
Hospital Management System SRS
Chandresh Prasad
 
PDF
Inventory management system
Md. Syful Azam
 
DOCX
Online Shopping project report
Surjeet Art
 
PPTX
Inventory system
sai prakash
 
PPTX
Medical Store Management System Software Engineering Project
hani2253
 
DOC
Hospital management system
Mohammad Safiullah
 
DOC
Inventory Managment
sai prakash
 
DOCX
Online furniture management system
Yesu Raj
 
DOCX
Pharmacy management system Requirement Analysis and Elicitation Document
Habitamu Asimare
 
PPTX
Pharmacy management system project
محمود فرغلي
 
DOCX
online movie ticket booking system
Sikandar Pandit
 
PDF
Online shopping project synopsis
Student Project Guide
 
PPTX
Shop management system
Tanjarul Islam Mishu
 
PDF
Online shopping Report
Pragnya Dash
 
DOCX
SRS for Library Management System
Toseef Hasan
 
PDF
Stock Management System Documentation
Sadat Abdulla Al Muniem
 
PPTX
Stock management system slide
FaridAfif
 
Sales and inventory management
Rohit Gupta
 
04.project billing system
girivaishali
 
Hospital Management System SRS
Chandresh Prasad
 
Inventory management system
Md. Syful Azam
 
Online Shopping project report
Surjeet Art
 
Inventory system
sai prakash
 
Medical Store Management System Software Engineering Project
hani2253
 
Hospital management system
Mohammad Safiullah
 
Inventory Managment
sai prakash
 
Online furniture management system
Yesu Raj
 
Pharmacy management system Requirement Analysis and Elicitation Document
Habitamu Asimare
 
Pharmacy management system project
محمود فرغلي
 
online movie ticket booking system
Sikandar Pandit
 
Online shopping project synopsis
Student Project Guide
 
Shop management system
Tanjarul Islam Mishu
 
Online shopping Report
Pragnya Dash
 
SRS for Library Management System
Toseef Hasan
 
Stock Management System Documentation
Sadat Abdulla Al Muniem
 
Stock management system slide
FaridAfif
 
Ad

Similar to Inventory Management System (20)

DOCX
A Project to Automate Inventory Management in a Fast Food, Cas.docx
ransayo
 
PDF
Srs for ims dhavisoft
anuruddhsharma1
 
PDF
MegaMart Managemant Final Document
Nicholas Birger
 
PPTX
inventory managmnent systeam project slide
zobayer3212
 
PDF
Synopsis on inventory_management_system
Divya Baghel
 
PPT
project_-2_review.ppt_1_review[1]1 of one.ppt
guru77325
 
PPTX
Medical Store Management System Software Engineering 1
hani2253
 
PPTX
Miniprojectppt inverntory management system project work ppt.pptx
codertobe123
 
DOCX
Super Mart Report.docx
SameerUsmani3
 
PPTX
Final Presentation of Group 10th(2).pptx
mahfuzkanon8
 
DOC
Furniture system
kkk2210
 
PDF
our srs (1).pdf
ShaliniKumariGupta1
 
PDF
Inventory management system
Hamzakhan803
 
DOCX
Mobile store management
Rupendra Verma
 
DOCX
45. online sales and inventory management system
Ranicafe
 
DOC
PROJECT REPORT ON COMPUTER SHOP SYSTEM IN C++
vikram mahendra
 
PPTX
frppt.ims.pptx
SHREEROOPLOHAR
 
DOCX
Inventory management System
Al Mahmud Shuvo
 
PPTX
ERP Oracle
Said Al-Mantheri
 
DOC
E messanger
nandharaj
 
A Project to Automate Inventory Management in a Fast Food, Cas.docx
ransayo
 
Srs for ims dhavisoft
anuruddhsharma1
 
MegaMart Managemant Final Document
Nicholas Birger
 
inventory managmnent systeam project slide
zobayer3212
 
Synopsis on inventory_management_system
Divya Baghel
 
project_-2_review.ppt_1_review[1]1 of one.ppt
guru77325
 
Medical Store Management System Software Engineering 1
hani2253
 
Miniprojectppt inverntory management system project work ppt.pptx
codertobe123
 
Super Mart Report.docx
SameerUsmani3
 
Final Presentation of Group 10th(2).pptx
mahfuzkanon8
 
Furniture system
kkk2210
 
our srs (1).pdf
ShaliniKumariGupta1
 
Inventory management system
Hamzakhan803
 
Mobile store management
Rupendra Verma
 
45. online sales and inventory management system
Ranicafe
 
PROJECT REPORT ON COMPUTER SHOP SYSTEM IN C++
vikram mahendra
 
frppt.ims.pptx
SHREEROOPLOHAR
 
Inventory management System
Al Mahmud Shuvo
 
ERP Oracle
Said Al-Mantheri
 
E messanger
nandharaj
 
Ad

More from Emmanuel college (6)

DOC
Public voice
Emmanuel college
 
PDF
Divide and conquer
Emmanuel college
 
DOCX
Pillcam
Emmanuel college
 
PPTX
High performance computing with accelarators
Emmanuel college
 
DOCX
Mycasestudy
Emmanuel college
 
PPTX
Pill camera ppt
Emmanuel college
 
Public voice
Emmanuel college
 
Divide and conquer
Emmanuel college
 
High performance computing with accelarators
Emmanuel college
 
Mycasestudy
Emmanuel college
 
Pill camera ppt
Emmanuel college
 

Recently uploaded (20)

DOCX
SAROCES Action-Plan FOR ARAL PROGRAM IN DEPED
Levenmartlacuna1
 
PPTX
Artificial Intelligence in Gastroentrology: Advancements and Future Presprec...
AyanHossain
 
PPTX
Measures_of_location_-_Averages_and__percentiles_by_DR SURYA K.pptx
Surya Ganesh
 
PDF
Biological Classification Class 11th NCERT CBSE NEET.pdf
NehaRohtagi1
 
PPTX
An introduction to Dialogue writing.pptx
drsiddhantnagine
 
PPTX
Python-Application-in-Drug-Design by R D Jawarkar.pptx
Rahul Jawarkar
 
PPTX
HEALTH CARE DELIVERY SYSTEM - UNIT 2 - GNM 3RD YEAR.pptx
Priyanshu Anand
 
PDF
The Minister of Tourism, Culture and Creative Arts, Abla Dzifa Gomashie has e...
nservice241
 
PPTX
Sonnet 130_ My Mistress’ Eyes Are Nothing Like the Sun By William Shakespear...
DhatriParmar
 
DOCX
Unit 5: Speech-language and swallowing disorders
JELLA VISHNU DURGA PRASAD
 
PPTX
An introduction to Prepositions for beginners.pptx
drsiddhantnagine
 
PDF
RA 12028_ARAL_Orientation_Day-2-Sessions_v2.pdf
Seven De Los Reyes
 
PDF
2.Reshaping-Indias-Political-Map.ppt/pdf/8th class social science Exploring S...
Sandeep Swamy
 
PPTX
How to Apply for a Job From Odoo 18 Website
Celine George
 
PDF
The-Invisible-Living-World-Beyond-Our-Naked-Eye chapter 2.pdf/8th science cur...
Sandeep Swamy
 
DOCX
Modul Ajar Deep Learning Bahasa Inggris Kelas 11 Terbaru 2025
wahyurestu63
 
PPTX
Five Point Someone – Chetan Bhagat | Book Summary & Analysis by Bhupesh Kushwaha
Bhupesh Kushwaha
 
PDF
Review of Related Literature & Studies.pdf
Thelma Villaflores
 
PPTX
A Smarter Way to Think About Choosing a College
Cyndy McDonald
 
DOCX
pgdei-UNIT -V Neurological Disorders & developmental disabilities
JELLA VISHNU DURGA PRASAD
 
SAROCES Action-Plan FOR ARAL PROGRAM IN DEPED
Levenmartlacuna1
 
Artificial Intelligence in Gastroentrology: Advancements and Future Presprec...
AyanHossain
 
Measures_of_location_-_Averages_and__percentiles_by_DR SURYA K.pptx
Surya Ganesh
 
Biological Classification Class 11th NCERT CBSE NEET.pdf
NehaRohtagi1
 
An introduction to Dialogue writing.pptx
drsiddhantnagine
 
Python-Application-in-Drug-Design by R D Jawarkar.pptx
Rahul Jawarkar
 
HEALTH CARE DELIVERY SYSTEM - UNIT 2 - GNM 3RD YEAR.pptx
Priyanshu Anand
 
The Minister of Tourism, Culture and Creative Arts, Abla Dzifa Gomashie has e...
nservice241
 
Sonnet 130_ My Mistress’ Eyes Are Nothing Like the Sun By William Shakespear...
DhatriParmar
 
Unit 5: Speech-language and swallowing disorders
JELLA VISHNU DURGA PRASAD
 
An introduction to Prepositions for beginners.pptx
drsiddhantnagine
 
RA 12028_ARAL_Orientation_Day-2-Sessions_v2.pdf
Seven De Los Reyes
 
2.Reshaping-Indias-Political-Map.ppt/pdf/8th class social science Exploring S...
Sandeep Swamy
 
How to Apply for a Job From Odoo 18 Website
Celine George
 
The-Invisible-Living-World-Beyond-Our-Naked-Eye chapter 2.pdf/8th science cur...
Sandeep Swamy
 
Modul Ajar Deep Learning Bahasa Inggris Kelas 11 Terbaru 2025
wahyurestu63
 
Five Point Someone – Chetan Bhagat | Book Summary & Analysis by Bhupesh Kushwaha
Bhupesh Kushwaha
 
Review of Related Literature & Studies.pdf
Thelma Villaflores
 
A Smarter Way to Think About Choosing a College
Cyndy McDonald
 
pgdei-UNIT -V Neurological Disorders & developmental disabilities
JELLA VISHNU DURGA PRASAD
 

Inventory Management System

  • 1. CONTENTS 1. INTRODUCTION 2. OBJECTIVE 2.1 DOMAIN 2.2 CLIENT 2.3 USER OF THE PROJECT 3. FUCTIONAL REQUITREMENTS 3.1. USABILITY 3.2 RELIABILITY 3.3 PERFORMANCE 3.4 SUPPORTABILITY 3.5 PACKAGING 4. DETAILED SYSTEM VIEW 4.1 DESIGN GOALS 5. HARDWARE AND SOFTWARE MAPPING 5.1 STORAGE STRATERGY 6.TESTING MATERIALS 6.1 SOFTWARE REQUIREMENTS 6.2 HARDWARE REQUIREMENTS 6.3 JAVA 6.4 MY SQL 7. SOURCE CODE 8. SCREEN SHOTS 9. FUTURE GOALS 10. CONCLUSION 11. REFERENCE
  • 2. 1. INTRODUCTION At the end of their day, staff and managers in a store spend a couple of hours counting inventory and placing orders for the following week. The Store Inventory Control System is designed to not only assist in this problem, but also automate many of the tedious tasks associated with it. The system keeps track of current inventory levels in the store and the shortage of specific material can be track down easily. The convectional method to maintain the inventory is to keep track of their inventory levels, staff had to calculate a list of products and analyse the requirements for the future, and place their next order to multiple vendors if needed. This process takes up a lot of time and human effort, and is also prone to human error. Our case study can be used by both large corporations as well as small businesses. This meant the system had to provide an efficient and simple user interface that at the same time is capable of more precise changes and inputs. The system had to also be accurate and reliable in terms of the database design. Since all of the data and data objects are stored in a database, it was imperative that these requirements were met. The basic functionality underlying the system is as follows: the admin can add new stock details including stock id, stock name, total quantity, unit price, total price (calculate automatically). The admin can also update stock details, i.e. to update unit price or total quantity with stock id. The admin can delete the stocks that are not available in the market or the product whose production is stopped by the vendor. And finally the admin can view the complete stock details in the shop.
  • 3. 2. OBJECTIVES The objective of the project is to provide an efficient inventory control whose main functionality apart from calculating the inventory include predicting the requirement for the next order and also if there is a “Special Occasion” then accordingly the manager selects the particular occasion and extra requirements is added to the next issuing order to the vendors which needs to be approved by the manager. The product also aims to keep track of the shelf life of resources. The success criteria depend on  The accuracy in maintaining the inventory levels  The accuracy in updating the inventory.  Ease of use when it comes to updating inventory levels.
  • 4. 2.1 THE DOMAIN This proposed project aims at inventory control in a shop. Such a large domain would result in an equally as large scope of development. As a result we narrow our software down to our case study of an outlet of a computer shop concentrating only on the basic resources utilized in inventory control of the outlet. Although the software will be developed keeping in mind the needs of a single shop and available data at first, then applying it to the larger domain of the entire industry can be achieved with ease. Our target domain is full of software to track sales of stocks, but lacks in this area of inventory management. Our software can be scaled from large whole sale shops to all the way to small shops. 2.2 THE CLIENT The client can vary from small shop owners to big wholesale dealers. Our software will allow our client to customize the database to suit the needs of the shop individually. They can vary in stocks, vendors from which they order their products, and threshold levels. This provides a uniform product that can be customized at a smaller scale. t 2.3 USER OF THE PRODUCT The main users of the product would be the staffs of the shops. The management would approve the orders that would be sent out, provide vendor information, upload stocks, and set threshold levels. Many of these tasks, such as the information regarding vendors, and threshold levels would need to be set only once. Of course, the option to add, remove, or update this data would be implemented as well. Once this initial step has been taken, our software will require nothing more than a weekly approval for the orders being sent out, minimizing the work that management has to complete in order to insure the correct amount of inventory is available.
  • 5. The staff would be responsible for updating the amount of product sold at the end of the day. Each day, the register prints out the products sold and the quantity of each product sold. Instead of manually subtracting that amount from the inventory, they input the amounts sold into our software which will do the number crunching for them. 3. FUNCTIONAL REQUIREMENTS  The user must have, at disposal, functions for managing the inventory efficiently.  The functions for inventory management should allow the user to know which stocks in the inventory are available.  The system must include functions that will allow the user to add a stock to the database.  The user should also be able to delete any stock from the database when not needed.  The system must allow the user to update orders for the database incase there is any change in the price, name etc. Thus keeping a track of the stocks. 3.1NON-FUNCTIONAL REQUIREMENTS 3.1.1 Usability  The system must be easy to use by the admin ( that includes both the manager and the staff) such that they do not need to read an extensive amount of manuals.  The system must be quickly accessible by both managers and staffs.  The system must be intuitive and simple in the way it displays all relevant data and relationships.  The total stocks of the system must be easily navigable by the users with buttons that are easy to understand. 3.1.2 Reliability
  • 6.  The System must give accurate inventory status to the user continuously.  The system should not update the data in any database for any failed processes. 3.1.3 Performance  The system must not lag, because the workers using it don’t have down-time to wait for it to complete an action.  The system must complete updating the databases, adding , deleting and updating of stocks successfully every time the user requests such a process.  All the functions of the system must be available to the user every time the system is turned on.  The calculations performed by the system must comply according to the norms set by the user and should not vary unless explicitly changed by the user. 3.1.4 Supportability  The software is designed such that it works even on systems having the minimum configuration.  The system is adaptable even if additional plugins or modules are added at a later point.  The data can be exported to the manager so as to make the system more portable. 3.1.5 Packaging  The system must be able to run on the Windows operating systems beginning with Windows XP, and must be able to run on future releases such as the upcoming Windows updations.  The software must incorporate a license key authentication process.
  • 7. 4.DETAILED SYSTEM DESIGN 4.1 DESIGN GOALS  Low Response Time: The main functionality of the system involves updating and reading the data from the database for different entities such as different types of stocks. Thus the time required to retrieve/ update/ add data to the database should be minimum and preferably should be in the range of 2-5 seconds or lesser.  High Robustness: The system should constantly check the user input at all instances that could generate errors in the program. For instance: a. The System should have validated input data fields and must put a constraint on the inputted names of stocks, to ensure no duplicate entries are added in the database. This ensures the robustness of the maintained database. b. The system should verify all the inputs by the user by using a confirmation dialog box before processing and making changes to the data.  High Reliability: The reliability of the system depends upon its ability to replicate the specified behaviour. The safekeeping of the data is essential so as a result a backup of the levels is generated and stored in the warehouse. There are numerous factors on which reliability can be defined as for example, the specifications mention that the updating of database or the notification of a successful update must be carried out within 2-5 seconds of initiation and the system must adhere to these specifications to be called a reliable system. Similarly, the system should be able to achieve performance in lieu with the specifications mentioned.  Low fault tolerance: The system works on sensitive data and therefore any fault in the functioning of the system will hinder
  • 8. accurate updating or reading of data. This could lead to invalid entries in the database. Thus, the system should have low fault tolerance. This is in tandem with the design goal of high robustness as the validation checks to ensure correct inputs from the user implies that the fault tolerance of the system is low.  High Extensibility: The design of the system should be such that any future improvement can be added with no or minimum improvements. It is in one’s best interest to always give space for future enhancements.  Low Adaptability: The system is designed to work on the domain of inventory control and management in the Computer sales industry. The functioning of this project is limited only to these particular businesses which have similar functioning and thus it would then be subject to structural re-modification in order to to apply it in some other application domain.  High Readability: The system code should be properly commented so as to explain the functionality of the code fragments. The code comment should explain the function or task the code fragment performs and the result and the return value of the corresponding function or task should also be mentioned.  High Traceability: The coding scheme of the system should be such that it could be traced back to its requirements specifications. This will enable high traceability of the code of the system.
  • 9. 5.HARDWARE SOFTWARE MAPPING The system runs on a standalone system without the need of any external server connection or internet connection. Thus the hardware requirement of the product is a personal computer which meets the requirements mentioned in the specifications. The product is programmed in Java programming language and uses MySQL for database service. Thus the client computer requires the installation of JDK 1.6 and MySQL server on its machine. 5.1.STORAGE STRATERGY The database is created and maintained in the open source environment MySQL. The subsystems connect to the database via JDBC API. Using an open source database management system enables us to reduce cost of development of the system plus it allows us to maintain the database on the same machine on which the other subsystems are functioning. The only thing required is a JDBC connector driver to setup and maintain connection to the database. The type of database used is Relational database, as using a flat file database would prove tedious if used on such highly connected data entities that we use in our system
  • 10. 6.TESTING MATERIALS (HARDWARE/SOFTWARE REQUIREMENTS) 6.1. SOFTWARE REQUIREMENTS The coding for the system is being done on Netbeans IDE for Java and the database management utility that is being used is MySQL. As the system uses no network connectivity, the system does not require any other specialized software for network connectivity. Any operating system that supports these two modules is a perfectly suitable OS for the testing purposes.  Netbeans IDE for Java  MySQL  Windows XP, 7,8,10 Also one driver is required for facilitating the connectivity between Netbeans and MySQL and that is MySQL Connector/J 5.1.6. This driver must be explicitly imported in the project directory of Netbeans. 6.2. HARDWARE REQUIREMENTS  Processor : Dual core @ 1.60 GHz or more  RAM : 1 GB or more  Hard Disk Drive : 160 GB  Monitor : SVGA Color  Keyboard : Standard Keyboard  Mouse : Standard Mouse 6.3. JAVA Java is a programming language that produces software for multiple platforms. When a programmer writes a Java application, the compiled code (known as bytecode) runs on most operating systems (OS), including Windows, Linux and Mac OS. Java derives much of its syntax from the C and C++ programming languages.
  • 11. Java was developed in the mid-1990s by James A. Gosling, a former computer scientist with Sun Microsystems Java produces applets (browser-run programs), which facilitate graphical user interface (GUI) and object interaction by Internet users. Prior to Java applets, Web pages were typically static and non- interactive. Java applets have diminished in popularity with the release of competing products, such as Adobe Flash and Microsoft Silverlight. Java applets run in a Web browser with Java Virtual Machine (JVM), which translates Java bytecode into native processor instructions and allows indirect OS or platform program execution. JVM provides the majority of components needed to run bytecode, which is usually smaller than executable programs written through other programming languages. Bytecode cannot run if a system lacks required JVM. Java program development requires a Java software development kit (SDK) that typically includes a compiler, interpreter, documentation generator and other tools used to produce a complete application. Development time may be accelerated through the use of integrated development environments (IDE) - such as JBuilder, Netbeans, Eclipse or JCreator. IDEs facilitate the development of GUIs, which include buttons, text boxes, panels, frames, scrollbars and other objects via drag-and-drop and point-and-click actions. Java programs are found in desktops, servers, mobile devices, smart cards and Blu-ray Discs (BD). A list of most important features of Java language is given below. 1. Simple 2. Object-Oriented 3. Portable 4. Platform independent 5. Secured 6. Robust
  • 12. 7. Architecture neutral 8. Interpreted 9. High Performance 10. Multithreaded 11. Distributed 12. Dynamic 6.4 MY SQL MySQL is an Oracle-backed open source relational database management system (RDBMS) based on Structured Query Language (SQL). MySQL runs on virtually all platforms, including Linux, UNIX and Windows. Although it can be used in a wide range of applications, MySQL is most often associated with web applications and online publishing. MySQL is an important component of an open source enterprise stack called LAMP. LAMP is a web development platform that uses Linux as the operating system, Apache as the web server, MySQL as the relational database management system and PHP as the object-oriented scripting language. (Sometimes Perl or Python is used instead of PHP.) Originally conceived by the Swedish company MySQL AB, MySQL was acquired by Sun Microsystems in 2008 and then by Oracle when it bought Sun in 2010. Developers can use MySQL under the GNU General Public License (GPL), but enterprises must obtain a commercial license from Oracle. MySQL is based on a client-server model. The core of MySQL is MySQL server, which handles all of the database instructions (or commands). MySQL server is available as a separate program for use in a client-server networked environment and as a library that can be embedded (or linked) into separate applications. MySQL operates along with several utility programs which support the administration of
  • 13. MySQL databases. Commands are sent to MySQL Server via the MySQL client, which is installed on a computer. MySQL was originally developed to handle large databases quickly. Although MySQL is typically installed on only one machine, it is able to send the database to multiple locations, as users are able to access it via different MySQL client interfaces. These interfaces send SQL statements to the server and then display the results.
  • 14. 7. SOURCE CODE Package inventorymanagement; /** * *@author nhatnk */ public class Inventorymanagement{ /** * * @param args the command line arguments */ public static void main(string[]){ } } public class Inventory{ private int id; private string name; private float price; public Product(int id,string name,float price){ this.id=id; this.name=name; this.float=price; }
  • 15. } public int getId(){ return id; } public void setId(int id){ this.id=id; } public string getName(){ return name; } public void setName setId(string name){ this.name=name; } public float getPrice(){ return price; } import com.nhatnk.pms.controller; import com.nhatnk.pms.entity.product; import java.util.List; /** * * @author nhatnk */
  • 16. public class ProductManager{ private List<product>listofPrroduct; public ProductManager(){ this.listOfProduct= new ArrayList<>(); } public int addProduct(Product p) this.listOfProduct.add(p); returnthis.listOfProduct.size(); } public int count(){ return this.listOfProduct.size(): } public product getProduct (int index){ if(index < 0 || index >= count()){ return null; } return this.listOfProduct.get(index); } } pacakage com.fpt.nhatnk.pms.ui;
  • 17. /** * * @author nhatnk */ public class ProductConsole; this.sc= new Scanner (System.in); } private int menu(){ system.out.println(“-------PRODUCT MENU--------“); system.out.println(“ADD“); system.out.println(“UPDATE“); system.out.println(“DELETE“); system.out.println(“PURCHASE“); int choice ; while(true){ try{ choice= Integer.parseInt(null) if(choice >= 1 && choice <= 3) break; } catch (Exception e){ e .printStackTrace(); } }
  • 18. } } private void start(){ while(true){ int choice = menu(); switch (choice){ case 0; system.exit(0); case 1; addProduct(); break; throw new AssertionError(); . } } } private int readInt(int min, int max) system.out.println(“Enter id”); int id=readInt(0, Integer.MAX_VALUE); system.out.println(“Price”); float price; while(true){
  • 19. try{ price= Float.parseFloat(sc.nextLine()); if (price >= 0 && price<= float.MAX_VALUES{ break; } catch(Exception e){ system.out.println(“Invalid value”); } } }
  • 24. 9. FUTURE DEVELOPMENT There is a scope of lot of improvement given that the application of this project which is now limited to only one industry / outlets can be applied to other branches also given that it is subjected to appropriate changes. The prediction algorithm needs to be still more enhanced, but that is possible with years of data analysis and would then might also be changed to an artificially intelligent system. Also considering the large technological movement, access to the program through a web application would be ideal for remote access to the program and database. This would require a dedicated server to host the database and therefore has been considered as an optional enhancement. To list, the future development may include the following  Use of AI to learn user behaviour and responses.  Expansion of software domain.  Expansion to web domain.  Allowing remote access.  Allowing orders to be sent electronically.
  • 25. 10. CONCLUSION The case study “Inventory Management System” mainly as the name suggests deals with the calculation of the available and processed resources for an accurate inventory control and process management for a domain specific client who are related to the computer hardware sales industry. A system that accurately add, delete and update the stocks of a shop, then automatically performs the back end operation pertaining to a database of many relational tables onto which the changes are being made with each and every operation performed on the front end and which also shows up if at the time of retrieval. The most important feature is that the admin can view the status of the stocks that is available. So as when a stock level goes below the threshold level then it routes an alert to the manager.
  • 27. 11. REFERENCES [1] Database programming with JDBC and Java, O'Reilly and George Reese, O'Reilly Media-2002. [2] Bernd Bruegge & Allen H. Dutoit. Object-Oriented Software Engineering Using UML, Patterns, and Java, Third Edition, 2005. [3] Object design tradeoffs for Project, http://www.scribd.com/doc/38302828/29/Object-design-trade-offs [5] Technical Design Document. www.in.gov/fssa/files/QualCheck.pdf [4] Union Design Pattern: Inheritance and Polymorphism. http://cnx.org/content/m11796/latest/ [5] CS 440 Fall 2012 Homepage. http://www.cs.uic.edu/~i440/ [6] Volere Requirement Resources. http://www.volere.co.uk/index.htm [7] Requirements Analysis Document, submitted 19th October 2012. https://skydrive.live.com/redir?resid=2CEDE9F7F5F99604!195&auth key=!AJpVRmJ8w8giN_M [8] Design Report, submitted 9th November 2012. https://skydrive.live.com/redir?resid=2CEDE9F7F5F99604!196&auth key=!AO5IghTCML6xAk8 [9] Testing Document, submitted 26th November 2012. https://skydrive.live.com/redir?resid=2CEDE9F7F5F99604!161&auth key=!AC8P0Lqe9amxSeM [10] Project Proposal Document, submitted 21st September 2012. https://skydrive.live.com/redir?resid=2CEDE9F7F5F99604!175&auth key=!AB_dzPgl7Y2vDdw