Vous êtes sur la page 1sur 21

Project Introduction

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.

Intended Audience and Reading Suggestions

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

A Billing Management System stores the following information:

• Customer details

• Supplier information

• Company details

• Stocks and Purchases

• Sales

1
Product Features
The major features of Billing Management System are as follows:

• Realtime management of sales, purchases and stocks.

• Easy Inventory management with barcode scanning through webcam.

• No need to invest in external hardware such as barcode scanner.

• Easy export of reports in PDF/Word format.

• No CAPEX or OPEX is involved.

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

Operating environment for Billing Management System is listed below:

• Database: Oracle database Express Edition

• Client/Server System

• Operating System: Microsoft Windows 10

• Languages: Java and ZBar APIs for barcode recognition.

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.

External Interface Requirements

User Interfaces

• Front end Software: Java and JRE.

• Back end Software: Oracle Database Express Edition and ZBar API.

2
Hardware Interfaces

• Microsoft Windows 10

• A High Definition Webcam

Software Interfaces

Following are the software used for Billing Management System:

• Operating System: We have chosen Microsoft Windows operating system for its best
support and user-friendliness.

• Database:For storing user information, we have chosen Oracle Database Express


Edition.

• Programming Languages: Java

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.

• ENTITIES: Which specify distinct real-world items in an application.

• PROPERTIES/ATTRIBUTES: Which specify properties of an entity and relationships.

• RELATIONSHIPS: Which connect entities and represent meaningful dependencies


between them.

3
Normalization

The basic objective of normalization is to reduce redundancy which means that


information is to be stored only once. Storing information several times leads to wastage
of storage space and increase in the total size of the data stored.If a database is not
properly designed it can give rise to modification anomalies. Modification anomalies arise
when data is added to, changed or deleted from a database table. Similarly, in traditional
databases as well as improperly designed relational databases, data redundancy can be
a problem. These can be eliminated by normalizing a database. Normalization is the
process of breaking down a table into smaller tables. So that each table deals with a
single theme. There are three different kinds of modifications of anomalies and formulated
the first, second and third normal forms (3NF) is considered sufficient for most practical
purposes. It should be considered only after a thorough analysis and complete
understanding of its implications.

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

The system includes various components.Some of them are:

• Customer details : It includes Customer ID, Mobile no. , Address, Name.

• Supplier information : It includes Supplier ID,Name, Address and Mobile no.

• Company details : It includes Company ID, Name, Product Type.

• Stocks and Purchases: It includes Limited Stocks, Stocks Available.

• 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.

Data & Relational Views

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

resources, such as transaction data, into information products, such as

reports and displays. Thus we should document how the information system

activities of input, processing, output, storage and control are accomplished.

Problems of Existing System

1. Inability of modification of data: The managing of huge data

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

possible in the current system.

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.

3. Difficulty in reports generating: Either no reports generating in a

current system or they are generated with great difficulty reports take

time to generate in the current system.

4. Manual operator control: Manual operator control is there and lead to

a lot of chaos and errors.

5. Lot of paperwork: Existing system requires lot of paper work and

even a small transaction require many papers fill. Moreover any

unnatural cause (such as fire in the organisation) can destroy all data of

the organisation. Loss of even a single paper led to difficult situation

because all the papers are interrelated.

6. Inability of sharing the data: Data cannot be shared in the existing

system. This means that no two persons can use the same data in

existing system. Also the two departments in an organisation cannot

interact with each other without the actual movement of data.

7. No support in decision-making: Existing system does not support

managerial decision-making.

8. No support in strategic competitive advantage: Existing system do

not support strategic competitive advantages.

7
Characteristics of the Proposed System

1. Easiness in modification of data: The proposed system provides

managing of huge data effectively and efficiently for efficient results,

storing the details of the customers, employees etc. in such a way that

the database can be modified.

2. User friendly: The proposed system is user friendly because the

retrieval and storing of data is fast and data is maintained efficiently.

Moreover the graphical user interface is provided in the proposed

system, which provides user to deal with the system very easily.

3. Reports are easily generated: Reports can be easily generated in a

proposed system. So any type of reports can be generated in a proposed

system, which helps the managers in a decisions-making activity.

4. Sharing the data is possible: Data can be shared in proposed system.

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

more departments in an organisation can easily interact with each other

without the actual movement of data.

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

through computers. Since all the data is kept in a database no

data of the organisation can be destroyed. Moreover work becomes

very easy because there is no need to keep data on papers.

6. Support strategic competitive advantage: Proposed system supports

strategic competitive advantages. Since the proposed systems provide

easiness in reports generating it will provide strategic advantages

among competitors.

7. Computer operator control: Computer operator control will be there

no errors. Moreover storing and retrieving of information is easy. So

work can be done speedily and in time.

Feasibility Analysis
Title: Feasibility report for the computerisation of the various activities of

the company.

Background: The Company facing the problem of inconsistent and out of

time information in its activities. Very much time is consuming for report

generation, which is not very helpful for decision making. So we want a

system, which provide immediate information.

8
Method of study: The analysis procedure comprised of field trips in the

various departments of the company. The following documents and sources

were looked up:

· The purchase order that contain items to be purchased.

· The accounts register.

· Purchase order issues to vendors.

· Bills receive from vendors.

· Bills give to the customers.

· Purchase return forms (if any ) give to vendors.

Need for Feasibility Analysis

The feasibility study is carried out to test whether the proposed system is

worth being implemented. Feasibility study is a test of system proposed

regarding its work ability, its impact on the organisation ability to meet user

needs and effective use of resources. It is usually carried out by a small

number of people who are familiar with the information system techniques,

understand the part of the business or organisation that will be involved or

effected by the project and are skilled in the system analysis and design

process.

The key consideration involve in the feasibility study are:

1. Technical

2. Behavioural

3. Economic

Technical Feasibility

Technical feasibility centres on the existing computer system ( hardware,

software etc ) and to what extent it can support the proposed system

addition. For example, if the current system is operating at 70% capacity ( an

arbitrary value ), then another application could overload the system or

require additional hardware. If the budget is serious constrain then the

project is judged not feasible.

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

Intel based processor-run computer system, which have keyboard and

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.

The various registers maintained at the different department have

enough information recording, which will help in digitising the

available data.

Behavioural Feasibility

An evaluation of the behaviour of the end users, which may effect the

envelopment of the system. People are inherently resistant to change and

computers have to know to facilitate changes and computers have to known

to facilitate changes. An estimate should be made of how strong a reaction

the user staff is likely to have towards the development of a computerised

system. It is a common knowledge that a computer installation has

something to do with turnover, transfer, retraining and changes in employee

job status, therefore the introduction of a candidate system requires special

effort to educate, sell and train the staff on new ways of conducting business.

The personnel of the user organisation will be affected by the proposed

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

to increase the success factor.

The staff in not well educated for running a computerised system. They are

adamant in perceiving a mechanical process of working as they have long

been used to the manual entry system. This aspect needs considerable

amount of attention.

Our system is also feasible for organisation because it supports of the

organisation and its strategic plan.

Economic Feasibility

The procedure is to determine the benefits and savings that are expected

from a candidate system and compare it with the costs. If a benefit

outweighs costs, then the decision is made to design and implement the

system. Otherwise further alterations are made in the proposed system

1. Manpower cost

2. Hardware and software 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.

Need for Computerisation


We all know the importance of computerisation. The world is moving ahead at lightening
speed and every one is running short of time. One always wants to get the information
and perform a task he/she/they desire(s) within a short period of time and too with
amount of efficiency and accuracy. The application areas for the computerisation have
been selected on the basis of following factors:

• Minimising the manual records kept at different locations.

• There will be more data integrity.

• Facilitating desired information display, very quickly, by retrieving information from


users.

• Facilitating various statistical information which helps in decision-making.

• To reduce manual efforts in activities that involved repetitive work.

• 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

The outputs should be defined in terms of the following points:

! Type of the output


! Content of the output
! Format of the output
! Location of the output
! Frequency of the output
! Volume of the output
! Sequence of the output

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

• Will decimal points need to be inserted

• Should leading zeros be suppressed.

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:

• The suitability for the device to the particular application.

• The need for a hard copy.

• The response time required.

• The location of the users

• The software and hardware available.

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:

• To produce a cost-effective method of input.


• To achieve the highest possible level of accuracy.
• To ensure that the input is acceptable and understood by the user.
Input Stages

The main input stages can be listed as below:

• Data recording

• Data transcription

• Data conversion

• Data verification

• Data control

• Data transmission

• Data validation

• Data correction

12
Input Types

It is necessary to determine the various types of inputs.  Inputs can be categorised as


follows:

• External inputs, which are prime inputs for the system.

•  Internal inputs, which are user communications with the system.

•  Operational, which are computer department’s communications to the system?

• Interactive, which are inputs entered during a dialogue.

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

• Storage and handling requirements

• 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.

User Interface Design

It is essential to consult the system users and discuss their needs while designing the
user interface:

User Interface Systems can be broadly classified as:

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.

2.   Computer initiated interfaces

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.

User Initiated Interfaces

User initiated interfaces fall into tow approximate classes:

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.

Computer Initiated Interfaces

The following computer – initiated interfaces were used:

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.

Error Message Design

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

Performance is measured in terms of the output provided by the application.

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 system should be able to interface with the existing system

• The system should be accurate

• The system should be better than the existing system

The existing system is completely dependent on the user to perform all the duties.

About ZBar Bar Code Reader

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

• cross platform - Linux/Unix, Windows, iPhone

• high speed - real time scanning from video streams

• small memory footprint

• small code size - the core scanner and EAN decoder represent under 1K lines of C
code

15
• not limited to images

• no floating point operations

• suitable for embedded applications using inexpensive processors/hardware

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.

•  Decision making process would be greatly enhanced because of faster processing of


information since data collection from information available on computer takes much
less time than manual system.

•  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

Vous aimerez peut-être aussi