Library Management System
Library Management System
MANAGEMENT
SYSTEM
Exchange of ideas generates the new object to work in a better way whenever a person
is helped and cooperated by others his heart is bound to pay gratitude and obligation to
them. To develop a project is not a one-man show. It is essentially a collective work,
where every step taken with all precautions and care. Therefore our first duty is to
thanks all persons who took pain in completing this project.
Firstly, we thank Mrs. RACHNA SETHI, who gave us inspiration to do work in this field
and gave us her precious time whenever needed. Thanks may be matter of merely
formality but with us it is expression of heartfelt gratitude to our project supervision. We
are highly indebted for her gestures, invaluable suggestions and boosting confidence to
make this successful. The success of this work is mostly due to her suitable guidance.
We also thank our class fellows and friends, who helped us a lot during our project work.
CERTIFICATE
This is to certify that the project entitled “LIBRARY MANAGEMENT SYSTEM” prepared
by us, Shobhna & Megha Jainfor the partial fulfilment of the requirements of the B.Sc.
(Hons.) Comp. Sc. degree, embodies the work, we all are doing during 4th semester of
our course under due supervision of the supervisor from this college.
SIGNATURE
INDEX
Chapter 1
Project Introduction 6-11
Chapter 2
Project Management 12-33
Chapter – 3
Requirement Analysis & Management 34-52
The objective of this project is to develop an application that will automate the whole
procedure of a library. The software that would be developed should have facilities like
Add / Delete Members, Add / Delete Books, Issue & Return. The application should be
secured, as well as with limited access.
.
The main requirement of the project will be the ease of use, besides being the most
efficient and effective tool for the purpose. The application should be user friendly .It
should be robust and scalable.
An automated solution would be very beneficial to the organization, as it would bring
structure to the whole process so that it can be traced for any kind of query. Also an
automated solution will lead to optimal utilization of the available resources, reducing
duplication of effort, increasing efficiency and minimizing time-delays.
For Members
Facility for SEARCH of Books based on Accession Number, Title, Author,
Subject, Keyword.
Facility to ADD / DELETE Members, Library Staff & Books and Maintain an easy
record of all these.
PROBLEMS WITH THE CURRENT
SYSTEM
Maintenance of the record of each member / book is a very tedious job. Large
amount of human efforts are required to keep a track of members who have
issued a book, who have returned a book and which book is issued / returned.
Modifying the details of members or books is a very tedious job if done manually.
ADVANTAGES
The benefits of the proposed software are as follow:
Reliability
The application would efficiently store all the information related to the various processes
in the system and output the relevant information.
Availability
The application would be available to all the employees of the organizations with an
authorized access to the workstations and those who are subject to the authorization
permissions.
Security
The system would have adequate security checking through the authentication of the
users. The reports would only be available to the employees of the library as per their
specific requirements.
Cost Reduction
It can be achieved by minimizing the use of the stationary for reports. Soft copy of all the
reports. Soft copy of all the reports can be viewed and hence reducing the need of the
hard copy.
Chapter – 2
Project Management
Project management involves the planning, monitoring, and control of the people,
process, and events that occur as software evolves from a preliminary concept to an
operational implementation. Effective software project management focuses on the four
principles: people, product, process, and project.
THE PEOPLE
THE PRODUCT
Before a project can be planned, product objectives and scope should be established,
alternative solutions should be considered and technical and management constraints
should be identified. Scope identifies the primary data, functions and behaviours that
characterize the product.
THE PROCESS
A software process provides the framework from which a comprehensive plan for
Software development can be established.
Framework activities are populated with tasks, milestones, work products and
Quality assurance points. These activities characterize the software product and the
project team.
The process model, we have chosen to develop this software is a Linear Sequential
Model
Design
It has four distinct attributes of a program: data structure, software architecture, interface
representations and procedural detail. It is documented and becomes part of the
software.
Code generation
Design must be translated into a machine readable form which is done by code
generation.
Testing
It focuses on the logical internals of the software, ensuring that all the statements have
been tested, and on the functional externals; that is conducting test to uncover errors
and ensure that defined input will produce actual results.
The Software model used is LINEAR SEQUENTIAL MODEL because of the following
reasons:-
All requirements for the project have been explicitly stated at the beginning. There is
very little scope of customers’ deviation from current requirements, coding and
testing after detailed analysis is much easy.
Structure is less complex and less innovative with less need of iteration.
Support
This is a phase when software will undoubtedly undergo change after it is delivered to
the customer. Change will occur because errors have been encountered, because the
software must be adapted to accommodate changes in its external environment, or
because the customer requires functional or performance enhancements. Software
support/maintenance reapplies each of the preceding phases to an existing program
rather than a new one.
TEAM STRUCTURE
The “best” team structure depends on:-
This software engineering team has no permanent leader. Task coordinators are appointed for
short duration and then replaced by others who may coordinate different tasks. Communication
among team members is horizontal.
This software engineering team has a defined leader who coordinates specific tasks and secondary
leaders that have responsibility for subtasks. Problem solving remains a group activity.
Communication among subgroups and individuals is horizontal.
Top- level problem solving and internal team coordination are managed by a team leader.
Communication between the leader and team members is vertical.
The team structure used in our project is DEMOCRATIC DECENTRALISED. The team comprises
of two members:-
Shobhna(7840)
Megha Jain(7837)
Decentralized teams generate better solutions and have greater probability of success
when working on different problems. DD team structure is best applies to programs with
low modularity.
Based on the difficulty of the problem to be solved relatively low modularity of the project
and high volume of the communication required a democratic decentralized team
structure is proposed. This software engineering team has no permanent leader. Rather,
“task coordinators are appointed for short duration and then replaced by others who may
coordinate different tasks.” Problem solving is a group activity. Communication among
team members is horizontal. Decentralized team generates more and better solutions
than individuals. Therefore such teams have a greater probability of success when
working on difficult problems.
A decentralized structure can be applied to both simple and difficult problems, but it is
best applied in case of difficult problems. These team structures result in high morale,
therefore good for teams that will be together for a long time. The decentralized team
structure is best applied to the problem with relatively low modularity because of the
higher volume of communication needed. These teams require more time to complete a
project and at a same time be best when high sociability is required. In these teams,
team members have trust on each other, distribution of skills must be appropriate to the
problem and they share a common goal.
SOFTWARE PROJECT SCHEDULING
WHAT IS IT?
Software Project Scheduling is an activity that distributes estimated effort across the
planned project by allocating the effort to a specific software engineering tasks.
When you develop a schedule, compartmentalize the work, represent the task
interdependencies, allocate effort and time to each task, define responsibilities for the
work to be done, and define outcomes and milestones.
WHY IS IT IMPORTANT?
In order to build a complex system, many software engineering tasks occur in parallel,
and result of work performed during one task may have a profound effect on work to be
conducted in another task. These interdependencies are very difficult to understand
without a schedule. It’s also a virtually impossible to progress on a moderate or large
software project without a detailed schedule.
INTRODUCTION TO TIMELINE CHART
When creating a software project schedule, the planner begins with a set of tasks. If
automated tools are used, the work breakdown is input as a task network or task outline.
Effort, duration and start date are then input for each task outline. In addition, tasks may
be assigned to specific individuals.
2 Design
2.1 Data Design 24.02.2008 29.02.2008
Risk analysis and management are a series of steps that help a software team to
understand and manage uncertainty. Many problems can plague a software project, a
risk is a potential problem that might happen or might not.
RISK IDENTIFICATION
Risk mitigation, monitoring and management (RMMM) plan or a set of risk information
sheets is produced.
CATEGORIES OF RISK
Project Risks
They threaten the project plan. They identify potential budgetary, schedule, personnel,
resource, custom potential and requirements problem and there impact on software
project. They might result in delay in project schedule and cost.
Technical Risks
Business Risks
They often jeopardize the project or the product & include market risk, strategic risk,
management risk and budget risk.
Risk Mitigation Plan
All risk analysis activities presented to this point have a single goal-to assist the project
team in developing a strategy for dealing with risk.
Issues:
Risk avoidance
Risk monitoring
Risk management and contingency planning
A Reactive Strategy monitors the risk project for likely risk and set aside resources to
deal with them, should they become actual problems. Software team does nothing about
risks until something goes wrong.
Proactive
A Proactive strategy begins long before technical work is initiated. Potential risks are
identified, their probability impact is assessed, and they are ranked by importance.
Complexity Tables
INPUT SCREEN COMPLEXITY TABLE
5. Issue 4 3 Average
6 Return 2 2 Low
2. Delete 1 1 Low
Member
4. Check 1 1 Low
Member’s
Record
5. Check Book’s 1 1 Low
Detail
ILF COMPLEXITY TABLE
S. No File Name No. of fields No. of Complexity
records
1. Member’s 14 1 Low
Record
2. Book’s Record 8 1 Low
System
Level
Engineering
Requirement
Analysis
Software
Design
The software requirements analysis may be divided into five areas of efforts:-
Problem recognition
Define all data objects, evaluate the flow and content of information, define and
elaborate all functions, understand software behaviour and establish interface
characteristics.
Modelling
Functional models represent the information that software transforms, functions enabling
the transformation, and behaviour of the system during transformation.
Specification
States the goals and objectives of the software, describing it in context of the
Computer based system.
Review
4. The models that depict information function and behaviour must be partitioned in a
manner that uncovers detail in a layered fashion.
5. The analysis process should move from essential information towards implementation
detail.
NON-FUNCTIONAL REQUIREMENTS
(1) Server must have enough disk space so as to store large amount of data.
(2) System should provide data security. Unauthorized users should not be allowed
to access the system so that the integrity and secrecy of each client must be
maintained.
(1) The system must be easy to learn and easy to use so that it is readily accepted
by its prospective users. It must provide easy and convenient means of
communication between different clients.
(2) It should synchronize the access of channels to clients. No two clients should be
allowed to transmit data simultaneously.
(4) Client should not be allowed to run while the server is not running.
(6) Appropriate error messages should be generated in case some exception has
occurred.
(8) System must be fault tolerant i.e. it can continue in operation even after some
system failure has occurred.
DATA DICTIONARY
S. No. Data Item Type Length Description
1 TEACHERS
Contains
1.1 Name String 30 Name of the
teacher
Contains
1.2 F. Name String 30 Father’s
Name of the
teacher
Contains
1.3 M. Name String 30 Mother’s
Name of the
teacher
1.4 D.O.B. Integer 10 Date of Birth
2 STUDENTS
Contains
2.1 Name String 30 Name of the
student
Contains
2.2 F. Name String 30 Father’s
Name of the
student
Contains
2.3 M. Name String 30 Mother’s
Name of the
student
2.4 D.O.B. Integer 10 Date of Birth
2.5 Sex String 6 Sex Of the
student
2.6 Add. String 50 Residential
Address
2.7 Ph. No. Integer 10 Contact
Number
Course
2.8 Course String 10 chosen by
the student
College Code
2.9 Coll. Code Integer 10 of the
student
2.10 Yr. Of Integer 4 Year of
Admission admission
3 ISSUE /
RETURN
3.1 Dt. Of Issue Integer 10 Date of issue
3.2 Dt. Of Return Integer 10 Date of
return
3.3 Actual Dt. Of Integer 10 Actual Date
Return of return
4 MEMBER’S
RECORD
5 BOOKS
Contains
5.1 Name String 30 Name of the
book
Contains
5.2 Author String 30 Author’s
Name of the
book
Contains
5.3 Publisher String 30 Publisher’s
Name of the
book
5.4 Edition Integer 2 Edition of the
book
No. of copies
5.5 No. Of Copies Integer 3 available of
the book
Price per
5.6 Price/Copy Integer 4 copy of the
book
5.7 Acc. No. Integer 10 Acc. Number
of the book
Subject
5.8 Subject String 20 related to the
book
6 LIBRARY
STAFF
Contains the
6.1 Name String 30 Name of the
staff member
Contains
Father’s
6.2 F. Name String 30 Name of the
staff member
Contains
6.3 M. Name String 30 Mother’s
Name of the
staff member
6.4 D.O.B. Integer 10 Date of Birth
6.5 Sex String 6 Sex Of the
staff member
6.6 Add. String 50 Residential
Address
6.7 Ph. No. Integer 10 Contact
Number
6.8 Yr. Of Join Integer 4 Year of
joining
Login I.D. of
6.9 Login I.D. String 20 staff member
Password of
6.10 Password String 20 the staff
member
Entity Relationship
Diagram
(ERD)
Data Flow Diagrams
(DFD’s)
Level ‘0’ DFD
Level ‘1’ DFD
Chapter – 4
Design
Software Design is applied regardless of the software process model that is used. Once
software requirements have been analyzed and specified, software design is the first of
three technical activities – design, code generation and test – that are required to build
and verify the software.
Design focuses on four major areas of concern: data, architecture, interfaces and
components.
INTERFACE DESIGN
It describes how the software communicates within itself, with systems that interoperate
with it, and with the users who use it.
ARCHITECTURAL DESIGN
DATA DESIGN
It transforms the information domain model created during analysis into the data
structures that will be required to implement the software.
DESIGN MODEL
DM
COMPONENT
LEVEL
DESIGN
INTERFACE
DESIGN
ARCHITECTURAL
DESIGN
DATA
DESIGN
DATABASE DESIGN
TEACHERS
Member’s Record
Contains
5.2 Author String 30 Author’s M -
Name of the
book
Contains
5.3 Publisher String 30 Publisher’s M -
Name of the
book
5.4 Edition Integer 2 Edition M -
No. Of No. of copies
5.5 Copies Integer 3 available O -
Price per
5.6 Price/Copy Integer 4 copy of the O -
book
Acc. Number
5.7 Acc. No. Integer 10 of the book M YES
Subject
5.8 Subject String 20 related to the M -
book
LIBRARY STAFF
Login Screen
This screen takes the unique login-id & password of the library staff member allowing
him/her to use the system at his/her level of interference.
Menu Screen
This screen asks the library staff member to input the choice of task he/she wants to
perform. Choices include- Add/Delete a member, Add/Delete a book, Search for a
member/book, Check the details of a particular member/book, Issue/Return a book etc.
Delete a member
This screen takes the member’s id of the member to be deleted as the input from the
library staff & then deletes the member from the library records unless an invalid
member id is not entered by the staff member.
Return
This screen takes the member id, Acc. No. as the input from the library staff & then
displays the details of the book. The details include- Date of issue, Date of return. Date
of actual return is entered by the staff member & the fine is calculated if the Actual date
of return is later than the Date of return specified to the member. The book is then
deleted from the member’s account when all dues are cleared and it is again available
for issue/return purposes.
Architectural Design
Interface Design