library automation report
TRANSCRIPT
Library automation System
- 1 -
INTRODUCTION
Library automation System
INTRODUCTIONLibrary is a fast growing organism. The ancient methods of maintaining it are no longer dynamic and efficient. For expeditious retrieval and dissemination of information and better service for the clientele, application of modern techniques has become absolutely indispensable. A properly computerized library will help its users with quick and prompt services. Library automation refers to mechanization of library housekeeping operations predominantly by computerization. Objectives of this study. To develop and updated database of Books and other Resources of the school of Chemistry Library, Bharathidasan University.To implement automated system using Koha Library Integrated Open Source Software, to carry out the charging and discharging functions of the circulation section more effectively.
To provide various search options to know the availability of books in the Library, to generate the list of books due by a particular member and also the overdue charges.Koha is an integrated software system with all the required models for small to very large libraries. It is found that this automation projects will serve as a model for any library.Being an open source, any Library wanted to go for automation for their library housekeeping operations can make use of this software.
The Java Library Automation System is designed & developed for a receipt and issuance of books in the library along with the student’s details. This project gives complete information about the library. We can enter the record of new books and retrieve the details of books available in the library. We can issue the books to the students and maintain their records and can also check how many books are issued and stock available in the library. In this project we can maintain the late fine of students who returns the issued books after the due date. The project is build using JAVA and Access. The zip file contains all the necessary .java, .class, and image files. Following are some main files in this project:
Java Library Automation System is a full-featured suite of applications that smoothly automates all of the day-to-day functions of libraries. Surpass is an effective automation solution for primary and secondary school districts as well as for public, college, corporate, and
- 2 -
Library automation System
specialty libraries. Surpass offers a special package for church libraries too. Surpass Hosting Service offers libraries the ability to put their whole system on-line with no need for in-house servers or IT staff.
Library Solution is TLC's integrated automation system for all sizes and types of libraries. Thousands of public, schools, academic and special library sites worldwide have chosen Library Solution for its expansive, innovative features and minimal system administration. Library Solution also provides the foundation for TLC's next-generation OPACs - including LS2 PAC, LS2 Kids, LS2 Mobile, LS2 Circ, and Textbook Management and Asset Tracking - ensuring long life and great value for your ILS.
Objective of Library automation system
Java Library Automation System is totally computerize
It is very secure all file are secure and book are download at the time
of book so it cannot be leek.
it can be conducted for remote candidates and evaluation of answers can be fully automated for MCQ questions and other essay type questions can be evaluated manually or through automated system.
library can be conducted at any time and does not incur higher cost as traditional book scenario as there is no paper work involved
It will not take more time. The result also be calculate after the book completed
GUI based application which is very easy to use
Overcome the load of booking for checking the answer sheet
There will added extra facility in Library.
- 3 -
Library automation System
- 4 -
Existing System
Library automation System
Existing System
System Analysis is a detailed study of the various operations performed by a system and
their relationships within and outside of the system. Here the key question is- what all
problems exist in the present system? What must be done to solve the problem? Analysis
begins when a user or manager begins a study of the program using existing system.
During analysis, data collected on the various files, decision points and transactions
handled by the present system. The commonly used tools in the system are Data Flow
Diagram, interviews, etc. Training, experience and common sense are required for
collection of relevant information needed to develop the system. The success of the
system depends largely on how clearly the problem is defined, thoroughly investigated
and properly carried out through the choice of solution. A good analysis model should
provide not only the mechanisms of problem understanding but also the frame work of
the solution. Thus it should be studied thoroughly by collecting data about the system.
Then the proposed system should be analyzed thoroughly in accordance with the needs.
System analysis can be categorized into four parts.
System planning and initial investigation
Information Gathering
Applying analysis tools for structured analysis
Feasibility study
Cost/ Benefit analysis.
In our existing system all the transaction of books are done manually, So taking
more time for a transaction like borrowing a book or returning a book and also for
searching of members and books. Another major disadvantage is that to preparing the list
of books borrowed and the available books in the library will take more time, currently it
is doing as a one day process for verifying all records. So after conducting the feasibility
study we decided to make the manual Library management system to be computerized.
- 5 -
Library automation System
- 6 -
Proposed System
Library automation System
PROPOSED SYSTEMProposed system is an automated Library Management System. Through our
software user can add members, add books, search members, search books, update
information, edit information, borrow and return books in quick time. Our proposed
system has the following advantages.
User friendly interface
Fast access to database
Less error
More Storage Capacity
Search facility
Look and Feel Environment
Quick transaction
All the manual difficulties in managing the Library have been rectified by implementing
computerization.
- 7 -
Library automation System
- 8 -
TOOLS/PLATFORM USED:
Library automation System
TOOLS/PLATFORM USED: Front End Java Swing
User friendly GUI Separation of work
(designing & coding)
Written once run anywhere Middle-Tier
Back End MS-ACCESS
Security Performance Scalability Reliability Support RDMS
concepts
- 9 -
Library automation System
Hardware:-Hardware:-
Processor Pentium 4Processor Pentium 4thth
RAM 128MBRAM 128MB
Hard Disk 20GB/40GB.Hard Disk 20GB/40GB.
Software:-Software:-
Operating System Operating System WindowsWindows 98/2000/XP98/2000/XP
Front End Front End jre1.5jre1.5
- 10 -
Library automation System
Back End Back End MS-ACCESSMS-ACCESS
- 11 -
Modules & Description
Library automation System
modules modules Description Description 1.New Book-> This option is mainly used to enter a new book in the database.
2.New Student->This option is uset to enter the data about a student.
3.Issue->This option is used to issue books by just enterind the student id as well as book id.
4.Return->In this option you return as well as reissue books.In this you can use the find buutton after entering the student and book id to get issue date and due date to return book.It will automatically calculate fine for the student.In case of reissue you have to enter the reissue date and next due date and book is reissued by just pressing reissue button.
- 12 -
Library automation System
5.Delete/Update Books->This is used to delete the entry from books database as well as to update the data abt previously stored book.
6.DELETE/UPDATE Student->This is used to delete the entry from student database as well as to update the data abt previously stored student.
7.Search->It is used to search books by selecting a option in combobox.It done search on four basis book id,name of book, subject and department.
8.Usersearch->It is used to search students by entering the id of the student.It is also used to view as well as to pay the fine.
9.Change Password->User can change password by just entering the old password and after pressing check button you can enter the new password and change it by pressing change button and your password has been changed
- 13 -
ANALYSIS
Library automation System
Requirement Analysis At the heart of system analysis is a detailed understanding of all important facets of business area under investigation. (For this reason, the process of acquiring this is often termed the detailed investigation) Analyst, working closely with the employees and managers, must study the business process to answer these key questions:
What is being done? How is it being done? How frequent does it occur? How great is the volume of transaction or decisions? How well is the task being performed? Does a problem exist? If a problem exist, how serious is it? If a problem exists, what is the underlying cause?
- 14 -
Library automation System Requirement analysis relies on fact-finding techniques. These include:
Interview Questionnaires Record inspection On-site observation
Feasibility Study
A feasibility study is conducted to select the best system that meets performance requirement. This entails an identification description, an evaluation of candidate system and the selection of best system for he job. The system required performance is defined by a statement of constraints, the identification of specific system objective and a description of outputs.
The key consideration in feasibility analysis is:
1. Economic Feasibility:
2. Technical Feasibility:
3. Operational Feasibility:
- 15 -
Library automation System
Economical feasibility It looks at the financial aspects of the project. It determines
whether the management has enough resources and budget to invest in the proposed system and the estimated time for the recovery of cost incurred. It also determines whether it is worth while to invest the money in the proposed project. Economic feasibility is determines by the means of cost benefit analysis. The proposed system is economically feasible because the cost involved in purchasing the hardware and the software are within approachable. The personal cost like salaries of employees hired are also nominal, because working in this system need not required a highly qualified professional. The operating-environment costs are marginal. The less time involved also helped in its economical feasibility. It was observed that the organization has already using computers for other purpose, so that there is no additional cost to be incurred for adding this system to its computers.
The backend required for storing other details is also the same database that is Sql. The computers in the organization are highly sophisticated and don’t needs extra components to load the software. Hence the organization can implement the new system without any additional expenditure. Hence, it is economically feasible.
Software Cost :
Manpower Cost :
- 16 -
MS-ACCESS : 15,000/-
J2EE Kit : Free
Library automation System
Technical Feasibility
It is a measure of the practically of a specific technical solution and the availability of technical resources and expertise
The proposed system uses Java as front-end and MS-ACCESS 8.0 as back-end tool.
MS-ACCESS is a popular tool used to design and develop database objects such as table views, indexes.
The above tools are readily available, easy to work with and widely used for developing commercial application.
Hardware used in this project are- p4 processor 2.4GHz, 128 MB RAM, 40 GB hard disk, floppy drive. These hardware were already available on the existing computer system. The software like MS-Access 2003, Web logic Server, Thin Driver, JDK, JSDK, J2EE and operating system WINDOWS-XP’ used were already installed On the existing computer system. So no additional hardware and software were required to purchase and it is technically feasible. The technical feasibility is in employing computers to the organization. The organization is equipped with enough computers so that it is easier for updating. Hence the organization has not technical difficulty in adding this system.
- 17 -
Team cost : 25,000/-
System Cost : 20,000/-
Total Cost : 60,000/-
Library automation System
Tools Used :
1) J2EE Library
2) J2SDK 2.0
3) JDK 1.2
4) MS-ACCESS
Duration of Project:-
Operational Feasibility
The system will be used if it is developed well then be resistance for users that undetermined
No major training and new skills are required as it is based on DBMS model.
It will help in the time saving and fast processing and dispersal of user request and applications.
- 18 -
Time Duration
For study 10 daysDesigning 15 daysFor development 45 daysTesting 10 days
Total time 80 days
Library automation System
New product will provide all the benefits of present system with better performance.
Improved information, better management and collection of the reports.
User support.
User involvement in the building of present system is sought to keep in mind the user specific requirement and needs.
User will have control over there own information. Important information such as pay-slip can be generated at the click of a button.
Faster and systematic processing of user application approval, allocation of IDs, payments, etc. used had greater chances of error due to wrong information entered by mistake.
Behavioral Feasibility
People are inherent to change. In this type of feasibility check, we come to know if the newly developed system will be taken and accepted by the working force i.e. the people who will use it.
- 19 -
Library automation System
- 20 -
Data flow diagrams
Library automation System
DATA FLOW DIAGRAM
Data Flow Diagramming is a means of representing a system at any level of detail with a graphic network of symbols showing data flows, data stores, data processes, and data sources/destination.
The data flow diagram is analogous to a road map. It is a network model of all possibilities with different detail shown on different hierarchical levels. This processes of representing different details level is called “leveling” or “partitioning” by some data flow diagram advocates. Like a road map, there is no starting point or stop point, no time or timing, or steps to get somewhere. We just know that the data path must exist because at some point it will be needed. A road map shows all existing or planned roads because the road is needed.
Details that is not shown on the different levels of the data flow diagram such as volumes, timing, frequency, etc. is shown on supplementary diagrams or in the data dictionary. For bookple, data store contents may be shown in the data dictionary.
Data Flow Diagram (DFD) uses a number of symbols to represent the systems. Data Flow Diagram also known as ‘Bubble Chart’ is used to clarify system requirements and identifying the major transformations that will become programs in system design. So it is the starting point of the design
- 21 -
Library automation Systemphase that functionally decomposes the requirements specifications down to the level of details.
Terms used in DFD
Process
A process transforms data values. The lowest level processes are pure functions without side effects. An entire data flow graphics high level process.
Graphical representation:
Data flows
A data flow connects the output of an object or process to input of another object or process. It represents the intermediate data value within a computation. It is represented by an arrow and labeled with a description of data, usually its name or type.
Actors
- 22 -
Graphical Representation:
Graphical Representation:
Library automation SystemAn actor is active object that drives the data flow graph by producing
or consuming values.
Data store
A data store is a passive object with in a data flow diagram that stores data for later access.
External Entity
A rectangle represents an external entity such as a librarian ,a library member.
Output Symbol
This box represented data production during human computer interaction
- 23 -
Graphical Representation:
Graphical Representation:
Graphical Representation:
Library automation System
DATA FLOW DIAGRAM
- 24 -
Library automation System
- 25 -
Library automation System
E - R DIAGRAM
- 26 -
Library automation System Data Flow Diagramming is a means of representing a system at any level of detail with a graphic network of symbols showing data flows, data stores, data processes, and data sources/destination.
The data flow diagram is analogous to a road map. It is a network model of all possibilities with different detail shown on different hierarchical levels. This processes of representing different details level is called “leveling” or “partitioning” by some data flow diagram advocates. Like a road map, there is no starting point or stop point, any time or timing, or steps to get somewhere. We just know that the data path must exist because at some point it will be needed. A road map shows all existing or planned roads because the road is needed.
Details that is not shown on the different levels of the data flow diagram such as volumes, timing, frequency, etc. is shown on supplementary diagrams or in the data dictionary. For bookple, data store contents may be shown in the data dictionary.
Data Flow Diagram (DFD) uses a number of symbols to represent the systems. Data Flow Diagram also known as ‘Bubble Chart’ is used to clarify system requirements and identifying the major transformations that will become programs in system design. So it is the starting point of the design phase that functionally decomposes the requirements specifications down to the level of details.
- 27 -
Library automation System
(a)(a) E-R E-R DiagramDiagram
- 28 -
Library automation System
DATABASE DESIGN
- 29 -
Library automation SystemThe general theme behind a database is to handle information as an integrated
whole. A database is a collection of interrelated data stored with minimum
redundancy to serve many users quickly and effectively. After designing input and
output, the analyst must concentrate on database design or how data should be
organized around user requirements. The general objective is to make information
access, easy quick, inexpensive and flexible for other users. During database design
the following objectives are concerned:-
Controlled Redundancy
Data independence
Accurate and integrating
More information at low cost
Recovery from failure
Privacy and security
Performance
Ease of learning and use
TABLES USED
- 30 -
Library automation System Table Name: Books
Field Name Data Type Description
BookId AutoNumber Primary Key
Subject Text (30) -
Title Text (30) -
Author Text (25) -
Publisher Text (25) -
Copyright Number -
Edition Number -
Pages Number -
ISBN Text -
NumberOfBooks Number -
NumberOfAvailbleBooks Number -
NumberOfBorrowedBooks Number -
Library Text(25) -
Availble Yes/No -
ShelfNo Number -
Table Name: Borrow
- 31 -
Library automation SystemField Name Data Type Description
BookId Number Primary Key
MemberID Number -
DayOfBorrowed Date/Time -
DayOfReturn Date/Time -
Table Name: Members
Field Name Data Type Description
MemberId AutoNumber Primary Key
ID Number -
Password Text(10) -
NAME Text(25) -
EMAIL Text(25) -
Major Text(10) -
NumberOfBooks Number -
Mony Number -
Expired Date/Time -
- 32 -
Library automation System
- 33 -
Coding
Library automation System
GUI INTERFACE CODING
we make a class Myconnect to provide connection and this class
provide database independency.
//javac -Xlint orkut.java -> will give 3 warnings ignore it
//compile others as usuall
//java MultiServer
//java orkut
//go to new user button only
//in passwd, tables are
//(table) logins
//username city scrapbook sex country firstname lastname password
//(table)friends
//user1 user2 done
//done is of yes/no type
import java.io.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
/**
* Summary description for orkut
*
*/
- 34 -
Library automation System
public class Libraray extends JFrame
{
// Variables declaration
private JLabel jLabel1;
private JLabel jLabel2;
private JLabel jLabel3;
private JLabel jLabel4;
private JTextField jTextField1;
private JPasswordField jPasswordField1;
private JButton jButton1;
private JButton jButton2;
private JPanel contentPane;
public static String currentuser;
public static String viewname;
// End of variables declaration
public orkut()
{
super();
initializeComponent();
//
// TODO: Add any constructor code after
initializeComponent call
//
- 35 -
Library automation System
this.setVisible(true);
}
/**
* This method is called from within the constructor to initialize
the form.
* WARNING: Do NOT modify this code. The content of this
method is always regenerated
* by the Windows Form Designer. Otherwise, retrieving design
might not work properly.
* Tip: If you must revise this method, please backup this GUI
file for JFrameBuilder
* to retrieve your design properly in future, before revising this
method.
*/
private void initializeComponent()
{
jLabel1 = new JLabel();
jLabel2 = new JLabel();
jLabel3 = new JLabel();
jLabel4 = new JLabel();
jTextField1 = new JTextField();
jPasswordField1 = new JPasswordField();
jButton1 = new JButton();
jButton2 = new JButton();
contentPane = (JPanel)this.getContentPane();
- 36 -
Library automation System
new Client("photo"+"us-photo-true");
new Client("photo"+"orkut-only");
//
// jLabel1
//
jLabel1.setBackground(new Color(196, 212, 242));
jLabel1.setOpaque(true);
jLabel1.setText("USERNAME");
//
// jLabel2
//
jLabel2.setBackground(new Color(196, 212, 242));
jLabel2.setOpaque(true);
jLabel2.setText("PASSWORD");
// jLabel3
//
jLabel3.setIcon(new ImageIcon("c:/orkut_java/photos/us-
photo-true.jpg"));
jLabel4.setIcon(new
ImageIcon("c:/orkut_java/photos/orkut-only.jpg"));
//
// jTextField1
- 37 -
Library automation System
//
jTextField1.setBackground(new Color(255, 255, 153));
jTextField1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
jTextField1_actionPerformed(e);
}
});
//
// jPasswordField1
//
jPasswordField1.setBackground(new Color(255, 255,
153));
jPasswordField1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
jPasswordField1_actionPerformed(e);
}
});
//
// jButton1
//
jButton1.setText("login");
jButton1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
- 38 -
Library automation System
{
jButton1_actionPerformed(e);
}
});
//
// jButton2
//
jButton2.setText("new user");
jButton2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
jButton2_actionPerformed(e);
}
});
//
// contentPane
//
contentPane.setLayout(null);
contentPane.setBackground(new Color(196, 212, 242));
addComponent(contentPane, jLabel1, 722,192,71,20);
addComponent(contentPane, jLabel2, 721,253,74,18);
addComponent(contentPane, jLabel3, 74,111,600,400);
addComponent(contentPane, jLabel4, 0,10,1024,60);
addComponent(contentPane, jTextField1,
807,191,167,22);
- 39 -
Library automation System
addComponent(contentPane, jPasswordField1,
808,251,164,22);
addComponent(contentPane, jButton1, 781,315,83,22);
addComponent(contentPane, jButton2, 879,315,90,22);
//
// orkut
//
this.setTitle("orkut - extends JFrame");
this.setLocation(new Point(0, 0));
this.setSize(new Dimension(1024,768 ));
}
/** Add Component Without a Layout Manager (Absolute
Positioning) */
private void addComponent(Container container,Component
c,int x,int y,int width,int height)
{
c.setBounds(x,y,width,height);
container.add(c);
}
//
// TODO: Add any appropriate code in the following Event
Handling Methods
//
private void jTextField1_actionPerformed(ActionEvent e)
- 40 -
Library automation System
{
//System.out.println("\
njTextField1_actionPerformed(ActionEvent e) called.");
// TODO: Add any handling code here
}
private void jPasswordField1_actionPerformed(ActionEvent e)
{
//System.out.println("\
njPasswordField1_actionPerformed(ActionEvent e) called.");
// TODO: Add any handling code here
}
private void jButton1_actionPerformed(ActionEvent e)
{
//System.out.println("\
njButton1_actionPerformed(ActionEvent e) called.");
String strinput="select password from logins where
username='"+jTextField1.getText()+"'";
// //System.out.println(strinput);
Client c=new Client(strinput);
- 41 -
Library automation System
if(c.strrecv!=null &&
(c.strrecv).equals(jPasswordField1.getText()))
{
// //System.out.println("logging in");
currentuser=jTextField1.getText();
new viewprofile(jTextField1.getText());
this.setVisible(false);
}
else {
// //System.out.println(c.strrecv+"no logging in");
new login_failed();
}
// TODO: Add any handling code here
}
private void jButton2_actionPerformed(ActionEvent e)
{
//System.out.println("\
njButton2_actionPerformed(ActionEvent e) called.");
new login();
this.setVisible(false);
- 42 -
Library automation System
//System.out.println("created");
//this.setVisible(false);
// TODO: Add any handling code here
}
//
// TODO: Add any method code to meet your needs in the
following area
//
- 43 -
Library automation System
//============================= Testing
================================//
//= =//
//= The following main method is just for testing this class you
built.=//
//= After testing,you may simply delete it. =//
//===================================================
===================//
public static void main(String[] args)
{
- 44 -
Library automation System
JFrame.setDefaultLookAndFeelDecorated(true);
JDialog.setDefaultLookAndFeelDecorated(true);
try
{
UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.Wind
owsLookAndFeel");
}
catch (Exception ex)
{
//System.out.println("Failed loading L&F: ");
//System.out.println(ex);
}
new orkut();
}
//= End of Testing =
}
/****************************************************************/
/* login */
/* */
/****************************************************************/
import java.awt.*;
- 45 -
Library automation System
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
import java.applet.*;
/**
* Summary description for login
*
*/
public class login extends JFrame
{
// Variables declaration
private login2 nextframe;
private JLabel lang;
private JLabel relig;
private JLabel eid;
private JLabel humour;
private JLabel jLabel1;
private JLabel jLabel2;
private JLabel jLabel3;
private JLabel jLabel4;
private JLabel jLabel5;
private JTextField jTextField3;
private JPasswordField jPasswordField1;
private JPasswordField jPasswordField2;
private JTextField jTextField8;
private JComboBox jComboBox1;
private JComboBox month;
- 46 -
Library automation System
private JComboBox year;
private JComboBox day;
private JButton check;
private JButton create;
private JButton cancel;
private JButton image;
private JLabel title;
private JLabel dob;
private JLabel inte;
private JCheckBox friends;
private JCheckBox activity;
private JCheckBox buisnet;
private JCheckBox h1;
private JCheckBox h2;
private JCheckBox h3;
private JCheckBox h4;
private JCheckBox h5;
private JCheckBox h6;
private JCheckBox h7;
private JTextField tlang;
private JTextField trelig;
private JTextField teid;
private JPanel contentPane;
// End of variables declaration
public login()
- 47 -
Library automation System
{
super();
JFrame.setDefaultLookAndFeelDecorated(true);
JDialog.setDefaultLookAndFeelDecorated(true);
try
{
UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.Wind
owsLookAndFeel");
}
catch (Exception ex)
{
//System.out.println("Failed loading L&F: ");
//System.out.println(ex);
}
initializeComponent();
//
// TODO: Add any constructor code after
initializeComponent call
//
this.setVisible(true);
}
/**
- 48 -
Library automation System
* This method is called from within the constructor to initialize
the form.
* WARNING: Do NOT modify this code. The content of this
method is always regenerated
* by the Windows Form Designer. Otherwise, retrieving design
might not work properly.
* Tip: If you must revise this method, please backup this GUI
file for JFrameBuilder
* to retrieve your design properly in future, before revising this
method.
*/
private void initializeComponent()
{ create=new JButton("Next");
image=new JButton("Image");
cancel=new JButton("Cancel");
lang=new JLabel("Language");
relig=new JLabel("Religion");
eid=new JLabel("E-id");
tlang=new JTextField();
tlang.setBackground(new Color(35,247,21));
trelig=new JTextField();
trelig.setBackground(new Color(35,247,21));
teid=new JTextField();
teid.setBackground(new Color(35,247,21));
humour=new JLabel("Humour");
check=new JButton();
title =new JLabel("WELCOME... TO ....ORKUT");
- 49 -
Library automation System
dob=new JLabel("Date of Birth");
jLabel1 = new JLabel();
jLabel2 = new JLabel();
jLabel3 = new JLabel();
jLabel4 = new JLabel();
jLabel5 = new JLabel();
inte =new JLabel("Interests");
friends = new JCheckBox("Friends");
activity = new JCheckBox("Activity Partners");
buisnet = new JCheckBox("Buissness Networking");
friends.setBackground(new Color(158, 168, 237));
activity.setBackground(new Color(158, 168, 237));
buisnet.setBackground(new Color(158, 168, 237));
jTextField3 = new JTextField();
jPasswordField1 = new JPasswordField();
jPasswordField2 = new JPasswordField();
jTextField8 = new JTextField();
jComboBox1 = new JComboBox();
month = new JComboBox();
year = new JComboBox();
day = new JComboBox();
h1=new JCheckBox("campy/cheesy");
h2=new JCheckBox("clever/quick witted");
h3=new JCheckBox("goofy/slapstick");
h4=new JCheckBox("raunchy");
h5=new JCheckBox("dry/sarcastic");
- 50 -
Library automation System
h6=new JCheckBox("friendly");
h7=new JCheckBox("obscure");
h1.setBackground(new Color(158, 168, 237));
h2.setBackground(new Color(158, 168, 237));
h3.setBackground(new Color(158, 168, 237));
h4.setBackground(new Color(158, 168, 237));
h5.setBackground(new Color(158, 168, 237));
h6.setBackground(new Color(158, 168, 237));
h7.setBackground(new Color(158, 168, 237));
contentPane = (JPanel)this.getContentPane();
month.addItem("Jan");
month.addItem("Feb");
month.addItem("Mar");
month.addItem("Apr");
month.addItem("May");
month.addItem("Jun");
month.addItem("Jul");
month.addItem("Aug");
month.addItem("Sep");
month.addItem("Oct");
month.addItem("Nov");
month.addItem("Dec");
String str;
for(int i=1;i<32;i++)
{ str=Integer.toString(i);
day.addItem(str);
- 51 -
Library automation System
}
for(int i=1900;i<2007;i++)
{ str=Integer.toString(i);
year.addItem(str);
}
//
// jLabel1
//
jLabel1.setText("Username");
//
// jLabel2
//
jLabel2.setText("Password");
//
// jLabel3
//
jLabel3.setText("Confirm Password");
//
// jLabel4
//
jLabel4.setText("Sex");
//
// jLabel5
//
jLabel5.setText("city");
- 52 -
Library automation System
//
// jTextField3
//
jTextField3.setText("");
jTextField3.setBackground(new Color(241, 245, 31));
jTextField3.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
jTextField3_actionPerformed(e);
}
});
//
// jPasswordField1
//
jPasswordField1.setText("");
jPasswordField1.setBackground(new Color(251,59,5));
jPasswordField1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
jPasswordField1_actionPerformed(e);
}
});
//
// jPasswordField2
//
- 53 -
Library automation System
jPasswordField2.setText("");
jPasswordField2.setBackground(new Color(251,59,5));
jPasswordField2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
jPasswordField2_actionPerformed(e);
}
});
//
// jTextField8
//
jTextField8.setText("");
jTextField8.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
jTextField8_actionPerformed(e);
}
});
//
// jComboBox1
//
jComboBox1.addItem("Male");
jComboBox1.addItem("Female");
check.setText("Check");
- 54 -
Library automation System
check.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
// String username=jTextField3.getText();
check_actionPerformed(e);
// Client cl=new Client();
//int c=cl.Processing("checkselect username
from logins where username='"+username+"';");
}
});
image.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
image_actionPerformed(e);
}
});
create.addActionListener(new ActionListener() {
- 55 -
Library automation System
public void actionPerformed(ActionEvent e)
{
create_actionPerformed(e);
}
});
cancel.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
cancel_actionPerformed(e);
}
});
/*jComboBox1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
jComboBox1_actionPerformed(e);
}
});
month.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
month_actionPerformed(e);
- 56 -
Library automation System
}
});
day.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
day.actionPerformed(e);
}
});
year.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
year_actionPerformed(e);
}
}); */
//
// contentPane
//
contentPane.setLayout(null);
addComponent(contentPane, jLabel1, 42,45,60,18);
addComponent(contentPane, check, 350,45,70,18);
addComponent(contentPane, jLabel2, 40,87,60,18);
addComponent(contentPane, jLabel3, 40,132,96,18);
addComponent(contentPane, jLabel4, 42,176,60,18);
addComponent(contentPane, jLabel5, 45,228,60,18);
- 57 -
Library automation System
addComponent(contentPane, jTextField3,
217,45,100,22);
addComponent(contentPane, jPasswordField1,
217,87,100,22);
addComponent(contentPane, jPasswordField2,
218,132,100,22);
addComponent(contentPane, jTextField8,
217,227,100,22);
addComponent(contentPane, jComboBox1,
218,176,100,22);
addComponent(contentPane, month, 218,267,100,22);
addComponent(contentPane, day, 400,267,50,22);
addComponent(contentPane, year, 218,307,100,22);
addComponent(contentPane, title, 150,10,200,22);
addComponent(contentPane, dob, 40,267,100,22);
addComponent(contentPane, inte, 40,347,100,22);
addComponent(contentPane, friends, 218,347,100,22);
addComponent(contentPane, activity, 325,347,150,22);
addComponent(contentPane, buisnet, 218,370,250,22);
addComponent(contentPane, lang, 40,410,100,22);
addComponent(contentPane, tlang, 218,410,100,22);
addComponent(contentPane, relig, 40,440,100,22);
addComponent(contentPane, trelig, 218,440,100,22);
addComponent(contentPane, humour, 40,480,100,22);
addComponent(contentPane, h1, 218,480,100,22);
addComponent(contentPane, h2, 218,500,100,22);
addComponent(contentPane, h3, 218,520,100,22);
- 58 -
Library automation System
addComponent(contentPane, h4, 218,540,100,22);
addComponent(contentPane, h5, 325,480,100,22);
addComponent(contentPane, h6, 325,500,100,22);
addComponent(contentPane, h7, 325,520,100,22);
addComponent(contentPane, image, 40,580,100,22);
addComponent(contentPane, create, 200,580,150,22);
addComponent(contentPane, cancel, 400,580,100,22);
//
// login
//
contentPane.setBackground(new Color(158, 168, 237));
this.setTitle("login - extends JFrame");
this.setLocation(new Point(0, 0));
this.setSize(new Dimension(1024, 768));
}
/** Add Component Without a Layout Manager (Absolute
Positioning) */
private void addComponent(Container container,Component
c,int x,int y,int width,int height)
{
c.setBounds(x,y,width,height);
container.add(c);
}
//
- 59 -
Library automation System
// TODO: Add any appropriate code in the following Event
Handling Methods
//
private void jTextField3_actionPerformed(ActionEvent e)
{
//System.out.println("\
njTextField3_actionPerformed(ActionEvent e) called.");
// TODO: Add any handling code here
}
private void jPasswordField1_actionPerformed(ActionEvent e)
{
//System.out.println("\
njPasswordField1_actionPerformed(ActionEvent e) called.");
// TODO: Add any handling code here
}
private void jPasswordField2_actionPerformed(ActionEvent e)
{
//System.out.println("\
njPasswordField2_actionPerformed(ActionEvent e) called.");
// TODO: Add any handling code here
}
- 60 -
Library automation System
private void jTextField8_actionPerformed(ActionEvent e)
{
//System.out.println("\
njTextField8_actionPerformed(ActionEvent e) called.");
// TODO: Add any handling code here
}
private void jComboBox1_actionPerformed(ActionEvent e)
{
//System.out.println("\
njComboBox1_actionPerformed(ActionEvent e) called.");
Object o = jComboBox1.getSelectedItem();
//System.out.println(">>" + ((o==null)? "null" : o.toString())
+ " is selected.");
// TODO: Add any handling code here for the particular
object being selected
}
private void check_actionPerformed(ActionEvent e)
{
//System.out.println("\
njcheck_actionPerformed(ActionEvent e) called.");
- 61 -
Library automation System
Client cl=new Client("select username from logins where
username='"+jTextField3.getText()+"'");
String ans=cl.strrecv;
if(ans==null) new checkid("!!!!UserName Available!!!!",0);
else new checkid("!!!!UserName Not Available!!!!",1);
}
private void image_actionPerformed(ActionEvent e)
{
//System.out.println("\
njimage_actionPerformed(ActionEvent e) called.");
/*
this.setVisible(false);
new imageupload();
this.setVisible(true);
*/
// new viewprofile(orkut.currentuser);
}
private void create_actionPerformed(ActionEvent e)
{
- 62 -
Library automation System
//System.out.println("\
njcreate_actionPerformed(ActionEvent e) called.");
Client cl=new Client();
cl.Processing("select username from logins where
username='"+jTextField3.getText()+"';");
String ans1=cl.strrecv;
if(ans1==null)
{
String str="insert into logins values('";
String temp;
if(!
jPasswordField1.getText().equals(jPasswordField2.getText()))
new passwd();
else
{
for(int i=0;i<9;i++)
{ switch(i)
{
case 0:str=str+jTextField3.getText()+"','";
//System.out.println(str);
break;
- 63 -
Library automation System
case 1:str=str+jPasswordField1.getText()+"','";
// //System.out.println(str);
break;
case 2:Object o =
jComboBox1.getSelectedItem();
temp=((o==null)? " " : o.toString());
str=str+temp+"','";
// //System.out.println(str);
break;
case 3:str=str+jTextField8.getText()+"','";
//System.out.println("city..............."+str+"end"+"\n"+"\n");
break;
case 4:Object o1 = month.getSelectedItem();
Object o2 = day.getSelectedItem();
Object o3 = year.getSelectedItem();
temp=((o1==null)? "" : o1.toString());
str=str+temp+"/";
temp=((o2==null)? "" : o2.toString());
str=str+temp+"/";
temp=((o3==null)? "" : o3.toString());
str=str+temp+"','";
// //System.out.println(str);
break;
case 5:
- 64 -
Library automation System
temp=((!
friends.isSelected())?"":"Friends,");
// //System.out.println(temp);
str=str+temp;
temp=((!activity.isSelected())?"":"Activity
Partners,");
str=str+temp;
temp=((!
buisnet.isSelected())?"":"Buissness Networking,");
str=str+temp+"','";
// //System.out.println(str);
break;
case 6:str=str+tlang.getText()+"','";
// //System.out.println(str);
break;
case 7:str=str+trelig.getText()+"','";
// //System.out.println(str);
break;
case 8:
temp=((!h1.isSelected())?"
":"campy/cheesy,");
// //System.out.println(temp);
str=str+temp;
temp=((!h2.isSelected())?" ":"clever/quick
witted,");
str=str+temp;
- 65 -
Library automation System
temp=((!h3.isSelected())?"
":"goofy/slapstick,");
str=str+temp;
temp=((!h4.isSelected())?" ":"raunchy,");
str=str+temp;
temp=((!h5.isSelected())?"
":"dry/sarcastic,");
str=str+temp;
temp=((!h6.isSelected())?" ":"friendly,");
str=str+temp;
temp=((!h7.isSelected())?" ":"obscure,");
str=str+temp+"','";
}
}
// //System.out.println(str);
orkut.currentuser= jTextField3.getText();
new Client("newus"+ orkut.currentuser);
nextframe=new login2(str,this,jTextField3.getText());
nextframe.setVisible(true);
this.setVisible(false);
- 66 -
Library automation System
}
}
else new checkid("!!!!UserName Not Available!!!!",1);
}
private void cancel_actionPerformed(ActionEvent e)
{
//System.out.println("\
njcancel_actionPerformed(ActionEvent e) called.");
System.exit(0);
}
//
// TODO: Add any method code to meet your needs in the
following area
//
}
/* Timer class */
class Timer extends Thread implements Runnable{
- 67 -
Library automation System
public Timer(){new Thread(this).start();
}
public void run() {while(start_test){
try { Thread.sleep(1000); seconds++;
if(seconds % 60 == 0 && seconds != 0){ seconds -= 60; minutes++;
}timecounter.setText(" Time Counter:
"+minutes+" mins : "+seconds+" secs ");if(minutes==TIMELIMIT){
start_test=false;endTest();
} }
catch(InterruptedException ex) { System.out.print(ex); }}
}}
/* checkteststatus method */
public void checkteststatus(){if((quesnum == TOTAL-
1)&&(start_test))choice_button[3].setBackground(Color.green);else choice_button[4].setBackground(Color.lightGray);
if(answers[quesnum].length() >0){ for(int i=0; i<answers[quesnum].length(); i++)
boxes[Integer.parseInt(answers[quesnum].substring(i,i+1) )-1].setSelected (true);
}else for(int i=0; i<boxes.length; i+
+)boxes[i].setSelected(false);}
- 68 -
Library automation System
}
/* main method */
public static void main(String [] args){OnlineTest frame = new OnlineTest();frame.setTitle(" "+QuestionSeries.testtitle);frame.setDefaultCloseOperation( EXIT_ON_CLOSE );frame.setVisible(true);
}}
- 69 -
Testing
Library automation System
SYSTEM TESTING
Here the System testing involved is the most widely used testing process consisting of five stages as shown in the figure. In general, the sequence of testing activities is component testing, integration testing, and then user testing. However, as defects are discovered at any one stage, they require program modifications to correct them and this may require other stages in the testing process to be repeated.
- 70 -
Library automation System
(Component testing) (Integration testing) (User testing)
Testing is the process of detecting errors. Testing performs a very critical role for quality assurance and for ensuring the reliability of the software. The results of testing are used later on during maintenance also.
Testing is vital to the success of the system. System testing makes a logical assumption that if the parts of the system are correct, the goal will be successfully achieved. In adequate testing or non-testing leads to errors that may not appear until months or even years later (Remember the New York three day power failures due to a misplaced ‘Break’ statement).
This creates two problems:1. The time lag between the cause and the appearance of the problem.2. The time interval effect of the system errors on files and the records
on the system.
- 71 -
Unit testing
Module testing
Acceptance testing
Sub-system testing
System testing
Library automation SystemA small error can conceivably explode into a much larger problem. Effective testing early in the process translates directly into long term cost savings from a reduced number of errors.
Another reason for system testing is it’s utility as a user oriented vehicle before implementation. The best program is worthless if it does not meet the user requirements. Unfortunately, the user’s demands are often compromised by efforts to facilitate program or design efficiency in terms of processing time or design efficiency.
Thus in this phase we went to test the code we wrote. We needed to know if the code compiled with the design or not? Whether the code gave the desired outputs on given inputs? Whether it was ready to be installed on the user’s computer or some more modifications were needed?
Through the web applications are characteristically different from there software counterparts but the basic approach for testing these web applications is quite similar. These basic steps of testing have been picked from software engineering practices. The following are the steps, we undertook:
1. The content of the Intranet site is reviewed to uncover Content Errors. Content Errors covers the typographical errors, grammatical errors, errors in content consistency, graphical representation and cross referencing errors
2. The design model of the web application is reviewed to uncover the navigation errors. Use cases, derived as a part of the analysis activity allows a web designer to exercise each usage scenario against the architectural and navigational design. In essence these non-executable tests help to uncover the errors in navigation.
- 72 -
Library automation System3. When web applications are considered the concept of unit changes.
Each web page encapsulates content navigation links, content and processing elements (Forms, Scripts, and JSP’s as in our case). It is not always possible to test each of these individually. Thus is the base of the web applications the unit to be considered is the web page. Unlike the testing of the algorithmic details of a module the data that flows across the module interface, page level testing for web applications is driven by content, processing and links encapsulating the web page.
4. The Assembled web application is tested for overall functionality and content delivery. The various user cases are used that test the system for errors and mistakes.
5. The Web application is tested for a variety of environmental settings and is tested for various configurations and upon various platforms.
The modules are integrated and integration test are conducted.
6. Thread based testing is done to monitor the regression tests so that the site does not become very slow is a lot of users are simultaneously logged on.
7. A controlled and monitored population of end users tests Intranet application, this all comprises of the User Acceptance Testing.
Because web applications evolve continuously, the testing process is an ongoing activity, conducted by web support staff in our case the Organization’s IS people who will finally update and manage the
application.
P SYCHOLOGY OF TESTING The aim of testing is often to demonstrate that a program works by
showing that it has no errors. The basic purpose of testing phase is to detect
- 73 -
Library automation Systemthe errors that may be present in the program. Hence one should not start testing with the intent of showing that a program works, but the intent should be to show that a program doesn’t work. Testing is the process of executing a program with the intent of finding errors.
TESTING OBJECTIVES: The main objective of testing is to uncover a host of errors, systematically and with minimum effort and time. Stating formally, we can say,
Testing is a process of executing a program with the intent of finding an error.
A successful test is one that uncovers an as yet undiscovered error. A good test case is one that has a high probability of finding error, if
it exists. The tests are inadequate to detect possibly present errors. The software more or less confirms to the quality and reliable
standards.LEVELS OF TESTING In order to uncover the errors present in different phases, we have the concept of levels of testing. The basic levels of testing are
Client Needs
Acceptance Testing
- 74 -
Library automation System Requirements
System Testing
Design
Integration Testing
Code
Unit Testing
Unit testing
Unit testing focuses verification effort on the smallest unit of software i.e. the module. Using the detailed design and the process specifications, testing is done to uncover errors within the boundary of the module. All modules must be successful in the unit test before the start of the integration testing begins.
In this project each service can be thought of a module. There are so many modules like Login, HR Department, Interviewer Section, etc. Each module has been tested by giving different sets of inputs. When developing the module as well as finishing the development, the module works without any error. The inputs are validated when accepting them from the user.
Integration Testing
After unit testing, we have to perform integration testing. The goal here is to see if modules can be integrated properly, the emphasis being on testing interfaces between modules. This testing activity can be considered as testing the design and hence the emphasis on testing module interactions.
- 75 -
Library automation SystemIn this project the main system is formed by integrating all the
modules. When integrating all the modules I have checked whether the integration effects working of any of the services by giving different combinations of inputs with which the two services run perfectly before Integration.
SYSTEM TESTING
Here the entire software system is tested. The reference document for this process is the requirements document, and the goal is to see if software meets its requirements.
Here entire ‘HRRP’ has been tested against requirements of project and it is
checked whether all requirements of project have been satisfied or not.
ACCEPTANCE TESTING
Acceptance Testing is performed with realistic data of the client to demonstrate that the software is working satisfactorily. Testing here is focused on external behavior of the system; the internal logic of program is not emphasized.
Test cases should be selected so that the largest number of attributes of an equivalence class is exercised at once. The testing phase is an important part of software development. It is the process of finding errors and missing operations and also a complete verification to determine whether the objectives are met and the user requirements are satisfied.
WHITE BOX TESTING
- 76 -
Library automation SystemThis is a unit testing method, where a unit will be taken at a time and
tested thoroughly at a statement level to find the maximum possible errors.
I tested step wise every piece of code, taking care that every statement in the code is executed at least once. The white box testing is also called Glass Box Testing.
I have generated a list of test cases, sample data, which is used to check all possible combinations of execution paths through the code at every module level.
White-box test focuses on the program control structure. Test cases are
derived to ensure that all statement in the program control structure. Test cases
are derived to ensure that all statement in the program control structure. Test
cases are derived to ensure that all statement in the program has been executed
at least once during testing and that all logical conditions have been exercised.
Basis path testing, a white box technique, makes use of program graphs (or
graph matrices) to derive the set of linearly independent test that will ensure
coverage. Condition and data flow testing further exercising degrees of
complexity.
BLACK BOX TESTINGThis testing method considers a module as a single unit and checks the
unit at interface and communication with other modules rather getting into details at statement level. Here the module will be treated as a block that will take some input and generate output. Output for a given set of input combinations are forwarded to other modules. Black-box test are designed to uncover errors functional requirement without regard to the internal workings of a program. Black-box testing techniques focus on the information domain of the software, deriving test cases by partitioning the input and output domain of a program in manner that provides through test coverage. The black-box test is used to demonstrate that software functions are operational, that input is properly
- 77 -
Library automation Systemproduced, and that the integrity of external information are maintained. A black-box test bookines some fundamental aspect of a system with little or no regard for the integral logical structure of the software.
Graph based testing methods explore the relationship between and behavior of program objects. Equivalence partitioning divides the input classes of data are likely to exercise specific software function. Boundary values analysis probes the program’s ability to handle data at the limits of acceptability. TEST INFORMATION FLOW
A strategy for software testing may also be viewed in the context of the spiral. Unit testing begins at the vortex of the spiral and, concentrates on each unit, component of the software as implemented in source code. Testing progresses moving outward along the spiral to integration testing, where the focus is on designed the construction of the software architecture. Taking another turn outward on spiral, Considering the process from a procedural point of view, testing within the context of software engineering is actually a series of four steps that are implemented sequentially. The steps are shown in Figure. Initially, tests focus on each component individually, ensuring that it functions properly as unit. Hence, the name unit testing. Unit testing makes heavy use of white-box testing techniques, exercising specific paths in module’s control structure to ensure complete coverage and maximum error detection.
- 78 -
System Testing
System Engineering
Validation Testing
Integration Testing
Design
Validation testing
Code
Library automation System
System Security
6.3 INFORMATION FLOW OF DATA FOR TESTING
- 79 -
Evaluation
Testing
Reliability Model
Debug
Software Configuration
Test Results
Error Rate Data
Test Configuration
Expected Results
Predicated ReliabilityCorrection
Error
Library automation System
- 80 -
Project Scheduling
Library automation System
PROJECT SCHEDULING
Once we have the estimates of the effort and time requirement for the different phases, a schedule for the project can be prepared. This schedule will be used later to monitor the progress of the project.
The milestones in the system are:
Start of the Project : 20th dec’11 SRS Completion : 10h jan ‘ 12 Requirements Finalization: 15th jan’12 System Design : 25h jan.’12 Detail Design : 30th jan.’12 Coding : 15th feb.12 Unit Testing : 20th feb’12 Test Plan : 28th feb.’12 Testing : 10th march’12
- 81 -
Library automation System
GANTT CHART
- 82 -
Start of the Project
SRS Completion
Requirements Finalization
System Design
Detail Design
Coding
Unit Testing
Test Plan
Testing
Library automation System
- 83 -
IMPLEMENTATION
Dec. Jan. Jan. Feb. Feb. Feb. Mar. Mar.
Time Duration of the Activity Milestones
Library automation System
IMPLEMENTATION
Introduction
System implementation is the stage when the user has thoroughly tested the system and approves all the features provided by the system. The various tests are performed and the system is approved only after all the requirements are met and the user is satisfied.
The new system may be totally new, replacing an existing manual or automated system, or it may be a major modification to an existing system. In either case, proper implementation is essential to provide a reliable system to meet organizational requirements. Successful implementation may not guarantee improvement in the organization using the new system (that is a design question), but improper will prevent it.
Implementation is the process of having systems personnel check out and put new equipment into use, train users, install the new application and construct any files of data needed to use it. This phase is less creative than system design. Depending on the size of the organization that will be involved in using the application and the risk involved in its use, systems developers may choose to test the operation in only one area of the firm with only one or two persons. Sometimes, they will run both old and new system
- 84 -
Library automation Systemin parallel way to com-pare the results. In still other situations, system developers stop using the old system one day and start using the new one the next.
The implementation of the web based or LAN based networked project has some extra steps at the time of implementation. We need to configure the system according the requirement of the software. For the project we need to install and configure Web logic server 8.1 , database server, and the deployment directory for the project.
Aspects of Implementation
The two aspects of implementation are:
Training Personnel Conversion Procedures
TRAINING
Even well designed and technically elegant systems can succeed or fail because of the way they are used. Therefore the quality of the training received by the personnel involved with the system in various ways helps or hinders, and may even prevent, the successful implementation of an information system.
Since, Human Resource Recruitment Process is web-based and user friendly, not much effort was required in training process.
CONVERSION:
Conversion is the process of changing from the old system to the new system. There are two methods of handling systems conversion:
- 85 -
Library automation System Parallel Run Immediate cut-off
Parallel Run
In this approach, the old system and the new system are used simultaneously for some period of time so that the performance of the new system can be monitored and compared with that of the old system. Also in case of failure of the new system, the user can fall back on the old system. The risk of this approach is that the user may never want to shift to new system.
9.2.2.1 Immediate cut-off
In this method, the use of the old system ceases as soon as the new system is implemented and bought in to palace. The old system becomes redundant from the day of implementation of the new system. There is the high risk involved in this approach if the new system is not tested rigorously. This is because of the fact that if the new system fails, then there will not be anything to fall back upon. The advantage of this approach is that both the systems need not be used simultaneously.
Implementation Tools The project was implemented using Java server pages, HTML, Java beans. The implementation work was carried out in Windows XP/2000 server platform.
- 86 -
Library automation System
1) J2EE2) Net beans3) MS-ACCESS
Coding
This means program construction with procedural specifications has finished and the coding for the program begins:
Once the design phase was over, coding commenced
Coding is natural consequence of design.
Coding step translate a detailed design representation of software into a programming language realization.
Main emphasis while coding was on style so that the end result was an optimized code.
The following points were kept into consideration while coding:
Coding Style
The structured programming method was used in all the modules the project. It incorporated the following features
The code has been written so that the definition and implementation of each function is contained in one file.
- 87 -
Library automation System A group of related function was clubbed together in one file to
include it when needed and save us from the labour of writing it again and again.
Naming Convention:-
As the project size grows, so does the complexity of recognizing the purpose of the variables. Thus the variables were given meaningful names, which would help in understanding the context and the purposes of the variable.
The function names are also given meaningful names that can be easily understood by the user.
Indentation
Judicious use of indentation can make the task of reading and understanding a program much simpler. Indentation is an essential part of a good program. If code id intended without thought it will seriously affect the readability of the program.
The higher-level statements like he definition of the variables, constants and the function are intended, with each nested block intended, stating their purpose in the code.
Blank line is also left between each function definition to make the code look neat.
Indentation for each source file stating he purpose of the file is also done.
- 88 -
Library automation System
- 89 -
MAINTENANCE
Library automation System
MAINTENANCE
Maintenance or enhancement can be classified as: -
Corrective Adaptive Perfective.
Corrective maintenance means repairing processing or performance failures or making changes because of previously uncorrected problems or false assumptions.
Adaptive maintenance means changing the program function.
Perfective maintenance means enhancing the performance or modifying the program(s) to respond to the user’s additional or changing needs.
Maintenance is actually the implementation of the post implementation review plan.
As important as it is, many programmers and analysts are reluctant to perform or identify themselves with the maintenance effort. There are psychological, personality and professional reasons for this. In any case, a first class effort must be made to ensure that software changes are made properly and in time to keep the system in tune with user specifications.
- 90 -
Library automation System
Maintenance is costly. One way to reduce maintenance costs is through maintenance management and software modification audits. Software modification consists of program rewrites system level updates, and re-audits of low ranking programs to verify and correct the soft spots.
The outcome should be more reliable software, a reduced maintenance backlog, and higher satisfaction and morale among the maintenance staff.
In HRRP, care has been taken towards maintenance; Loop Holes can be eradicated from the system from time to time according to changing requirements with lesser cost.
- 91 -
Library automation System
- 92 -
Snapshots
Library automation System
SOFTWARE INTERFACEAdd New Book
Listing All Books
- 93 -
Library automation System
Available Books
Borrowed Books
- 94 -
Library automation System
Remove Book
Edit Book Details
- 95 -
Library automation System
Add a Member
Listing all Members
- 96 -
Library automation System
Edit a member
Remove a member
Search for Members and Books
- 97 -
Library automation System
Borrow Books
Returning a Book
List of Issued Books
- 98 -
Library automation System
Reserve a Book
- 99 -
Library automation System
CONCLUSIONS
The interactive orkut interface greatly expands thecapabilities of the assessment offering, and gives candidatesthe benefits of:
Multimedia and Interactive questions. No more handwriting concerns.
The ability to log on and sit their books from any Internet terminal (when supervision is not required).
Real time data backup facility, to prevent loss of work.
What about antiques? One can find an antique quilt that is up for highest bid, or maybe an old violin, whose beautiful tones have enchanted many though its years. Tickets. May be a ticket to the next concert of ones favorite artist or play production. One can even find that special bottle of wine, some aged, exotic cheese, and the perfect ‘mood’ music for that special occasion.
Scope for Future Work
The bookiner who uploads the questions gets an option of specifying whether the questions can be used for practice tests or not.
Communities or groups can be formed for specific Organizations.
- 100 -
Library automation System A variety of analysis options based on different parameters or
combinations of different parameters for faculty/bookiners conducting the test.
Testing and Management of the system are important advanced features that are offered by the proposed system.
FUTURE SCOPE
Providing the SMS alerts facility to users to remove the Dependency on email account (web).
Providing the social media site to express, review and share in The form of Blogs, Photos, Videos, discussions in multiple explosively popular areas of interest such as Movies, Travel , events and much more.
Nurturing the dream of providing Email account facility to users so they can feel the independence of mail account at the same site. The idea of having a Mail account has been dealt in the system but Many more functionalities can be added to it.
DEPENDENCIES
It doesn’t matter how efficiently the application works, if the Bandwidth is not sufficient the transaction will take more time then expected.
MS-ACCESS and MS-ACCESS JDBC-ODBC drivers for connectivity.
Java Web server is required for the application.
- 101 -
Library automation System Although this software is architecturally independent but following Hardware resources are required. For i.e. any IBM compatible PC or any other workstation with mouse support and relevant software.
Limitations
Since, every system has some limitations so our proposed system is also not untouchable in this regard. Although it includes every kind of features, but it can’t be used in a huge organization where number of networks are very large, because the database used in this system is an average one. Also it doesn’t have different kind of access feature for different users.
Though it was planned for this system to be absolutely perfect but everything as such has some limitations, so does the System. Following may be the drawback in this system.
Though this system is developed as a multi user system but it is not a real time system.
The interaction with the database, every time they are loaded thus the system tends to be a bit slow.
- 102 -
Library automation System
- 103 -
APPENDIX-A[Database]
Library automation System
APPENDIX-A
Backend remains on server side and has two components i.e.1. Server side program2. Data Base.
Data base is the most important thing in this universe as data base gives identity to a thing without data base existence of a thing is impossible while working on a project first step is to design a database.
What is data base?
Data Base is a collection of tables and table is a collection of records in a tabular form i.e. in row and columns.
Data Base can be divided into two parts:-
1. RDBMS.
2. DBMS.
We will be using RDBMS (Relational Database Management System) in our project i.e. MS-ACCESS 9i Enterprise edition.
Why we are using MS-ACCESS (RDBMS)?
Some of the merits of using MS-ACCESS (RDBMS) are as under:-
Centralization of database. Client Server Technology. Security. Normalization of Data Base. Relationship.
- 104 -
Library automation System Transaction Processor. It gives some internet related features.
Hence because of these features we are using MS-ACCESS as a back end technology.
ABOUT MS-ACCESS
MS-ACCESS contains all the features of previous version. It also supports some new features & enhancement to some existing features. MS-ACCESS servers provide deficient & effective solution for the major features.
Large Database & Space Management Control Many Concurrent Database Performances High Transaction Processing Performance High Availability Controlled Availability Industry Accepted Standards Manageable Security Database Enforced Integrity Distributed Database System Portability Compatibility Connectivity
NEW FEATURES OF MS-ACCESS
- 105 -
Library automation System Improved Scalability Improved Security Improved Performance via Partition Enhanced Support for Database Replication Capability to Handle a Much Larger Number of
Concurrent Users New & Improved Data Types
- 106 -
APPENDIX-B[Java / j2ee]
Library automation System
APPENDIX-B
What is Middle Ware?
Middle Ware is a concept, Middle Ware provides centralization of business logic
i.e. instead of putting logic on each and every client machine we put logic on a
centralized server hence middle ware is nothing but a server side program where
all your business logic and business methods reside. It remains on server side
and it has all the logical building. Middle ware provides:-
1) Multiple Client access.2) Centralized business logic in case of
distributed application.
Because we are working on Distributed Application Based Project we need
platform independent Language:-
Technology Used
Introduction to Java
Java is a high level, third-generation programming language, like C, Fortran, Perl and many others. It is a platform for distributed computing – a
- 107 -
Library automation Systemdevelopment and run-time environment that cointains built-in support for the World Wide Web.
History of Java
Java development began at Sun Microsystems in 1991, the same year the World Wide Web was conceived. Java’s creator, James Gosling did not design java for the Internet. His Objective was to create a common development environment for consumer electronic devices which was easily portable from one device to another. This effort evolved into a language, code named Oak and later renamed Java that retains much of the syntax and power of c++ , but is simpler and more platform independent.
Java Features
Some of the important features of Java are as follows: Simplicity Orientation Platform Independence Security High Performance Multi Threading Dynamic linking. Garbage Collection.
One of the most important features of Java is Platform Independence which makes it famous and suitable language for World Wide Web.
Why java is Platform Independent?
Java is Platform Independent because of Java Virtual Machine (JVM).
Java Virtual Machine (JVM)
- 108 -
Library automation System
The client application or operating system must have a java byte-code interpreter to execute byte-code instructions. The interpreter is a part of a lager program called the JVM. The JVM interprets the byte code into native code and is available on a platform that supports java.
Connectivity using JDBC
There are four kinds of drivers available in Jdbc:-
1. Jdbc Odbc Bridge Driver.2. Partly Java Driver.3. Pure Java Driver.4. Native Driver.
Client Side Interface:
In client side interface we are using:-
Servlet / JSP – In Internet Based Application.
J2EE Framework and Architecture
J2EE is one of the best solutions that we have had so far for meeting the demand of today’s enterprise. J2EE specifies both the infrastructure for managing our applications, and the service APIs for building our applications.
The J2EE platform is essentially a distributed application-server environment- a java environment that provides the following: -
A set of java extension APIs to build applications. These APIs define a programming model for J2EE applications.
* A run time infrastructure for hosting and managing applications. This is the server runtime in which our applications resides.
- 109 -
Library automation System
The applications that we could develop with the above may be programs to drive web pages, or components to implement complex database transactions, or even java applets, all distributed across the network.
The J2EE Runtime
While J2EE bundles together APIs that have been in existence in one form or another for quite sometime, perhaps its most significant aspect is the abstraction of the runtime infrastructure. The J2EE specification doesn’t specify how a J2EE runtime should or could be built. Instead, J2EE specify roles and interfaces for applications, and the runtime onto which applications could be deployed. This results in a clear demarcation between applications and the runtime infrastructure. This demarcation allow the runtime to abstract most of the infrastructure services that enterprise developers have traditionally attempt to build on their own. As a result, J2EE application developers could just focus on the application logic and related service, while leveraging the runtime for all infrastructure-related services.
Apart from specifying a set of standard APIs, the J2EE architecture also provides a uniform means of accessing platform-level services via its runtime environment. Such service includes distributed transactions, security, messaging etc.
The J2EE APIs Used
Distributed applications require access to a set of enterprise services. Typical services include transaction processing, database access, messaging, multithreading etc. The J2EE architecture unifies access to such services in its enterprise service APIs. However, instead of having to access these service through proprietary or non standard interfaces, application programs in J2EE can access these APIs via the container.
- 110 -
Library automation SystemThere is various API specifications in J2EE framework which enable us to create an application at great speed with minimum effort.
APIs Used To Build the Software
1. JDBC API
The JDBC API provides developers with a way to connect to relational data from within java code. Using the JDBC API, developers can create a client (which can be anything from an applet to an EJB) that can connect to a database, execute structured query language statements, and processes the result of those statements. The API provides connectivity and data access across the range of relational databases. It can do this because it provides a set of generic database access methods for sql compliant relational databases. JDBC generalizes the most common database access functions by abstracting the vendor specific detail of particular database. The result is set of classes and interface, placed in the javax.sql package, which can be used with any database that has an appropriate JDBC drive. This allows JDBC connectivity to be provided in a consistent way for any database. It also means that with a little care to ensure the application confirms to the most commonly available database features, an application can be use with a different database simple by switching to a different JDBC driver. JDBC includes following packages for the means of database accessing and provides various features of the database. The packages are as follows: -
javax.sql Package: -
This package contains classes and interfaces designed with traditional client/server in mind. Its functionality is focused primarily on basic database programming services such as creating connections, executing statements and prepared statements, and running batch queries. Advanced functions
- 111 -
Library automation Systemsuch as batch updates, scrollable result sets, transaction isolation, and sql data types are also available.
javax.sql Package: -
This package introduces sum major architectural change to JDBC programming compared to java. sql package, and provides better abstractions for connections management, distributed transactions, and legacy connectivity. This package also introduces container-managed connection pooling, distributed transactions, and row sets.
- 112 -
Library automation System
- 113 -
BIBILIOGRAPHY
&REFERENCES
Library automation System
BIBILIOGRAPHY
BOOKS
- Java-2 Complete Reference - by Patrick Naughton - Java Swing Programming - by O'Reilly - java for beginner - by Jason Gilliam, Charlton
Try, R.Allen Wyke - MS-ACCESS Sql/plsql - MS-ACCESS
- Java swing projects - by Apress publication.
REFERENCES
http://www.sun.com
http://www.java2.com
http://www.serverside.com
http://www.w3schools.com
http://www.google.com
http://www.webopedia.com
- 114 -