Sunteți pe pagina 1din 42

A MINOR PROJECT SYNOPSIS

ON

Electricity Billing system

Submitted for partial fulfillment of award of


BACHELOR OF COMPUTER APPLICATIONS
Degree

Session 2017-20

DEPARTMENT OF BCA
BEACON INSTITUTE OF TECHNOLOGY
MEERUT

SUBMITTED TO - SUBMITTED BY –

Mrs Lucky Berwal Abhinav Chauhan


(Project Guide) (R1709681741)
Rajat Tomar
(R1709681782)
Ashish Kumar
(R1709681754)
Nitesh Taliyan
(R1709681776)

BCA VI SEM

1
TO WHOM IT MAY CONCERN

This is to certify that Abhinav Chauhan, Rajat Tomar, Ashish Kumar,Nitesh Talian from
Department of BCA, Beacon Institute of Technology, Meerut has carried out the project at
our organization from < > to < >.

Under training period, he/she has worked on the project entitled Electricity Billing System
under the guidance of ................................ During this project, he/she has been an active
member of the team. His/ Her specific role in the project was

The work carried by him/her is satisfactory and wish his /her all the best for future
assignments.

Authorized Signatory
Name………………….
Designation ……………….
Date………………
Seal

2
Table of Contents

1. Introduction
2. Feasibility Study
3. Data Tables
4. Data Flow Diagram
5. Entity Relationship Diagram
6. Screen Shots of Module
7. Future Scope
8. Conclusion
9. Bibliography

3
INTRODUCTION:

1.1 Introduction to Proposed System

Our project entitled “Electricity Billing System” aims is to generate electricity bill

with all the charges and penalty. Manual system that is employed is extremely

laborious and quite inadequate. It only makes the process more difficult and hard.

The aim of our project is to develop a system that is meant to partially computerize the

work performed in the Electricity Board like generating monthly electricity bill, record of

consuming unit of energy, store record of the customer and previous unpaid record.

We used Microsoft Java as front end and Ms SQL as back end for developing our

project. Visual Basic is primarily a visual design environment. We can create a VB application

by designing the form and that make up the user interface. Adding visual basic application code

to the form and the objects such as buttons and text boxes on them and adding any required

support code in additional modular.

MySQL is a powerful relational database application with which a desktop user can

efficiently create and manipulate database systems. Access targets the desktop category and

works best for individuals and workgroup

Managing megabytes of data for multi-user access to the same database, Access uses file-server

architecture, rather than client-server architecture.

Access is included in the professional and developer editions of Microsoft office.

The overall project report is divided into some parts. These parts are further divided into their

subparts. In the parts we have described the purpose, scope of the project, objective of the

project i.e. approach which used for developing this software. It includes the topics like the

4
problems with the existing system and the functionality of the organization. Introduction to

tools, design, coding, testing and debugging of the system are discussed in very detail. We have

also provided the names of the books from which we have taken guidance to complete the work.

Last section contains the matter about the overall work performed and the efforts taken to

complete the project.

5
HARDWARE SOFTWARE
REQUIREMENT

EXTERNAL INTERFACE REQUIREMENT

(1)USER INTERFACE

The external users are the student information system is college administration and the

teachers of the college. The administration and teachers can have an access to this

system. The administrative user has also an authority to access their account for

uploading of the students’ information.

Windows 7,0

(2) HARDWARE INTERFACE

The external hardware interface used for accessing the institute student information is the

personal computers of the administration.

550 GB Hard Disk

1 Ghz RAM

Dualcore PROCESSOR

KEYBOARD

14” COLOR MONITOR

PRINTER

MOUSE

6
Feasibility Study:

Feasibility study is the phase in which the analyst checks that the candidate system is

feasible for the organization or not. This entails identification, description & evaluation of the

system. Feasibility study is done to select the best system that meets the performance

requirement.

If the feasibility study is to serve as a decision document, it must answer key questions.

1. Is there a new and better way to do the job that will benefit the user?

2. What are the costs and savings of the alternatives?

3. What is recommended?

The most successful system projects are not necessarily the biggest or most visible in the

business but rather those truly meet user’s expectations.

Feasibility considerations

Three key considerations are involved in the feasibility study. They are as follows:-

Economic Feasibility:

Economic analysis is the most frequently used method for evaluating the effectiveness of the

candidate system.

We analyze the candidate system (computerized system) is feasible as than the manual system

because it saves the money, time and manpower. It also feasible according to cost benefits

analysis.

Technical Feasibility:

7
Technical feasibility centers around the technology used. It means the candidate system is

technically feasible i.e. it don’t have any technical fault and work properly in the given

environment. Our system is technically feasible; it is providing us required output.

Behavioral Feasibility:

Behavioral feasibility is the analysis of behavior of the candidate system. In this we

analyze that the candidate system is working properly or not. If working than it communicating

proper with the environment or not. All this matters are analyzed and a good candidate system is

prepared. Due to the change of system what is the change in behavior of the users, this factors

are also analyzed.

8
DATA TABLE

Table Name: BILL


Field Name Data Type Size Constraint
Bill_no Number Auto Primary key
BillDate Date
Amount Number Auto
City Text 30

In this table there are no multivalued attributes. So this is in First Normal Form.

2. Table Name : Customer


Field Name Data Type Size Constraint
Customer First Name Text 10
Customer Middle Text 10
Name
Customer Last Name Text 10
Cust_id Number Auto Primary Key
Service_Centre Text 20
Street Text 20
City Text 20
City Code Number Auto
State Text 20

In this table there are no multivalued attributes. So this is in First Normal Form.
Service Centre Table:

9
Field Name Data Type Size Constraint
Cust_id Number Auto Foreign Key
Service_Centre Text 20
Street Text 20
City Text 20
City Code Number Auto
State Text 10

In this table there are no multivalued attributes. So this is in First Normal Form.

Bill Charge Table:

Field Name Data Type Size Constraint


Bill_no Number Auto Primary Key
Fix _charge Number Auto
E_duty Number Auto
Total Charge Number Auto
Total Unit Number Auto

In this table there are no multivalued attributes. So this is in First Normal Form.

Commercial Bill Table:


Field Name Data Type Size Constraint
Customer Name Text 20
Shop_no Text 20 Primary Key
Street Text 20

10
Bill_no Integer Auto Foreign Key
Bill Amount Integer Auto
Bill Date Date

11
ER DIAGRAM

12
SCREEN SHOTS

LOGIN FORM

13
DOMESTIC BILL CALCULATION FORM

14
COMERCIAL BILL CALCULATION FORM

15
DOMESTIC CUSTOMER RECORD FORM

16
COMMERCIAL BILL RECORD FORM

17
CODING
package medicalstore.resources;

import java.io.PrintWriter;

import java.io.StringWriter;

import java.sql.Connection;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.util.logging.Level;

import java.util.logging.Logger;

import javax.swing.JOptionPane;

public class billinfo extends javax.swing.JInternalFrame {

Connection con = null;

PreparedStatement pst = null;

ResultSet rs = null;

public billinfo() {

initComponents();

con= re.getCon();

@SuppressWarnings("unchecked")

18
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-

BEGIN:initComponents

private void initComponents() {

jLabelRollNo = new javax.swing.JLabel();

jLabelStName = new javax.swing.JLabel();

jTextFieldRollNo = new javax.swing.JTextField();

jTextFieldStName = new javax.swing.JTextField();

jButtonSave = new javax.swing.JButton();

jButtonPrint = new javax.swing.JButton();

setClosable(true);

setIconifiable(true);

setMaximizable(true);

setResizable(true);

jLabelRollNo.setText("Roll No");

jLabelStName.setText("Student Name");

62

jButtonSave.setText("Save");

jButtonSave.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jButtonSaveActionPerformed(evt);

19
}

});

jButtonPrint.setText("Print");

jButtonPrint.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jButtonPrintActionPerformed(evt);

});

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());

getContentPane().setLayout(layout);

layout.setHorizontalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup()

.addContainerGap()

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADIN

G)

.addComponent(jLabelRollNo)

.addComponent(jLabelStName))

.addGap(34, 34, 34)

20
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADIN

G)

.addGroup(layout.createSequentialGroup()

.addComponent(jButtonSave)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addComponent(jButtonPrint))

.addComponent(jTextFieldRollNo, javax.swing.GroupLayout.PREFERRED_SIZE, 59,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jTextFieldStName, javax.swing.GroupLayout.PREFERRED_SIZE,

156, javax.swing.GroupLayout.PREFERRED_SIZE))

.addContainerGap(126, Short.MAX_VALUE))

);

layout.setVerticalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup()

.addGap(20, 20, 20)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELI

NE)

.addComponent(jLabelRollNo)

21
.addComponent(jTextFieldRollNo, javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.PREFERRED_SIZE))

.addGap(18, 18, 18)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELI

NE)

.addComponent(jLabelStName)

.addComponent(jTextFieldStName, javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.PREFERRED_SIZE))

.addGap(36, 36, 36)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELI

NE)

.addComponent(jButtonSave)

.addComponent(jButtonPrint))

.addContainerGap(141, Short.MAX_VALUE))

);

pack();

}// </editor-fold>//GEN-END:initComponents

22
private void jButtonSaveActionPerformed(java.awt.event.ActionEvent evt) {//GEN-

FIRST:event_jButtonSaveActionPerformed

private void jButtonPrintActionPerformed(java.awt.event.ActionEvent evt) {//GEN-

FIRST:event_jButtonPrintActionPerformed

// Variables declaration - do not modify//GEN-BEGIN:variables

private javax.swing.JButton jButtonPrint;

private javax.swing.JButton jButtonSave;

private javax.swing.JLabel jLabelRollNo;

private javax.swing.JLabel jLabelStName;

private javax.swing.JTextField jTextFieldRollNo;

private javax.swing.JTextField jTextFieldStName;

64

// End of variables declaration//GEN-END:variables

package medicalstore.resources;

import java.io.PrintWriter;

import java.io.StringWriter;

import java.sql.Connection;

23
import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.util.logging.Logger;

public class customersdetail extends javax.swing.JInternalFrame {

Connection con = null;

PreparedStatement pst = null;

ResultSet rs = null;

public customersdetail() {

initComponents();

con= re.getCon();

@SuppressWarnings("unchecked")

// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-

BEGIN:initComponents

private void initComponents() {

jLabelRollNo = new javax.swing.JLabel();

jLabelStName = new javax.swing.JLabel();

jTextFieldRollNo = new javax.swing.JTextField();

jTextFieldStName = new javax.swing.JTextField();

jButtonSave = new javax.swing.JButton();

24
jButtonPrint = new javax.swing.JButton();

setClosable(true);

setIconifiable(true);

setMaximizable(true);

setResizable(true);

jLabelRollNo.setText("Roll No");

jLabelStName.setText("Student Name");

jButtonSave.setText("Save");

jButtonSave.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jButtonSaveActionPerformed(evt);

});

jButtonPrint.setText("Print");

jButtonPrint.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jButtonPrintActionPerformed(evt);

});

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());

25
getContentPane().setLayout(layout);

layout.setHorizontalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup()

.addContainerGap()

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADIN

G)

.addComponent(jLabelRollNo)

.addComponent(jLabelStName))

.addGap(34, 34, 34)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADIN

G)

.addGroup(layout.createSequentialGroup()

.addComponent(jButtonSave)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addComponent(jButtonPrint))

.addComponent(jTextFieldRollNo, javax.swing.GroupLayout.PREFERRED_SIZE, 59,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jTextFieldStName, javax.swing.GroupLayout.PREFERRED_SIZE,

156, javax.swing.GroupLayout.PREFERRED_SIZE))

26
.addContainerGap(126, Short.MAX_VALUE))

);

layout.setVerticalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup()

.addGap(20, 20, 20)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELI

NE)

.addComponent(jLabelRollNo)

.addComponent(jTextFieldRollNo, javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.PREFERRED_SIZE))

.addGap(18, 18, 18)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELI

NE)

.addComponent(jLabelStName)

.addComponent(jTextFieldStName, javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.PREFERRED_SIZE))

.addGap(36, 36, 36)

27
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELI

NE)

.addComponent(jButtonSave)

.addComponent(jButtonPrint))

.addContainerGap(141, Short.MAX_VALUE))

);

pack();

}// </editor-fold>//GEN-END:initComponents

private void jButtonSaveActionPerformed(java.awt.event.ActionEvent evt) {//GEN-

FIRST:event_jButtonSaveActionPerformed

private void jButtonPrintActionPerformed(java.awt.event.ActionEvent evt) {//GEN-

FIRST:event_jButtonPrintActionPerformed

// Variables declaration - do not modify//GEN-BEGIN:variables

private javax.swing.JButton jButtonPrint;

private javax.swing.JButton jButtonSave;

private javax.swing.JLabel jLabelRollNo;

private javax.swing.JLabel jLabelStName;

private javax.swing.JTextField jTextFieldRollNo;

28
private javax.swing.JTextField jTextFieldStName;

68

// End of variables declaration//GEN-END:variables

package medicalstore.resources;

import java.io.PrintWriter;

import java.io.StringWriter;

import java.sql.Connection;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.util.logging.Level;

import java.util.logging.Logger;

import javax.swing.JOptionPane;

public class ITEMSDETAIL extends javax.swing.JInternalFrame {

Connection con = null;

PreparedStatement pst = null;

ResultSet rs = null;

public ITEMSDETAIL() {

initComponents();

con= re.getCon();

29
}

@SuppressWarnings("unchecked")

// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-

BEGIN:initComponents

private void initComponents() {

jLabelRollNo = new javax.swing.JLabel();

jLabelStName = new javax.swing.JLabel();

jTextFieldRollNo = new javax.swing.JTextField();

jTextFieldStName = new javax.swing.JTextField();

jButtonSave = new javax.swing.JButton();

jButtonPrint = new javax.swing.JButton();

setClosable(true);

setIconifiable(true);

setMaximizable(true);

setResizable(true);

jLabelRollNo.setText("Roll No");

jLabelStName.setText("Student Name");

jButtonSave.setText("Save");

jButtonSave.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

30
jButtonSaveActionPerformed(evt);

});

jButtonPrint.setText("Print");

jButtonPrint.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jButtonPrintActionPerformed(evt);

});

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());

getContentPane().setLayout(layout);

layout.setHorizontalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup()

.addContainerGap()

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADIN

G)

.addComponent(jLabelRollNo)

.addComponent(jLabelStName))

.addGap(34, 34, 34)

31
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADIN

G)

.addGroup(layout.createSequentialGroup()

.addComponent(jButtonSave)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addComponent(jButtonPrint))

.addComponent(jTextFieldRollNo, javax.swing.GroupLayout.PREFERRED_SIZE, 59,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jTextFieldStName, javax.swing.GroupLayout.PREFERRED_SIZE,

156, javax.swing.GroupLayout.PREFERRED_SIZE))

.addContainerGap(126, Short.MAX_VALUE))

);

layout.setVerticalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup()

.addGap(20, 20, 20)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELI

NE)

.addComponent(jLabelRollNo)

32
.addComponent(jTextFieldRollNo, javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.PREFERRED_SIZE))

.addGap(18, 18, 18)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELI

NE)

.addComponent(jLabelStName)

.addComponent(jTextFieldStName, javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.PREFERRED_SIZE))

.addGap(36, 36, 36)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELI

NE)

.addComponent(jButtonSave)

.addComponent(jButtonPrint))

.addContainerGap(141, Short.MAX_VALUE))

);

pack();

}// </editor-fold>//GEN-END:initComponents

33
private void jButtonSaveActionPerformed(java.awt.event.ActionEvent evt) {//GEN-

FIRST:event_jButtonSaveActionPerformed

private void jButtonPrintActionPerformed(java.awt.event.ActionEvent evt) {//GEN-

FIRST:event_jButtonPrintActionPerformed

}//GEN-LAST:event_jButtonPrintActionPerformed

// Variables declaration - do not modify//GEN-BEGIN:variables

private javax.swing.JButton jButtonPrint;

private javax.swing.JButton jButtonSave;

private javax.swing.JLabel jLabelRollNo;

private javax.swing.JLabel jLabelStName;

private javax.swing.JTextField jTextFieldRollNo;

private javax.swing.JTextField jTextFieldStName;

// End of variables declaration//GEN-END:variables

34
package medicalstore.resources;

import java.awt.ScrollPane;

import java.sql.*;

import java.text.DateFormat;

import java.util.Vector;

import java.util.Date;

import java.util.logging.Level;

import javax.swing.JOptionPane;

import javax.swing.JScrollPane;

import javax.swing.table.DefaultTableModel;

import java.util.logging.Logger;

public class BILLING extends javax.swing.JInternalFrame {

private static class JasperDesign {

public JasperDesign() {

private Vector<Vector<String>> data;

private Vector<Vector<String>> data1;

private Vector<String> header;

int tot=0;

35
Connection con=null;

PreparedStatement pst=null;

Statement st=null,stDelete=null;

ResultSet rs = null;

ScrollPane s;

int i_no=0;

private Vector<String> header1=null;

public BILLING() {

try

con= re.getCon();

74

st=con.createStatement();

DCEngin dce = new DCEngin("select * from Item_Master");

data = dce.getData();

header = new Vector<String>();

header.add("item no");

header.add("item Name");

header.add("make");

header.add("rate");

36
header.add("ratio");

header.add("unit");

DummyData dce1 = new DummyData("select * from dummy");

data1 = dce1.getData();

header1 = new Vector<String>();

header1.add("item no");

header1.add("item Name");

header1.add("make");

header1.add("srno");

header1.add("unitprice");

header1.add("quantity");

header1.add("total");

initComponents();

rs=st.executeQuery("select max(Bill_no) from Billinfo");

rs.next();

if(rs!=null)

i_no=rs.getInt(1);

i_no++;

37
else

i_no=1;

bn.setText(""+i_no);

bn.setEditable(false);

pno.setEditable(false);

make.setEditable(false);

unitp.setEditable(false);

ratio.setEditable(false);

unit.setEditable(false);

pname.setEditable(false);

75

subtotal.setEditable(false);

Date d = new Date();

String curDate = "";

DateFormat df=null;

df=DateFormat.getDateInstance(DateFormat.SHORT);

String s1= df.format(d);

datetxt.setText(""+s1);

try {

st=con.createStatement();

38
rs=st.executeQuery("select * from Customer_Master");

while(rs.next())

billto.addItem(""+rs.getString(2));

} catch (Exception ex) {

Logger.getLogger(AddItem.class.getName()).log(Level.SEVERE, null, ex);

}catch(Exception e)

39
FUTURE ANALYSIS:
We have left all the options open so that if there is any other future
requirement in the system by the user for the enhancement of the system then it is
possible to implement them.
In the last we would like to thanks all the persons involved in the development of
the system directly or indirectly. We are also thankful to the Shastri Nagar South
Division Electricity Department for so much taken by them in helping to develop
the system.
We hope that the project will serve its purpose for which it is develop there by
underlining success of process.

40
CONCLUSION

We have tried to develop a system that can be a great help for the owner of the
referred electricity department to receiving bill from the customer. Despite all our
efforts there are some bugs in the system, which are still to be removed. This is
possible by the testing being done in the system.

We have left all the options open so that if there is any other future requirement in
the system by the user for the enhancement of the system then it is possible to
implement them.
In the last we would like to thanks all the persons involved in the development of
the system directly or indirectly. We are also thankful to the Meerut Electricity
Department for so much taken by them in helping to develop the system.
We hope that the project will serve its purpose for which it is develop there by
underlining success of process.

41
Bibliography

Olsen, L. A., Technical writing and professional communication. 2nded. London:

McGraw- Hill companies. p.310-329

Schwalb, K., 2006. Information technology project management

thed. Delhi:

Baba Barkha Nath Printers. p.38-69.

Gerson, S. J. & Gerson, S. M., 2000. Technical Writing process & product.

3rd edition.

Sommerville, I., 2001 Software engineering.

6thed. Delhi: Pearson Education. 2001.

42

S-ar putea să vă placă și