149
Library automation System - 1 - INTRODUCTION

Library Automation Report

Embed Size (px)

Citation preview

Page 1: Library Automation Report

Library automation System

- 1 -

INTRODUCTION

Page 2: Library Automation Report

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 -

Page 3: Library Automation Report

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 -

Page 4: Library Automation Report

Library automation System

- 4 -

Existing System

Page 5: Library Automation Report

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 -

Page 6: Library Automation Report

Library automation System

- 6 -

Proposed System

Page 7: Library Automation Report

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 -

Page 8: Library Automation Report

Library automation System

- 8 -

TOOLS/PLATFORM USED:

Page 9: Library Automation Report

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 -

Page 10: Library Automation Report

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 -

Page 11: Library Automation Report

Library automation System

Back End Back End MS-ACCESSMS-ACCESS

- 11 -

Modules & Description

Page 12: Library Automation Report

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 -

Page 13: Library Automation Report

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

Page 14: Library Automation Report

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 -

Page 15: Library Automation Report

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 -

Page 16: Library Automation Report

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

Page 17: Library Automation Report

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/-

Page 18: Library Automation Report

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

Page 19: Library Automation Report

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 -

Page 20: Library Automation Report

Library automation System

- 20 -

Data flow diagrams

Page 21: Library Automation Report

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 -

Page 22: Library Automation Report

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:

Page 23: Library Automation Report

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:

Page 24: Library Automation Report

Library automation System

DATA FLOW DIAGRAM

- 24 -

Page 25: Library Automation Report

Library automation System

- 25 -

Page 26: Library Automation Report

Library automation System

E - R DIAGRAM

- 26 -

Page 27: Library Automation Report

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 -

Page 28: Library Automation Report

Library automation System

(a)(a) E-R E-R DiagramDiagram

- 28 -

Page 29: Library Automation Report

Library automation System

DATABASE DESIGN

- 29 -

Page 30: Library Automation Report

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 -

Page 31: Library Automation Report

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 -

Page 32: Library Automation Report

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 -

Page 33: Library Automation Report

Library automation System

- 33 -

Coding

Page 34: Library Automation Report

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 -

Page 35: Library Automation Report

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 -

Page 36: Library Automation Report

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 -

Page 37: Library Automation Report

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 -

Page 38: Library Automation Report

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 -

Page 39: Library Automation Report

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 -

Page 40: Library Automation Report

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 -

Page 41: Library Automation Report

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 -

Page 42: Library Automation Report

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 -

Page 43: Library Automation Report

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 -

Page 44: Library Automation Report

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 -

Page 45: Library Automation Report

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 -

Page 46: Library Automation Report

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 -

Page 47: Library Automation Report

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 -

Page 48: Library Automation Report

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 -

Page 49: Library Automation Report

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 -

Page 50: Library Automation Report

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 -

Page 51: Library Automation Report

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 -

Page 52: Library Automation Report

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 -

Page 53: Library Automation Report

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 -

Page 54: Library Automation Report

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 -

Page 55: Library Automation Report

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 -

Page 56: Library Automation Report

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 -

Page 57: Library Automation Report

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 -

Page 58: Library Automation Report

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 -

Page 59: Library Automation Report

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 -

Page 60: Library Automation Report

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 -

Page 61: Library Automation Report

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 -

Page 62: Library Automation Report

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 -

Page 63: Library Automation Report

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 -

Page 64: Library Automation Report

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 -

Page 65: Library Automation Report

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 -

Page 66: Library Automation Report

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 -

Page 67: Library Automation Report

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 -

Page 68: Library Automation Report

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 -

Page 69: Library Automation Report

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

Page 70: Library Automation Report

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 -

Page 71: Library Automation Report

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

Page 72: Library Automation Report

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 -

Page 73: Library Automation Report

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 -

Page 74: Library Automation Report

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 -

Page 75: Library Automation Report

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 -

Page 76: Library Automation Report

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 -

Page 77: Library Automation Report

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 -

Page 78: Library Automation Report

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

Page 79: Library Automation Report

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

Page 80: Library Automation Report

Library automation System

- 80 -

Project Scheduling

Page 81: Library Automation Report

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 -

Page 82: Library Automation Report

Library automation System

GANTT CHART

- 82 -

Start of the Project

SRS Completion

Requirements Finalization

System Design

Detail Design

Coding

Unit Testing

Test Plan

Testing

Page 83: Library Automation Report

Library automation System

- 83 -

IMPLEMENTATION

Dec. Jan. Jan. Feb. Feb. Feb. Mar. Mar.

Time Duration of the Activity Milestones

Page 84: Library Automation Report

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 -

Page 85: Library Automation Report

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 -

Page 86: Library Automation Report

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 -

Page 87: Library Automation Report

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 -

Page 88: Library Automation Report

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 -

Page 89: Library Automation Report

Library automation System

- 89 -

MAINTENANCE

Page 90: Library Automation Report

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 -

Page 91: Library Automation Report

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 -

Page 92: Library Automation Report

Library automation System

- 92 -

Snapshots

Page 93: Library Automation Report

Library automation System

SOFTWARE INTERFACEAdd New Book

Listing All Books

- 93 -

Page 94: Library Automation Report

Library automation System

Available Books

Borrowed Books

- 94 -

Page 95: Library Automation Report

Library automation System

Remove Book

Edit Book Details

- 95 -

Page 96: Library Automation Report

Library automation System

Add a Member

Listing all Members

- 96 -

Page 97: Library Automation Report

Library automation System

Edit a member

Remove a member

Search for Members and Books

- 97 -

Page 98: Library Automation Report

Library automation System

Borrow Books

Returning a Book

List of Issued Books

- 98 -

Page 99: Library Automation Report

Library automation System

Reserve a Book

- 99 -

Page 100: Library Automation Report

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 -

Page 101: Library Automation Report

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 -

Page 102: Library Automation Report

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 -

Page 103: Library Automation Report

Library automation System

- 103 -

APPENDIX-A[Database]

Page 104: Library Automation Report

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 -

Page 105: Library Automation Report

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 -

Page 106: Library Automation Report

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]

Page 107: Library Automation Report

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 -

Page 108: Library Automation Report

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 -

Page 109: Library Automation Report

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 -

Page 110: Library Automation Report

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 -

Page 111: Library Automation Report

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 -

Page 112: Library Automation Report

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 -

Page 113: Library Automation Report

Library automation System

- 113 -

BIBILIOGRAPHY

&REFERENCES

Page 114: Library Automation Report

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 -