Vous êtes sur la page 1sur 50

A PROJECT REPORT ON

Biometrics Recognition Systems


On fulfillment of Bachelor of Computer Application B.C.A.

Under the guidance of By: Mr. Vikas Sharma Kumar

Submitted

Vijay

B.C.A. VI Sem. Roll No 1000802

DR MPS COLLEGE OF BUSINESS STUDIES, AGRA

(Affiliated to Dr, Bhim Rao Ambedkar University, Agra)

Dr. MPS MEMORIAL COLLEGE OF BUSINESS STUDIES


(Affiliated to Dr, Bhim Rao Ambedkar University, Agra)

CERTIFICATE
This is to certify that the project titled Biometrics Recognition Systems developed by VIJAY KUMAR in partial fulfillment of the requirement for the award of the degree of BACHELOR OF COMPUTER APPLICATION from Dr. BHIM RAO AMBEDKAR UNIVERSITY, AGRA. It is further certified that this submission is an original work submitted earlier whether to Dr. BHIM RAO AMBEDKAR UNIVERSITY, AGRA or any other institution for fulfillment of the requirement of any course of study. Mr. VIKAS SHARMA

HOD-IT Internal Project Guide

Date: Place:

ACKNOWLEDGEMENT
This report acknowledges the intense drive and technical competence of all the individuals who have contributed to its success. Any work of this nature would not have possible without the support and guidance of others around me. Hence, I feel it is my first and foremost duty to express my deep sense of gratitude and pay my genuine and thanks to: Mr. VIKAS SHARMA (HOD IT) for giving me this

opportunity to work on this challenging project. Whenever a complex and complicated problem

confronted by me, spontaneous guidance of all my team members was ever at hand to solve any difficulty.

Last but not the least, I would like to express my thanks to Dr. RAJIV RATAN sir (Director) who has been a huge support throughout.

Priyanka Parashar B.C.A. VI Sem Roll No 900646 Enroll. No 09118678

DECLARATION
I hereby declare that the project titled Biometrics
Recognition Systems submitted for the B.C.A. degree of

DR. BHIM RAO AMBEDKAR UNIVERSITY, AGRA. This is my original work and the project has not formed the basis for the award of any degree, association ship or fellowship or any similar titles.

---------------------Dated: Sign. Of Student Place:


Kumar B.C.A. VI Sem Roll No 1000802

Vijay

CONTENTS

1. Introduction 2. 3. 4. Objective/ Aim System Requirement Introduction & Features of OOPs in JAVA

5. 6. 7. 8. 9. 10.

Future Enhancement DFDs and FLOW Charts Coding Screen Design Conclusion Bibliography

INTRODUCTION
Bank is the place where customers feel the sense of safety for their property. In the bank, customers deposit and withdraw their money. Transaction of money also is a part where customer takes shelter of the bank. Now to keep the belief and trust of customers, there is the positive need for management of the bank, which can handle all this with comfort and ease. Smooth and efficient management affects the satisfaction of the customers and staff members, indirectly. And of course, it encourages management committee in taking some needed decision for future enhancement of the bank.

Now a days, managing a bank is tedious job upto certain limit. So software that reduces the work is essential. Also todays world is a genuine computer world and is getting faster and faster day-byday. Thus, considering above necessities, the software for bank management has became necessary which would be useful in managing the bank more efficiently.

OBJECTIVE
Our software will perform and fulfill all the tasks that any customer would desire. Our motto is to develop a software program for managing the entire bank process related to customer accounts, employee accounts and to keep each every track about their property and their various transaction processes efficiently. Hereby, our main objective is the customers satisfaction considering todays faster world.

SYSTEM REQUIREMENTS
Hardware
CPU RAM Hard Disk Mouse Keyboard : : : : : 486 or above 16 MB or above 1 GB or above Mandatory Mandatory

Software
Platform (Operating System) : Software : MS-DOS and Upper Ver of O.S. JDK1.6.0, Microsoft Access

INTRODUCTION OF JAVA
1. History
Java is a programming language created by James Gosling from Sun Microsystems in 1991. The first public available version of Java (Java 1.0) was released 1995. Over time several version of Java were released which enhanced the language and its libraries. The current version of Java is Java 1.6 also known as Java 6.0. From the Java programming language the Java platform evolved. The Java platform allows that code is written in other languages then the Java programming language and still runs on the Java virtual machine.

2. Overview
The Java programming language consists out of a Java compiler, the Java virtual machine, and the Java class libraries. The Java virtual machine (JVM) is a software implementation of a computer that executes programs like a real machine. The Java compiler translates Java coding into so-called byte-code. The Java virtual machine interprets this byte-code and runs the program. The Java virtual machine is written specifically for a specific operating system. The Java runtime environment (JRE) consists of the JVM and the Java class libraries.

3. Characteristics of Java
The target of Java is to write a program once and then run this program on multiple operating systems. Java has the following properties:

Platform independent: Java programs use the Java virtual machine as abstraction and do not access the operating system directly. This makes Java programs highly portable. A Java program which is standard complaint and follows certain rules can run unmodified all several platforms, e.g. Windows or Linux.

Object-orientated programming language: Except the primitive data types, all elements in Java are objects.

Strongly-typed programming language: Java is strongly-typed, e.g. the types of the used variables must be pre-defined and conversion to other objects is relatively strict, e.g. must be done in most cases by the programmer.

Interpreted and compiled language: Java source code is transfered into byte-code which does not deapend on the target platform. This byte-code will be interpreted by the Java Virtual machine (JVM). The JVM contains a so called Hotspot-Compiler which translates critical byte-code into native code.

Automatic memory management: Java manages the memory allocation and de-allocation for creating new objects. The program does not have direct access to the memory. The so-called garbage collector deletes automatically object to which no active pointer exists.

The Java syntax is similar to C++. Java is case sensitive, e.g. the variables myValue and myvalue will be treated as different variables.

4. Development with Java


The programmer writes Java source code in an text editor which supports plain text. Normally the programmer uses an IDE (integrated development environment) for programming. An IDE support the programmer in the task of writing code, e.g. it provides auto-formatting of the source code, highlighting of the important keywords, etc. At some point the programmer (or the IDE) calls the Java compiler (javac). The Java compiler creates platform independent code which is called bytecode. This byte-code is stored in ".class" files. Bytecode can be executed by the Java runtime environment. The Java runtime environment (JRE) is a program which knows how to run the bytecode on the operating system. The JRE translates the bytecode into native code and executes it, e.g. the native code for Linux is different then the native code for Windows. By default, the compiler puts each class file in the same directory as its source file. You can specify a separate destination directory with -d

FEATURES OF OOPS IN JAVA


Object Oriented Programming or OOP is the technique to create programs based on the real world. Unlike procedural programming, here in the OOP programming model programs are organized around objects and data rather than actions and logic. Objects represent some concepts or things and like any other objects in the real Objects in programming language have certain behavior, properties, type, and identity. In OOP based language the principal aim is to find out the objects to manipulate and their relation between each other. OOP offers greater flexibility and compatibility and is popular in developing larger application. Another important work in OOP is to classify objects into different types according to their properties and behavior. So OOP based software application development includes the analysis of the problem, preparing a solution, coding and finally its maintenance. Java is a object oriented programming and to understand the functionality of OOP in Java, we first need to understand several fundamentals related to objects. These include class, method, inheritance, encapsulation, abstraction, polymorphism etc.

Class - It is the central point of OOP and that contains data and codes with behavior. In Java
everything happens within class and it describes a set of objects with common behavior. The class definition describes all the properties, behavior, and identity of objects present within that class. As far as types of classes are concerned, there are predefined classes in languages like C++ and Pascal. But in Java one can define his/her own types with data and code.

Object -

Objects are the basic unit of object orientation with behavior, identity. As we

mentioned above, these are part of a class but are not the same. An object is expressed by the

variable and methods within the objects. Again these variables and methods are distinguished from each other as instant variables, instant methods and class variable and class methods.

Methods -

We know that a class can define both attributes and behaviors. Again attributes

are defined by variables and behaviors are represented by methods. In other words, methods define the abilities of an object.

Inheritance -

This is the mechanism of organizing and structuring software program.

Though objects are distinguished from each other by some additional features but there are objects that share certain things common. In object oriented programming classes can inherit some common behavior and state from others. Inheritance in OOP allows to define a general class and later to organize some other classes simply adding some details with the old class definition. This saves work as the special class inherits all the properties of the old general class and as a programmer you only require the new features. This helps in a better data analysis, accurate coding and reduces development time.

Abstraction - The process of abstraction in Java is used to hide certain details

and only

show the essential features of the object. In other words, it deals with the outside view of an object (interface).

Encapsulation - This is an important programming concept that assists in separating an


object's state from its behavior. This helps in hiding an object's data describing its state from any further modification by external component. In Java there are four different terms used for hiding data constructs and these are public, private, protected and package. As we know an object can associated with data with predefined classes and in any application an object can know about the

data it needs to know about. So any unnecessary data are not required by an object can be hidden by this process. It can also be termed as information hiding that prohibits outsiders in seeing the inside of an object in which abstraction is implemented.

Polymorphism - It describes the ability of the object in belonging to different types with
specific behavior of each type. So by using this, one object can be treated like another and in this way it can create and define multiple level of interface. Here the programmers need not have to know the exact type of object in advance and this is being implemented at runtime.

FUTURE ENHANCEMENT
For any system, present satisfaction in job is important, but it is also necessary to for see and visualizes the future scope. Future enhancement is necessary for the system as the limitations that cannot be denied today, can be overcome by better technologies.

In the future more software companies will hire this software program because now a days the need for the speed in the day-to-day life has become essential. As competition increases, companies by considering old version, they develop more efficient versions for individual success.

For example, in my project, records of the customer, their transactions are maintained which will be helpful in the future as reference prior to dealings well as evidence. Also limitations can be overcome by better technologies and system can be made more efficient.

DFDs and FLOW CHARTS


CONTEXT LEVEL DFD:-

DEPOSITING MONEY DFD:-

DAILY TRANSACTION DFD:-

DEPOSITING MONEY FLOW CHART:-

DAILY TRANSACTION FLOW CHART:START

Enter account no. for transaction

Search for account no. Account file

If foun d Enter required details for transaction.

Data is saved Account file

END

CODING
import java.awt.*; import java.awt.event.*; import java.awt.FlowLayout; import java.sql.*; import javax.swing.*; public class Bank extends JFrame implements ActionListener { static JLabel label1,label2,label3,sep; static JButton sign,create,deposit,withdraw,trans,balance,close,clear; static JTextField txtA1; static JTextField txtA2; static Connection con; static Statement st1,st2,st3; static ResultSet rs1; int numd; int numf;

int nume; int password; public Bank() { super(" Madv Bank"); setLayout(new FlowLayout()); password = new JLabel("Enter Usere Password: "); add(password);

if (password=="admin" || password="") {

try {

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); con = DriverManager.getConnection ("jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=bank.mdb;DriverID=22}","",""); st1=con.createStatement();

rs1=st1.executeQuery("select * from tab1"); }

catch(Exception e) { System.out.println("there was some error in establishing connection : "+e); } } else { System.out.println("there was some error in establishing connection and Login password: "+e);

} }

sep = new JLabel("Existing User Signin : "); add(sep);

label1 = new JLabel(" Account Number : "); add(label1); txtA1 = new JTextField(15); add(txtA1); label2 = new JLabel(" add(label2); txtA2 = new JTextField(15); add(txtA2); sign=new JButton("SIGN IN"); add(sign); sep = new JLabel(" "); add(sep); sep = new JLabel(" add(sep); sep = new JLabel("New User Signin : "); add(sep); create=new JButton("CREATE ACCOUNT"); add(create); "); Name : ");

sep = new JLabel(" "); add(sep); sep = new JLabel(" add(sep); if (password=="admin") { deposit=new JButton("DEPOSIT"); add(deposit); withdraw=new JButton("WITHDRAW"); add(withdraw); trans=new JButton("TRANSACTION"); add(trans); } balance=new JButton("BALANCE"); add(balance); clear=new JButton("CLEAR"); add(clear); ");

sep = new JLabel(" "); add(sep); close=new JButton("CLOSE"); add(close); create.addActionListener(this); deposit.addActionListener(this); withdraw.addActionListener(this); trans.addActionListener(this); balance.addActionListener(this); clear.addActionListener(this); close.addActionListener(this); sign.addActionListener(this); deposit.setEnabled(false); withdraw.setEnabled(false); trans.setEnabled(false); balance.setEnabled(false); }

public void actionPerformed(ActionEvent e) { if(e.getSource()==create) { String stra = JOptionPane.showInputDialog(null,"Please enter the NAME to open a CURRENT ACCOUNT"); String strb = JOptionPane.showInputDialog(null,"Please enter the ACCOUNT NUMBER"); if(stra==null || strb==null) {

JOptionPane.showMessageDialog(null," Either any one or both the values were left blank"); deposit.setEnabled(false); withdraw.setEnabled(false); trans.setEnabled(false); balance.setEnabled(false); create.setEnabled(true); sign.setEnabled(true);

} else { try { st2=con.createStatement(); String rr="insert into tab1 values('"+stra+"','"+strb+"',0,0,0)"; st2.executeUpdate(rr); st2.close();

JOptionPane.showMessageDialog(null,"ACCOUNT Created Successfully"); txtA1.setText(strb); txtA2.setText(stra); } catch(Exception e2) {

JOptionPane.showMessageDialog(null," There is already a user with same ACCOUNT NUMBER ,Give another ACCOUNT NUMBER "); }

deposit.setEnabled(true); withdraw.setEnabled(true); trans.setEnabled(true); balance.setEnabled(true); create.setEnabled(true); sign.setEnabled(true); } } else if(e.getSource()==sign) { String num=txtA1.getText(); try { st1.close();

st1=con.createStatement(); rs1=st1.executeQuery("Select * from tab1 where AccNum Like '"+num+"'"); rs1.next();

txtA1.setText(rs1.getString("AccNum"));

txtA2.setText(rs1.getString("UserName")); } catch(Exception e2) {

JOptionPane.showMessageDialog(null,"Invalid Account Number"); } deposit.setEnabled(true); withdraw.setEnabled(true); trans.setEnabled(true); balance.setEnabled(true); create.setEnabled(false);

} else if(e.getSource()==deposit) { String strc = JOptionPane.showInputDialog(null,"Please enter the amount to be DEPOSITED"); numd=Integer.parseInt(strc); int numb=Integer.parseInt(txtA1.getText()); if (numd<=0) {

JOptionPane.showMessageDialog(null," NO Amount Deposited"); } else { try { int num,num1;

st3=con.createStatement(); rs1=st3.executeQuery("select * from tab1 where Accnum like '"+txtA1.getText()+"'"); rs1.next();

num1=Integer.parseInt(rs1.getString("Deposit"));

num=Integer.parseInt(rs1.getString("Balance"));

JOptionPane.showMessageDialog(null,"Amount Deposited Successfully , Amount is "+numd); numf=num+numd; num1=num1+numd; st2=con.createStatement(); String ss="update tab1 set Deposit="+num1+" where AccNum="+numb+""; String aa="update tab1 set Balance="+numf+" where AccNum="+numb+""; st2.executeUpdate(ss); st2.executeUpdate(aa); st2.close();

st3.close(); } catch(Exception e2) {

JOptionPane.showMessageDialog(null,"Amount can not be DEPOSITED"); } } } else if(e.getSource()==withdraw) { String strd = JOptionPane.showInputDialog(null,"Please enter the amount to be WITHDRAWN"); nume=Integer.parseInt(strd); int numc=Integer.parseInt(txtA1.getText()); if(numf<=nume) {

JOptionPane.showMessageDialog(null,"Sorry can not Withdraw, no sufficient Balance"); } else { try { int num1; st3=con.createStatement(); rs1=st3.executeQuery("select * from tab1 where Accnum like '"+txtA1.getText()+"'"); rs1.next();

num1=Integer.parseInt(rs1.getString("Withdraw"));

numf=Integer.parseInt(rs1.getString("Balance"));

JOptionPane.showMessageDialog(null,"Amount Withdrawn is "+nume); numf=numf-nume; num1=num1+nume;

st2=con.createStatement(); String pp="update tab1 set Withdraw="+num1+" where AccNum="+numc+""; String pp1="update tab1 set Balance="+numf+" where AccNum="+numc+""; st2.executeUpdate(pp); st2.executeUpdate(pp1); st2.close(); } catch(Exception e2) { JOptionPane.showMessageDialog(null," Can't WITHDRAW "); } } }

else if(e.getSource()==balance) { String num=txtA1.getText();

try {

st3=con.createStatement(); rs1=st3.executeQuery("select * from tab1 where Accnum like '"+num+"'"); rs1.next();

numf=Integer.parseInt(rs1.getString("Balance"));

JOptionPane.showMessageDialog(null,"Balance is "+numf); } catch(Exception e2) {

JOptionPane.showMessageDialog(null," Balance null "); }

} else if(e.getSource()==trans) { String strq = JOptionPane.showInputDialog(null,"Enter the ACCOUNT NUMBER to view the TRANSACTION DONE"); int numk=Integer.parseInt(strq); int numa=Integer.parseInt(txtA1.getText()); if(numk==numa) {

JOptionPane.showMessageDialog(null,"Amount Deposited is "+numd);

JOptionPane.showMessageDialog(null,"Amount Withdrawn is "+nume); } else {

JOptionPane.showMessageDialog(null,"The Account Number is not the same as in the TEXTFIELD"); } }

else if(e.getSource()==clear) { txtA1.setText(""); txtA2.setText(""); deposit.setEnabled(false); withdraw.setEnabled(false); trans.setEnabled(false); balance.setEnabled(false); create.setEnabled(true); sign.setEnabled(true); } else if(e.getSource()==close) { System.exit(0);

} } public static void main(String args[]) { Bank obj = new Bank();

obj.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); obj.setSize(250,320); obj.setVisible(true); }

SCREEN DESIGN

CONCLUSION
Thus we can conclude that we have successfully developed the BANK MANAGEMENT SYSTEM. It has got the following advantages over Manual System: Manual work takes more time and cost due to staff and other materials such as papers and registers. Data retrieval process becomes easy when it is needed, if we use computer management instead of manually. Storage capacity of the computer is also excellent. Generating the invoice by printer using computer is also useful feature. Updating of data is easy in computerized system. Data consistency is required for neat and proper management that is achieved by computer easily. With the help of software, data redundancy reduces as compared to manual. Time is precious and speed is the order of today. Our software supports this statement.

BIBLOGRAPHY
1.The Complete Reference Of JAVA : By Patrick Naughton and Herbert Schildt 2. Object Oriented Programming : Sikkim Manipal University 3. Websites : www.google.com

Vous aimerez peut-être aussi