Barcode Final Report

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 40

INTRODUCTION

1.1] About Project:


Creation of I-card with barcode through remote system is client server application software purely developed in Java with backend as Microsoft Access.

On Client system:
Login as a Data Entry Operator. Enter Information about Student, Faculty, or Non-teaching staff database on server. View all the records or search for a particular record. and is stored in

On Server system:
Login as an Administrator. View all the records or search for a particular record. Update records on server. Print proper size I-card with barcode for enrollment number for employee Number for faculty and Non-teaching staff I-card.

student

I-card

and

Data Entry Operator can enter information of Student, Faculty or Non-teaching staff along with photo and is stored on server. Records can be viewed from Server machine as well as from client machine. One can get a particular record or set of records by specifying criteria for search. On server side, Administrator can update records. Proper size I-cards can be printed with barcode for security and unique identity. This software makes use of advance features of java such as Swing, Abstract Window Toolkit (AWT), Remote Method Invocation (RMI), and Java Database Connectivity (JDBC).

1.2] Current Market Survey:


Global Information Include offers market intelligence on every topic in the Bar Codes Market including but not limited to latest business trend on Fingerprint and Hand Geometry, Facial and Voice Recognition, Iris and Retina Scan, Signature Recognition, Keystroke Dynamics, Physiological Biometrics, Smart Card, Biometrics , Sensor. We offer market research, industry forecasts, and business analysis in the Biometrics Market as well as other vertical industries. But in that BARCODE we use the storing the information in College.

1.3] Product Overview:


A barcode system is essentially a pattern recognition system which recognizes a user by determining the authenticity of a specific anatomical or behavioral characteristic possessed by the user. Several important issues must be considered in designing a practical barcode system. First, a user must be stored information in the database system so that his data is stored. This data is securely stored in a central database or a barcode card issued to the user. The data is used for matching when an individual needs to be identified. Depending on the context, a barcode system can operate either in verification (authentication) or an identification mode.

1.4] Problem Statement:


Consider a in college, when we want to issue a book then the library care given to the librarian & he gives us a book. There is a very tedious system to store book details & information about the student. Thus all such disadvantages are overcome by barcode it provides security to your system.

1.5] Solution:
Barcode devices use some measurable feature of an individual to locate their identity. The devices are built on the premise that student characteristics are unique and cannot be borrowed, misplaced, forged, stolen, duplicated, or forgotten. There are a number of different students characteristics that can be used in barcode .

1.6] Purpose of Project:


The primary goal of this document is to provide a complete and accurate list of requirements for Barcode System. Upon completion, the document will act as a binding contract between college and student. The document may also be of interest engineers or as a reference for individuals involved in similar projects with similar requirements. The requirements

contained in this document are numbered based on the section/subsection in which they appear. And also can easily maintain data. Our another is make a computerized all college system.

1.7]Objectives of Project:
Provide access to database through remote system Provide security to database Provide security and unique identification through the use of Barcode Provide user friendly interface Provide easy retrieval and updating facility

1.8] Scope of the Project:


This functional, performance, and development requirements for our software application for logon system.

1.9] Functions:
The system shall work on following points: The flow of the system is started from Barcode. All information of student will store into Student Database. Then also store that all information on MS Access.

2.1] FEASIBILITY STUDY

Feasibility and risk analysis are related in many ways. If project risk is great, the feasibility of producing quality software is required.

Types of Feasibility Study: 1) Technical Feasibility 2) Economical Feasibility 3) Operational Feasibility 4) Technology and System Feasibility 5) Legal Feasibility 6) Schedule Feasibility

Other feasibility factors:7) Market and real estate feasibility 8) Regional Feasibility 9) Cultural Feasibility 10) Financial Feasibility

Technical Feasibility: Technical analysis begins with an assessment of the technical viability of the proposed system. What technologies are required to accomplish system function and performance? Which other resources (hardware and software) are available to build the system? The system is developed using Core Java.

As this project is not hardware and software intensive so it can be considered as a tenhnically feasible.

Operational Feasibility:This compiler is very easy to operate for any C Programmer as it is made very user friendly by giving proper names to all actions to be performed on any program. This compiler is easy to handle since new programmer have to just click the right option to perform compilation or any other functions on that program. There is no need of special user training to work with this project as it is very user friendly. Hence, from operational point of view this project is much feasible.

Economic Feasibility:It includes an evaluation of development cost weighted against the ultimate income or benefit derived from the developed system or product. The approximate cost of this project will be definitely less than any other software with this kind of reliability, ease, functionality and feasibility since the application does not require any extra hardware or any supporting software. Software required for this project is just C and Java which is made freely available by Sun Microsystems, this project is definitely economically feasible.

Legal Feasibility:The C Compiler Generator comply with all the Legal requirements of this project ie. this system do not conflicts with any legal requirements. So, from legal point of view this project is much feasible.

Schedule Feasibility:A project will fail if it takes too long to be completed before it is useful. Typically this means estimating how long the system will take to develop, and if it can be completed in a given time period using some methods like payback period. The project of C Compiler completed within its time period as only three phases has to be designed like lexical analyzer, syntactic analyzer and parser. So, we can say this project as schedule feasible too.

.1] MODEL INFORMATION

The model information is shown as a waterfall model. It consists of five phases:-

Activity Diagram:

Library system:

4.1] Main Window:

This is our main window. Here two link labels first is goes to I card creation window. Second is Library management window.

4.2]I Card Creation Window

After Clicking on the I card creation link label then above window is displayed Here, We provide some Menus like New Entry, Report, etc. We also provides some shortcuts like ctrl+s for student Entry Form.

10

Student Information Details

After Clicking on the in Student Form or using shortcut i.e. ctrl + s above window is displayed. Here data entry is done related to student like Name, address, phone no, etc.

This all information is saved into the database.

11

Update Record window:-

After saving the data if we want to some changes then we provides update menu. By using this update menu we can update all record of student, faculty and Non-Faculty staff.

Like update menu we provide report menu also using this we can easily find out any information about student, faculty and Non-Faculty staff.

12

Student record updation:

We can update the information like here address is changed this is updated.

13

Printing I Card

If we want to print I card then click on to Print ID of menu bar and then select appropriate student, faculty and Non-Faculty staff to print id. Then click on OK button to print I card.

Final I card

This is our final I card which is printed.

14

Library Record System

When barcode is scanned then all fields are filled automatically only we need to give the book code and issue date. And store the details of book issue.

15

Books Database

This window shows the books available in library as well as we update new books.

CDs Database:

We can store the information about CDs. 16

5.1] SYSTEM REQUIREMENTS


A] HARDWARE REQUIREMENTS:

Intel Core2Duo Ram 1 GB Hard Disk 320 GB Barcode Reader Device Printer

B] SOFTWARE REQUIREMENTS:-

System: Windows XP MS Access JDK tools

C] TECHNOLOGIES USED:

AWT Swing RMI Technology JDBC

17

About Platform

Front End: Java

Why Java?
Java is steadily becoming the language of choice for new enterprise-wide development projects. A number of factors have lead to this explosion in Javas popularity as a programming language and in particular as a language for large scale development projects.In the space of just a few years, Java grew from a concept into one of the world's dominant computer languages.

In this project we have used the Java as front end language. Java is platform independent with much more advanced features. The reason behind choosing java is its advanced features: Simple Object oriented Portable Distributed High performance Secure Robust Multithreaded and Dynamic language.

Reasons for choosing Java


The Java designers eliminated manual memory allocation and de-allocation. Memory in Java is automatically garbage collected. You never have to worry about memory corruption. They introduced true arrays and eliminated pointer arithmetic. You never have to worry about overwriting an area of memory because of an off-by-one error when working with a pointer. 18

They eliminated the possibility of confusing an assignment with a test for equality in a conditional statement. They eliminated multiple inheritance, replacing it with a new notion of interface that they derived from Objective C. Interfaces give you most of what you want from multiple inheritance, without the complexity that comes with managing multiple inheritance hierarchies.

Back End:
Microsoft Access is one of the most flexible database creation and management software. It uses very compatible format for using databases with Java. The reason behind choosing Microsoft access is its features: Easy storage of data by giving validation criteria. High security of database with password. Easy retrieval and updating of data. Easy retrieval and updating of data.

19

Swing
Swing is a widget toolkit for Java. Swing is set of a class that provides more powerful and flexible component than are possible with the AWT. It is a platform-independent, ModelView-Controller GUI framework for Java. It follows a single-threaded programming model, and possesses the following traits: Platform independence Extensibility Component-oriented Customizable Configurable Lightweight UI Loosely-Coupled/MVC (Model/View/Controller)

Project makes use of following Swing Components:


JLabel JButton JCheckBox JComboBox JRadioButton JFrame JTextField

20

Java Database Connectivity


Java Database Connectivity, a Java API that enables Java programs to execute SQL statements and defines how a client may access a database. JDBC provides methods for querying and updating data in a database. The API provides a mechanism for dynamically loading the correct Java packages and registering them with the JDBC Driver Manager. The Driver Manager is used as a connection factory for creating JDBC connections. JDBC connections support creating and executing statements. These may be update statements such as SQL's CREATE, INSERT, UPDATE and DELETE, or they may be query statements such as SELECT.

JDBC driver:
A JDBC driver is a software component enabling a Java application to interact with a database. To connect with individual databases, JDBC (the Java Database Connectivity API) requires drivers for each database. The JDBC driver gives out the connection to the database and implements the protocol for transferring the query and result between client and database. Type 1 Driver - JDBC-ODBC Bridge Driver: Project makes use of Type 1 Driver - JDBC-ODBC Bridge. The JDBC type 1 driver, also known as the JDBC-ODBC Bridge, is a database driver implementation that employs the ODBC driver to connect to the database. The driver converts JDBC method calls into ODBC function calls. The bridge is usually used when there is no pure-Java driver available for a particular database. The JDBC-ODBC Bridge is platform-dependent. Sun provides a JDBC-ODBC Bridge driver. sun.jdbc.odbc.JdbcOdbcDriver. This driver is native code and not Java, and is closed source.

Fig. JDBC-ODBC Bridge Driver 21

5.2] Barcode
A] What is Barcode?

A barcode is an optical machine-readable representation of data. Originally, bar codes represented data in the widths (lines) and the spacing of parallel lines and may be referred to as linear or 1D (1 dimensional) barcodes. Predefined bar and space patterns or "symbologies" are used to encode small strings of character data into a printed symbol.

The basic structure of barcode generated for enrollment number and employee number of a bar code consists of a leading and trailing quiet zone, a start pattern, one or more data characters, optionally one or two check characters and a stop pattern. It is framed by a start/stop character represented by an asterisk (*).It is variable length symbologies that can encode the following 44 characters:

1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ-. *$/+%.

The primary purpose of a bar code is to identify something by labeling the item with a bar code containing a unique number or character string.

22

B] Implementation of Barcode
Barcode is generated according to the predefined table each for particular alphabet and numbers, which is given as below: 0 "000110100", 1 "100100001", 2 "001100001", 3 "101100000", 4 "000110001", 5 "100110000", 6 "001110000", 7 "000100101", 8 "100100100", 9 "001100100", A "100001001", B "001001001", C "101001000", D "000011001", E "100011000", F "001011000", G "000001101", H "100001100", I "001001100", J "000011100", K "100000011", L "001000011", M "101000010", N "000010011", O "100010010", P "001010010", Q "000000111", R "100000110", S "001000110", T "000010110", U "110000001", V "011000001", W "111000000", X "010010001", Y "110010000", Z "011010000", - "010000101", . "110000100", SPACE"011000100", $ "010101000", / "010100010", + "010001010", % "000101010", * "010010100" ; The above sequence of barcode is generated according to the input taken from the user for separate character or number. In this project when user click on the print button in printed window the barcode is generated for the field enrollment number in the student form and employee number for the faculty and non teaching staff form. Canvas class is used to display the Barcode.

23

C] How barcode work To understand how a barcode scanner work, it is important to first understand how barcodes are produced and being read. Each barcode has specific symbols defined as a series of bars in a barcode. The way to differentiate the barcode is by the height and width as well as the bar spacing. Each strip of bar can represent a number, character or alphanumeric character depending on which type of barcode symbology set is used. Usually a barcode contains a start and end bar to denote the starting and ending point of the barcode. Sometimes, there is an additional bar called the checksum bar. The purpose of the checksum bar is used to determine whether the barcode is correct after calculation and ensures the accuracy of the barcode. The barcode scanner's photosensors can then read the barcodes and convert them to electrical pulses. Since each strip of bar is equivalent to a character, the barcode software can easily convert these electrical pulses into readable text that can be displayed on a monitor. This process is actually very fast and only takes a few milliseconds. Nowadays there are many varieties of barcode scanners models. Their usage depends a lot on the type of industry and the work environment. Examples are desktop models, handheld and portable models. One of the most popular type is the wireless barcode scanner. They connect to the base station or workstations wirelessly and can transmit data back to the terminal as long as they are within the wireless range radius. Wireless barcode scanner are often used in the warehouse industry where workers can easily scan a barcode that can be placed in awkward positions or angles. It is also used in industries where goods are often moving from one location to another. Using a wireless barcode scanner allows freedom of movement and thus more efficient.

24

Calculation:Bar codes were created to help grocery stores speed up the checkout process. UPC bar codes,which stand for 'Universal Product Code' were first used in grocery stores. Every store item needs a different code so that it can be scanned correctly. The last digit of a UPC bar code is called the check digit and is calculated by the other 11 digits. For example, if you were to find the check digit for the UPC code 63938200039...: 1.) Add together all the digits in odd positions (1,3,5,7,9,11) 6 + 9 + 8 + 0 + 0 + 9 = 32 2.) Multiply the number by 3 32 x 3 = 96 3.) Add together all the digits in even positions (2,4,6,8,10) 3 + 3 + 2 + 0 + 3 = 11 4.) Add the sum to the value in Step 2 96 + 11 = 107 5.) Take the answer 107. To create the check digit, determine the number that, when added to the number 107, is a multiple of 107 107 + 3 = 110 So, the check digit is 3.

25

D] A Primer on the Use of Bar Code Technology in Libraries


A bar code symbol is simply an array of bars and spaces, which represent a group of numbers and/or letters. These characters, in turn, typically represent something tangible: a product code, serial number, employee ID, etc. In the case of library applications, the symbol is typically one-of-a-kind and printed on a label, which is applied to library material. This single symbol (data) is related back to a record in a database, which contains all of information related to that book or item, such as title, author, etc. Multiple copies of the same title all get labels with different symbols on them as each title is tracked as a single, unique entity. Once a bar code symbol is applied to a book and the symbol is linked to a database record, the book will circulate through the automated system by scanning the bar code symbol into the computer softwares circulation function. Scanning bar codes is much faster than keying in the data, and infinitely more accurate.

26

5.3] Remote Method Invocation

A] Introduction to RMI
Remote Method Invocation (RMI) enables programmers to create distributed Java-toJava applications, in which the methods of remote Java objects can be invoked from other Java virtual machines, possibly on different hosts. A Java program can make a call on a remote object once it obtains a reference to the remote object, either by looking up the remote object in the bootstrap naming service provided by RMI or by receiving the reference as an argument or a return value. A client can call a remote object in a server, and that server can also be a client of other remote objects.

Client

Server

Stub

Skeleton

Remote Reference Layer

Remote Reference Layer

Transport Layer
Fig: Java RMI Architecture

27

B] Stubs and Skeletons:


RMI uses a standard mechanism (employed in RPC systems) for communicating with remote objects: stubs and skeletons. A stub for a remote object acts as a client's local representative or proxy for the remote object. The caller invokes a method on the local stub which is responsible for carrying out the method call on the remote object. In RMI, a stub for a remote object implements the same set of remote interfaces that a remote object implements.

When a stub's method is invoked, it does the following:


Initiates a connection with the remote JVM containing the remote object, Marshals (writes and transmits) the parameters to the remote JVM, Waits for the result of the method invocation, Unmarshals (reads) the return value or exception returned, and Returns the value to the caller.

When a skeleton receives an incoming method invocation it does the following:


Unmarshals (reads) the parameters for the remote method, Invokes the method on the actual remote object implementation, and

Marshals (writes and transmits) the result (return value or exception) to the caller.

Stubs and skeletons are generated by the RMI compiler.

C] Use of RMI in Project:


The project is implemented as client-server module using Remote Method Invocation (RMI). Client side machine contains all the entry forms along with other forms while server side contains the database tables. To execute project first it is needed to compile project using java compiler and then RMI compiler at the server side. Result of above steps is the generation of stubs and skeletons files. The stubs and skeletons files are copied into client side machine.

28

D] RMI steps:
The server receives a request from client processes it and returns the result. It has following steps: 1. 2. 3. 4. 5. 6. Enter and compile source code. Generate stubs and skeletons. Install files on client and server machine. Start the RMI registry on the server machine. Start the server. Start the client. Client enters information from remote machine and is stored on database on server machine. Client can view all Records as well as Client can give criteria like branch, enrollment no, branch, admission year, designation, etc from client side for searching particular record from database and server provides that record.

29

5.4] Use of IO Stream in Project


A] The Printing Model
The java.awt.print API is easy to use. This application tells the printing system and the printing system what to print and printing system determines when each page rendered. The java.awt.print API is designed so anything that can be rendered through a graphics context represented by a Graphics or Graphics2D object can be printed. A graphics context lets a program paint to a rendering device such as screen, printer. Because swing components are rendered through Graphics object using AWT graphics support, it is easy to print Swing components with new printing API. However AWT components are not rendered through a graphics device, so you must extend AWT component class and implement AWT component paint method.

java.awt.print package
The java.awt.print package contains following interfaces, classes, and exceptions. Interfaces: Pageable Printable PrinterGraphics Classes: Book PageFormat Paper PrinterJob Exceptions: PrinterAbortException PrinterException PrinterIOException

30

5.5] SOFTWARE SPECIFICATION:


Barcode Identification is a Systems for recording storing, matching, and retrieving data, the project puts advances in automatic data recognition . Mainly Barcode act like Enrollment number that cannot be lost forgotten or stolen. if sometime the condition arise like our I card gets lost , in such case we would need to apply for new I card which would rather required long time. Thus all such disadvantages are overcome by barcode it provides security to your system.

5.6] RAM 1 GB:


In our project we can use the 1GB RAM because for run the JDK tools.

5.7] HARD DISK:


For storing the database about overall information in that hard disk.

5.8] Microsoft Access SERVER:


Microsoft Access is one of the most flexible database creation and management software. It uses very compatible format for using databases with Java. The reason behind choosing Microsoft access is its features: Easy storage of data by giving validation criteria. High security of database with password. Easy retrieval and updating of data.

5.9] HARDWARE INTERFACE:


A barcode reader device will be used so the interface to this hardware will be through the drivers of that hardware.

31

TESTING:
Testing is the process of executing the program with the intention of finding the errors .A good test case is one that has probability of detecting previously undiscovered defects following is the testing carried out validation of application for various input combinations.

6.1 UNIT TESTING:


In unit testing, programs is divided into different modules, these modules are tested one by one sequentially. In this testing the important control paths are tested to uncover errors within the boundary of module.

TEST CASE:

Sr. No.

TEST CONDITION

EXPECTED RESULT

ACTUAL RESULT
Same as Expected

To test whether a User is Valid user is valid Access

(through level login) 2

To test whether Proper connection the connection of with SQL is done properly

Same as Expected

To test whether Syntax are written Same as Expected

32

each line is written properly according to the syntax of language 4 To test whether Action the code of Same as Expected

operations corresponding

done by user are production rule is running successfully when any function is working properly

called. 5 To test whether Administrator the screens & are /Student/Staff are interface screens are
working

Same as Expected

working

linked properly 6

To check whether All the external Same as Expected the support like external support features

features functioning Charting properly

Menus are running properly 7 To check for any The user name & Same as Expected type of login the password is shown user name and valid if it is unique is and is greater than than 6 6 characters and than 20 with

password greater

characters is with less

alphabets digits & characters other Characters

Special alphabets digits & other characters special

Table 6.1 Test Cases for Unit Testing 33

6.2 INTEGRATION TESTING:


Integration testing exercises several units that have been combined to form a module, subsystem or system. Integration testing focuses on the interfaces between units, to make sure the units work together.

Top-Down Or Bottom-Up Testing:


In top down system, the control program is tested first, and then modules are integrated from top to bottom. In bottom-up system, the control program is tested first, and then modules are integrated from bottom to top.

TEST CASE:

Sr. NO

TEST CONDITION

EXPECTED RESULT
is

ACTUAL RESULT

1.

To test whether all the Operation operation in a module properly. are working properly.

working Same as expected.

2.

To test whether each Modules module properly. is

are

running Same as expected.

working successfully.

3.

All

modules

display Web pages are displayed Same as expected.

desired web pages as the properly. user wants. 4. To check whether the The access to the system Same as expected. access to the system is as is per the access rights. according to the

predefine access rights.

Table 6.2 Test Cases for Integration Testing

34

6.3] REGRESSION TESTING:


Regression testing is an expensive but necessary activity performed on modified software to provide confidence that changes are correct and do not adversely affects other system components. Because of high probability that one of the bad outcomes will result from changes to the system; it is necessary to do regression system.

TEST CASES:

Sr. NO

TEST CONDITION

EXPECTED RESULT
is

ACTUAL RESULT

1.

To test whether on System

working Same as expected

change in input the properly on changed system properly. is working input.

2.

To test whether whole Input input for the system is properly. properly specified.

is

given Same as expected

3.

To test whether the Valid data is shown Same as expected data entries made in through the interface the data base are

reflected properly in through the interface.

Table 6.3 Test Cases for Regression Testing

35

6.4] PROJECT TESTING:


Any software or project is incomplete without testing, and that to done by the consumers. We also believed in rectifying our project so that we can satisfy the consumer requirements completely. The ways which we adapted to rectify our project were the two basic types of testing plans unit testing and integration testing

6.5] SYSTEM TESTING


In the system testing the entire system is checked whether it is giving the desired output or not . Each of above testing is guided following points A] Specify the Test Condition:

It include the specific scenario condition including RIGHT or WRONG. B] Specify the Expected Result:

It include observable reaction when test condition are exercised including the system has properly handled the situation . C] Testing with Dummy Data: Inputting dummy data does unit and integrated testing. It Is tested whether each modular operation properly at boundary Condition.

36

APPLICATIONS:

1.In School,College & Universities . 2.In Industries/Organization. 3.In Military Offices.

37

FUTURE DEVELOPMENT

1. We can use smart card instead of barcode. 2. We can add Attendance details. 3. We can add Exam details.

38

CONCLUSION
Our aim is to develop an efficient and speedy service system by using Barcode system technique. So we developed such system to prevent many faults and to provide security.

So by using this feature security is provided to a great extent and hence we can reach out to have a far better and organized and protected life ahead. We aim to have a future as beautiful and functional as we ever dream of. So...do you too wish to have such a life..!?? Come and explore it with our technical yet handy and friendly designed service system..!

39

BIBLIOGRAPHY

Web Sites:

www.1000projects.com www.reddodo.com www.sourcecode.com www.bazarkprojects.com


www.aurorabarcode.com

Books:
Software Engineering Pressman book The Complete Reference Java2 Herbert Schildt

40

You might also like