0% found this document useful (0 votes)
24 views38 pages

Library Management Updated PDF

The document is a project report for a Library Management System developed by students of Class XII A at PM Shri Kendriya Vidyalaya No.1, Udaipur, under the guidance of Mr. Vinod Kumar Jatav. It outlines the project's objectives, system development life cycle phases, and includes technical details such as software and hardware used, along with source code. The report emphasizes the importance of automation in library management and showcases the students' efforts in applying programming knowledge to real-world problems.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
24 views38 pages

Library Management Updated PDF

The document is a project report for a Library Management System developed by students of Class XII A at PM Shri Kendriya Vidyalaya No.1, Udaipur, under the guidance of Mr. Vinod Kumar Jatav. It outlines the project's objectives, system development life cycle phases, and includes technical details such as software and hardware used, along with source code. The report emphasizes the importance of automation in library management and showcases the students' efforts in applying programming knowledge to real-world problems.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 38

LIBRARY MANAGEMENT SYSTEM

PROJECT REPORT

Submitted by Under the guidance of


Jasmeet (11726803) Mr. Vinod Kumar Jatav
Rudraksh (11726815) PGT(Comp. Sci.)

Yashvardhan (11726818)
Class : XII A

PM Shri Kendriya Vidyalaya No.1 Pratap Nagar


Udaipur
PM SHRI KENDRIYA VIDYALAYA NO.1
PRATAP NAGAR
UDAIPUR

CERTIFICATE

This is to certify that JASMEET, RUDRAKSH, YASHVARDHAN of


Class XII A has prepared the report on the Project entitled

“LIBRARY MANAGEMENT SYSTEM”

The report is the result of their Efforts and Endeavour. The report
is found worthy of acceptance as the final project report for the
subject computer science of Class XII.

They have prepared the report under my guidance.

(Mr. Vinod Kumar Jatav)​ ​ ​ ​ Principal


PGT (Computer Science)​ ​ ​ ​ ​ KV No 1 Udaipur
Department of Computer Science
PM Shri Kendriya Vidyalaya No. 1,
Pratap Nagar, Udaipur
DECLARATION

We hereby declare that the project work entitled


“Computer science”, submitted to the Department of Computer
Science, PM Shri Kendriya Vidyalaya No. 1 , Pratap Nagar ,
Udaipur is prepared by us. All the coding is the result of our

personal efforts.

JASMEET (11726803)
RUDRAKSH (11726815)
YASHVARDHAN (11726818)

Class XII - A
ACKNOWLEDGEMENT

We would like to express a deep sense of thanks and gratitude


to our project guide Mr. Vinod Kumar Jatav for guiding us
immensely through the course of the project. He always evinced
keen interest in my work. His constructive advice and constant
motivation have been responsible for the successful completion of
this project.

Our sincere thanks goes to Mr. D.B. Singh Our Principal


sir, for his co-ordination in extending every possible support for the
completion of this project.

We also thank our parents for their motivation and support.


We must thank our classmates for their timely help and support for
completion of this project.

Last but not least, We would like to thank all those who had
helped directly and indirectly towards this project.

JASMEET (11726803)
RUDRAKSH (11726815)
YASHVARDHAN (11726818)
CONTENTS

S.NO DESCRIPTION PAGE NO


1 Introduction 6
2 Objectives Of The Project 7
3 Proposed System 8
4 System Development Life Cycle (SDLC) 9
5 Initiation 10
6 Analysis/Concept Development 11
7 Planning 14
8 Requirement Analysis 15
9 Software And Hardware Used 16
10 Design 17
11 Flow Chart 19
12 Database And Tables 20
13 Development/ Coding 21
14 Source Code 22
15 Output 28
16 Testing 33
17 Implementation Phase 35
18 Maintenance 36
19 Conclusion 37
20 Bibliography 38

5
LIBRARY MANAGEMENT SYSTEM

Introduction
The Library Management System is basically a database-based project
done with help of python language. Although it was developed for CBSE
Board Final Practical Exam 2025 but Library Management System
provides all basic functionalities which are needed in a small sized
library. It was developed by keeping in mind the requirements of a
small library which needs automatization of its work of managing
students and book details.

6
Objectives of the Project

The objective of this project is to let the students apply the


programming knowledge into a real- world situation/problem and
expose the students how programming skills helps in developing a good
software.
●​ Write programs utilizing modern software tools.
●​ Apply object-oriented programming principles effectively when
developing small to medium sized projects.
●​ Write effective procedural code to solve small to medium sized
problems.
●​ Students will demonstrate a breadth of knowledge in computer
science, as exemplified in the areas of systems, theory and software
development.
●​ Students will demonstrate ability to conduct a research or applied
Computer Science project, requiring writing and presentation skills
which exemplify scholarly style in computer science.

7
PROPOSED SYSTEM
Today one cannot afford to rely on the fallible human beings who
really want to stand against today’s merciless competition where not too
wise saying “to err is human” is no longer valid, it’s outdated to
rationalize your mistake. So, to keep pace with time, to bring about the
best result without malfunctioning and greater efficiency so to replace
the unending heaps of flies with a much-sophisticated hard disk of the
computer.

One has to use the data management software. Software has been
an ascent in atomization in various organisations. Many software
products working are now in markets, which have helped in making the
organizations work easier and efficiently. Data management initially
had to maintain a lot of ledgers and a lot of paperwork had to be done
but now software products in this organization have made their work
faster and easier. Now only this software has to be loaded on the
computer and work can be done.

This prevents a lot of time and money. The work becomes fully
automated and any information regarding the organization can be
obtained by clicking the button. Moreover, now it’s an age of computers
and automating such an organization gives a better look.





8
SYSTEM DEVELOPMENT LIFE CYCLE
(SDLC)

The systems development life cycle is a project management technique


that divides complex projects into smaller, more easily managed
segments or phases. Segmenting projects allows managers to verify the
successful completion of project phases before allocating resources to
subsequent phases.
Software development projects typically include initiation,
planning, design, development, testing, implementation, and
maintenance phases. However, the phases may be divided differently
depending on the organization involved.
For example, initial project activities might be designated as
request, requirements-definition, and planning phases, or initiation,
concept-development, and planning phases. End users of the system
under development should be involved in reviewing the output of each
phase to ensure the system is being built to deliver the needed
functionality.

9
PHASES OF SYSTEM DEVELOPMENT LIFE
CYCLE
Initiation Phase
The Initiation Phase begins when a business sponsor identifies a need
or an opportunity.
The purpose of the Initiation Phase is to:
●​ Identify and validate an opportunity to improve business
accomplishments of the organization or a deficiency related to a
business need.
●​ Identify significant assumptions and constraints on solutions to
that need.
●​ Recommend the exploration of alternative concepts and methods
to satisfy the need including questioning the need for technology,
i.e., will a change in the business process offer a solution?
●​ Assure executive business and executive technical sponsorship.
The Sponsor designates a Project Manager and the business need
is documented in a Concept Proposal. The Concept Proposal
includes information about the business process and the
relationship to the Agency/Organization.
●​ Infrastructure and the Strategic Plan. A successful Concept
Proposal results in a Project Management Charter which outlines
the authority of the project manager to begin the project.

Careful oversight is required to ensure projects support strategic


business objectives and resources are effectively implemented into an
organization's enterprise architecture. The initiation phase begins when
an opportunity to add, improve, or correct a system is identified and
formally requested through the presentation of a business case. The
business case should, at a minimum, describe a proposal’s purpose,
identify expected benefits, and explain how the proposed system
supports one of the organization’s business strategies. The business case
should also identify alternative solutions and detail as many
informational, functional, and network requirements as possible.​

10
SYSTEM CONCEPT DEVELOPMENT PHASE

The System Concept Development Phase begins after a business need


or opportunity is validated by the Agency/Organization Program
Leadership and the Agency/Organization CIO.

The purpose of the System Concept Development Phase is to:

●​ Determine the feasibility and appropriateness of the alternatives.

●​ Identify system interfaces.

●​ Identify basic functional and data requirements to satisfy the


business need.

●​ Establish system boundaries; identify goals, objectives, critical


success factors, and performance measures.

●​ Evaluate costs and benefits of alternative approaches to satisfy


the basic functional requirements.

●​ Assess project risks

●​ Identify and initiate risk mitigation actions, and Develop


high-level technical architecture, process models, data models, and
a concept of operations. This phase explores potential technical
solutions within the context of the business need.

●​ It may include several trade-off decisions such as the decision to


use COTS software products as opposed to developing custom
software or reusing software components, or the decision to use an
incremental delivery versus a complete, onetime deployment.

11
●​ Construction of executable prototypes is encouraged to evaluate
technology to support the business process. The System Boundary
Document serves as an important reference document to support
the Information Technology Project Request (ITPR) process.

●​ The ITPR must be approved by the State CIO before the project
can move forward.

12
PICTORIAL REPRESENTATION OF SDLC

13
PLANNING PHASE

The planning phase is the most critical step in completing development,


acquisition, and maintenance projects. Careful planning, particularly in
the early stages of a project, is necessary to coordinate activities and
manage project risks effectively. The depth and formality of project
plans should be commensurate with the characteristics and risks of a
given project. Project plans refine the information gathered during the
initiation phase by further identifying the specific activities and
resources required to complete a project.
A critical part of a project manager’s job is to coordinate
discussions between user, audit, security, design, development, and
network personnel to identify and document as many functional,
security, and network requirements as possible. During this phase, a
plan is developed that documents the approach to be used and includes
a discussion of methods, tools, tasks, resources, project schedules, and
user input. Personnel assignments, costs, project schedule, and target
dates are established.
A Project Management Plan is created with components related to
acquisition planning, configuration management planning, quality
assurance planning, concept of operations, system security, verification
and validation, and systems engineering management planning.

14
REQUIREMENTS ANALYSIS PHASE

This phase formally defines the detailed functional user


requirements using high-level requirements identified in the Initiation,
System Concept, and Planning phases. It also delineates the
requirements in terms of data, system performance, security, and
maintainability requirements for the system. The requirements are
defined in this phase to a level of detail sufficient for systems design to
proceed. They need to be measurable, testable, and relate to the
business need or opportunity identified in the Initiation Phase. The
requirements that will be used to determine acceptance of the system
are captured in the Test and Evaluation Master Plan.

The purposes of this phase are to:

●​ Further define and refine the functional and data requirements


and document them in the Requirements Document,

●​ Complete business process reengineering of the functions to be


supported (i.e., verify what information drives the business
process, what information is generated, who generates it, where
does the information go, and who processes it),

●​ Develop detailed data and process models (system inputs, outputs,


and the process.

●​ Develop the test and evaluation requirements that will be used to


determine acceptable system performance

15
SOFTWARE AND HARDWARE USED

SOFTWARE:

​ Operating System​ ​ : Windows 11

​ Programming Language​ :​ Python

​ IDLE​ ​ : Anaconda Navigator

(JupyterLab)

​ Editing ​ ​ ​ ​ :​ Google docs

HARDWARE:

​ Processor​​ : Intel(R) Core(TM) i5

​ RAM​ ​ ​ : 8GB

Settings:

​ Display Resolution​​ : 1366*768

Others

​ Printer : Canon LBP 2900B

16
DESIGN PHASE

The design phase involves converting the informational,


functional, and network requirements identified during the initiation
and planning phases into unified design specifications that developers
use to script programs during the development phase. Program designs
are constructed in various ways. Using a top-down approach, designers
first identify and link major program components and interfaces, then
expand design layouts as they identify and link smaller subsystems and
connections. Using a bottom-up approach, designers first identify and
link minor program components and interfaces, then expand design
layouts as they identify and link larger systems and connections.
Contemporary design techniques often use prototyping tools that build
mock-up designs of items such as application screens, database layouts,
and system architectures. End users, designers, developers, database
managers, and network administrators should review and refine the
prototyped designs in an iterative process until they agree on an
acceptable design. Audit, security, and quality assurance personnel
should be involved in the review and approval process. During this
phase, the system is designed to satisfy the functional requirements
identified in the previous phase. Since problems in the design phase
could be very expensive to solve in the later stage of the software
development, a variety of elements are considered in the design to
mitigate risk. These include:

●​ Identifying potential risks and defining mitigating design


features.

●​ Performing a security risk assessment.

17
●​ Developing a conversion plan to migrate current data to the new
system.

●​ Determining the operating environment.

●​ Defining major subsystems and their inputs and outputs.

●​ Allocating processes to resources.

●​ Preparing detailed logic specifications for each software module.


The result is a draft System Design Document which captures the
preliminary design for the system.

●​ Everything requiring user input or approval is documented and


reviewed by the user. Once these documents have been approved
by the Agency CIO and Business Sponsor, the final System Design
Document is created to serve as the Critical/Detailed Design for
the system.

●​ This document receives a rigorous review by Agency technical and


functional representatives to ensure that it satisfies the business
requirements. Concurrent with the development of the system
design, the Agency Project Manager begins development of the
Implementation Plan, Operations and Maintenance Manual, and
the Training Plan.

18
FLOW CHART



19
DATABASE AND TABLES
Login Table

Issued Table

student table

Available_book

20
DEVELOPMENT PHASE

The development phase involves converting design


specifications into executable programs. Effective development
standards include requirements that programmers and other project
participants discuss design specifications before programming
begins. The procedures help ensure programmers clearly understand
program designs and functional requirements. Programmers use
various techniques to develop computer programs. The large
transaction-oriented programs associated with financial institutions
have traditionally been developed using procedural programming
techniques. Procedural programming involves the line-by-line
scripting of logical instructions that are combined to form a program.
Effective completion of the previous stages is a key factor in the
success of the Development phase. The Development phase consists
of:

●​ Translating the detailed requirements and design into system


components.

●​ Testing individual elements (units) for usability.

●​ Preparing for integration and testing of the IT system.

21
SOURCE CODE

#library management pogram


print('''
_________________________

------------------------WELCOME TO THE LIBRARY MANGEMENT


SYSTEM------------------------
_________________________
''')
import mysql.connector as sql
mydb=sql.connect(host='localhost',user='root',passwd='1234')
mycursr=mydb.cursor()
mycursr.execute('create database if not exists library')
mycursr.execute('use library')
mycursr.execute('''create table if not exists available_book (id int
primary key,name varchar(50),subject varchar(50),quantity int)''')
mycursr.execute('''create table if not exists issued (id int,me
varchar(100),subject varchar(100),s_name varchar(100),s_id int,s_class
varchar(100))''')
mycursr.execute('''create table if not exists login (user
varchar(20),password varchar(20))''')
mycursr.execute('''create table if not exists student (Name
varchar(100),Student_Id int,Class varchar(100),Book_Issued
varchar(100) )''')
mydb.commit()
flag=0
mycursr.execute('select * from login')
for i in mycursr:
flag=1
if flag==0:
mycursr.execute('''insert into login values('yash','1234')''')

'''____________FUNCTIONS_____________'''

#____FUNCTION FOR-->Add a New Book


def insertion():
while True:
22
print('All Information Are Mandatory To Be inserted')
idd=int(input('Enter The Book Id'))
name=input('Enter The name Of The Book')
sub=input('Enter The Subject')
quan=input('Enter The Quantity')
mycursr.execute('''insert into available_book
values(%s,''%s'',''%s'',%s)''', (idd,name,sub,quan))
ch=input('Do You Want To Add New Books?(Y/N)')
mydb.commit()
if ch!='Y':
break
#____FUNCTION FOR-->Remove A Book
def deleter():
while True:
book=input('Enter The Book_id To Remove A Book')
mycursr.execute('''delete from available_book where
id=%s''',(book,))
row=mycursr.rowcount
if row==0:
print('No Book Found ')
else:
print('Book Is Removed Succesfully')
mydb.commit()
ch=input('Do You Want To Remove Any Other Books(Y/N)')
if ch!='Y':
break
#____FUNCTION FOR-->Issuing A Book
def issuer():
while True:
idd = int(input('Enter The Id Of The Book To Be Issued: '))
s_name = input('Enter The Name Of The Student: ')
s_id = int(input('Enter The Id Of The Student: '))
s_class = input('Enter The Class Of The Student: ')
mycursr.execute('SELECT * FROM available_book WHERE
id=%s', (idd,))
data = mycursr.fetchone()
if not data:
print('Book ID Not Available.')
else:

23
t_id, t_name, t_subject, t_quan = data
if t_quan > 0:
mycursr.execute('INSERT INTO issued VALUES (%s, %s, %s,
%s, %s, %s)',(idd, t_name, t_subject, s_name, s_id, s_class))
mycursr.execute('UPDATE available_book SET quantity=%s
WHERE id=%s', (t_quan - 1, idd))
mycursr.execute('SELECT * FROM student WHERE
Student_Id=%s', (s_id,))
student_data = mycursr.fetchone()
if student_data:
updated_books = student_data[3] + ", " + t_name
mycursr.execute('UPDATE student SET Book_Issued=%s
WHERE Student_Id=%s',(updated_books, s_id))
else:
mycursr.execute('INSERT INTO student VALUES (%s, %s,
%s, %s)',
(s_name, s_id, s_class, t_name))

print('Book Issued Successfully.')


mydb.commit()
else:
print('Sorry, Book Is Not Available.')

# Prompt to issue more books or exit


ch = input('Do You Want To Issue More Books? (Y/N): ')
if ch.upper() == 'N':
break

#____FUNCTION FOR-->Returning Books


def returner():
while True:
idd = int(input('Enter The Id Of The Book: '))
s_name = input('Enter The Name Of The Student: ')
s_class = input('Enter The Student Class: ')
mycursr.execute('''SELECT * FROM issued WHERE id=%s AND
s_name=%s AND s_class=%s''', (idd, s_name, s_class))
data = mycursr.fetchone()
if not data:
print('Not issued yet.')

24
ch=input('Do You Want To Return More Books?(Y/N)')
if ch!='Y':
break
else:
mycursr.execute('''SELECT * FROM available_book WHERE
id=%s''', (idd,))
book = mycursr.fetchone()
if book:
t_id, t_name, t_subject, t_quan = book
quan = t_quan + 1
mycursr.execute('''DELETE FROM issued WHERE id=%s
AND s_name=%s AND s_class=%s''', (idd, s_name, s_class))
mycursr.execute('''UPDATE available_book SET quantity=%s
WHERE id=%s''', (quan, idd))
mydb.commit()
print('Book returned successfully.')
ch=input('Do You Want To Return More Books?(Y/N)')
if ch!='Y':
break

#____FUNCTION FOR-->Viewing Available Books


def displayer_available():
mycursr.execute('select * from available_book')
print(''' ID | NAME | SUBJECT | QUANTITY
|''')
for i in mycursr:
a,b,c,d=i
print(f'{a} {b} {c} {d}')

#____FUNCTION FOR-->Viewing Issued Books


def displayer_issued():
mycursr.execute('select * from issued')
print(''' ID | NAME | SUBJECT | S_NAME
| S_CLASS |''')
for i in mycursr:
a,b,c,d,e,f=i
print(f'{a} {b} {c} {d} {e} {f}')
#____FUNCTION FOR-->Viewing student data
def data():

25
mycursr.execute('select * from student')
print('''| NAME | STUDENT_ID | CLASS |
BOOKNAME |''')
for i in mycursr:
a,b,c,d=i
print(f'{a} {b} {c} {d} ')

#____________MAIN PROGRAM________________
while True:
print('''1.Login
2.exit
''')
ch=int(input('''Enter Your Choice'''))
if ch==1:
pas=input('Enter The Password To Login-')
mycursr.execute('select * from login')
for i in mycursr:
t_user,t_pass=i
if pas==t_pass:
print()
print('Login Success')
loop1='n'
while loop1=='n':
print('''
_______________
1.Add New Books
2.Remove Any Books
3.Issue Books To Students
4.Return Books
5.View Available Books
6.View Issued Books
7.View Student's Data
8.Logout
_______________
''')
ch=int(input('Enter Your Choice'))
if ch==1:

26
insertion()
elif ch==2:
deleter()
elif ch==3:
issuer()
elif ch==4:
returner()
elif ch==5:
displayer_available()
elif ch==6:
displayer_issued()
elif ch==7:
data()
elif ch==8:
break
else:
print('Enter Valid Choice (1-7)')
else:
print('enter the valid password')
elif ch==2:
break
else:
print('please input valid choice')
print('''
1.login
2.exit
''')

27
OUTPUT

LOGIN INTERFACE

28
TO ADD NEW BOOKS

29
TO REMOVE ANY BOOK

TO ISSUE BOOKS TO STUDENTS

30
TO RETURN BOOKS

TO VIEW AVAILABLE BOOKS

TO VIEW ISSUED BOOKS

31
TO VIEW STUDENTS DATA

TO LOGOUT

32
TESTING PHASE
Software Testing is an empirical investigation conducted to
provide stakeholders with information about the quality of the product
or service under test[1] , with respect to the context in which it is
intended to operate. Software Testing also provides an objective,
independent view of the software to allow the business to appreciate
and understand the risks at implementation of the software. Test
techniques include, but are not limited to, the process of executing a
program or application with the intent of finding software bugs.
It can also be stated as the process of validating and verifying
that a software program/application/product meets the business and
technical requirements that guided its design and development, so that
it works as expected and can be implemented with the same
characteristics. Software Testing, depending on the testing method
employed, can be implemented at any time in the development process,
however the most test effort is employed after the requirements have
been defined and coding process has been completed.
Subsystem integration, system, security, and user acceptance
testing is conducted during the integration and test phase. The user,
with those responsible for quality assurance, validates that the
functional requirements, as defined in the functional requirements
document, are satisfied by the developed or modified system. OIT
Security staff assess the system security and issue a security
certification and accreditation prior to installation/implementation.

33
Multiple levels of testing are performed, including:

●​ Testing at the development facility by the contractor and possibly


supported by end users

●​ Testing as a deployed system with end users working together


with contract personnel

●​ Operational testing by the end user alone performing all


functions. Requirements are traced throughout testing; a final
Independent Verification & Validation evaluation is performed
and all documentation is reviewed and accepted prior to
acceptance of the system.

34
IMPLEMENTATION PHASE
This phase is initiated after the system has been tested and
accepted by the user. In this phase, the system is installed to support
the intended business functions. System performance is compared to
performance objectives established during the planning phase.
Implementation includes user notification, user training, installation of
hardware, installation of software onto production computers, and
integration of the system into daily work processes. This phase
continues until the system is operating in production in accordance with
the defined user requirements.

35
OPERATIONS AND MAINTENANCE PHASE
The system operation is ongoing. The system is monitored for
continued performance in accordance with user requirements and
needed system modifications are incorporated. Operations continue as
long as the system can be effectively adapted to respond to the
organization’s needs. When modifications or changes are identified, the
system may enter the planning phase.

The purpose of this phase is to:

●​ Operate, maintain, and enhance the system.

●​ Certify that the system can process sensitive information.

●​ Conduct periodic assessments of the system to ensure the


functional requirements continue to be satisfied.

●​ Determine when the system needs to be modernized, replaced, or


retired.

36
CONCLUSION

Every software has its advantages and disadvantages. The Library


Management System provides all basic functionalities which are needed in a
small sized library. It was developed by keeping in mind the requirements of
a small library which needs automatization of its work of managing students
and book details.

The salient features of the project are: -

●​ Login system for security


●​ Proper formatting of output is done
●​ Interactivity by providing proper guidance and instructions to the user
●​ Validation checks at some crucial points
●​ Provides portability due to python language
●​ Mysql has been used as a back-end which is free and open source
RDBMS package

37
BIBLIOGRAPHY

●​ Computer science With Python - Class XII


​ By : Sumita Arora

●​ Website: https://www.google.com

●​ en.Wikipedia.org

●​ Website: https://www.quora.com/

●​ Website: https://www.scribd.com

***

38

You might also like