PROJECT REPORT (SIX WEEK TRAINING) * LIBRARY MANAGEMENT SYSTEM May-July 2012 DECLARATION I hereby declare that the project work entitled “Library Management System” is an authentic record of my own work carried out at NIIT Delhi, Pitampura Center as requirements of 6-week summer training for the award of degree of B. E. (Computer Science & Engineering), Thapar University, Patiala, under the guidance of Ms. Jyoti , during 28th May, 2012 to 15th July, 2012. Signature of Student 8th November, 2012 Vaibhav Ahlawat Roll Number 101003102 TABLE OF CONTENT SNO. TOPICPAGE NUMBER 1. Acknowledgement3 2. Certificate4 3. Table of Content5 4. Summary of the Project6 5. Introduction to Programming Environment7 6. Project8 7. Designing Phase11 8. Work Program20 9. Screenshots21 10. Testing37 11. Conclusion & Future Scope40 12. Bibliography41 SUMMARY OF THE PROJECT This project entitled “Library Management System” is a Library Management Software for monitoring and controlling the transactions in a library.
This project is developed in Java, which mainly focuses on basic operations in a library like adding new member, new books, and updating new information, searching books and members and facility to borrow and return books. “Library Management System” is a Windows application written for 64-bit Windows Operating System, designed to help users maintain and organize library. This software is easy to use for both beginners and advanced users. It features a familiar and well thought-out, an attractive and easy to use user interface, combined with strong searching, insertion and deletion capabilities.
Users can get to know where the book is placed in library, if book is available or not. He/She can get to know fine due on her by just supplying his/her userID. There are many more similar and simple (but of high need) modules in the software. The software Library Management System has following main modules: * Change of Password * Adding New Member/Adding New Book * Removing A Member/Removing A Book * Issue New Book * Return A book * Reserve A book * Search A User/Book INTRODUCTION TO PROGRAMMING ENVIRONMENT Technologies Used are: 1. Java Java is a platform independent, object-oriented, robust, secure and innovative programming language. * It consist of Two Parts * JVM (Java Virtual Machine), which is software component that is used to execute java programs. * Java API (Application Programming Interface) that consist of inbuilt classes that are used in different programs. 2. Database Programming * JDBC is Java Database Connectivity that is used for communication between database server and a java application. JDBC is a specification and API that is in programming database applications in java. . Windows Programming * Swings: Swings in java is a rich set of components for building GUIs and adding interactivity to java applications. Swing includes all the components that you would expect from a modern GUI toolkit that is table controls, list controls, tree controls, buttons and labels. The basic architecture of swing is MVC. And are entirely made in java. 4. NetBeans : * NetBeans is an integrated development environment (IDE) for developing primarily with Java, but also with other languages, in particular PHP, C/C++, and HTML5.
It is also an application platform framework for Java desktop applications and others. 5. MySQL: * MySQL is the world’s most used open source relational database management system. PROJECT OBJECTIVE: The objective of the system is to * Develop a tool that can be implemented in a library with advantages like User friendly interface, fast access to database, less error, quick transaction, etc. * Develop a tool that can provide authorized access to functions of a library * Develop a tool which can be used to maintain a record of users and books (issued and available both). Develop a tool that can automatically calculate fine on the user if he/she doesn’t timely return the book, on the basis of type of user and book. * Develop a tool that users can use to search for themselves and the books. FUNCTIONS: The software is able to fulfil above objectives through following business procedures: LOGIN: To access the application, users would be required to login through a login screen. After authentication user would be able to access the application according to his/her privileges.
CHANGE OWN PASSWORD: This is important function for all the users as through this module they can change their password any number of times. Password should be changed when the user is provided with a default password. RESET PASSWORD: This function is accessible to staff members only. The importance of this function in software is that a library staff member can change the password of any user when he/she is requested to do so by the latter one. ADDING/REMOVING A BOOK : The library staff members can add new book that are brought to library and can be borrowed by user.
They can also remove any book or its copies depending upon the availability(means lost or not) and condition. ADDING/REMOVING A USER: This interface allows library staff to add a user to library who will now be able to interact with library and its system. The user can be removed by any staff member if he/she leaves college or in any similar situations. ISSUE A BOOK: Through this module, a library staff member can issue a book to a user by just providing user’s id and book’s id as input to the interface. This module on the back end check the availability of book (issued or reserved), fine on user and other things before issuing the book.
RETURN A BOOK: This module takes user’s id and book’s id as input and makes the book available for reissuing to the users. On backend, it checks maximum duration for which user was allowed to keep book and actual date of return. With these entities, fine is calculated and user is informed about it which he/she has to pay before getting any other book issued from library. SEARCH FOR A USER: The user is allowed to search for a user of the software by providing user id to the interface as input. With this thing, the user can get to know about the books issued to the user id with corresponding date of issue.
This is important from returning point of view as on the basis of type of book, user can calculate when he/she has to return the book to keep fine at minimum level. The interface also providers the user with information about fine due on the account of user id provided as input. SEARCH FOR A BOOK: This module is very important as it provides the user with an interface that they can use to search for a book depending upon the selected option. Input must be given corresponding to the selected option. The options include search using bookid, title or author.
The module has been programmed so that full match of input with title or author of book is not required, instead the input should be just a pattern of characters present in the title/author of book. The importance of module lies in the fact that now a user can check the availability of book and place where it is placed in library beforehand. HARDWARE REQUIREMENTS OF PROJECT: * Intel P4 processor with minimum 2. 0 GHz Speed * RAM: Minimum 1GB * Hard Disk: Minimum 20GB * Coloured Monitor SOFTWARE REQUIREMENTS OF PROJECT: * JDK 1. 7NetBeans 7. 1. 1 DatabaseMySQL Database Server 5. 0 * Jdbc Driver for MySQL Database Server mysql-connector-java-5. 1. 7-bin. jar * Operating SystemWindows 7 DESIGNING PHASE ISHIKAWA DIAGRAM: DFD LEVEL 0 DFD LEVEL 1 DFD LEVEL 2 : ISSUE BOOK DFD LEVEL 2: RETURN BOOK DFD LEVEL 2 : SEARCH A USER/BOOK ER DIAGRARM DATABASE TABLES: BOOKAUTHORS: ATTRIBUTES| DATATYPES| Sno(PKey)| Int(10)| Bookid| Int(10)| Author| Varchar(50)| BOOKBORROW: ATTRIBUTES| DATATYPES| Sno (PKey)| Int(10)| Userid| Int(10)| Bookid| Int(10)| Borrowdate| Date| Returnstatus| Int(1)| BOOKRESERVE: ATTRIBUTES| DATATYPES|
Sno (PKey)| Int(10)| Userid| Int(10)| Bookid| Int(10)| Reservetilldate| date| BOOKRETURN: ATTRIBUTES| DATATYPES| Sno (PKey)| Int(10)| Userid| Int(10)| Bookid| Int(10)| Returndate| date| BOOKS: ATTRIBUTES| DATATYPES| Bookid (PKey)| Int(10)| Title| Varchar(50)| Subject| Varchar(50)| Deptno| Int(5)| Publishers| Varchar(1000)| Pages| Int(10)| Shelfno| Int(5)| Type| Int(5)| Edition| Varchar(10)| Totalcopies| Int(5)| Availablecopies| Int(5)| DEPARTMENTS: ATTRIBUTES| DATATYPE| Deptno (PKey)| Int(5)| Deptname| Varchar(50)| SHELVES: ATTRIBUTES| DATATYPE| Shelfno (PKey)| Int(5)|
Shelflocation| Varchar(50)| TYPEOFBOOKS: ATTRIBUTES| DATATYPE| Booktypeno (PKey)| Int(5)| Booktype| Varchar(50)| TYPEOFUSERS: ATTRIBUTES| DATATYPE| Usertypeno (PKey)| Int(5)| Usertype| Varchar(10)| USERS: ATTRIBUTES| DATATYPE| Id| Int(10)| Dateofadding| Date| Dateofexpiry| Date| Status| Int(1)| Name| Varchar(30)| Password| Varchar(50)| Email| Varchar(50)| Fine| Int(5)| Enable| Int(1)| WORK PROGRAM: SNO| Durartion| Work Done| 1. | 28th May 2012 to 10th June 2012| Basics of Java| 2. | 11th June 2012 to 25th June 2012| Multithreading, Exception Handling, Swings, etc. | 3. 26th June 2012 to1st July 2012| JDBC | 4. | 2nd July 2012 to8th July 2012| Project Understanding| 5. | 9th July 2012 to25th July 2012| Project Implementation| SCREENSHOTS: LOGIN PAGE: LOGIN PAGE ON ENTERING WRONG USERID/PASSWORD: AFTER LOGGING IN WITH A STAFF USERID & PASSWORD: AFTER LOGGING IN WITH USERID & PASSWORD OF STUDENT: OPTIONS UNDER DIFFERENT MENUS : CHANGE OWN PASSWORD OTHER POPUPS ON CHANGING PASSWORD: RESSETTING PASSWORD: All pop-ups shown for changing password are also implemented for resetting password. ADDING A BOOK: REMOVE A BOOK: ADD A USER:
REMOVE A USER: ISSUE A BOOK: RETURN A BOOK: RESERVE A BOOK: SEARCH A BOOK: AFTER PROVIDING INPUT TO ABOVE FORM, OUTPUT IS AS: SEARCH A USER: AFTER PROVIDING INPUT TO ABOVE FORM, OUTPUT IS AS: TESTING Testing is the process of executing the program with the intension of finding out errors. During testing, the program to be tested is executed with a set of test cases and the output of the program for the test case is evaluated to determine if the program is performing as it is expected to be. Unit testing is done in which individual software components or modules are tested.
Typically done by the programmer and not by testers, as it requires detailed knowledge of the internal program design and code may require developing test driver modules or test harnesses. T E S T C A S E -1 TEST TYPE : UNIT TESTING INPUT : Login button is pressed by a student after entering his/her dats OBJECTIVE : Checking if the mainframe page opens with fields prohibited for students removed. EXPECTED OUTPUT : Access to mainframe page only with proper menus and fields
ACTUAL OUTPUT : Mainframe for staff opened RESULT : Error in code, i. e. improper checking. Corrected afterwards. T E S T C A S E -2 TEST TYPE : UNIT TESTING INPUT : Click on ResetPassword MenuItem by staff member with non-matching password and its confirmation. OBJECTIVE : Checking if the password of the input userId can be changed with given input. EXPECTED OUTPUT : It should be displayed that passwords don’t match ACTUAL OUTPUT : It was displayed that passwords successfully changed.
RESULT : Error in code, corrected afterwards. T E S T C A S E -3 TEST TYPE : UNIT TESTING INPUT : Click on logout under File menu OBJECTIVE : Checking if the application terminates EXPECTED OUTPUT : Application terminates ACTUAL OUTPUT : Application terminates RESULT : Application terminates and reappearance of Login page, no error T E S T C A S E -4 TEST TYPE : UNIT TESTING INPUT : Clicking on search userbutton with no serid provided as input OBJECTIVE : Checking if the UserDetails shown in the textarea below or not. EXPECTED OUTPUT : Error message that UserId needs to be filled out. ACTUAL OUTPUT : Details for user with UserId 1 are shown. RESULT :Error in code here, database query incorrect. Mended afterwards. CONCLUSION AND FUTURE SCOPE The project ‘Library Management System’ fulfils its already mentioned objectives. It handles the modules of insertion, deletion, issuing, reserving, returning and searching, which are the basic requirements of any library.
It uses one of the most widely used databases across the world – i. e. mySQL and so is easy to be administered. In future, this project can be implemented in a library after modification desired by the administrator of the concerned library. More modules can be added to it like updating a user or a book information. Project can be implemented for online purposes in future. BIBLIOGRAPHY 1. Java 2 The Complete Reference 5Th Ed – Herbert Schildt – 2002 2. www. google. com 3. www. stackoverflow. com 4. dev. mysql. com