A
PROJECT REPORT
ON
“Sales and Inventory Management System”
For
M.C.A (Master of Computer Application)
Semester V
Submitted by
Mr/Ms.______________
Guided by
Prof. ______________
Submitted to
Computer Department
Sinhagad Institute of Management
Vadgaon (Bk)
Sinhagad Technical Education Society’s
SINHGAD INSTITUTE OF MANAGEMENT
44/1, Vadgaon (Budruk), Off Sinhgad Road, Pune 411 041. Telefax: 020-2435 4721.
Email: director_siom@sinhgad.edu, Registrar.siom@sinhgad.edu
Date:
CERTIFICATE
This is to certify that Ms. ______has successfully completed her project work
entitled “SALES AND INVENTORY MANAGEMENT SYSTEM” in partial fulfillment of
Masters of Computer Applications program for the year 2009 – 2010. She has
worked under our guidance and direction.
___________________ __________________
(Director SIOM – MCA) (Project Guide)
ACKNOWLEDGEMENT
I would like to take this opportunity to express my gratitude towards all the people
who have in various ways, helped in the successful completion of my project.
I must convey my gratitude to Prof. Navnath Shete for giving me the constant source
of inspiration and help in preparing the project, personally correcting my work and
providing encouragement throughout the project.
I also thank all my faculty members for steering me through the tough as well as
easy phases of the project in a result oriented manner with concern attention.
Thanking You,
________________
DECLARATION
I, Ms ____________hereby declare that this project is the record of authentic work
carried out by me during the academic year 2016 – 2017 and has not been submitted
to any other University or Institute towards the award of any degree.
Signature of the student
____________________
Introduction
System Introduction
For optimal sales and inventory management processes, you need robust
functionality for managing your logistics facilities. Support for inventory
management helps you record and track materials on the basis of both quantity
and value.
Warehouse inventory management functions cover internal warehouse
movements and storage.
Using this software we can reduce costs for warehousing, transportation, order
fulfillment, and material handling – while improving customer service.
You can significantly improve inventory turns, optimize the flow of goods, and
shorten routes within your warehouse or distribution center. Additional benefits of
inventory management include improved cash flow, visibility, and decision making.
This software is user friendly and hence easy to use.
Employees can plan, enter, and document warehouse and internal stock
movements by managing goods receipts, goods issues, storage, picking and
packing, physical stock transfers, and transfer postings.
Problems In existing system
As we know manual system are quite tedious ,time consuming and less efficient
and accurate in comparison to the computerized system.
So following are some disadvantages of the old system:
1. Time consuming
2. Less accurate
3. Less efficient
4. Lot of paper work
5. Slow data processing
6. Not user friendly environment
7. Difficult to keep old records
Scope of Proposed System
The scope of this system is to provide user efficient working environment and more
output can be generated through this. This system provides user friendly interface
resulting in knowing each and every usability features of the system.
This system helps in tracking records so that past records can be verified through
them and one can make decisions based on the past records. This system
completes the work in a very less time resulting in less time consumption and high
level of efficiency.
This system is developed in such a way that even a naïve user can also operate the
system easily. The calculations are made very quickly and the records are directly
saved into databases and the databases can be maintained for a longer period of
time. Each record can be retrieved and can be verified for the future transactions.
Also this system provides high level of security for data leaking as only admin
people can access the database no changes can be made in it until it verifies the
user login id and password.
We also have operator login through which operator can take orders but can’t
make changes in the database. Limited access is available to the operator.
Feasibility Study
As we know each and every project needs to have a feasibility study for the
complete understandability of the project. We will consider 3 types of feasibility
study they are technical feasibility, operational feasibility and economical
feasibility.
Technical Feasibility:
This new system requires 6 fully trained people to run the system perfectly.
1 admin person to maintain database n other 5 to handle the system interface and
order making things.
As our existing system is purely manual, so we need a onetime investment of Rs 4
Lacs for the purchase of 6 computers, 5 invoice printers, a laser printer, AC and
networking etc. It requires apprx. 10 Lacks PA as a operating cost.
With the above details our system is technically feasible as after investing 14 Lacs
in a year, the company is still saving Rs 15 Lacs PA.
Operational Feasibility:
The new solution is feasible in all sense but operationally it is not. The new
system demands the expulsion of at least 15 people from the company. It creates
an environment of joblessness and fear among the employees. It can lead to an
indefinite strike in the company also. So the management must take corrective
actions prior in advance in order to start the further proceedings.
Economic Feasibility:
With the manual system the operating cost of the system is about 60 Lacks
P.A. This cost comprises salary of 25 people, stationary, building rent, electricity,
water, telephone etc. But with the new system this reoccurring cost comes out to
be about 20 Lacks P.A. Hence the new system is economically feasible.
Operating Environment – Hardware and Software
HARDWARE REQUIREMENTS
Processor: intel i3
RAM: Recommended 256MB
Hard Disk: Minimum 20GB
SOFTWARE REQUIREMENTS
Operating System – WINDOWS 10
Visual Basic 2015 Express Edition
Database(Backend) - SQL 2012
Proposed System
Objectives
The main objective of this system is to keep records of the complete
inventory.
It support for inventory management helps you record and track materials
on the basis of both quantity and value.
It improves cash flow, visibility, and decision making.
For warehouse management, you can track quantity and value of all your
materials, perform physical inventory, and optimize your warehouse
resources
User Requirements
FUNCTIONAL REQUIREMENTS
A. INPUT/OUTPUT
1. System shall have a form to accept the customer details.
2. System shall have a form to accept the Plant details.
3. System shall display transaction details.
4. System shall provide search facility on customer name, Order Placed, date
of order, date of order dispatch, date of transaction, transaction amount,
credit card no etc.
5. System should provide facility for change in address/name.
6. System should maintain the details about placing order/dispatch or order
i.e, order status
B. PROCESSING
1. System should automatically generate the bill.
2. System should inform the pending order and make changes if the order is
dispatched.
C. ERROR HANDLING
1. Should report any errors on duplicate primary keys.
2. Should report any ‘Out of Range’ values on numeric fields
3. Should report any data type mismatches any field on the forms.
4. Should report on any ‘Invalid dates’
5. Should report any violation of authorization of rights
6. Should report any Invalid Login errors
NON-FUNCTIONAL REQUIREMENTS
1. All user manuals should be provided in the necessary format
2. Application should support 5 simultaneous users.
3. Transaction should be completed within 1/5th of second
4. There will be backup procedure to maintain records.
ANALYSIS & DESIGN
ER Diagram
Use case Diagram for Supplier
Login Id and Pwd
Checks Inventories
Tracks Order
Customer
Dispatch
Sendsorder on time
Invoice
Supplier
Updates Records
Use Case Diagram for Customer
Studies
Requirements
Make list of requirements
Places the Order
Makes payment
Clerk
Invoice
Customer
Send GRN
Class Diagram for a customer order
Customer Order
Cust_Id Order_no
Name Ordercredate
Addr1 Order_status
Addr2 Shipment_date
Cust_city Challan
Pincode
Addcust() Payment calcBilltotal()
Updatecust() Amount calctotalweight
()
Getcustdet() Payment
date
Makepayme
nt()
Getinvoice()
Ordetdetail Material
Orderno
Materialqty Materialcode
Materialvalue Plantcode
Stckqty
Credit Cheque Caclsubtotal
Number Chqno calcweight Getpriceforqty()
Type Bankname
Expirydate Bankid
validating validating
GRN
Recivedqty
Damaged
Rejected
Sequence diagram for Supplier Rejectgood()
Description()
Supplier Transaction Customer Invoice
Log In
Validate
Tracks order
Places order
Takes customr details
Fill Order details
Makes Payment
Dispatch Order
Send order details
Add new entry
Send Invoice
Log Out
Send GNR
Activity Diagram for system:
Customer Supplier Shipment
Request Material
Get
Materials
Ship Order
Tracks Order
Input Screen
Login Form
Main Form
Category Form
Product Form
Supplier Form
Search Form
Customer Order Form
After insufficient stock form
Supplier order form
Table specifications
UID_PASS (Login Table)
Column Name Data Type Size Description
USER_NAME Text 50 User name of the ADMIN/OPERATOR
PASSWORD Text 50 Password of the ADMIN/OPERATOR
Category
cat_id cat_name measure_name
CT001 spaners pieces
CT002 gum leters
Product table
P_id p_name cat_name p_price P_desc P_quantity Mesure_name
PD001 fevicol gum 100 good 8 Liters
PD002 pen spaners 4 Blue 4 Pieces
pen
Supplier table
S_id S_name S_add S_phone S_cid S_compa
SP001 pradeep thane 7738170310 Guptapp310@gmail.com Gupta com
SP002 Rohit airoli 9167645229 Kundan.biz18@gmail.com Saroj
company
Customer order table
Orderno C_name Address Phone P_name Price Qty Order Delivery
date date
1 abc thane 9167645229 fevicol 100 2 2017-3- 2017-4-3
3
2 pradeep airoli 7738170310 fevicol 100 4 2017-3- 2017-3-
10 12
o_no s_name P_name qty Odate Ddate
1 sandeep fevicol 4 2017-3-3 2017-3-10
Test Procedures and
Implementation
Introduction
Testing presents an interesting anomaly for the software engineer. During
earlier software engineering activities, the engineer attempts to build software
from an abstract concept to a tangible product. Now comes testing. The engineer
creates a series of test cases that are intended to “demolish” the software that has
been built. In fact, testing is the one step in the software process that could be
viewed (psychologically, at least) as destructive rather than constructive.
Software engineers are by their nature constructive people. Testing requires
that the developer discard preconceived notions of the “correctness” of software
just developed and overcome a conflict of interest that occurs when errors are
uncovered.
If testing is conducted successfully (according to the objectives stated
previously), it will uncover errors in the software. As a secondary benefit, testing
demonstrates that software functions appear to be working according to
specification, that behavioral and performance requirements appear to have been
met. In addition, data collected as testing is conducted provide a good indication
of software reliability and some indication of software quality as a whole. But
testing cannot show the absence of errors and defects, it can show
Only that software errors and defects are present. It is important to keep this
(rather gloomy) statement in mind as testing is being conducted.
Testing principles
Before applying methods to design effective test cases, a software engineer must
understand the basic principle that guide software testing:
All tests should be traceable to customer requirements
Tests should be planned long before testing begins
80 percent of all errors uncovered during testing will likely be traceable to 20
percent of all program components. The problem, of course, is to isolate these
suspect components and to thoroughly test them.
Testing should being “in the small” and progress toward testing “in the
large”.
Exhaustive testing is not possible
To be most effective an independent third party should conduct testing
A rich variety of test case design methods have evolved for software. These
methods provide the developer with a systematic approach to testing. More
important, methods provide a mechanism that can help to ensure the
completeness of tests and provide the highest likelihood for uncovering errors in
software.
Any engineered product (and most other things) can be tested in one of
two ways:
Knowing the specified function that a product has been designed to perform,
tests can be conducted that demonstrate each function is fully operational
While at the same time searching for errors in each function; (2) knowing the
internal
Working of a product, tests can be conducted to ensure that “all gears
mesh,” that is, internal operations are performed according to specifications and
all internal components have been adequately exercised. The first test approach is
called black box testing and the second, white-box testing.
Testing performed were:
UNIT TESTING
INTEGRATION TESTING
DATABASE TESTING
RECOVERY TESTING
FUNCTIONALITY TESTING
SMOKE TEST
SANITY TEST
COMPATIBILITY TESTING
LOAD TESTING
SYSTEM TESTING
PERFORMANCE TESTING
USER ACCEPTANCE TESTING
White box testing
Sometimes called glass-box testing is a test case design method that uses the
control structure of the procedural design to derive test cases. Using white-box
testing methods, the software engineer can derive test cases that (1) guarantee
that all independent paths within a module have been exercised at least once, (2)
exercise all logical decisions on their true and false sides, (3) execute all loops at
their boundaries and within their operational bounds, and (4) exercise internal data
structures to ensure their validity.
White-box testing of software is predicated on close examination of procedural
detail. Providing test cases that exercise specific sets of conditions and/or loops
tests logical paths through the software. The “status of the program” may be
examined at various points to determine if the expected or asserted status
corresponds to the actual status. Basis path testing is a white-box testing technique
first proposed by Tom McCabe. The basis path method enables the test case
designer to derive a logical complexity measure of a procedural design and use this
measure as a guide for defining a basis set of execution paths. Test cases derived
to exercise the basis set are guaranteed to execute every statement in the program
at least one time during testing.
In this system, the system was tested for the calculation matters were the
data provided for giving the right output or not. If wrong data was provided then
what it is throwing error or accepting.
Black box testing
Also called behavioral testing, 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 is not an alternative to white-box techniques. Rather, it is a
complementary approach that is likely to uncover a different class of error than
white-box methods. When computer software is considered, black box testing
alludes to tests that are conducted at the software interface. Although they are
designed to uncover errors, black-box tests are used to demonstrate that software
functions are operational, that input is
Properly accepted and output is correctly produced and that the integrity of
external information is maintained. A black-box test examines some fundamental
aspect of a system with a little regard for the internal logical structure of the
software. Black-box testing attempts to find errors in the following categories:
1. Incorrect or missing functions,
2. Interface errors,
3. Errors in data structures or external database access,
4. Behavior or performance errors, and
5. Initialization and termination errors. By applying back-box techniques, we
derive a set of test cases that satisfy the following criteria:
a. Test cases that reduce, by a count that is greater than one, the
number of additional test cases that must be designed to achieve reasonable
testing and
b. Test cases that tell us something about the presence or absence of
classes of errors, rather than an error associated only with the specific test at hand.
White-box testing should not, however, be dismissed as impractical. A
limited number of important logical paths can be selected and exercised. Important
data structures can be probed for validity. The attributes of both black and white
box testing can be combined to provide an approach that validates the software
interface and selectively ensures that the internal workings of the software are
correct.
Black box testing for this system was done to check the internal testing i.e,
the system is working properly in each case or no. What kind of errors are there in
database design.
Testing Process
The testing process can be shown as:
Levels of testing Test Test
Plan Procedures
Test Case
Specification
Yes
Test Case
Execution
Is Error Test Case Analysis
Uncovere
d?
No
Test Report
Menu Tree
Main Page
File View Tools Master Help Logout Exit
Controls
Calcula
tor
Transaction Toolbar System
Screen Customer Requirements
About
Reports
Status Notepad
Bar Plant
Project Code
report
Exit
Material
State
Admin authority
1. Handling databases is in the power of the admin person only
2. So all customer databases and material database and all master tables are to
be handled by the admin person only.
3. These screens are detailed screens so no specific description is needed for the
same.
Proposed
Enhancements
Future Scope:
The scope of the project includes that what all future enhancements can be done
in this system to make it more feasible to use
Databases for different products range and storage can be provided.
Multilingual support can be provided so that it can be understandable by the
person of any language.
More graphics can be added to make it more user-friendly and
understandable.
Manage & backup versions of documents online.
Benefits
Manages Track sales
Manages contacts
Manages accounts
Manages opportunities
Track product issues
Manage issue priority
Track product features
Manage product life cycle
Drawbacks And Limitations
1. The system is not capable of handling more than 6 users at a time.
2. Some keywords in system are difficult to understand so the admin n operator
person should understand them thoroughly to use the system accurately.
3. Graphs could have been added in order to get the records more clearly.
Conclusion
While developing the system a conscious effort has been made to create and
develop a software package, making use of available tools, techniques and
resources – that would generate a proper System
While making the system, an eye has been kept on making it as user-friendly,
as cost-effective and as flexible as possible. As such one may hope that the system
will be acceptable to any user and will adequately meet his/her needs.
As in case of any system development processes where there are a number
of shortcomings, there have been some shortcomings in the development of this
system also. The project is still under modification.
BIBLIOGRAPHY
BOOKS REFERRED
Introduction To Programming with Visual Basic .NET
By Gary J. Bronson
WEB LINK
http://www.dreamincode.net
http://www.a1vbcode.com
Code design
Login
Test Cases
Case no. Scenario Sr.no Action Expected Actual Result
Output Output
1 Login A User forgets Message Message PASS
to enter the window window
username/ saying saying
password “Please “Please
enter the enter the
username/ username/
password” password”
B User enters Message Message PASS
wrong window window
username/ saying saying
password “Wrong “Wrong
username/ username/
password” password”
C User enters Takes user Takes user PASS
correct to to
username/ Homepage Homepage
password
Case no. Scenario Sr.no Action Expected Actual Result
Output Output
2 Placing A User enters Message Message PASS
Order wrong window window
customer saying saying
code “Customer “Customer
Does not Does not
exist” exist”
B User does Message Message PASS
not enters window window
Some saying saying
record e.g “Name “Name
name Should Not Should Not
be null” be null”
C User Enters Message Message PASS
wrong plant window window
code saying saying
“Invalid “Invalid
code” code”