Académique Documents
Professionnel Documents
Culture Documents
Our Java Application “Billing Management System” provides a solution to shop owners
and retailers to effectively manage their inventory, sales, purchases, credit and debit to
customers and suppliers.It helps them to scale their business fast, bring down costs, thus
allowing to generate more revenue.
Expected Outcome
By the end of this project we expect that the user will be able to manage their inventory,
sales and purchases in a more structured way, thus allowing him to focus more on his
business logic.
Possible Risks
There are minimal possible risks associated with the project such as availability of space
to store data or in some cases the database might get corrupted halting the entire
business.
This project is for people interested in Java Development and it shows advance features
of Java such as AWT, Swing, Action Listener etc.It is restricted within college premises
and has been implemented under the guidance of college professors.It also uses external
APIs to scan barcode through webcam.
Project Scope
The application of this project is that it helps retailers and shop owners to effectively
manage their resources such as inventory, sales and purchases etc so that they can focus
more on business logic rather than making sure that all things are in perfect place.
Product Perspective
• Customer details
• Supplier information
• Company details
• Sales
1
Product Features
The major features of Billing Management System are as follows:
User Characteristics
• Users of the system should be able to see options such as Customer details, Supplier
information, Company details, Stocks and Purchases, Sales once they launch the
application.
• They can click on any option as per their requirement such as to check how stock is
available of a particular product, how many items of a particular product they have
sold, generate bills and access previous bills.
• They can also seek company details, order new stock and manage sales reports.
• With the help barcode scanning through webcam stocks can be managed easily.
• Along with barcodes QR Codes can also be scanned which store more information
than traditional one dimensional barcodes.
Operating Environment
• Client/Server System
Assumption Dependencies
• The Operating System should support latest version of Java and JRE.
• The Operating System should also support Oracle Database Express Edition.
• The webcam should support a High Definition video stream in order to read barcodes.
• The application is very basic as compared to other applications available in the market
yet it provides sufficient functions to support a business.
User Interfaces
• Back end Software: Oracle Database Express Edition and ZBar API.
2
Hardware Interfaces
• Microsoft Windows 10
Software Interfaces
• Operating System: We have chosen Microsoft Windows operating system for its best
support and user-friendliness.
Communication Interfaces
The project supports any Operating System that supports Java and JRE along with
Oracle Database Express Edition.All the components are designed using Java AWT and
Swing.
Non-Functional Requirements
Performance Requirements
• For storing user information, stocks, purchases, sales and company details etc we are
using Oracle Database Express Edition.Oracle Database In-Memory does not require
all database data to fit in memory. Users can choose to populate only performance
sensitive tables or partitions into memory. Less performance sensitive data can reside
on lower cost flash or disk. Queries execute transparently on data residing on all three
tiers—memory, flash and disk—enabling Oracle Database In-Memory to be used with
databases of any size.
E-R diagram
The E-R Diagram constitutes a technique for representing the logical structure of a
database in a pictorial manner. This analysis is then used to organize data as a relation,
normalizing relation and finally obtaining a relational database.
3
Normalization
Safety Requirements
If there is extensive damage to a wide portion of the database due to catastrophic failure,
such as a disk crash, the recovery method restores a past copy of the database that was
backed up to archival storage (typically tape) and reconstructs a more current state by
reapplying or redoing the operations of committed transactions from the backed-up log,
up to the time of failure.
Security Requirements
Security systems need database storage just like many other applications. However, the
special requirements of the security market mean that vendors must choose their
database partner carefully.
4
Product/System View
5
System Components & Functionalities
• Sales : It includes Customer ID, Product ID, Quantity, Search by Barcode, Search by
Customer Name, Total Bill, Net Bill, Cash, Balance, Discount, Bill no., Search by
Product Name.
6
Analysis of Present System
Before we begin a new system it is important to study the system that will be
improved or replaced (if there is one). We need to analyse how this system
uses hardware, software, network and the people resources to convert data
reports and displays. Thus we should document how the information system
effectively and efficiently for efficient results, storing the details of the
consumers etc. in such a way that the database can be modified as not
2. Not user friendly: The existing system is not user friendly because
the retrieval and storing of data is slow and data is not maintained
efficiently.
current system or they are generated with great difficulty reports take
unnatural cause (such as fire in the organisation) can destroy all data of
system. This means that no two persons can use the same data in
managerial decision-making.
7
Characteristics of the Proposed System
storing the details of the customers, employees etc. in such a way that
system, which provides user to deal with the system very easily.
This means that two or more persons can use the same data in existing
system provided that they have right to access that data. Also the two or
5. No or very few paperwork: The proposed system either does not require
paper work or very few paper works is required. All the data is feted into
the computer immediately and various bills and reports can be generated
among competitors.
Feasibility Analysis
Title: Feasibility report for the computerisation of the various activities of
the company.
time information in its activities. Very much time is consuming for report
8
Method of study: The analysis procedure comprised of field trips in the
The feasibility study is carried out to test whether the proposed system is
regarding its work ability, its impact on the organisation ability to meet user
number of people who are familiar with the information system techniques,
effected by the project and are skilled in the system analysis and design
process.
1. Technical
2. Behavioural
3. Economic
Technical Feasibility
software etc ) and to what extent it can support the proposed system
The technologies ant the environment which are used in this project are:
Software
Front End
• Java
Back End
• Oracle Database Express Edition
Operating System
• Microsoft Windows 10
9
Hardware
mouse as input devices. This has been decided for its case of
availability and up-gradation.A high definition Webcam was also used to capture
barcodes.
available data.
Behavioural Feasibility
An evaluation of the behaviour of the end users, which may effect the
effort to educate, sell and train the staff on new ways of conducting business.
system. As the aim of the system is only to satisfy the information needs, no
employees will loose their position by the proposed system. In fact the
proposed system will help the organisation in reducing the voluminous work
involved. Also the involvement of users in every stage of the project is going
The staff in not well educated for running a computerised system. They are
been used to the manual entry system. This aspect needs considerable
amount of attention.
Economic Feasibility
The procedure is to determine the benefits and savings that are expected
outweighs costs, then the decision is made to design and implement the
1. Manpower cost
10
Proposed System
To debug the existing system, remove procedures those cause data redundancy, make
navigational sequence proper. To provide information about audits on different level and
also to reflect the current work status depending on organisation/auditor or date. To build
strong password mechanism.
• Updating and deletion of such a huge amount of data will become easier.
Functional Requirements
Output Design
Outputs from computer systems are required primarily to communicate the results of
processing to users. They are also used to provides a permanent copy of the results for
later consultation. The various types of outputs in general are:
• External Outputs, whose destination is outside the organisation.
• Internal Outputs whose destination is with in organisation and they are the
• User’s main interface with the computer.
• Operational outputs whose use is purely with in the computer department.
• Interface outputs, which involve the user in communicating directly with
Output Definition
11
It is not always desirable to print or display data as it is held on a computer. It should be
decided as which form of the output is the most suitable.
For Example
Output Media:
In the next stage it is to be decided that which medium is the most appropriate for the
output. The main considerations when deciding about the output media are:
Keeping in view the above description the project is to have outputs mainly coming under
the category of internal outputs. The main outputs desired according to the requirement
specification are:
The outputs were needed to be generated as a hot copy and as well as queries to be
viewed on the screen. Keeping in view these outputs, the format for the output is taken
from the outputs, which are currently being obtained after manual processing. The
standard printer is to be used as output media for hard copies.
Input Design
Input design is a part of overall system design. The main objective during the input
design is as given below:
• Data recording
• Data transcription
• Data conversion
• Data verification
• Data control
• Data transmission
• Data validation
• Data correction
12
Input Types
Input Media
At this stage choice has to be made about the input media. To conclude about the input
media consideration has to be given to:
• Type of input
• Flexibility of format
• Speed
• Accuracy
• Verification methods
• Rejection rates
• Ease of correction
• Security
• Easy to use
• Portability
Keeping in view the above description of the input types and input media, it can be said
that most of the inputs of the form of internal and interactive. As Input data is to be the
directly keyed in by the user, the keyboard can be considered to be the most suitable
input device.
Error Avoidance
At this stage care is to be taken to ensure that input data remains accurate form the stage
at which it is recorded upto the stage in which the data is accepted by the system. This
can be achieved only by means of careful control each time the data is handled.
Error Detection
Even though every effort is make to avoid the occurrence of errors, still a small proportion
of errors is always likely to occur, these types of errors can be discovered by using
validations to check the input data.
Data Validation
Procedures are designed to detect errors in data at a lower level of detail. Data
validations have been included in the system in almost every area where there is a
possibility for the user to commit errors. The system will not accept invalid data.
Whenever an invalid data is keyed in, the system immediately prompts the user and the
13
user has to again key in the data and the system will accept the data only if the data is
correct. Validations have been included where necessary.
The system is designed to be a user friendly one. In other words the system has been
designed to communicate effectively with the user. The system has been designed with
pop up menus.
It is essential to consult the system users and discuss their needs while designing the
user interface:
1. User initiated interface the user is in charge, controlling the progress of the user/
computer dialogue. In the computer-initiated interface, the computer selects the next
stage in the interaction.
In the computer initiated interfaces the computer guides the progress of the user/
computer dialogue. Information is displayed and the user response of the computer
takes action or displays further information.
1. Command driven interfaces: In this type of interface the user inputs commands or
queries which are interpreted by the computer.
2. Forms oriented interface: The user calls up an image of the form to his/her screen and
fills in the form. The forms oriented interface is chosen because it is the best choice.
1. The menu system for the user is presented with a list of alternatives and the user
chooses one; of alternatives.
2. Questions – answer type dialog system where the computer asks question and takes
action based on the basis of the users reply.
Right from the start the system is going to be menu driven, the opening menu displays
the available options. Choosing one option gives another popup menu with more
options. In this way every option leads the users to data entry form where the user can
key in the data.
The design of error messages is an important part of the user interface design. As user is
bound to commit some errors or other while designing a system the system should be
designed to be helpful by providing the user with information regarding the error he/she
has committed.
14
This application must be able to produce output at different modules for different inputs.
Performance Requirements
Requirement specification plays an important part in the analysis of a system. Only when
the requirement specifications are properly given, it is possible to design a system, which
will fit into required environment. It rests largely in the part of the users of the existing
system to give the requirement specifications because they are the people who finally use
the system. This is because the requirements have to be known during the initial stages
so that the system can be designed according to those requirements. It is very difficult to
change the system once it has been designed and on the other hand designing a system,
which does not cater to the requirements of the user, is of no use.
The requirement specification for any system can be broadly stated as given below:
The existing system is completely dependent on the user to perform all the duties.
ZBar is an open source software suite for reading bar codes from various sources, such
as video streams, image files and raw intensity sensors. It supports many
popular symbologies (types of bar codes) including EAN-13/UPC-A, UPC-E, EAN-8, Code
128, Code 39, Interleaved 2 of 5 and QR Code.
The flexible, layered implementation facilitates bar code scanning and decoding for any
application: use it stand-alone with the included GUI and command line programs, easily
integrate a bar code scanning widget into your Qt, GTK+ or PyGTK GUI application,
leverage one of the script or programming interfaces (Python, Perl, C++) ...all the way
down to a streamlined C library suitable for embedded use.
ZBar is licensed under the GNU LGPL 2.1 to enable development of both open source
and commercial projects.
Features
• small code size - the core scanner and EAN decoder represent under 1K lines of C
code
15
• not limited to images
Database Design
16
Working of ZBar Barcode Reader
A common design for a bar code "image scanner" is to apply digital image processing
techniques to an image containing a bar code: exact details vary, but this usually involves
several filter steps to cleanup noise, sharpen and enhance contrast, edge detection and
shape analysis to determine symbol location and orientation, etc. Finally the data is
extracted from this pristine image. All of these processing stages require CPU cycle and
memory resources and are often sensitive to various "filter parameter" configurations
which are difficult for end-users to understand and setup.
The ZBar library uses an approach closer to that used by "wand" and "laser" scanners:
linear (1D) bar codes are designed to be decoded by a simple light sensor passing over
the light and dark areas of a symbol. Taking advantage of this, the ZBar implementation
makes linear scan passes over an image, treating each pixel as a sample from a single
light sensor. The data is scanned, decoded and assembled on the fly.
Taking a cue from modern processing paradigms, ZBar further abstracts this idea into a
layered streaming model. Processing is separated into independent layers with well
defined interfaces, which can be used together or individually plugged into any other
system.
17
Video Input
Abstraction of a video device which produces a stream of images for scanning. The
current release has interfaces to video4linux (versions 1 and 2). Support is in progress for
VfW (Windows)
Output Window
Simple abstraction of a display output window that can present a scanned image to the
user and accept input in response. To maximize flexibility, the window may be opened
and owned by the library, or attached to an application managed window embedded in a
GUI. The current release supports basic X11 interfaces (XVideo and XImage). Support is
in progress for VfW (Windows).
Image Scanner
Makes scan passes over a two-dimensional image to produce a linear stream of intensity
samples. The input images may come from the video input module, or any external image
source (such as an image file output by a flatbed scanner or digital camera). This module
also incorporates the optional inter-frame consistency heuristic applied to a video stream.
Linear Scanner
Scans a stream of abstract intensity samples to produce a "bar width" stream. The
intensity samples could be pixel values from the built-in image scanner, pixel values from
an alternate external image scanner, or even raw sensor samples from a "decoder-less"
wand or laser sensor. The bars are detected and measured by applying some very basic
1D signal processing to the input sample stream.
Decoder
The decoder searches a stream of bar widths for recognizable patterns and produces a
stream of completely decoded symbol data. The current release implements decoding for
EAN-13, UPC-A, UPC-E, EAN-8, Code 128 and Code 39 symbologies. Support is
planned eventually for PDF-417 and EAN/UPC add-ons.
Processor
One potential drawback of a completely independent modular approach is that it can take
some coding to tie all of the modules together, complicating even simple applications.
The high-level "processor" module connects all of the other modules to flexibly support
many common uses. For example, this makes it easy to pop up a window (or not) and
scan for bar codes from video or image sources with very few lines of code. The included
sample applications: zbarcam and zbarimg are two examples of how this can be done
(UTSL).
18
Widgets
For applications which already have a GUI, it does not always make sense to open a
separate window for reading bar codes. To facilitate tighter integration between the
reader and an existing GUI, the library also comes with ready-made "widgets" for various
popular toolkits (currently Qt4, GTK+-2.0 and PyGTK2). The test programs in the
distribution are good examples of how you can use these widgets to quickly incorporate a
bar code reader widget into your application.
Language Interfaces
With the performance sensitive image processing done in C, library wrappers for Perl
(currently available) and Python make building a bar code application fast and easy!
Plugin
Support has been started for a NPAPI (Mozilla) plugin, which is supported by popular
linux browsers and OpenOffice.org (among others).
Conclusion
It has been a great pleasure for me to work on this exciting and challenging project. This
project proved good for me as it provided practical knowledge of programming and SQL
Server, but also about all handling procedure related with project. It also provides
knowledge about the latest technology used in developing Java application and client
server technology that will be great demand in future. This will provide better
opportunities and guidance in future in developing projects independently.
Benefits
The project is identified by the merits of the system offered to the user. The merits of this
project are as follows:
• This project offers user to enter the data through simple and interactive forms. This is
very helpful for the client to enter the desired information through so much simplicity.
• The user is mainly more concerned about the validity of the data, whatever he is
entering. There are checks on every stages of any new creation, data entry or updation
so that the user cannot enter the invalid data, which can create problems at later date.
• Sometimes the user finds in the later stages of using project that he needs to update
some of the information that he entered earlier. There are options for him by which he
can update the records. Moreover there is restriction for his that he cannot change the
primary data field. This keeps the validity of the data to longer extent.
• User is provided the option of monitoring the records he entered earlier. He can see the
desired records with the variety of options provided by him.
• From every part of the project the user is provided with the links through framing so
that he can go from one option of the project to other as per the requirement. This is
bound to be simple and very friendly as per the user is concerned. That is, we can sat
that the project is user friendly which is one of the primary concerns of any good
project.
19
• Data storage and retrieval will become faster and easier to maintain because data is
stored in a systematic manner and in a single database.
• Allocating of sample results becomes much faster because at a time the user can see
the records of last years.
• Easier and faster data transfer through latest technology associated with the computer
and communication.
• Through these features it will increase the efficiency, accuracy and transparency.
Limitations
• The size of the database increases day-by-day, increasing the load on the database
back up and data maintenance activity.
• Training for simple computer operations is necessary for the users working on the
system.
20
21