Download as pdf or txt
Download as pdf or txt
You are on page 1of 31

A

MINOR PROJECT REPORT


(SYNOPSIS)
ON
“CUSTOMER BILLING SYSTEM”

This project report is submitted to


Rajiv Gandhi proudyogiki Vishwavidyalaya
In the partial fulfilment for the award of the degree
Bachelor of Engineering
(Computer Science)
Submitted by:
Prachi Sahu (0206CS181109)
Shubh Agrawal (0208CS181100)
Principal:
Dr. Ravindra V Kshirsagar
&
HOD:
Prof. Ashok Kumar Verma
Head of Department Computer Science
TABLE OF CONTENTS
Abstract
1.0 INTRODUCTION
1.1 PURPOSE
1.2 SCOPE OF THE WORK
1.3 PROBLEM STATEMENT
1.4 AIM AND OBJECTIVES OF THE PROJECT

2.0 SYSTEM SPECIFICATIONS


2.1 HARWARE SPECIFICATIONS
2.2 SOFTWARE SPECIFICATIONS

3.0 MODULE DESCRIPTION


4.0 SYSTEM DESIGN
4.1 ARCHITECTURE DIAGRAM
4.2 DATA FLOW DIAGRAM

5.0 SCREENSHOTS
6.0 CONCLUSION REFRENCES
ABSTRACT
CUSTOMER BILLING SYSTEM
Customer billing system deals with the automation of
supermarket. This software will help salespersons in
managing the various types of records pertaining to
customer. The product will help the user to work in a
highly effective and efficient environment. It consumes
the considerable time and energy that could be utilized
in the better productive activities. Apart from that,
with increasing customer strength, the task of
managing information of each individual customer is
indeed a cumbersome task. In the manual system,
there are number of inefficiencies that a salesperson
face. The information retrieval is one of the foremost
problems. It is very difficult to gather the overall
performance reports of the customer. Large records-
books have to be maintained where relevant and
irrelevant information has to be stored. The
automation deals with all such problems and tries to
remove them in the best suitable fashion. The new
system will cater to the need of the sales persons of
any supermarket so that salesperson can manage the
system efficiently. Supermarket billing system is
developed with the objective of making the system
reliable, easier, fast, and more informative.
1.0 INTRODUCTION
The computer has brought revolution in every sphere of
human life, whether it is business, education field,
governance, medical science etc. The computer has reduced
the human work load, businesses are going global and
everything is available at the click of mouse. The concept of
e-shopping has been introduced and we can buy the
products online and make payments through credit or debit
cards.
we are proposing the system “Customer Billing System”. The
stores issue their client handwritten bills and they enter
details in manual registers. And maintain MS Excel file for
product rate. So, the proposed system will computerise their
manual bill generation system.
As stated above the stores presently uses manual bills and
hand written record to maintains their product list, customer
list, and keep the invoice, there is lot of duplicate work, and
chance of mistake. When the product prices are changed,
they need to update each and every hand written record.
There is no security; anybody can access any report and
sensitive data, also there are no reports to find out the sales
volume, stock list, and summary report. This Billing system is
used to overcome the entire problem which the client is
facing currently, and making complete automization of
manual billing system.
1.1 PURPOSE
Customer billing system is the system to automate the process of
ordering and billing of a supermarket store. Supermarket is the place
where customers come to purchase their daily using products and
pay for that. So, there is a need to calculate how many products are
sold and to generate the bill for the customer. This system is built for
fast data processing and bill generation for supermarket customers.
It also allows the customer to purchase and pay for the items
purchased. The users will consume less time in calculation and the
sales activity will be completed within a fraction of seconds whereas
in a manual system will make the user to write it down which is a
long procedure and it also consumes a lot of time. Because of this
software, paper work will be reduced and the user can spend more
time on monitoring the supermarket. The project will be user
friendly and easy to use. This project is helpful to computerize the
bill report and generating the items details. The billing data is a vast
collection of product name, price and other product specific data. A
product when billed is searched and its price is added to the bill
based upon the product quantity. The system also contains discounts
on various products so that the product is offered at discounted
price while billing. The supermarket billing system is built to help
supermarkets calculate and display bills and serve the customer in a
faster and efficient manner. This software project consists of an
effective and easy GUI to help the employees in easy bill calculation
and providing an efficient customer service. With the continuous
development and improvement of computer technology,
communication technology, network technology, scale database
technology, the commercial supermarket has become a developing
technology worldwide.
FEASIBILITY STUDY
Feasibility study is a process of analysing and identifying if a problem
can be solved or not solved, focusing on helping answer the essential
question of “should we continue the proposed project ideas?” All
activities of the study are directed toward helping answer this
question. A Feasibility Study is generic in nature and can be applied
to any type of project, be it for systems and software development,
making an acquisition, or any other project. Feasibility Study is a test
of the system according to its workability, impact of the organization,
ability to meet user needs and effective use of the resources. We can
test our system by different type of the feasibilities. There are
basically six parts to any effective Feasibility Study:
(1) The Project Scope -which is used to define the business problem
and/or opportunity to be addressed. The old adage, "The problem
well stated is half solved," is very apropos. The scope should be
definitive and to the point; rambling narrative serves no purpose and
can actually confuse project participants.
(2) The Current Analysis -is used to define and understand the
current method of implementation, such as a system, a product, etc.
From this analysis, it is not uncommon to discover there is actually
nothing wrong with the current system or product other than some
misunderstandings regarding it or perhaps it needs some simple
modifications as opposed to a major overhaul.
(3) Requirements - how requirements are defined depends on the
object of the project's attention. For example, how requirements are
specified for a product is substantially different than requirements
for an edifice, a bridge, or an information system.
(4) The Approach- represents the recommended solution or course
of action to satisfy the requirements.
(5) Evaluation - examines the cost effectiveness of the approach
selected. This begins with an analysis of the estimated total cost of
the project.
(6) Review - all of the preceding elements are then assembled into a
Feasibility Study and a formal review is conducted with all parties
involved.
There are 5 types of the feasibilities which are discussed here. These
are as follows:
1. Technical Feasibility:
A study of resource availability that may affect the ability to achieve
an acceptable system. This evaluation determines whether the
technology needed for the proposed system is available or not. This
system can be made in any language that support good user
interface and easy database handling.
Technical needs may include:
Front-End Selection: Front-End means a language that is used for
user interface designing and coding. Front-End should have following
qualities:
• It must have a graphical user interface that assist employees that
are not from some IT background.
• Scalability and Extensibility
• Robustness
• According to the organization requirements and culture.
• Must provide excellent reporting features with good printing
support.
• Platform independent.
• Easy to deploy and maintain.
• Event driven programming.
2. Economic Feasibility:
In this we consider following tasks:
• The cost to conduct a full system investigation.
• The cost of hardware and software for class of application being
considered.
• The benefit in the form of the reduced cost.
• Our system has a lot of features at a minimum cost so it is feasible
to implement and it will be very much beneficial to the sellers in the
reduced cost. It’s software and hardware cost are also low then the
existing system.
3. Operational Feasibility:
In this feasibility we consider following points: In the new system we
made some major changes for the staff members so that they have
to be trained to use the newly added facilities. These major changes
are possible and give a new era in the Supermarket in production
and sales management.
4. Schedule Feasibility:
Time evaluation is most important consideration in development of
the project. So, the project is concerned should be completed with
fixed in scheduled time as 5 far as company is concerned. New
system is not so much big so it is easy to make in few days.
5. Behavioural Feasibility:
People are inherently resisted to change and a computer means
“change is the only certainty”. An estimate should be made of how
strong a reaction the user staff in going to have towards
development of new system. Thus, special efforts can be made to
educate and train the staff.
1.2 SCOPE OF THE WORK
Scope of this project is to investigate and design a software
solution which can facilitate both customer and salesperson
in performing their daily tasks, improving efficiency, and
helping them to be more productive. This project will
provide a solution through which salesperson can easily
manage, handle and generate all required information in
their respective format when needed. It provides quick way
of operation by capturing the manual process and
automating them. It will help them to manage the bill
details, financial data, and historical data and also in
producing documents of different formats for different
customers.

This solution will help salesperson in reducing effort spend


on managing many bills. It will also provide them
opportunity to explore possibility of generating documents,
managing financial details. This system will help the
salesperson to manage in fast billing. It will help to maintain
the data of the purchased items. It also gives bill to the
customers. It will set the rates of taxes and commission on
products. The project will enable to see the report
regarding product and category in a fixed period of time. It
can also change the Graphical User interface of the system.
1.3 PROBLEM STATEMENT
In today’s fast paced society, it’s very hard to be competitive
without using cutting-edge technology available in market. After
years of business, the data has grown much. It is becoming a
challenge for person to manage that data in an effective way. To be
more productive in order processing, he needs a solution which can
facilitate their current processes with use of technology and
software. With increased amount of orders, it is becoming difficult
for salesperson to manage orders in effective and efficient manner. It
is very hard to go through all paper work and backtracking orders. If
there is any complain or review of any order, it takes large amount of
effort and time to backtrack and fix the problem. This results in loss
of resources, increased time, and low output.
Drawbacks of Manual System (Current System):
• Time consuming: Getting the required information from the
available data takes a lot of time. Changing, editing and updating the
information contained in several files are a slow and time-consuming
process.
• Poor communication: A manual system requires employees and
managers to write down each time an item is removed from the
inventory. If one employee forgets to mention that the last coffee
product has been removed from the inventory the admin or manager
expects the item to still available for a customer during sale.
• Need of Effort: In manual system, an Item’s record is maintained in
separate files so it takes much effort to collect data from several
Stores for and if we want to change or delete the data of any
transaction then it has to be changed or deleted from all the files and
places it stored.
• Needs Large Space: In manual work done data item has to be
stored at several places, similarly student’s record is maintained in
separate registers. It requires more storage space.

1.4 AIM AND OBJECTIVES OF THE PROJECT AIM:


To make software fast in processing, with good user interface so that
user can change it and it should be used for a long time without error
and maintenance.

OBJECTIVES:
• To reduce the time for organisation.
• To increase efficiency and accuracy of the system.
• To reduce pressure on the labour and relieving man power from
repetitive and dull job.
• To make the retrieval of information faster.
• To make the system more feasible.
• To reduce large amount of paper work.
• To make the system more reliable and to avoid any ambiguity.
• To reduce the cost factor of the system.
• To make the system more flexible.
• It provides a convenient solution of billing pattern.
• It maintains new entered category or products.
Description of the Existing System:
Many Supermarkets use this type of billing system for a decade. It is
also improved many times according to requirements of sellers and
customers. It does the same work that is calculating the bill, gives it
to the customer and maintain proper database. They are accurate in
calculation and printing; they also generate records.

Bottlenecks of the Existing System:


Every system has pros and cons so existing system also have
many advantages and disadvantages. So, the bottlenecks of
the existing system are as follows:
1. User Interface: User Interface is not so much good that
operators feel some problems in working.
2. Graphical User Interface: GUI is not good so the operators
get bored by watching screen.
3. Processing speed: Processing speed of the software is not
so much good to operate fast.
4. Flexible: Existing system is not so much flexible that can be
changed according to the operators and customers.
5. Automatic generation of the Reports: Not able to
automatically generate the reports and documents.
6. Workload: Sometimes the system hangs when workload is
more.
7. Error Free: Sometimes the system gives error in the
calculation in making the bill and in the information of the
products due to workload.
8. Man Power: Existing system uses so many people to
operate the system.
9. Resources: System does not use the resources properly.
Proposed System
The proposed system is intended to provide the facility of
automating the billing system for the supermarket. To reduce
the bottlenecks of the existing system there is a need to
develop a new system. The new system should concern the
requirements of the customer and the sellers. This project is
designed with a goal to making the existing system more
informative, reliable, fast and easier. There are many reasons
for the starting of the project because in the selling of items
through the manual system of salesperson faces a lot of
inefficiencies. It requires handling of large record books that
consist of both irrelevant and important information’s thus
making it difficult to find out the required information as per
necessity. Object Oriented Programming concepts enabled
me to implement the project modules in an easier way.
Advantages of the proposed system:
• Converts the manual work which is time consuming and
error prone to fully automated system.
• Helps in eliminating the paper work, saves time and
improves customer services.
• Makes the addition of items in the bill, deletion of items
and modification of items in the bill easier and faster.
• C++ has supported to implement object-oriented concepts.
• Bills can be calculated more easily and with more accuracy.
• Reduces pressure on the labour.
• Makes the system more feasible and flexible and thus
retrieval of information becomes convenient.
Object Oriented Programming:
The major motivating factor in the invention of object-
oriented approach is to remove some of the flaws
encountered in the procedural approach. OOP treats data as
a critical element in the program development and does not
allow it to flow freely around the system. It ties data more
closely to the function that operate on it, and protects it from
accidental modification from outside function. OOP allows
decomposition of a problem into a number of entities called
objects and then builds data and function around these
objects. The data of an object can be accessed only by the
function associated with that object. However, function of
one object can access the function of other objects.
Some of the features of object-oriented programming are:
• Emphasis is on data rather than procedure.
• Programs are divided into what are known as objects.
• Data structures are designed such that they characterize
the objects.
• Functions that operate on the data of an object are ties
together in the data structure.
• Data is hidden and cannot be accessed by external
function.
• Objects may communicate with each other through
function.
• New data and functions can be easily added whenever
necessary.
• Follows bottom up approach in program design. Object-
oriented programming is the most recent concept among
programming paradigms and still means different things to
different people.

Basic Concepts of Object-Oriented Programming:


It is necessary to understand some of the concepts used
extensively in object-oriented programming.
These include:
• Objects
• Classes
• Data abstraction and encapsulation
• Inheritance
• Polymorphism
• Dynamic binding
• Message passing

Objects:
Objects are the basic run time entities in an object-oriented
system. They may represent a person, a place, a bank
account, a table of data or any item that the program has to
handle. They may also represent user-defined data such as
vectors, time and lists. Programming problem is analysed in
term of objects and the nature of communication between
them. Program objects should be chosen such that they
match closely with the real-world objects. Objects take up
space in the memory and have an associated address like a
record in Pascal, or a structure in c.
Classes:
We just mentioned that objects contain data, and code to
manipulate that data. The entire set of data and code of an
object can be made a user-defined data type with the help of
class. In fact, objects are variables of the type class. Once a
class has been defined, we can create any number of objects
belonging to that class. Each object is associated with the
data of type class with which they are created. A class is thus
a collection of objects similar types.
Data Abstraction and Encapsulation:
The wrapping up of data and function into a single unit
(called class) is known as encapsulation. Data and
encapsulation are the most striking feature of a class. The
data is not accessible to the outside world, and only those
functions which are wrapped in the class can access it. These
functions provide the interface between the object’s data
and the program. This insulation of the data from direct
access by the program is called data hiding or information
hiding. Abstraction refers to the act of representing essential
features without including the background details or
explanation. Classes use the concept of abstraction 13 and
are defined as a list of abstract attributes such as size, wait,
and cost, and function operate on these attributes. They
encapsulate all the essential properties of the object that are
to be created. The attributes are sometime called data
members because they hold information. The functions that
operate on these data are sometimes called methods or
member function.

Inheritance:
In object-oriented programming, inheritance is the
mechanism of basing an object or class upon another object
or class, retaining similar implementation. In most class-
based object-oriented languages, an object created through
inheritance (a "child object") acquires all the properties and
behaviours of the parent object (Except: constructors,
destructor, overloaded operators and friend functions of the
base class). Inheritance allows programmers to create classes
that are built upon existing classes,[1] to specify a new
implementation while maintaining the same to reuse code
and to independently extend original software via public
classes and interfaces. The relationships of objects or classes
through inheritance give rise to a directed graph. An
inherited class is called a subclass of its parent class or super
class. The term "inheritance" is loosely used for both class-
based and prototype-based programming, but in narrow use
the term is reserved for class-based programming (one class
inherits from another), with the corresponding technique in
prototype-based programming being instead called
delegation (one object delegates to another). Inheritance
should not be confused with sub typing. In some languages
inheritance and sub typing agree, whereas in others they
differ in general, sub typing establishes an is a relationship,
whereas inheritance only reuses implementation and
establishes a syntactic relationship, not necessarily a
semantic relationship (inheritance does not ensure
behavioural). To distinguish these concepts, sub typing is also
known as interface inheritance, whereas inheritance as
defined here is known as implementation inheritance or code
inheritance. Still, inheritance is a commonly used mechanism
for establishing subtype relationships.
Polymorphism:
Polymorphism is another important OOP concept.
Polymorphism, a Greek term, means the ability to take more
than on form. An operation may exhibit different behaviour
is different instances. The behaviour depends upon the types
of data used in the operation. For example, consider the
operation of addition. For two numbers, the operation will
generate a sum. If the operands are strings, then the
operation would produce a third string by concatenation. The
process of making an operator to exhibit different behaviours
in different instances is known as operator overloading.

Dynamic Binding:
Binding refers to the linking of a procedure call to the code
to be executed in response to the call. Dynamic binding
means that the code associated with a given procedure call is
not known until the time of the call at run time. It is
associated with polymorphism and inheritance. A function
call associated with a polymorphic reference depends on the
dynamic type of that reference.
Message Passing:
An object-oriented program consists of a set of objects that
communicate with each other. The process of programming
in an object-oriented language, involves the following basic
steps:
1. Creating classes that define object and their behaviour
2. Creating objects from class definitions
3. Establishing communication among objects.
Objects communicate with one another by sending and
receiving information much the same way as people pass
messages to one another. The concept of message passing
makes it easier to talk about building systems that directly
model or simulate their real-world counterparts.

File Concepts:
The I/O system of C++ handles file operations which are very
much similar to the console input and output operations. It
uses file streams as an interface between the programs and
files. The stream that supplies data to the program is called
input stream and the one that receives data from the
program is called output stream. In other words, input
stream extracts data from the file and output stream inserts
data to the file. The input operation involves the creation of
an input stream and linking it with the program and input
file. Similarly, the output operation involves establishing an
output stream with the necessary links with the program and
output file.
Detail of file stream classes:
• filebuf: Its purpose is to set the file buffers to read and
write. Contains Open prompt constant used in the open() of
file stream classes. Also contain close() and open() as
members.
• fstreambase: Provides operations common to file streams.
Serves as a base for fstream, ifstream and ofstream class.
Contains open() and close() functions. 16
• ifstream: Provides input operations. Contains open() with
default input mode. Inherits the functions get(),
getline(),read(), seekg(), tellg() functions from istream.
• ofstream: Provides output operations. Contains open() with
default output mode. Inherits put(),seekp(),tellp() and write()
functions from ostream.
• fstream: Provides support for simultaneous input and
output operations. Contains open with default input
mode.Inherits all the functions from istream and ostream
classes through iostream.
2.0 SYSTEM SPECIFICATIONS
2.1 HARDWARE SPECIFICATIONS
Processor: Intel Core i5 Processor
RAM: 8GB(Minimum)
HDD: 40GB(Minimum)

2.2 SOFTWARE SPECIFICATIONS


Operating System: Windows 8.1
Front-end: Visual Studio
Languages Used: C++
3.0 MODULE DESCRIPTION
There are 4 modules in this project.

These are as follows:


1) Apply discount (if any)
2) Check the report
3) Enter the information about products
4) Calculate the bill

Module 1: Apply discount (if any)

This module is for administrator who will


1. Set the discount for the products.
Module 2: Check the Report

This module is also for the administrator who can generate or check
the report of the product and how many products are sold on
particular date or in a period of time.
Module 3: Enter the information about products

This module is for data entry operator who will


1. Enter which products come in the store.
2. Prices and expiry date of the product.
Module-4: Calculate the bill

This module is for bill calculating operator who will


1. Calculate the bill.
2. Print it.
4.0 SYSTEM DESIGN
4.1 ARCHITECTURE DIAGRAM

Customer billing

system

Administrator Customer

create
product

display

quantity
modify

delete
4.2 DATA FLOW DIAGRAM
5.0 SCREEN SHOTS

1) This shows the menu of a supermarket billing system.


2) It shows the product menu for the customer
3) It shows that a billing system operator can add item details,
modify the item details, delete the item details and go back to main
menu.
4) Here an item is added successfully by the billing operator.
5) Here it generates the overall bill report of the customer.
6.0 CONCLUSION
This software has been developed, designed to
reduce the time taken to handle the sales activity. It is
designed to replace an existing manual record system
for reducing time taken for calculations and f or
storing data. This system has been developed with
oops concepts. The system is strong to handle daily
operations where the database is cleared over certain
time. This system will reduce manual work,
calculations and will also provide periodic reports any
time.
References
I. www.w3school.com
II. www.geeksforgeeks.com
III. www.wikipedia.org
IV. www.codewithc.com

You might also like