The UEF Library Management System is developed based on Java Technology with Java Programming language.. The scope: Currently, the UEF Library Management System is being developed as a
OVERVIEW
The reason to choose this topic
In the real world, not all resources are available on traditional library shelves With this in mind, many libraries have turned towards digital resources for their collections by investing in ebook readers and ebooks Online libraries have become crucial They allow patrons to access a variety of information about a particular topic more quickly than ever before They can find exactly what they need without having to leave their seats while looking into new topics or updating their notes on the go To manage all the library processes efficiently, libraries often need a robust Library Management System In addition, building a library management system also brings benefits such as:
With the above benefits, this is the motivation for us to develop this project.
The targets of this project
The main purpose of this project is to build a library management system capable of storing data of most books in the world.
The contents of research
- Content 1: Learn about the Java language and its libraries
- Content 2: Learn about the Netbeans application and how to use it
- Content 3: Learn how to build the basic program with them
- Content 4: Learn how to build the UEF Library Management System
The scope
Currently, the UEF Library Management System is being developed as a complete library application which include:
+ The functions of registration, account login, user authentication
The layout of the report
This chapter presents the reason to choose topic about the Library Management System, targets, research contents, the cope and the layout of the project
Introduce Java, the library management system as well as its applications
- Chapter 3: Preparing for building the UEF Library Management System
The information about preparing the environment and programming language used for virtual creating the Library Management, System analysis are provided in this chapter
- Chapter 4: Result and Constructing the system of The UEF Library
The steps of installing the modules needed as well as building this project are expressed Besides, the functionalities of the UEF LMS are also revealed The presentation of the results obtained after successfully building it
Summary of results achieved, limitations and future development directions.
THEORETICAL BASIS
Introduction about Java
JAVA was developed by James Gosling at Sun Microsystems Inc in the year
1995, later acquired by Oracle Corporation It is a simple programming language Java makes writing, compiling, and debugging programming easy Java is a class- based, object-oriented programming language and is designed to have as few implementation dependencies as possible Java is guaranteed to be Write Once, Run Anywhere Java is:
+ Object Oriented − In Java, everything is an Object Java can be easily extended since it is based on the Object model
+ Platform Independent − Unlike many other programming languages including C and C++, when Java is compiled, it is not compiled into platform specific machine, rather into platform independent byte code This byte code is distributed over the web and interpreted by the Virtual Machine (JVM) on whichever platform it is being run on
+ Simple − Java is designed to be easy to learn If you understand the basic concept of OOP Java, it would be easy to master
+ Secure − With Java's secure feature it enables to develop virus-free, tamper- free systems Authentication techniques are based on public-key encryption
+ Architecture-neutral − Java compiler generates an architecture-neutral object file format, which makes the compiled code executable on many processors, with the presence of Java runtime system
Java's architecture-neutral design and specification contribute to its portability, allowing it to run on various platforms The Java compiler, written in ANSI C, maintains a clear boundary with POSIX, ensuring portability across different operating systems and hardware environments.
+ Robust − Java makes an effort to eliminate error prone situations by emphasizing mainly on compile time error checking and runtime checking
+ Multithreaded − With Java's multithreaded feature it is possible to write programs that can perform many tasks simultaneously This design feature allows the developers to construct interactive applications that can run smoothly
+ Interpreted − Java byte code is translated on the fly to native machine instructions and is not stored anywhere The development process is more rapid and analytical since the linking is an incremental and light-weight process
+ High Performance − With the use of Just-In-Time compilers, Java enables high performance
+ Distributed − Java is designed for the distributed environment of the internet
+ Dynamic − Java is considered to be more dynamic than C or C++ since it is designed to adapt to an evolving environment Java programs can carry extensive amount of run-time information that can be used to verify and resolve accesses to objects on run-time
Java's origins lie in a set-top box project initiated by James Gosling in 1991 Initially known as "Oak," the language's name evolved through "Green" to "Java," which was chosen from a list of random words.
Sun released the first public implementation as Java 1.0 in 1995 It promised Write Once, Run Anywhere (WORA), providing no-cost run-times on popular platforms
On 13 November, 2006, Sun released much of Java as free and open source software under the terms of the GNU General Public License (GPL)
On 8 May, 2007, Sun finished the process, making all of Java's core code free and open-source, aside from a small portion of code to which Sun did not hold the copyright.
Introduction about The Library Management System
A library management system is an example of an information system An information system, whether it is computerised or not, is a system that represents objects in a physical system, for example, information resources in a library collection The catalogue is a system that represents the actual information resources of a library, whether that representation consists of marks on a card, marks on a microfiche sheet or data stored in a computer
Library management system is a software that uses to maintain the record of the library It contains work like the number of available books in the library, the number of books are issued or returning or renewing a book or late fine charge record, etc Library Management Systems is software that helps to maintain a database that is useful to enter new books & record books borrowed by the members, with the respective submission dates Moreover, it also reduces the manual record burden of the librarian
Library management system allows the librarian to maintain library resources in a more operative manner that will help to save their time It is also convenient for the librarian to manage the process of books allotting and making payment Library management system is also useful for students as well as a librarian to keep the constant track of the availability of all books in a store.
Preparing for building the UEF Library Management System
The environment and programming language
• System requirements: Netbeans Application, MySQL, XAMPP
NetBeans, as an integrated development environment (IDE) for Java, facilitates the creation of applications from modular software components (modules) Its compatibility extends across various operating systems, including Windows, macOS, Linux, and Solaris Beyond Java development, NetBeans offers extensions for PHP, C, C++, HTML5, and JavaScript Furthermore, its open architecture enables third-party developers to extend NetBeans' capabilities, including the NetBeans IDE itself.
MySQL is a fast, easy- -use RDBMS being used for many small and big to businesses MySQL is developed, marketed and supported by MySQL AB, which is a Swedish company MySQL is becoming so popular because of many good reasons −
+ MySQL is released under an open-source license So you have nothing to pay to use it
+ MySQL is a very powerful program in its own right It handles a large subset of the functionality of the most expensive and powerful database packages + MySQL uses a standard form of the well-known SQL data language
+ MySQL works on many operating systems and with many languages including PHP, PERL, C, C++, JAVA, etc
+ MySQL works very quickly and works well even with large data sets
+ MySQL is very friendly to PHP, the most appreciated language for web development
+ MySQL supports large databases, up to 50 million rows or more in a table The default file size limit for a table is 4GB, but you can increase this (if your operating system can handle it) to a theoretical limit of 8 million terabytes (TB)
+ MySQL is customizable The open-source GPL license allows programmers to modify the MySQL software to fit their own specific environments
XAMPP is an abbreviation where X stands for Cross-Platform, A stands for Apache, M stands for MYSQL, and the Ps stand for PHP and Perl, respectively It is an open-source package of web solutions that includes Apache distribution for many servers and command-line executables along with modules such as Apache server, MariaDB, PHP, and Perl
XAMPP helps a local host or server to test its website and clients via computers and laptops before releasing it to the main server It is a platform that furnishes a suitable environment to test and verify the working of projects based on Apache, Perl, MySQL database, and PHP through the system of the host itself Among these technologies, Perl is a programming language used for web development, PHP is a backend scripting language, and MariaDB is the most vividly used database developed by MySQL The detailed description of these components is given below
1.4 The Java Development Kit (JDK)
The Java Development Kit (JDK) is a critical component used in Java programming, alongside the Java Virtual Machine (JVM) and the Java Runtime Environment (JRE) It's essential to discern the differences between these technologies and grasp how they interact to effectively develop and run Java applications.
+ The JVM is the Java platform component that executes programs
+ The JRE is the on-disk part of Java that creates the JVM
+ The JDK allows developers to create Java programs that can be executed and run by the JVM and JRE.
Website Analysis
The UEF Library Management System will manage information of students who borrow books and book information in the library
Library managers can add new books, update book information, and delete books that no longer exist in the library
Library management systems streamline the process of borrowing and returning books They digitally record book information and student borrowing details, including book titles, student names, and transaction dates These systems facilitate efficient tracking and retrieval of library resources.
Students who meet the deadline will go to the library to return books The library manager will update the return information including the student loan code and the loan book code to save in the data history
In addition, library staff can also manage information about students who have borrowed books, including student ID, student name, course and field of study
In the database that stores a history list showing information students have borrowed books, information about books being lent Besides, the system also automatically calculates the number of books being borrowed
- Actors: The diagrams below depict the agents of the UEF Library Management System According to the problem, the system has only one user who is a library manager
- Description: Admin: The system administrator They can add, delete, and edit data about library staff, books in the library, and students who borrow books
+ Provides a facility to verify human-machine communication with the system + Modeling a Use Case
+ For users to understand and communicate with the system
+ As a basis for drafting test specifications
Actor System user, another system or a time event
Actors can provide information only to the system, get information only from the system, or receive information from the system and provide information to the system
Use Case A block of function implemented by the system to produce a result of value to an Actor
Use Case naming convention: verb precedes, noun or phrase follows
Relationship The relationship between the elements in the model
Include A Use Case can have the functionality of another Use Case
Extend Used to refer to elective behaviors (may or may not), behaviors under certain conditions
Generalization The relationship between the elements in the generalized model
Description Librarian want to log in to the LMS to use services from this application
Pre-conditions - User accounts already created
Flow 1 Librarian enter their user name and password
2 System automatically goes to login screen
3 The system successfully authenticates the information and allows the user to place an order
Alternative (Alternative) 3a Librarian who do not have an account, must register to continue managing
3a1 Librarian chooses to create an account 3a2 Librarian enter information 3a3 Select create account
3a4 The system checks all the information and saves it to the system
3a5 Allow librarian to continue to manage library Exception (Exception)
3b Librarian chooses to login, but cancels login 3b1 Librarian chooses to cancel login End of login use case
Post-conditions Librarian successfully login and continue to manage
Use Case Name Manage Book
Description Librarian want to manage books in the application
Pre-conditions - Have a device that can open the application
- Have an internet connection when open application
- User accounts already created Flow 1 Librarian log in successfully
2 Librarian choose book details button
3 Librarian selects the add button
4 Librarian enter the information of the new book
5 Librarian clicks on the save button
6 The system successfully authenticates the information and allows the user to add book
Alternative (Alternative) 3a.Librarian selects the book that they want to edit information 4a Librarian edit the information of book
5a Librarian clicks on the edit button Continue to step 6
3b.Librarian selects the book that they want to delete 5b Librarian clicks on the delete button
Continue to step 6 Exception (Exception) 3c Users chooses to the back button
End of manage book use case Post-conditions Users successfully manage book and continue to use function
Use Case Name Manage Student
Description Librarian want to manage students in the application
Pre-conditions - Have a device that can open the plication ap
- Have an internet connection when open application
- User accounts already created Flow 1 Librarian log in successfully
2 Librarian choose the manage student button
3 Librarian selects the add button
4 Librarian enter the information of the new student
5 Librarian clicks on the save button
6 The system successfully authenticates the information and allows the user to add student
Alternative (Alternative) 3a.Librarian selects the student that they want to edit informat 4a Librarian edit the information of student
5a Librarian clicks on the edit button Continue to step 6
3b.Librarian selects the student that they want to delete 5b Librarian clicks on the delete button
Continue to step 6 Exception (Exception) 3c Users chooses to the back button End of manage student use case Post-conditions Users successfully manage student and continue to use functi
Class diagrams are graphical representations of the static structure of object-oriented systems They depict classes, packages, and their relationships, allowing software developers to visualize and plan the system's architecture Class diagrams serve as a blueprint for the system's design, ensuring that it is well-structured and adheres to object-oriented principles.
+ Class diagrams can contain many different types of classes, they can be regular classes, parameterized classes, implementation classes, utility classes, and metaclasses
➢ Model an object or a concept in the real world
➢ An object has special points such as: Status (state), application (behavior), category (identity)
➢ Are collection objects that share the same properties, processes, and meanings
➢ Is a pattern to create objects
➢ The object is an instance of a layer
+ Package: These are collection classes or related packages
➢ Provide a picture depicting some or all of the layers in the model
➢ Show the structure and handling of one or more classes
➢ Show inheritance relationship between classes
Property Datatype Type Constraint Meaning
PK_BookID int public Primary key ID code of book
BookName varchar public Name of book
Author varchar public Name of author
Quantity int public The number of book
Property Datatype Type Constraint Meaning
PK_StudentID int public Primary key ID code of student
Name varchar public Name of student
Course varchar public Name of course
Branch varchar public Name of branch
Property Datatype Type Constraint Meaning
PK_BookID int public Primary key ID code of book
BookName varchar public Name of book
FK_StudentID int public Foreign key ID code of student
StudentName varchar public Name of student
IssueDate date public The loan start date
DueDate date public The loan finish date
Status varchar public Status of the book
Property Datatype Type Constraint Meaning
PK_ ID int public Primary key ID code of user
Name varchar public Name of user
Password varchar public The secret string of user
Email varchar public The email of user
Contact varchar public The phone number of user
- Sequence diagrams represent interactions of objects in chronological order
- The characteristic of the sequence diagram is to reflect the structure of the class diagram and the order of interactions
- Modeling use cases of use cases
- Explore the logic of a complex math, function, or procedure