SCHOOL LIBRARY MANAGEMENT SYSTEM
Case Study
Computer-based Library Management system
The library of Kiongwani Secondary School has 3,000 textbooks. Each book is
identified by its Author, International Serial Book Number (ISBN), Book ID and Title.
The books are arranged on the shelves using their book IDs and Card catalogues are
maintained for all the books. There are two types of card catalogues; one is arranged
according to the author’s names, while the other is arranged according to the Titles of
the books.
Each student is issued with three borrower cards that have a Registration number and
Name of the student. To locate a book for borrowing, a student checks in the card
catalogue for its classification, then moves to the shelve to retrieve it. The student
surrenders a borrower’s card at the issuing counter where the librarian gives out the
book and stamps the date of return.
A student is not allowed to borrow more than three books at any one time. Students
are charged for overdue books at a fixed rate multiplied by the number of days
delayed.
Problem analysis
The system analyst is required to:
i). Identify & understand the problem.
ii). Find out much about the existing system (whether manual or computerised) in order to
come up with a good & relevant proposal for the new system.
From the School library management system, the problem is to replace the inefficient manual
card cataloguing operations with an efficient computerized system.
The system analyst must try to answer the following questions:
1. What are the shortcomings of the current system?
2. What types of records are used for books and students in the library?
3. What procedure is followed to borrow or lend books?
4. How are overdue books handled when returned?
Information gathering
If the management responds and gives the system development team a go ahead to start
developing the information, the members have a task to discover user requirements of the new
system through collection of facts.
1
Interviews
Below is a verbatim introduction of sample interview with the library manager.
INTERVIEW TITLE
BRIEF INTRODUCTION Interviewer: ………………………..
Interviewee: ………………………..
Interviewer: Hello ……………..
Interviewee: Hello. Welcome to my office.
Interviewer: Thank you. Please call me John. I would like to ask you a few
questions about the system that we are developing.
Interviewee: …………………………………………………………………...………..
…………………………………………………………………………….
Questionnaires
Below is an extract of a questionnaire used to gather data from library attendants.
QUESTIONNAIRE
BRIEF INTRODUCTION Date: ………………………..
…………………………………………………………………………………………
…………………………………………………………………………………………
QUESTIONS
1. How long have you worked as a library attendant?
1 yr. 2 yrs. Over 2 yrs.
2. How long does it take to rearrange books on the shelves?
Days. LibraryWeeks. Months.
Management information system
Fact-finding report
Preliminary investigation report:
1.0 Table of contents.
The preliminary investigation report dwells on the problems of the existing system from the
2.0 Executive summary:
general point of view.
2.1 Objectives: The new computerized system is intended to improve efficiency in the
Fact-findinglibrary by:
report:
a). Keeping an inventory of all the books in the library and automatically updating
Fact-finding report gives ahence
the stock, moreeliminating
detailed analysis of thephysical
the tedious existingcounting
system and proposals for
process.
improving orb).overhauling
Reducing theit altogether.
time needed to seek for a book by 60%.
c). Tracking
The figure below shows aoverdue and lost outline
sample general books. of the fact-finding report presented to the
management of the school library and the head of the school.
2.2 Recommendation:
This system could result in efficient processing of library transactions. It will
replace the tedious manual system.
3.0 Methods used to study the system.
3.1 Interviews: - were used when seeking facts from management.
3.2 Questionnaires: - were circulated to user staff.
3.3 Observation: - I observed as books were searched and issued.
4.0 Detailed results:
4.1 Problems: - duplication of records, delays and book losses.
4.2 Opportunities: - improve efficiency, improve stock management, etc.
4.3 Alternatives: - enforce controls in the current system, employ more staff, etc
5.0 Summary: 2
The new system is highly recommended because the other alternative of enforcing
controls and employing more staff will add operating costs with little additional value.
Requirements specifications
The following requirements specifications are considered:
1. Output specification.
2. Input specification.
3. File/data structures.
4. Hardware & software requirements.
Output requirements.
In our case study, the outputs required from the Library management system include:
1. A report about all the overdue books showing charges against each borrower.
2. A search report for a particular book showing its classification and whether it’s on the
shelves or not.
3. A search report about a particular student showing which books he/she is currently holding.
The table below shows a sample report expected to be generated from the computerized library
system showing all the overdue books.
OVERDUE BOOKS
ISBN Number Title Student Date Date Due Overdue Days
Name Issued
1. 966 49 Computer Studies Samsom Tito 10/01/2005 24/03/2005 6
574 Mathematics Form 2 Linda 12/01/2005 26/03/2005 4
2. 966 49 ……………………. Kiamba ………….. ………….. ………………
600 . …………….. ………….. ………….. .
3. …………. ……………………. …………….. ………………
3
. . .
4. ………….
.
Input specifications.
The system analyst should identify the input needed to obtain the relevant information from the
system.
In our case study, the following inputs can be deduced from the output specification:
1. The type of data needed to add a book to the Books file/database in the library,
For example;
In the Library database, the following data items may be entered:
a). Title of the book.
b). Names of the author(s) of the books.
c). The ISBN number of the book.
d). Book ID.
2. Determine the data needed for someone who wishes to borrow a book.
After identifying all the inputs, the analyst designs the user interface by designing data entry
forms or screens.
The figure below shows a form used for the registration of a new member:
New member registration
Registration Number:
First name:
Surname:
Gender:
Save Exit
NB:
Textboxes& Command buttons placed on the forms must be neatly aligned & balanced on the
form.
The size of the form should not be too small or too big.
The interface should not have too bright colours.
System Design
In the design stage, the analyst may use a system flowchart to solve the problem at hand.
Designing a system flowchart.
A system flowchart gives a summary of how particular processes are done within the business
organization. It allows one to break a process down into individual events/activities, and also
display these events in a short form showing the sequential or logical relationships between
them.
Important guidelines when designing a system flowchart:
4
1. Start by writing the title of the flowchart, e.g., Library Books Management Information
System.
2. Start drawing the flowchart with the trigger event, e.g., our trigger event would be a student
request to borrow a book or return an overdue book.
3. List down the actions taken in their logical order until the process is concluded. Use few
words to describe the actions.
4. In case there are many alternatives at the decision stage, follow the most important and
continue with it. The less important alternatives can be drawn elsewhere and reference made
to them using the On-page or Off-page connectors.
A books borrowing system flowchart:
The figure below shows a sample books borrowing system flowchart for the proposed
computerised library management system for the school.
Student
request
Borrowi
ng
request?
YES
Student Adm.
No.
Student file ordered
by Admission no.
YES Cannot
Has > borrow book
3
books
NO
?
Lend book
Update file
Explanation
From the system flowchart, we observe that;
1. A student requests for a particular book.
2. The system checks for the student’s record in the system. If the student has more than three
(3) books, a message is displayed and the student cannot borrow an extra book.
5
3. If the student has less than 3 books, then the book can be given out to him/her, and the
student file updated.
NB: A system flowchart can be used to extract a program flowchart for a particular task.
A book lending/borrowing program flowchart:
The figure below illustrates a book lending/borrowing program flowchart that has been extracted
from the Library management system flowchart.
START
Search student’s
database by Student no.
Is book NO Sorry, the book
lendable cannot be issued
?
YES
Check student details
YES
Has Sorry, we cannot
student > lend > 3 books
3 books?
NO
Lend book to student
STOP
6
A book return system flowchart:
Student
request
Book
return?
YES
Book number
Book file ordered
by Number
NO
Is book
overdue
?
YES
books?
Calculate charges
Receive book
She
boo lve
ks
Practical exercise.
Extract the book return module flowchart from the above system flowchart.
System construction
A database package can be customized to construct a system.
Below is a sample data entry form constructed to enable entering a new book record into the
Library information database.
7
Books: form
Book Number:
ISBN Number:
Publisher Name:
Year Published:
Title:
Purchase Price:
Date Purchased:
Testing the system
E.g., if one of the requirements of the computerised library management system is to ensure that
no member is allowed to borrow more than 3 books at the same time, the system must be able to
display a message box to that effect without fail.
Sample test data
To test whether the new computerized information system is working as expected, test data is
used for every module (subsystem).
For example;
In our library case study, we need to test sample data for books entry, books borrowing, etc. The
table below shows a sample test data that can be entered in the database whenever a book is
borrowed.
Last name Middle Class Stream Book Date Return
name borrowed borrowed date
Mburu James 3 N Maths Form 1 8/6/2006 26/6/2006
Janet Achieng 3 S Kamusi sanifu 23/6/2006 30/6/2006
Helen Mutua 4 E Elementary 6/6/2006 24/6/2006
Chemistry
Ali Mohammed 2 W Computer 6/5/2006 23/5/2006
Studies Form 2
Kerich Dennis 1 X Biology Form 6/6/2006 24/6/2006
1
James Kamau 3 S Computer 7/6/2006 25/6/2006
Studies Form 3
NB: In real situation, you are expected to provide as many test data as possible to prove the
functionality of your system.
Output reports
8
To prove that the system is working and giving the desired result, you should provide a number
of sample output from various system modules.
Below is a sample report showing a list of members who have borrowed books.
Kiongwani Secondary School
Books Borrowed Report
Last Name Middle Name Class Stream Book Borrowed Date Return
Borrowed Date
Mutinda Gianmaria 3 S Maths Form 1 8/1/2007 3/4/2007
Muia Veronica 3 N Kamusi Sanifu 23/2/2007 29/3/2007
Musyoka Cyrus 4 N Elementary Chemistry 6/2/2007 24/3/2007
Muindi Stephen 2 S Computer Studies 6/1/2007 23/3/2007
Ahinoab Miriam 1 N Biology Form 1 6/2/2007 24/3/2007
Njoroge Martin 3 S Computer Studies 7/1/2007 25/3/2007
Tarayia Josephine 3 S English Form 3 7/1/2007 25/3/2007
Mutua Stelamarris 2 N Computer Studies 8/2/2007 2/4/2007
Files and data stores design
There are two methods of data storage in a computer: Flat files and databases.
Flat files
In flat files, records are stored in separate files each with particular details.
The use of separate files means that; the same data is usually stored in more than one place.
Database systems
A database is a centrally controlled store of data. It allows different users who share the
database to have access to different data.
Note. Storing of data using a database system eliminates the validation problems of the flat-file
system.
For the Library system, we will need to store data about books and students as entities of the
system in a database.
There is also need to define a relationship for these entities during the database design.
Entity relationship (E-R) diagrams
ERD is a diagram that shows the logical relationship between data entities.
For example,
A student can borrow many books. This can be represented in the database design as a “one-to-
many relationship” as shown below.
Student Books
The line that joins the two entities divides into three on the Books side to show that one student
can borrow many books.
Other relationships that can be created between entities are “one-to-one” and “one-to-many”.
One-to-one relationship:
e.g., one student can only have one registration number.
Student has a Registration number
9
Many-to-many relationship:
e.g., in a school environment, one course unit can be done by many students, and one student can
do many course units.
Course unit can be taken by Student
NB: It is possible to have a database design that has all the three entity relationships. However,
when designing your database, you should develop One-to-many relationships between entities.
Defining attributes
You need to identify the attributes for each of the entities in the E-R diagram. The attributes will
become the fields of the database table that will store data for each entity. A complete set of
attributes in a table will form a record.
Each entity will have one attribute that will hold a unique value for each of the records entered in
the database. This unique attribute is called the Primary key (or, key attribute).
To create a relationship between two tables, create a field in the second table that has the same
data type as the primary key of the first table.
This field created in the second table is called the foreign key.
Entities and their attributes
Entity Attribute
Book Book Number (primary key)
ISBN number
Title
Year Published
Purchase price
Registration number (foreign key)
Publisher ID (foreign key)
Student Registration number (primary key)
First name
Middle name
Class
Stream
Publisher Publisher ID (primary key)
Publisher name
Address
City
Phone number
NB: Any attributes that will encourage duplicate storage of data in the database, should be
separated off and used to form their own tables.
E.g., one “Publisher” may have published many books. Hence, if you have one hundred different
books in the library done by the same publisher, you will have to enter the same name a hundred
times in the database.
The process of trying to eliminate storage of duplicate values in the database is called
normalization.
The E-R diagram of the system will be as shown below:
Student Books Publisher
10
This E-R diagram shows that a student can borrow many books. Likewise, a publisher can
publish many books.
Creating the database.
To create a database,
1. Click on Start, then select Microsoft Access.
2. From the dialog box that appears, select the Blank Access Database option, then click the
OK button.
3. In the File New Database dialog box, type the name of the new database to be created in the
File name box.
4. In the Save in box, select the folder where you want to save your database, then click the
Create Database button to display the Database window, which will allow you to create the
various tables.
Defining a table/file structure.
To define the table/file structure;
1. Click the Tables tab in the database window, then double-click the Create table in Design
view command.
2. Create the three tables, i.e., students, books, and publisher using the attributes you had
defined.
Setting the primary key and foreign key
A Primary key is a unique field that identifies each record in a database table.
This means that, a primary key;
(a) Holds unique values for each record.
(b) Cannot accept a duplicate, e.g., if one student has the registration number 2000, no other
student can be assigned the same number.
(c) Cannot accept null or empty values, i.e., a value must be entered into the field before
proceeding to another record.
The Foreign key is included as an attribute of an entity in order to create a relationship with
another entity in the database.
E.g., the registration number field in the BOOKS entity creates a relationship between the
STUDENT entity and the BOOKS entity.
(a) The entity with the foreign key is usually on the many side of a relationship.
(b) Values in a foreign key field of a table in a database are unique but are allowed to repeat as
long as they appear in the primary key of the primary table.
To define table relationships;
1. Click on Tools, then click Relationships.
2. From the Show table dialog box that appears, select the tables, and click Add so that they are
displayed on the relationship window.
3. Drag the primary key of the first table to the foreign key of the second table.
For example;
To create a relationship between STUDENTS table and BOOKS table, drag the registration
number of the Students table to the registration number of the Books table.
4. Enforce referential integrity: Referential integrity governs the nature of records in a “one-to-
many relationship”.
11
This means that, all foreign keys in the child table must have a matching record in the parent
table. Therefore, you cannot add a record in the child table if it does not have a related
record in the parent table.
Click to select “Cascade Update Related Fields” if you want your database to update the
child table once the parent record is updated.
This means that, if the student’s registration number is changed, all the records in the related
tables will automatically be updated.
Data entry into the system.
Once you have created your database tables and their relationships, you can then enter data into
the tables using forms which you create.
Fig. 1: The Students’ records form can be used by the library attendant to enter students into the
database.
Students’ records: form
1353
Registration Number:
Veronica
First Name:
Mwikali
Middle Name:
3
Class:
N
Stream:
Fig. 2: The Books’ details form can be used to enter books into the database.
Books’ details: form
0001
Book Number:
891001
ISBN Number:
Longhorn Publishers
Publisher Name:
2005
Year Published:
Computer Form 3
Title
Ksh. 210.00
Purchase Price:
2475
Student Number: Print Save Close
12
Fig. 3: The Publishers’ entry form can be used to enter publisher records into the database.
Publishers’ entry: form
K003
Publisher ID:
Longhorn
Publisher Name:
Box 020-34769
Address:
Nairobi
City:
020-345627
Phone Number:
Reports
Below is a sample report generated from the database showing a summary report indicating the
books owed by students.
The report has been generated from a query that is created using the three related tables.
Books owed to the Library
Class First Name Middle Name Stream Title Publisher
Form 2
Ole Lisa Peter S Computer F2 Longhorn
Ali Mohammed N Computer F2 Longhorn
Form 3
Kerich Judith S Advanced Maths KIE
Atieno Achieng N Kamusi Sanifu Bin Salim
Mburu James N F3 English Ndege Books
Form 4
Helen Mutua S Computer F4 Longhorn
Automating the database
After creating the basic database objects, i.e., tables, forms, reports and queries, you may wish to
automate operations such as data entry, printing of reports, or make the user interface more user
friendly.
Some of the tools used to automate a database in Ms-Access are:
(a) Switchboard (main form):
Switchboard is a special form used to automatically access other database objects such as
forms & reports.
The switchboard is the user-interface (or main menu) that is loaded when an application is
started. The form mainly contains command buttons that enable the user to select the task
to work on.
To create a switchboard;
1. Click on Tools, point to Database Utilities, then click Switchboard manager.
2. If Ms-Access prompts you whether you want to create a switchboard, click Yes.
13
3. From the Switchboard manager dialog box, click Edit.
4. From the Edit switchboard Page dialog box, type the name of the switchboard in the
Switchboard Name box, e.g., Main Switchboard. If there are no menu items on the
switchboard, then click New. To edit the menu items, click Edit to display the Edit
Switchboard Item dialog box in which you can specify the menu items to be included on
the switchboard.
5. In the Text: box, enter the name of the menu, e.g., Students Data Entry.
From the Command: list box, select the object to be accessed, e.g., Open form in Edit
menu.
In the Form: list box, select the name of the object, e.g., Students’ record, then click OK.
6. Finally, click the Close buttons to close the switchboard dialog boxes.
(b) Macros:
This is a set of one or more actions used to automate commonly performed tasks such as
opening & closing forms, and printing reports.
To create a macro in Ms-Access;
1. On the Database window, click the Macros tab, then choose New. The macros design
grid appears.
2. In the Action window, click the down arrow to select an action that you want to be
executed directly every time you run the macro, e.g., scroll downwards and click
OpenForm.
3. In the lower part of the macro design window, specify the action arguments.
For example, for the action OpenForm, select the name of the form, e.g., Switchboard,
view mode.
Database security
Ms-Access provides the following features to protect your information system from unauthorized
access.
1. Use of Passwords
2. User and group permissions.
3. User-level security.
4. Data encryption.
Password protection
A password is set for any user who wishes to open or edit the database file.
To setup a database password in Ms-Access;
1. Click on File, then click Open.
2. Locate the file you want to open, then click its filename.
3. Click the arrow next to the Open button, then choose Open Exclusive.
4. Click on Tools, point to Security, then click Set password.
5. Enter the password in the password text box, and re-enter the same password in the verify
box.
6. Click OK.
When a user opens the database, he/she will be prompted to enter the password.
User and group permissions
Operating systems like Windows XP provide the User accounts dialog box that allows an
administrator to assign permission to users on database objects such as queries, forms, and
reports.
14
This means that, you must be a member of the Administrators group so that you can be allowed
to open, run, or modify the object.
User-level security
This feature is used to assign permission to users in order to limit access to certain database
objects.
Data encryption
Encryption is applied if the database is to be used in a network or sent electronically. Only the
intended recipient can use the decryption key to read the message.
Setting the Start up options
Start up options enable you customize a database in order to make it more presentable to the
users.
Once the startup options have been set, the database will now be starting as an application
instead of loading it from Ms-Access application window.
To setup the Start up options for your application;
1. Click on Tools, click Start Up, then specify the following:
Applications Title: - type the title that will appear on the title bar (instead of the default
Microsoft Access title), e.g., Bukuma Distributors Information System.
Applications icon: - choose an icon that would go together with your application title.
Menu Bar: - specify the menu options that should appear when running the application.
Display Form/Page: - choose the form you want automatically displayed once you start
the application, e.g., Main Switchboard
2. Ensure the “Display Database Window” checkbox is not selected in order to limit the users
from viewing the objects created in your database.
3. Click OK.
User manual
User manuals are used to help a person use the system with little or no guidance.
The manual must contain information such as:
1. How to install, start and run the system.
2. How the system appears when running (interface).
3. How to carry out various tasks, e.g., how to include a new entry, data entry, how to modify a
record, etc
4. A troubleshooting guide, which describes error correction & how to get help when faced with
problems.
15