Inventory Management Project
Inventory Management Project
S.No Subject
Acknowledgement
Certificates
List of Contents
1. Introduction about the Project
2. System development life cycle
3. ANALYSIS
4. IMPLEMENATAION
5. DESIGN
6. DATABASE DESIGN & TABLES STRUCTURE
7. Software Environments
8 Testing
9. SreenShot
10. Conclusion
11. Bibliography
1
1. Introduction about the project
The project titled as “INVENTORY MANAGEMENT “is a GUI based application. A company has a large
stock of different types of goods in its warehouse and it is very difficult to manage it manually ,and
to do this manually we need human resources .how much is supplied ,how much is raw material
purchased , how much to return and how much we have purchase return. The software provide
facility to manage the details about purchase ,sales, sales return , purchase return and customer
entry related to the goods. The software allows us to search the old records, modifying entry ,
creating new entries delete entries from the data base.
Modules
Main menu
Purchase Menu
Sales menu
Purchase return
sales return
customer entry
Functional Requirements:
2
1.2. Introduction
System analysis is a process of gathering and interpreting facts, diagnosing
problems and the information to recommend improvements on the system. It
is a problem solving activity that requires intensive communication between
the system users and system developers. System analysis or study is an
important phase of any system development process. The system is studied to
the minutest detail and analyzed. The system analyst plays the role of the
interrogator and dwells deep into the working of the present system. The
system is viewed as a whole and the input to the system are identified. The
outputs from the organizations are traced to the various processes. System
analysis is concerned with becoming aware of the problem, identifying the
relevant and decisional variables, analyzing and synthesizing the various
factors and determining an optimal or at least a satisfactory solution or
program of action.
3
Preliminary study is the process of gathering and interpreting facts, using the
information for further studies on the system. Preliminary study is problem
solving activity that requires intensive communication between the system
users and system developers. It does various feasibility studies. In these
studies a rough figure of the system activities can be obtained, from which the
decision about the strategies to be followed for effective system study and
analysis can be taken.
4
SYSTEM DEVELOPMENT LIFE CYCLE
System Analysis
System Design
Coding
System Testing
System Implementation
System Maintenance.
5
2.1.2 System Development Life Cycle
The software is said to have a life cycle composed of several phases. Each of
these phases results in the development of either a part of the system or
something associated with the system, such as a test plan or a user manual. In
the life cycle model, called the “spiral model,” each phase has well-defined
starting and ending points, with clearly identifiable deliverables to the next
phase. In practice, it is rarely so simple.
6
A GENERIC SYSTEM DEVELOPMENT LIFE CYCLE
During this stage, the problem is defined so that a clear understanding can be
gained of what the system should do, i.e. what the inputs to the system are,
what the output should be, and the operational parameters within which the
system is expected to work. If the new system is to replace an existing system,
the problem may be defined in terms of the additional or enhanced
functionality that is required.
7
2.1.2.2 Program design
The documentation of the program fulfils two main objectives. The first is to
provide a technical reference to facilitate ongoing maintenance and
development of the software itself. The second is to provide user
documentation, i.e. a set of instructions that inform the user about the
features of the software and how to use them. The aim of software testing is to
find any errors (“bugs”) in the program, to eliminate those errors (a process
known as “debugging”), and as far as is reasonably practicable should be
8
sufficiently rigorous to ensure that the software will function as expected
under all foreseeable circumstances.
Once the software has been “rolled out” and any necessary user training has
been completed, it will be necessary to monitor the performance of the system
over time to ensure that it is behaving as expected. The system will need to be
maintained, and parts of it will need to be upgraded from time to time to
handle evolving user needs or to cope with new problems. Eventually, as the
system ages, it may no longer be able to adequately cope with the demands of
a growing number of users, take advantage of advances in hardware
technology, or adapt to a constantly changing environment. When this time
comes, the system will need to be decommissioned and replaced by a new
system. Hence, the software development life cycle will begin again.
9
ANALYSIS
3.1 REQUIREMENT ANALYSIS
10
3.2 REQUIREMENT SPECIFICATION
11
IMPLEMENATAION
4.1 IMPLEMENTATION
12
Hardware Requirements:-
Monitor : Any
Software Requirements:-
Language : JAVA
PLATFORM : JGRASP
Server Side:
Hardware Requirements:-
Monitor : Any
13
DESIGN:
Design is the first step into the development phase for any engineered product
or system. Design is a creative process. A good design is the key to effective
system. The term “design” is defined as “the process of applying various
techniques and principles for the purpose of defining a process or a system in
sufficient detail to permit its physical realization”.
The logical flow of a system and define the boundaries of a system. It includes
the following steps:
14
5.2 PHYSICAL DESIGN:
Design/Specification activities:
Concept formulation.
Problem understanding.
Feasibility study.
Requirements engineering.
Architectural design.
15
5.3 MODULE DESIGN
Main menu
Purchase Menu
Sales menu
Purchase return
sales return
customer entry
Accountant details:
16
5.4 INPUT DESIGN:
The input design is the link between the information system and the user. It
comprises the developing specification and procedures for data preparation
and those steps are necessary to put transaction data in to a usable form for
processing can be achieved by inspecting the computer to read data from a
written or printed document or it can occur by having people keying the data
directly into the system. The design of input focuses on controlling the amount
of input required, controlling the errors, avoiding delay, avoiding extra steps
and keeping the process simple. The input is designed in such a way so that it
provides security and ease of use with retaining the privacy. Input Design
considered the following things:
17
OBJECTIVES:
When the data is entered it will check for its validity. Data can be
entered with the help of screens. Appropriate messages are provided
as when needed so that the user will not be in maize of instant. Thus
the objective of input design is to create an input layout that is easy
to follow
A quality output is one, which meets the requirements of the end user and
presents the information clearly. In any system results of processing are
communicated to the users and to other system through outputs. In output
design it is determined how the information is to be displaced for immediate
need and also the hard copy output. It is the most important and direct source
information to the user. Efficient and intelligent output design improves the
system’s relationship to help user decision-making.
18
Designing computer output should proceed in an organized, well
thought out manner; the right output must be developed while
ensuring that each output element is designed so that people will
find the system can use easily and effectively. When analysis design
computer output, they should Identify the specific output that is
needed to meet the requirements.
o Trigger an action.
o Confirm an action.
19
A DFD shows what kinds of information will be input to and output from the
system, where the data will come from and go to, and where the data will be
stored. It does not show information about the timing of processes, or
information about whether processes will operate in sequence or in parallel
(which is shown on a flowchart).the basic notation used to create a DFD’s are
as follows:
4 .Data source: here data are store and referenced by a process in the
system.
20
DATABASE DESIGN:
6. Database
The database design is a two level process. In the first step, user requirements
are gathered together and a database is designed which will meet these
requirements as clearly as possible. This step is called Information Level Design
and it is taken independent of any individual DBMS.
In the second step, this Information level design is transferred into a design for
the specific DBMS that will be used to implement the system in question. This
step is called Physical Level Design, concerned with the characteristics of the
specific DBMS that will be used. A database design runs parallel with the
system design. The organization of the data in the database is aimed to achieve
the following two major objectives.
o Data Integrity
o Data independence
21
purpose of normalization is to make tables as simple as possible. Normalization
is carried out in this system for the following reasons.
saving.
Deletions.
22
TABLES STRUCTURE
DATA BASE TABLE DESIGN
24
Table Name: Purchase Return Entry
25
Software Environments
7. JAVA
Special programs called applets that can be downloaded from the internet and
played safely within a web browser. Java a supports this application and the follow
features make it one of the best programming languages.
It is very dynamic.
It supports multithreading.
It is platform independent
26
Java is a programming language originally developed by Sun Microsystems and released in
1995 as a core component of Sun's Java platform. The language derives much of its syntax
from C and C++ but has a simpler object model and fewer low-level facilities. Java
applications are typically compiled to byte code which can run on any Java virtual machine
(JVM) regardless of computer architecture.
The original and reference implementation Java compilers, virtual machines, and class
libraries were developed by Sun from 1995. As of May 2007, in compliance with the
specifications of the Java Community Process, Sun made available most of their Java
technologies as free software under the GNU General Public License. Others have also
developed alternative implementations of these Sun technologies, such as the GNU
Compiler for Java and GNU Class path.
The Java language was created by James Gosling in June 1991 for use in a set top box
project. The language was initially called Oak, after an oak tree that stood outside Gosling's
office - and also went by the name Green - and ended up later being renamed to Java, from
a list of random words. Gosling's goals were to implement a virtual machine and a language
that had a familiar C/C++ style of notation.
Primary goals
There were five primary goals in the creation of the Java language:
5. It should be easy to use by selecting what were considered the good parts of
other object-oriented languages.
27
The Java platform is the name for a bundle of related programs, or
platform, from Sun which allow for developing and running programs written in the
Java programming language. The platform is not specific to any one processor or
operating system, but rather an execution engine (called a virtual machine) and a
compiler with a set of standard libraries which are implemented for various
hardware and operating systems so that Java programs can run identically on all of
them.
Java SE (Standard Edition): For general purpose use on desktop PCs, servers
and similar devices.
Java EE (Enterprise Edition): Java SE plus various APIs useful for multi-tier
client-server enterprise applications.
28
The essential components in the platform are the Java language compiler, the
libraries, and the runtime environment in which Java intermediate bytecode
"executes" according to the rules laid out in the virtual machine specification.
29
Java Virtual Machine
The heart of the Java Platform is the concept of a "virtual machine" that executes
Java bytecode programs. This bytecode is the same no matter what hardware or operating
system the program is running under. There is a JIT compiler within the Java Virtual
Machine, or JVM. The JIT compiler translates the Java bytecode into native processor
instructions at run-time and caches the native code in memory during execution.
Class libraries
The Java class libraries serve three purposes within the Java Platform. Like
other standard code libraries, they provide the programmer a well-known set of functions to
perform common tasks, such as maintaining lists of items or performing complex string
30
parsing. In addition, the class libraries provide an abstract interface to tasks that would
normally depend heavily on the hardware and operating system. Tasks such as network
access and file access are often heavily dependent on the native capabilities of the platform.
The Java java.net and java.io libraries implement the required native code internally, then
provide a standard interface for the Java applications to perform those tasks. Finally, when
some underlying platform does not support all of the features a Java application expects,
the class libraries can either emulate those features using whatever is available, or at least
provide a consistent way to check for the presence of a specific feature.
31
Performance
Java's performance has improved substantially since the early versions, and performance of
JIT compilers relative to native compilers has in some tests been shown to be quite
similar.The performance of the compilers does not necessarily indicate the performance of
the compiled code; only careful testing can reveal the true performance issues in any
system.
The Java Runtime Environment, or JRE, is the software required to run any application
deployed on the Java Platform. End-users commonly use a JRE in software packages and
Web browser plug-in. Sun also distributes a superset of the JRE called the Java 2 SDK (more
commonly known as the JDK), which includes development tools such as the Java compiler,
Java doc, Jar and debugger.
One of the unique advantages of the concept of a runtime engine is that errors
(exceptions) should not 'crash' the system. Moreover, in runtime engine environments such
as Java there exist tools that attach to the runtime engine and every time that an exception
of interest occurs they record debugging information that existed in memory at the time the
exception was thrown (stack and heap values). These Automated Exception Handling tools
provide 'root-cause' information for exceptions in Java programs that run in production,
testing or development environments.
Java Script
JavaScript is a programming language that allows scripting of events, objects, and actions
to create Internet applications. A website development environment that will allow the
creation of Interactive Web Pages. The coding techniques capable of accepting a client's
requests and processing these requests.
The web site development environment should also provide the facility for 'validating' user
input. With JavaScript, forms are a consideration in nearly every page you design. Capturing
user requests is traditionally done via a 'form'. So the web site needs to have facilities to
create forms. Text fields and text areas can dynamically change in response to user
responses.
32
TOMCAT 5.0
Tomcat is a servlet container and Java Server Pages implementation it may be used stand
alone ,or in conjunction with several popular web servers .
Tomcat is a security update release. This release closes a whole that potentially allowed
access to resources protected by a <security constraint > in web.xml.
Tomcat requires a Java Runtime Environment (JRE).Conformant to JRE 1.1 or later including
any Java2 platform system. If one wishes to develop applications you will need a java
compiler , such as the one included in a java development kit 1.1 or later environment
including JDKs conformant with Java2.
FEATURES OF O.S :
This project work is done on the windows 2000 professional, which is the operating
system. An operating system is a set of software tools designed to make it easy for people or
programmers to make optimum use of the computer. People who use computers have
different levels of needs and interest. These peoples can be separated can be two groups,
users and programmers. The user wants a convenient set of commands to manage files of
data or programs, copy and run application package while a programmer used as a set of
tools that can be held together and debug programs.
No matter where you are working, your computer will be easier to use and manage,
because Microsoft Windows 2000 Professional is more compatible and more powerful than
any workstation you’ve used before. The main features of Windows 2000 Professional
operating system are
33
Easier to use.
Easier to manage
More compatible
More powerful
Easier to use
With Windows 2000 Professional, you have faster access to information, and you are
able to accomplish tasks more quickly and easily.
Find information.
Work remotely
Easier to manage
You and your network administrators can work more efficiently now, because many of
the most common computer-management tasks are automated are streamlined with
Windows 10 Professional.
Set up.
34
Administrator
Support.
More Compatible:
More Powerful:
Industrial-strength reliability
Powerful performance
PORTABILITY:
Windows file protection protects core system files from being overwritten by
application installs.
35
Driver certification provides safeguards to assure you that device drivers have not
been tampered with and reduces your risk of installing non-certified drivers.
Full 64 bit operating system minimizes the chance of application failures and
unplanned reboots.
MOBILITY
Hibernate turns off your computer and monitors after a predetermined time while
retaining your desktop on disk.
Offline viewing makes entire WebPages with graphics available for viewing offline
Synchronization manager allows you to compare and update your offline files and
folders with those on the network.
Smart battery gives you a more accurate view of your battery’s life enabling you to
reduce power to specify functions to extend your battery power.
Hot docking tells you dock or undock your notebook computer without changing
hardware configuration or rebooting.
Universal Serial Bus (USB) lets you connect and disconnect a wide array of
peripherals such as joysticks, scanners and camcorders without configuring or
rebooting your computer.
J2EE 1394 provides a higher band width connection for devices that require faster
data transfer.
36
MAINTAINABILITY
Multilingual support allows users to easily create, read and edit documentation in
hundreds of languages.
Windows 2000 server offers 25% faster performance than Windows 95 or Windows
98 on systems with 64MB or more of memory.
32 bit architecture allows you to run more programs and perform more faster at the
same time than Windows 95 or 98.
Windows 2000 can support to 4GB of Ram and two symmetric multiprocessors.
Encrypting file system (EFS) encrypts each file with a randomly generated key.
INTERNET CAPABILITY
Internet Information Services (IIS) 5.0 includes web and FTP server support, as well
as support for Front-page transactions, Active Server Pages (ASP) and database
connections.
37
Windows 2000 has strong development platform support for dynamic HTML
behaviors and XML.
Intelliforms alleviates the tedious of filling out forms on the web by automatically
entering your name, address or other information that you have securely stored on
your computer.
38
Testing :
8. Testing
Software testing should not be confused with debugging. Debugging is the process of
analyzing and localizing bugs when software does not behave as expected. Although the
identification of some bugs will be obvious from playing with the software, a methodical
approach to software testing is a much more thorough means for identifying bugs.
Debugging is therefore an activity which supports testing, but cannot replace testing.
Other activities which are often associated with software testing are static analysis and
dynamic analysis. Static analysis investigates the source code of software, looking for
problems and gathering metrics without actually executing the code. Dynamic analysis
39
Testing is a set of activity that can be planned in advanced and conducted systematically.
Testing begins at the module level and work towards the integration of entire computers
based system. Nothing is complete without testing, as it vital success of the system testing
objectives, there are several rules that can serve as testing objectives. They are
A good test case is one that has high possibility of finding an undiscovered error.
For correctness
Test for correctness are supposed to verify that a program does exactly what it was
designed to do. This is much more difficult than it may at first appear, especially for large
programs.
40
followed. The software engineers create a computer program, its documentation and
related data structures. The software developers is always responsible for testing the
individual units of the programs, ensuring that each performs the function for which it was
designed. There is an independent test group (ITG) which is to remove the inherent
problems associated with letting the builder to test the thing that has been built. The
specific objectives of testing should be stated in measurable terms. So that the mean time
to failure, the cost to find and fix the defects, remaining defect density or frequency of
occurrence and test work-hours per regression test all should be stated within the test plan.
Unit testing
Integration Testing
Output Testing
Unit testing focuses verification effort on the smallest unit of software design – the
software component or module. Using the component level design description as a guide,
important control paths are tested to uncover errors within the boundary of the module.
The relative complexity of tests and uncovered scope established for unit testing. The unit
testing is white-box oriented, and step can be conducted in parallel for multiple
components. The modular interface is tested to ensure that information properly flows into
and out of the program unit under test. The local data structure is examined to ensure that
data stored temporarily maintains its integrity during all steps in an algorithm’s execution.
Boundary conditions are tested to ensure that all statements in a module have been
executed at least once. Finally, all error handling paths are tested.
41
Tests of data flow across a module interface are required before any other test is
initiated. If data do not enter and exit properly, all other tests are moot. Selective testing of
execution paths is an essential task during the unit test. Good design dictates that error
conditions be anticipated and error handling paths set up to reroute or cleanly terminate
processing when an error does occur. Boundary testing is the last task of unit testing step.
Software often fails at its boundaries.
Unit testing was done in Sell-Soft System by treating each module as separate entity and
testing each one of them with a wide spectrum of test inputs. Some flaws in the internal
logic of the modules were found and were rectified.
Integration testing is systematic technique for constructing the program structure while
at the same time conducting tests to uncover errors associated with interfacing. The
objective is to take unit tested components and build a program structure that has been
dictated by design. The entire program is tested as whole. Correction is difficult because
isolation of causes is complicated by vast expanse of entire program. Once these errors are
corrected, new ones appear and the process continues in a seemingly endless loop.
After unit testing in Sell-Soft System all the modules were integrated to test for any
inconsistencies in the interfaces. Moreover differences in program structures were removed
and a unique program structure was evolved.
42
8.1.3 VALIDATION TESTING OR SYSTEM TESTING
This is the final step in testing. In this the entire system was tested as a whole with all
forms, code, modules and class modules. This form of testing is popularly known as Black
Box testing or System tests.
Black Box testing method focuses on the functional requirements of the software. That
is, Black Box testing enables the software engineer to derive sets of input conditions that
will fully exercise all functional requirements for a program.
Black Box testing attempts to find errors in the following categories; incorrect or missing
functions, interface errors, errors in data structures or external data access, performance
errors and initialization errors and termination errors
43
9. SCREEN SHOTS :
all thing are shown which are required to manage the stock
44
Product Entry
45
when we click on save
46
when we want to modify the data
47
when the particular entry is deleted
48
when we want to review the stock
like this there are different different types of window for different uses these
are
Customer Entry
49
window for Purchase return
50
51
DataBase view
52
10. Conclusion :
The project titled as “Inventory Management system” is a GUI based application. This
software provides facility for, create ,update and delete record of the stock . The software is
developed with modular approach. All modules in the system have been tested with valid
data and invalid data and everything work successfully. Thus the system has fulfilled all the
objectives identified and is able to replace the existing system.
The project has been completed successfully with the maximum satisfaction of the
organization. The constraints are met and overcome successfully. The system is designed as
like it was decided in the design phase. The project gives good idea on developing a full-
fledged application satisfying the user requirements.
The system is very flexible and versatile. This software has a user-friendly screen that
enables the user to use without any inconvenience. Validation checks induced have greatly
reduced errors. Provisions have been made to upgrade the software.
53
11. BIBLIOGRAPHY AND REFERENCES
Websites referred
www.slideshare.net
www.youtube.com
www.javaTpoint.com
www.tutorialspoint.com
www.w3schools.com
www.stackoverflow.com
1. Search Engine
www.google.com
54