Resourceful libraries have long attracted knowledge-seekers and have played an important role in education and research. With the astonishing advances in science and technology, traditional libraries have not remained unaffected and the concept of digital library has emerged and caused a revolution in these old institutions. A digital library can provide access to many of the information networks around the world, which is a necessary component of almost any research experience today.
Considering the facilities associated with a digital library, gradual replacement of traditional libraries by digital ones appears to be inevitable. As an important step in enhancement of education in Afghanistan, the concept of digital libraries must be introduced and integrated into the country’s rapidly evolving educational system.
This thesis addresses the challenges existing in Afghanistan university libraries. A solution for each challenge is defined by introducing digital and automated systems and finally a scheme is provided for switching from a paper-based library system to a digital library system.
Using Grammatical Signals Suitable to Patterns of Idea Development
Transforming a Paper-Based Library System to Digital in Example of Herat University - Master Thesis
1. Transforming a Paper-Based Library System to Digital
in Example of Herat University
Master’s Thesis
Abdul Rahman Sherzad
Supervisors:
Prof. Dr. Bernd Mahr
Dr. Nazir Peroz
Technische Universität Berlin
Fakultät IV Elektrotechnik und Informatik
Berlin, 18.02.2010
2. ABSTRACT
Resourceful libraries have long attracted knowledge-seekers and have played an
important role in education and research. With the astonishing advances in science and
technology, traditional libraries have not remained unaffected and the concept of digital
library has emerged and caused a revolution in these old institutions. A digital library
can provide access to many of the information networks around the world, which is a
necessary component of almost any research experience today.
Considering the facilities associated with a digital library, gradual replacement of
traditional libraries by digital ones appears to be inevitable. As an important step in
enhancement of education in Afghanistan, the concept of digital libraries must be
introduced and integrated into the country‘s rapidly evolving educational system.
This thesis addresses the challenges existing in Afghanistan university libraries. A
solution for each challenge is defined by introducing digital and automated systems and
finally a scheme is provided for switching from a paper-based library system to a digital
library system.
i
3. ACKNOWLEDGMENT
First of all, I would like to express many thanks to the World Bank, Ministry of Higher
Education of Afghanistan, TU-Berlin, and other staff and organizations that were
involved in providing me with the opportunity to study for a Master‘s Degree.
In particular, I would like to extend many thanks to Dipl.-Inf. Rene Herlitz, my
supervisor at TU-Berlin, for continuous provision of many useful suggestions and
constructive feedback, which enabled me to complete this paper.
Last but not least, I would like to thank my family for their support and encouragement.
I am indebted to their inspiration and support. This paper would not have been possible
without their support and inspiration.
ii
4. TABLE OF CONTENTS
ABSTRACT ....................................................................................................................... i
ACKNOWLEDGMENT ................................................................................................... ii
1 Introduction ............................................................................................................... 1
1.1 Motivation .......................................................................................................... 2
1.2 Goal .................................................................................................................... 3
1.3 Thesis Structure .................................................................................................. 4
2 Background ............................................................................................................... 6
2.1 Herat University ................................................................................................. 6
2.2 Herat University Main Library ........................................................................... 6
2.3 Herat University Abu Abdullah Rudaki Library ................................................ 7
2.4 Overview of Current Situation ........................................................................... 8
2.4.1 Book-Registration ....................................................................................... 8
2.4.2 Book Labeling in the Main Library ............................................................ 9
2.4.3 Call Number System in the Main Library ................................................. 10
2.4.4 Book Lending ............................................................................................ 11
2.4.5 Redundancy Problem ................................................................................ 13
2.5 Summary .......................................................................................................... 15
3 Digital System and Automation .............................................................................. 16
3.1 Need for a Digital and Automated Library....................................................... 17
3.1.1 Availability of Information ....................................................................... 17
3.1.2 Manageability of Information Explosion .................................................. 18
iii
5. 3.1.3 Accessibility of Various Media Types ...................................................... 19
3.1.4 Greater Efficiency ..................................................................................... 19
3.1.5 IT Based User Services ............................................................................. 20
3.1.6 Cooperation and Resource Sharing ........................................................... 20
3.1.7 Advent of ICT and WWW ........................................................................ 21
3.2 Summary .......................................................................................................... 22
4 Requirements........................................................................................................... 23
4.1 Functional Requirements .................................................................................. 24
4.2 Non-Functional Requirements ......................................................................... 25
4.2.1 Security ..................................................................................................... 25
4.2.2 Usability .................................................................................................... 28
4.3 Hardware Requirements ................................................................................... 29
4.4 Software Requirements .................................................................................... 30
4.4.1 Programming Language ............................................................................ 31
4.4.2 Database Management System ................................................................. 31
4.4.3 Web Server ................................................................................................ 32
4.4.4 Browser ..................................................................................................... 33
4.5 Summary .......................................................................................................... 34
5 Database Concept and Model.................................................................................. 35
5.1 Input Data ......................................................................................................... 35
5.1.1 Book Information ...................................................................................... 35
5.1.2 Member Information ................................................................................. 37
iv
6. 5.2 System Model ................................................................................................... 38
5.2.1 Login Scenario .......................................................................................... 39
5.2.2 Add Member Scenario .............................................................................. 39
5.2.3 Add Book Scenario ................................................................................... 40
5.2.4 Checkout Scenario .................................................................................... 41
5.2.5 Check In Scenario ..................................................................................... 43
5.3 Relational Database Benefits ............................................................................ 43
5.3.1 Redundancy ............................................................................................... 44
5.3.2 Insertion Anomalies .................................................................................. 44
5.3.3 Deletion Anomalies................................................................................... 45
5.3.4 Update Anomalies ..................................................................................... 45
5.3.5 Multiple-Value .......................................................................................... 45
5.3.6 Avoiding Data Loss .................................................................................. 46
5.4 Library System Database Model ...................................................................... 48
5.5 Summary .......................................................................................................... 50
6 Implementation ....................................................................................................... 51
6.1 Application Structure ....................................................................................... 51
6.1.1 Public Directory ........................................................................................ 51
6.1.2 Other Directories ....................................................................................... 52
6.2 Shared Code Concept ....................................................................................... 53
6.2.1 Database Connectivity .............................................................................. 53
6.2.2 General Functions ..................................................................................... 54
v
7. 6.2.3 Web Server Configuration ........................................................................ 54
6.2.4 Template.................................................................................................... 54
6.2.5 User Class ................................................................................................. 54
6.2.6 Thumbnail Class ....................................................................................... 56
6.2.7 Pagination Class ........................................................................................ 58
6.2.8 Persian Date .............................................................................................. 60
6.3 Challenges ........................................................................................................ 61
6.3.1 Form Live Validation ................................................................................ 61
6.3.2 Sort Data Instantly..................................................................................... 62
6.3.3 Add Data Instantly .................................................................................... 62
6.3.4 Search Data without Delay........................................................................ 63
6.3.5 Internationalization and Localization Approach ....................................... 64
6.3.6 401 Error Page........................................................................................... 65
6.4 Summary .......................................................................................................... 65
7 Conclusion .............................................................................................................. 66
APPENDIX ..................................................................................................................... 69
Bibliography.................................................................................................................... 70
Eidesstattliche Versicherung ........................................................................................ 72
vi
8. LIST OF FIGURES
Figure 2-1, User Searching for Book (Picture by Author) ................................................ 8
Figure 2-2, Separate Book for each Category (Picture by Author) ................................... 9
Figure 2-3, Books on Shelf with Labeling System (Picture by Author) ......................... 10
Figure 2-4, Letters Represent Subject of Study on LC System ...................................... 10
Figure 2-5, Book Catalogue Card (Picture by Author) ................................................... 11
Figure 2-6, Library Membership Card (Picture by Author) ............................................ 12
Figure 2-7, Separate Box for each Faculty (Picture by Author) ..................................... 12
Figure 5-1, User Entity.................................................................................................... 48
Figure 5-3, Library System Entity Relationship Diagram .............................................. 49
Figure 6-1, Pagination Example 1................................................................................... 59
Figure 6-2, Pagination Example 2................................................................................... 60
Figure 6-3, Form Live Validation ................................................................................... 62
Figure 6-4, Add Required Data Instantly ........................................................................ 63
Figure 6-5, User Details with Mouse Over ..................................................................... 64
vii
9. LIST OF TABLES
Table 2-1, Simple Library System using Book Registration .......................................... 14
Table 5-1, Book Information .......................................................................................... 37
Table 5-2, Member Information...................................................................................... 38
Table 5-3, Simple Library Database ............................................................................... 44
Table 5-4, Multiple-Value Using Multiple Rows ........................................................... 46
Table 5-5, Multiple-Value Using Multiple Columns ...................................................... 46
Table 5-6, Book Table..................................................................................................... 47
Table 5-7, Author Table .................................................................................................. 47
Table 5-8, Book-Author Table ........................................................................................ 47
Table 6-1, Thumbnail Result with Width and Height Specified ..................................... 57
viii
10. 1 INTRODUCTION
Afghanistan has experienced three decades of civil war and almost all of its
fundamental infrastructures have been affected or destroyed, including its educational
system at all levels. The Afghan society feels the necessity for education more than
ever, and it needs considerable time and effort to fill the gap, build the educational
system concretely and pave the way for new generations to have a system in compliance
with international standards.
In order to reach the goal it is essential to take the first step, thus, in this paper a plan to
kick-start the shift from a paper-based library system to digital has been detailed and the
various implementation steps have been outlined, bearing in mind that expanding the
access to libraries is pivotal to any effort to improve the educational system in the
country.
As a direct consequence of war, most Afghans are un-educated in computer sciences
and are not familiar with modern technology, or don‘t have any access to education
centers and computers due to financial problems, and because the digital system is a
new system that is not used often in the country, people still prefer using paper-based
information resources for their studies or research. The switch to digital library system
is a major transitional step and certainly takes a sufficient amount of time before it is
fully integrated as a regular practice of academic community and the public.
Using a paper-based system has many constraints and limitations compared to a digital
system as it is associated with wasting or consumption of (more) time, requires more
personnel, and the service quality is much lower than that provided through the digital
system. Having such libraries equipped with a digital system can facilitate and ease the
research process for lectures, students and researchers, who can use online resources,
i.e. research papers, e-books, etc and take part in discussions or electronically exchange
views with people who live thousands of kilometers away from them.
Today, Information Technology (IT) has changed the world massively (examples
include reading our emails and news online using neither paper nor pen, communicating
with instant messengers and Voice Over Internet Protocol (VOIP) while not sending
1
11. letters or going to call centers, watching video or TV shows online without renting /
buying of physical DVDs, ordering and purchasing products online from around the
world without traveling, and as one of the more recent developments, some minor
surgical procedures can be performed without the presence of doctors). All this
motivated the author to play his own part in supporting the Herat University Libraries in
their effort to improve efficiency and quality of their services and reduce the sort of
problems and difficulties which accompany their old system. The aim is to provide a
library system with higher speed, accuracy and efficiency. It should be mentioned that
such a system would be replicable and could be easily implemented in other universities
across Afghanistan, once it has been successfully installed in Herat University.
It is needless to say that upon using digital systems, the workflow in the library will be
smoother, more rapid, systematic and well-organized, and all sorts of maintenance jobs
and information processing can be carried out with higher speed, correctness and
efficiency.
1.1 MOTIVATION
In Afghanistan, most administrative systems are paper-based which are hugely costly,
and their workflow is slow and inefficient in spite of the many staff working in them.
The same situation is seen in libraries as well. Some of the main challenges which
libraries that use paper-based systems experience are as follows:
Wastage of time: searching for specific books is mostly done by users and it can
be really cumbersome for researchers to look for a desired book in a long list of
books on the book registration log. This can make the users exhausted and they
may prefer to not use the library anymore (based on interviews with users).
Loss of books: Tracking of borrowed books is difficult. For example, a member
borrows a book for a specific period of time and does not bring it back on time,
so the book is somehow lost because there is no automation process available,
and someone else can‘t use it anymore.
2
12. Usage limitation: Information regarding books (i.e. headings, labels, and
announcements) is limited to only one language either in Dari or Pashto; such a
system is limited and can‘t be used by those who do not know the language.
Costly: Running and maintenance of such a system is very difficult and costly
and requires many staff and expenses.
Since I have studied in Herat University, I am familiar with, and have been able to
locate, the above mentioned irregularities and problems in its libraries. Having that in
mind I decided to do a research on development of a digital system in order to fill the
gap in Afghanistan‘s educational developments. This idea increasingly motivated me to
work on, and think strategically about, replication and implementation of international
system of education in Afghanistan. At the same time, being in Germany helped me
obtain some good and significantly useful information about its university libraries,
which helped me to implement the digital library system in Herat University.
1.2 GOAL
The main goal behind this thesis is to define some of the key issues related to library
systems and develop a system to demonstrate several of these issues for management of
library resources and users. It is intended to be used as a creative guide to motivate and
educate users in the power and necessity of running a library in digital system. As such,
the system was required to be easy to use.
Some other goals behind this paper are to examine and evaluate the process in Herat
University Library as an example, discovery of users‘ needs, identify which parts of the
library workflow is required to be automated and digitalized and to implement an
automated and responsive library system which could handle tasks efficiently,
accurately, securely, and rapidly based on the users‘ requests.
When this challenge is addressed and the gap is filled in Afghanistan, the digital library
system can become a standardized system, although gradually and step by step, which
will help lecturers and students to find topics based on their studies and to perform
educational projects which enable them to improve their capacity, skills, etc.
3
13. 1.3 THESIS STRUCTURE
The paper will begin with a brief overview of the history of Herat University and its
libraries as well as their current situation, following which the benefits of the digital
library system and automation will be introduced in details. Next, the required library
features will be introduced, and focus will also be placed on the analysis of the data
definitions. Finally the most important features will be addressed, including challenges
during the implementation phase.
In general, providing such a system requires investigation, information gathering,
analyzing, designing, implementation and maintenance which will be introduced in
details in the coming chapters, but prior to that there will be an overview of the
organization structure of the paper.
Chapter 2: Background
This chapter will begin by looking at the background of Herat University as well as by
briefly describing the history of Herat University libraries. Then the current workflow
of the libraries will be introduced based on the author‘s surveys and interviews.
Additionally, this chapter covers various aspects, challenges and issues as well as the
disadvantages associated with the current system.
Chapter 3: Digital System and Automation
In this chapter the digital library system and automation will be introduced in details.
Moreover, the benefits of automation such as managing explosion of information,
accessing different types of media, greater efficiency, resource sharing and cooperation
will be addressed.
Chapter 4: Requirements
This chapter begins by looking at what defines library, through describing its functional
and non-functional requirements, as well as by looking briefly at the features that will
be implemented in the library system based on the users‘ needs. Additionally, the
technical hardware and software requirements will be introduced and addressed.
4
14. Chapter 5: Database Concept and Modeling
There are a number of different aspects of the application that must be covered,
including system model, benefits of using relational database management system, and
entity relationship diagram of the whole library system.
In this chapter, all features of the library management system, including workflow of
the system in order to accomplish a task, will be looked at and introduced. Each specific
feature will be broken down into its respective scenario. Here we will look at the library
system as a whole and discuss various options that need to be considered.
Chapter 6: Implementation
In this chapter, implementation of the library system will be defined. This process
begins by correctly setting up the environment and general application structure. There
are a number of various types of files in our web application. By defining the
application structure they will be kept as organized as possible. For example, one
directory is required for the web server, which it uses as the base directory and from
which it serves files. Another directory is supposed to hold custom and third-party PHP
libraries, and last but not least is the one to hold web site templates. Besides all this, the
most important features and challenges will be addressed and detailed.
Chapter 7: Outlook and Conclusion
This chapter will detail the challenges and issues which are automated and resolved by
the implementation of the digital system as well as the sustainability and maintainability
of the system itself. Next, the features and modules which are not yet covered by the
current implementation of the system will be described and detailed.
5
15. 2 BACKGROUND
2.1 HERAT UNIVERSITY
The University of Herat, established in 1988 with only a literature faculty, is one of the
oldest universities in the country and is particularly rich in tradition. It now consists
of 11 faculties (i.e. Agriculture, Computer Science, Education, Economics, Engineering,
Fine Arts, Islamic Studies, Literatures, Law & Political Sciences, Medical and Science)
which cover about 32 departments and totally host more than 6,000 students. (Team,
2009).
The rest of the information in the chapter is achieved by the author through interviews
with Majid Niya, head of Herat University libraries, other library staff and members as
well as through the surveys done by the author in both libraries.
2.2 HERAT UNIVERSITY MAIN LIBRARY
Herat University main library was inaugurated in 1367 (1988), simultaneously with the
inauguration of Herat University itself.
Since the beginning, this library has gone through many ups and downs. After the
recent events and the establishment of a democratic system in the country, Herat
University has undergone some developments. Currently, the library provides its users
with more than 35,000 books in various fields during office hours. Moreover, it has a
thousand journals in Dari, Pashto and English.
The main university library consists of sections including reference books, electronic
section, technical section, book distribution section, journals, and a section on
Afghanistan.
In 1387 (2008), based on an agreement between Herat University and Shahed
University in Iran, two librarians from Herat University library attended a two month
intensive training in Iran, in an effort to build the capacity of Herat library librarians.
6
16. One of the major problems in the Herat University library is shortage of space and lack
of IT infrastructure. It is hoped that the Ministry of Higher Education and other relevant
government organizations and offices take the necessary measures in this regard.
Currently, courses are offered based on credit system and students and lecturers are on
campus full time. Therefore, building a library in the new Herat University campus
stands out as a necessity.
In spite of all the problems during the educational year of 1387 (2008), Herat University
library distributed 2010 books, was visited on average by 40 people every day and
received 396 members.
2.3 HERAT UNIVERSITY ABU ABDULLAH RUDAKI LIBRARY
This library, which was previously named Herat Special Library, was renamed as Abu
Abdullah Rudaki during the international Rudaki conference in Herat and Afghanistan‘s
foreign Minister‘s visit to this city.
There are a total number of 11,000 books in this library, of which 6,000 are in Dari and
the other five thousands were donated by the wife of the late German professor, Dr.
Braun.
This library fully runs based on a standardized system and its books are organized
following the Library of Congress regulations, which are globally accepted. Herat
University professors and students who use the services of this library get familiar with
how to use a modern library and will have no difficulty using libraries outside the
country.
7
17. 2.4 OVERVIEW OF CURRENT SITUATION
The remaining part of the chapter will introduce the workflow processes of both
libraries in more details.
2.4.1 BOOK-REGISTRATION
Book-registration is one of the old methods for bookkeeping which is currently
practiced in both libraries of Herat University. In this method, registration of book
identifications and information is done manually by library staff. In this system, there is
a separate book-registration for each subject (i.e. computer related books such as those
on graphic, programming, network and database have their own book-registration,
accounting related books have their own separate book-registration, etc).
Searching for a specific book is cumbersome through these long and unsorted book-
registrations and finding a book can take hours. Besides, after the book is found on the
log, a librarian is required to look for its location (see Figure 2-1).
Figure -1, User Searching for Book (Picture by Author)
2
Today, it is the age of information and technology, and it is not efficient to keep book
information on book-registration logs containing lists of books based on the subject (see
Figure 2-2 ) as the number of subjects in which books are written increases over time,
new fields and subjects come to being continuously and, in addition, there are
8
18. interdisciplinary books that can be classified under more than one subject (e.g. books on
related Engineering and Computer subjects).
Figure -2, Separate Book for each Category (Picture by Author)
2
Thus, with the methods currently in use in Herat University libraries, it is impossible to
edit book information and hard to track books which have been checked out. In
addition, book logs cannot be easily edited for lost and archived books.
All in all, the workflow in the library is much slow, disorganized and inefficient, and the
system is very tedious for both users and librarians.
2.4.2 BOOK LABELING IN THE MAIN LIBRARY
Labeling is like an address. It helps librarian to figure out where a book or other
document is located on a shelf in the library. In fact this system is not a standard one
since each librarian implements their own concept of labeling which is understandable
only for them (see Figure 2-3).
The Library system will be inefficient and difficult to understand in the absence of the
librarian who implemented the labeling.
9
19. Figure -3, Books on Shelf with Labeling System (Picture by Author)
2
2.4.3 CALL NUMBER SYSTEM IN THE MAIN LIBRARY
Nowadays most educational libraries in developed countries use the Library of
Congress (LC1) call number system. This system uses a combination of letters and
numbers to arrange materials on the shelf by subject as illustrated in Figure 2-4
(Mazinani, 2000).
Figure -4, Letters Represent Subject of Study on LC System
2
1
established in 1800 in the American Library of Congress for better services
10
20. Since LC arranges materials by subject, the first letter(s) represents the general subject
area, and the number represents a specific subject, the third line represents the author‘s
name and the last line is the year it was published.
The Call Number can be considered like an address, exactly telling where a book or
other media is located on the shelf in the library. As a standard system, it is not
dependent only on a certain librarian but, instead, is understandable for everybody
irrespective of where on the globe they are.
Recently, Librarians were trained on putting the LC system in place, so now they
generate call numbers using some algorithms and regulations and stick them on the
spine of the books.
2.4.4 BOOK LENDING
Besides generation of a call number based on the LC system and sticking it on the spine
of the book, a catalogue card containing book information and lending schedule table is
placed inside the book by librarian (see Figure 2-5).
Figure -5, Book Catalogue Card (Picture by Author)
2
11
21. Users who do not have library membership card are not able to borrow any book, and
users are required to be registered as a library member in order to obtain the
membership card.
Figure -6, Library Membership Card (Picture by Author)
2
When a user requests to check out a specific book, the librarian will fill out his / her
required information on the catalogue card with consideration of the due date for
returning of the book, and will stick membership card with catalogue card together and
keep them in a box as it is shown in Figure 2-7 (for better efficiency there is a separate
box for each faculty).
Figure -7, Separate Box for each Faculty (Picture by Author)
2
12
22. When the user brings the borrowed book back, he / she will be asked for the faculty
name. Then the librarian looks after the member‘s card inside the related faculty‘s box.
When it is all ok (i.e. it is not past the due date for returning the book or book is not
damaged) user will receive his / her membership card back and the catalogue card will
be placed inside the book for later use.
All in all, there are remarkable problems as it is a paper-based system. One issue can be,
for instance, un-awareness of librarian regarding the expiry dates of borrowed books, so
it is difficult to track borrowed books and users, and last but not least when the users
bring back the borrowed books it is time-consuming to look inside the boxes.
2.4.5 REDUNDANCY PROBLEM
Extensive redundancy of data is the main problem linked with using paper-based library
system. Some repetition of data is almost always required, but redundancy is the issue
of needless repetition of data.
Suppose merely for the purpose of illustration that there are 10 books in the library
having some required information [the same concept can be applied for a library with
maybe hundreds or thousands of books (Roman, 1999)].
Code Title Author Information Publisher Information
Name Details Pub Name Add Tel Year
DB- MySQL Tom Logan Tom info Mercury New xxx 05
0001 York
DB- Oracle Tom Logan Tom info Mercury New xxx 04
0002 York
ACT- Star climber Oppel Andrew Oppel info Harper New yyy 02
0001 Collins York
ACT- Sky breaker Oppel Andrew Oppel info Harper New yyy 01
0002 Collins York
WEB- CSS Cristina Silva Cristina info Neptune Herat - zzz 08
0001 Afg
WEB- HTML Cristina Silva Cristina info Neptune Herat - zzz 09
0002 Afg
WEB- JavaScript McFarland, McFarland and Pogue Pogue sss 09
0003 David Sawyer David info Press City
13
23. WEB- Dreamweaver McFarland, McFarland and Pogue Pogue sss 08
0004 CS4 David Sawyer David info Press City
SF- Obsidian Prey Krentz, Jayne Krentz, Jayne Jove Jove Add ttt 02
0001 Ann Ann info
SF- After Dark Krentz, Jayne Krentz, Jayne Jove Jove Add ttt 00
0002 Ann Ann info
SF- Trust Me Krentz, Jayne Krentz, Jayne Pocket Location ppp 04
0003 Ann Ann info Books
SF- Wildest Hearts Krentz, Jayne Krentz, Jayne Pocket Location ppp 04
0004 Ann Ann info Books
WEB- AJAX Powell, Thomas Powell, Thomas McGraw- New xxx 08
0005 info Hill York
Web- AJAX Bible Holzner, Steven Holzner, Steven John Wiley US uuu 08
0006 info
Table -1, Simple Library System using Book Registration
2
As Table 2-1 illustrates there are many books which have the same author information
repeated in different pages of the registration-book log. In addition to this, publisher‘s
information appears more than once. Thus searching for a specific and desired book is
very difficult and is so much time-consuming that it makes the users exhausted.
According to the survey and interviews carried out by the author, this involved process
is a reason for some people to prefer not to use the books from Herat University
libraries any longer.
14
24. 2.5 SUMMARY
In the current era, with the advent of new branches of science and expanding existing
branches and the growing number of students, lecturers and researchers, traditional
libraries with manual and paper-based workflow activities cannot maintain and manage
the huge number of existing books and other resources, and also cannot respond to the
applicants‘ requests efficiently.
One of the usages and benefits of Information and Communication Technology (ICT) is
introducing of digital and automated library systems, which can play an important role
in development and be a convenient means for sharing of resources and information.
Additionally, most manual activities will be reduced and the workflow in the library
may be carried out faster, and in a more organized and efficient way. All types of
housekeeping jobs and information work can be done with higher speed, accuracy and
greater efficiency.
The next chapter will introduce the digital and automated library systems including their
benefits in more details.
15
25. 3 DIGITAL SYSTEM AND AUTOMATION
We are now in the age of information and technology. This age has its own
characteristics. The most important features of the information age are the facility and
extraordinary speed of communications. With the introduction of computers and
Internet in everyday human life, all angles and aspects of human society have
tremendously changed. With phenomena such as virtual organizations and universities,
electronic commerce and township, and last but not least the digital library, the world
today is faced with rapid and unpredictable changes.
Some define the Internet as a digital and automated library while it is not such. It differs
from any traditional or actual library including physical space for resources where the
minimum services are the bibliographic information. On the other hand a digital library
can also be defined as such: electronic access to information systems which are well-
organized and that allow the user to retrieve organized, selected and managed
information as fast as possible (Information, 2002).
Digital libraries are computer-based models of actual libraries which, with the help of
ICT, provide more effective and fast information services to the research communities
by eliminating time and spatial range.
Automation can be the use of computer systems and facilities (i.e. hardware, World
Wide Web, expert systems, artificial intelligence, and so on) to control, eliminate,
reduce, or facilitate some processes and workflows of the manual system in different
sectors, including library loan, organizing, providing management, journals, reference;
and also promote the efficiency of library housekeeping such as acquisition,
cataloguing, circulations and serials control, etc as well as information (Information,
2002).
16
26. 3.1 NEED FOR A DIGITAL AND AUTOMATED LIBRARY
Various factors and challenges have caused to bring about the change from paper-based
or traditional library to digital library systems.
The fundamental reason to create digital libraries is better distribution of information
compared to the past. Although traditional libraries are an integral part of society but
they are not complete.
During centuries paper has been used as the main media for the storage of media
publications. But in current era with the huge explosion of information and existence of
various sources of information, paper as media can no longer respond to the increasing
needs of human.
As an example, consider using a real or traditional library, where the reader must be
present. It takes only a few minutes of university members, but most people are not
university members and neither is the library in their vicinity. Most researchers,
engineers and students will not have enough access to latest information if they rely
solely on traditional libraries.
The remaining chapter will introduce the benefits of digital and automation library
system in more details. The benefits also can be applied to digital index, not only to
digital library.
3.1.1 AVAILABILITY OF INFORMATION
In traditional libraries, access to resources and documents is only possible as much as
the number of existing copies allows, and also users cannot use them until they are
brought back in the library; in contrast with this, access to digital library resources and
materials are available for unlimited number of users. The same concept applies to
digital index as in a traditional library system one user can use the book-registration log
at a time.
Using of traditional libraries is restricted to certain days of week and certain hours of
day, but in digital libraries there is no time limitation and at any time the system can be
used.
17
27. In traditional libraries danger of loss of documents and resources due to negligence or
mistake exists and sometimes it may even be impossible to pay costs for such losses,
but this concern does not exist in digital libraries and the documents can be kept in a
secure way.
Lack of Physical Boundary: Visitors who use the digital library do not need to
physically visit the library as long as Internet connection is available, people around the
world can have access to the same information at the same time with no conflict.
Lack of Time Boundary: An important advantage is that digital library clients can
access information and the library‘s resources any time, day or night; unless there is no
Internet connection. This is in contrast with traditional libraries which are only open and
accessible during the official time.
Multiple Accesses: The same resources shall be used simultaneously by several users.
For instance, if there is a PDF version of book available it does not make difference
how many users are using it; while traditional libraries are limited to the number copies
which exist.
Structured Access Method: Digital libraries provide more organized access to content
in much richer ways. This means that it is easily possible to move from a list of books to
a special book, and then to a special chapter.
Information Retrieval: Users can search the total collection using any search phrase
(word, phrase, title, name, and subject). Digital libraries provide a very easy way to use
resources through interface.
3.1.2 MANAGEABILITY OF INFORMATION EXPLOSION
The huge growth and explosion of documents (i.e. books, articles, journals, etc) can be
felt considering the fact that the number of documents doubles almost every two or
three years written by people around the world and available in various formats and on
various fields, especially in areas of science, social science and technology in the form
of book and non-book material. This forced the library planners to utilize new
technology for the organization of information since the traditional library methods
failed to cope with the task (Nabil, 1996).
18
28. The fact that information explosion is growing at a tremendously fast pace is the main
reason for people to rely more and more on using library automation. Although library
automation seems to be the only solution to this, there remains a main challenge as how
to organize such libraries systematically and how to provide services with documents
which are available in different formats, thus library automation is the only solution.
3.1.3 ACCESSIBILITY OF VARIOUS MEDIA TYPES
Printing is not always the best way for information storage and distribution. For
example, a database may be the best way to store information because of the ability to
analyze that information by computer. Therefore, information presented on paper is
provided to users as static in terms of content and shape. However, digital libraries have
this feature to provide information in dynamic and flexible ways (Arms, 2000).
Generally, information is available in libraries in different formats, print or non-print
materials, within print format there are many other varieties of sources such as books,
journals, e-books, archives and pictures, and non-print sources include videos, audios,
and so forth, so it is required that they be organized and accessible as fast as possible.
3.1.4 GREATER EFFICIENCY
This is a direct statement about the utility and usefulness of using computers in order to
keep track of the resources which are available, keeping in mind that, in the case of a
digital library, its success depends on how the recourses are utilized by the users.
“The workflow in the library may be made more rapid, more
systematic and efficient with the help of computer. The records
in the computerized store are more accurate, more reliable, and
more accessible than the manually prepared records. All sorts
of housekeeping jobs and information works can be performed
with more speed, accuracy and greater efficiency.” (Riaz, 1992
P. 66)
Making the data available and usable to users to a large extent as quickly as possible
and in an accurate manner is what the greater efficiency does.
19
29. 3.1.5 IT BASED USER SERVICES
The growth of documents and resources is fast and these are produced in many different
areas, and are updated regularly. This all leads to an increase in the users‘ needs as they
are required to keep up with the new developments and remain aware of new
happenings. Thus we can say that the revolution of information expansion has disabled
paper-based systems to cope with the increase in the needs of users resourcefully.
The computer as an electronic machine which is fast, reliable, and capable is able to
respond to the users‘ needs in an enhanced and fast manner. For instance most of the
workflow and housekeeping of a traditional library such as acquisitions, circulations,
cataloguing, and serial controls is done manually and leads to many problems. This can
be done with computers with greater ease, speed, accuracy and efficiency with no error.
Automation of library cataloguing provides a variety of access points to a large volume
of information very easily, and online catalogue provides great access for the users with
the possibility of accessing a variety of bibliographical databases around the world and
obtaining information in whatever field they are interested.
3.1.6 COOPERATION AND RESOURCE SHARING
No single library or institution can be resourceful and self-sufficient alone by itself,
since no single library can collect and organize all documents available all over the
world even in one specific field of study. Nor any one organization can gather all
documents in the areas of interdisciplinary and multidisciplinary subjects.
“The computer-based library systems, such as Online
Computer-based Library Center (OCLC) in the United States,
the University of Toronto Library Automation System (UTLAS)
in Canada and the Birmingham Libraries Cooperative
Mechanization Project (BLCMO) in the U.K. are functioning
successfully with increasing databases and multidimensional
services.” (Riaz, 1992, P.66)
20
30. Through automation process cooperation and sharing of resources among the libraries
and other organizations is possible without consideration of geographically dispersed
areas within the country and the world.
The remarkable enhancements and benefits of resource sharing comprises of: (a) Access
to more documents and information sources due to coordination and cooperation of
many libraries and institutions in a system. (b) Being inexpensive, because the total
cost is shared by a number of libraries in the system. It can happen that due to lack of
budget a particular library or institution can‘t afford all the required documents and
resources, and (c) helps avoid duplication of resources.
3.1.7 ADVENT OF ICT AND WWW
Nowadays the Internet plays a vital rule in libraries and the information centers, as it has
tremendously changed the world and the means of communication across the globe.
With rise of new technologies world has became a global village; a village that includes
digital libraries as well.
As researchers and students increasingly achieved access to the Internet, they soon
understood it and found it as a tool for the advancement of learning. Textbooks in some
libraries and other educational institutions were out of date, whereas research on the
Internet moved quickly, was up to date, and included a wide variety of international
sources. Thus, students were the first to realize the impact of the Internet on their
education—barriers to learning had been removed.
All in all, due to the availability of ICT and the World Wide Web (WWW) it is easy for
everyone to know what is happening and what is exactly taking place in the modern
world and to be up to date.
21
31. 3.2 SUMMARY
In physical or traditional libraries, access to books is only possible as much as the
number of existing copies allow, and next visitors cannot use them until they are
brought back; in contrast access to resources of a digital library are available for
unlimited number of users.
Using of traditional libraries is restricted to certain days of week and certain hours of
day, but in digital libraries there is no time limitation and at any time the system can be
used.
Physical access to the library for people in remote areas could not be accomplished and
this makes it difficult for anybody who lives away from physical libraries to use them
for educational, research and study purposes but in digital libraries distance has no
meaning, anyone in any place who has access to Internet can use the resources.
In physical libraries risk of loss of documents and resources due to negligence or
mistake exists and sometimes it may even be impossible to compensate such losses, but
this concern does not exist in digital libraries and the documents can be kept in a secure
way.
The aforementioned benefits also apply to the digital index and not only to digital
library. For instance in traditional libraries the book-registration log can be used by one
user at a time and also it is not available remotely and risks for loss of it exist as well.
Overall, considering the problems with paper-based systems, and the benefits of
computerized systems, it is decided to implement such a system to overcome some of
the aforementioned difficulties and offer services with ease and efficiency instead.
In general providing any system requires investigation, information gathering, analysis,
design, implementation and maintenance. Definition of Requirements for the proposed
library management system for the Herat University libraries will be covered in the next
chapter.
22
32. 4 REQUIREMENTS
In System Development Life Cycle (SDLC) of software engineering, the word
requirement can be defined as an introduction of what a system or a product does, if it is
a must, referred to as a functional requirement. This type of requirement specifies
something that the delivered system must be capable to do. Another type of requirement
specifies something about the system itself, and how well it performs its functions. Such
requirements are often called non-functional requirements. Examples of such
requirements include accessibility, usability, reliability, maintainability and in a word
ease of use.
To sum up, a requirement is defined as a condition and criteria the system must meet for
the customer to find the system satisfactory. Requirements serve as an agreement
between the system developers and the customers for whom the system is being
developed. The system developers agree to provide the capabilities and functionalities
specified. The customers or clients agree to find the system satisfactory if it provides the
mentioned capabilities.
As a result of the investigations and surveys performed by the author, and the interviews
done with library and academic staffs, the following components are found as the most
essential ones for the system to provide. It shall overcome problems related to manual
and paper-based activities, automate most of the feasible tasks such as data summary,
overdue feedback for the borrowed books, and provide ease of use of the library for the
members.
Book Management: The library management system shall allow authorized users to
review, add, update and delete books information.
User Management: The library management system shall permit authorized users to
review, add, update and delete users‘ information.
Search: The library management system shall allow users including either library or
academic staffs to review, and search resources.
23
33. Check in and Checkout: The library management system shall allow authoritative
users to review and search checked out books in order to extend the due date or inform
users to bring back the book.
Report Generation: The library management system shall automate most calculation in
order to provide useful statistical data.
News and Announcements: The library management system shall let users, either
library or academic staffs, to review and search for recent news and announcements
with regards to the library.
4.1 FUNCTIONAL REQUIREMENTS
The functional requirements describe the core functionality of the library management
system. In more detail, functional requirements are the functionalities which are
required for the library management system as without them the system can‘t be
complete and function properly. These are sometimes known as system capabilities.
Book and User Management
The library management system shall allow authorized users e.g. library staffs to
review, add, update and delete books and users information.
This is because the library staff need to have an admin section with qualified
functionalities that manages resources, either book or user information, or other
resources when it is required.
Simple and Advanced Search
The library management system shall permit library members including either library or
academic staff to search and review resources such as books information and news
announcements. Authorized users shall be allowed to search for all kinds of resources
including books, users, news etc in order to review, change or update information.
Search feature facility shall allow the finding of resources in a matter of seconds
without time wasting. The search feature will be based on various criteria. In addition,
advanced search feature is provided in order to search various conditions and criteria
24
34. simultaneously (i.e. book title, language, subject, author information etc with regards to
books and the same concept can be applied for the users information).
Check in and Checkout
The library management system shall allow authorized users (i.e. library staff with right
access level) to do check in and checkout processes; besides, it can review list of
checked out resources in order to either inform users to bring them back by email or
extend the due date.
The proposed library management system is supposed to overcome difficult processes
of resource check in and checkout (distribute books to the users and update the books
returned by the users), and instead provide ease of use on mentioned processes; in
addition, the library management system shall calculate and display the list of users with
overdue borrowed books.
4.2 NON-FUNCTIONAL REQUIREMENTS
The non-functional requirements features will improve accessibility, reliability, and
maintainability of the system and provide ease of use for the library staffs and users.
Non-functional requirements are also known as quality requirements as they increase
the usability of the system.
4.2.1 SECURITY
For the purpose of security issues and resolving of problems such as abuse of the
available system information and sabotage and manipulation of resources and data by
unauthorized users, loss of data by system crash due to power failure, virus and fire;
special and efficient security procedures and roles are considered for the system as
follows:
4.2.1.1 ACCESS LEVEL SCHEME
Access to various system components including documents or other management parts
of the system is based on role. In other words, each user in the system will have access
to different parts and components of the system based on the permissions and privileges
defined.
25
35. There are different categories of users namely administrator, library staff, lecturers and
students. Depending upon the category of user the access rights and permissions are
decided. This means if the user is an administrator then he / she can be able to modify
the data, delete, append, etc. All users other than library staff such as students and
lecturers only have the rights to retrieve the permitted information.
4.2.1.2 ENCRYPTION OF STORED PASSWORDS
Most of the users have different accounts for their emails, messengers, social networks
(i.e. Yahoo, MSN, Skype, Live Messenger, Facebook, and MySpace) and most of the
times use the same password. Thus, passwords of system users in the database are
stored encrypted with using Secure Hash Algorithm (SHA), even if unauthorized users
achieve access to the database, the passwords are unusable since they are encrypted.
4.2.1.3 PASSWORD RECOVERY
Password recovery is usually a useful and significant feature and component of the
system. It can be counted as an automated feature of the system which decides and
operates by itself, and there is no need to ask library staff for lost / forgotten password.
4.2.1.4 SECURITY IMAGE / CAPTCHA
CAPTCHAs (Completely Automated Public Turing test to tell Computers and Humans
Apart) keep spam programs out of systems. Right now the most popular social
networking sites (i.e. Facebook, MySpace, etc) and other application systems use
CAPTCHAs in their registration form since screen readers are not able to read the text
in CAPTCHAs. Therefore by using CAPTCHA also known as security image, system is
able to differentiate between human and computer or screen readers.
4.2.1.5 DATA SANITIZATION AND V ALIDATION
Validation of data is a very essential and vital part of working with forms. Not only can
invalid submitted data lead to security problems (i.e. SQL injection, XSS, session
fixation, etc), but it can also crash the system.
“A critical concept related to handling HTML forms is that of
validating form data. In terms of both error management and
26
36. security, you should absolutely never trust the data being
entered in an HTML form. Whether erroneous data is
purposefully malicious or just unintentionally inappropriate, it's
up to you the Web architect to test it against expectations.”
(Ullman, 2005, P.42)
Data validation and security is important and often undervalued by designers who
design databases, developers who develop applications, programmers and clients
similarly.
Cross-Site Scripting (XSS): A sort of code injection where a script is injected
onto a website from a completely different website. (Shiflett, 2005)
SQL Injection: this is deservedly one of the best known types of attacks in
which a script is used to participate in one of numerous exploitative behaviors
including exposing gaining unauthorized access to data, altering data inside of a
database, or simply injecting code to be rendered or executed within a website
thereby breaking or altering the website (Shiflett, 2005).
Cross-Site Request Forgery (CSRF / XSRF): A less common exploit that
relies more on data sources like browser and session cookies than poorly
sanitized and validated data inputs (Ullman, 2005).
Improper Data: Not really security vulnerability by itself, improper data can
cause problems for a website owner or database administrator. Often, improper
data can break poorly coded websites or cause automated systems to crash.
4.2.1.6 DATA B ACKUP
In an age when the use of computers increases day by day, data backup and storage is
more significant than ever. However, today's data backup and storage solutions have
evolved into much more characteristic services that let one share and access your data
easier and from pretty much anywhere. There is no warranty of avoiding data loss due
to issues such as system crush, corruption, virus, or power failure. In such situations
backup would be the only solution.
27
37. 4.2.2 USABILITY
If a powerful system in a specific field is created without an appropriate user interface,
users will not use it. Appropriate user interface design is an effective communication
path between users and the created system.
If system usability is difficult, if it causes numerous errors, or if the system does not
lead the users to their aims simply, despite of the powerful performance that it provides,
users will not be interested in using it.
A suitable and appropriate interface design is the most important issue for production of
system, because the users only work with the interface and that is why the interface is
known for them as the system.
4.2.2.1 WEB B ASED
Since proposed library management system is dynamic and on the other hand library
staffs are not technical / programmers, it is useful and more user friendly to consider all
components and parts of the system completely web based and dynamic. For example
home page, library rules and policies, library services, contact us, and contents of other
pages can be updated and modified through the interface easily without code accessing
and manipulation by the application programmer. Thus, all contents of the components
can be easily customized and modified via the interface by the library staff without
specific technical knowledge whenever it is required.
4.2.2.2 SMART DATA VALIDATION
Since the system is supposed to handle users and books registration into the database for
the purpose of maintenance and tracking, immediate evaluation and validation of user
input during the registration process would be helpful and provide ease for the library
staff. Validation of user input after registration is complete and checking on the server
side and comparing of data against the database based on some criteria like username
and email duplication would be tedious as the library staff is required to correct the
errors and reenter everything from the scratch.
28
38. 4.2.2.3 SMART DATA SORTING
Based on the survey and interviews carried out by the author, accessing the required
information and favorite resources are one of the most essential modules mostly used by
the library staff during book management (edition of information, deletion of unneeded
books, check in and checkout transactions), and members while looking for their
favorite books. Thus, including smart sort feature handles sorting of data based on
multi-column and parses text, integers, currency, floats, and dates data types without
page refreshes and will apply applicants‘ requests more efficiently.
4.2.2.4 PAGINATION
Pagination is basically the concept and process of taking a set of huge records of data
and spreading them out over many pages to make them much easier and more flexible
to be viewed by users.
The concept behind pagination is, if there is hundreds and thousands of records of
information displaying only on a single page; not only it would be a headache for users
to try and read through the long page, but it will also be a cause for reducing system
performance as it takes much time to display them.
4.3 HARDWARE REQUIREMENTS
The system is going to be used in Herat University libraries. The network architecture
would be client/server, so system would be installed on the server, and the clients could
access it via browsers.
Since currently there is not a very large compound for the both libraries, and neither
there is significant rush of the members nor huge growth of information and resources,
so three desktop computers would be sufficient to make the internal network of each
library. One of the computers shall be considered as the server for the system and the
required tools and software would be installed on it. The other two computers will be
used as client by members for accessing material and resources.
29
39. Server requirements
Operating System: Windows XP / Vista2
Processor: Pentium 2.x GHz or higher
RAM: 1 GB or more
Hard Drive: 80 GB or more
Mouse, Keyboard, LAN Card, Monitor, Printer and some other devices
Client requirements
Operating System: Windows XP / Vista
Processor: Pentium III or 2.0 GHz or higher RAM: 516 Mb or higher
Hard Drive: 20 GB or higher
Mouse, Keyboard, LAN Card and Monitor
4.4 SOFTWARE REQUIREMENTS
There are many reasons for developing a new system rather than adapting an existing
one such as interface and localization, different requirement specifications including the
data and functionalities, and last but not least customization according to the
environment.
The development of the proposed system will be constrained by the availability of
required software such as web servers, database and development tools. In this part it is
to be discussed that what types of tools and software are actually required in order to
implement the proposed system with aforementioned features.
2
Selection Windows Operating System is due to users familiarity with it, on the side the proposed system
should be cross plat-form
30
40. 4.4.1 PROGRAMMING LANGUAGE
There are many different web-based programming languages available, for example
ASP, JSP, PHP etc.
PHP 5.3.0 is chosen as the scripting language since it is fast, free and open source, is
extremely powerful and interactive with almost all Database Management Systems
(DBMSs) and especially because it has built-in features for communicating with
MySQL (Ballad, 2008).
PHP stands for PHP Hypertext Preprocessor. The word Hypertext means HTML or any
other markup language and the word Preprocessor defines that PHP processes the code
before sending the result to the client‘s browsers (Glass, 2005).
PHP is free. This means that it can be downloaded from the PHP official website3 and
be used. This is an advantage since Afghanistan is a developing country which does not
have good economic infrastructures, and in particular educational institutions cannot
afford the license payment.
PHP is open source. This means the source code is freely available to the public for use
and modification, thus allowing programmers and developers to modify and customize
it to fit their own specific environment.
Additionally, PHP is cross-platform. The term cross-platform means that one can use
PHP on Windows, Linux, MAC operating systems and this is a great feature.
4.4.2 DATABASE MANAGEMENT SYSTEM
In order to keep the data persistent a database is needed, and a database is just a
collection of related data; examples of databases that are used in everyday life can be
phone address book storing friends‘ information, bank databases keeping account
information etc (Navathe, 1999-2008).
3
http://www.php.net/downloads.php
31
41. In order to manage resources such as users and books details and so on a (DBMS) is
required. As an analogy database can be considered as the library, while DBMS can be
counted as librarian.
Examples of powerful DBMSs are Oracle, Microsoft SQL Server, Microsoft Access,
Postgre-SQL, MySQL etc where each of them has their own merits and special features.
As the result of author‘s investigations, MySQL 5.1.36 was chosen as the DBMS, since
it is free and open source and downloadable from its official website4.
Besides, it can handle small and medium databases up to 32 indexes per table. This
feature has been successfully implemented at levels of 60,000 tables and 5,000,000,000
rows (version 5.x, currently in development, will allow 64 indexes), and is relational
database management system where data can be split into many separate tables in order
to reduce redundancy and database anomalies, and last but not least is that it is
compatible with PHP (Glass, 2005).
4.4.3 WEB SERVER
PHP is selected as the scripting language on the server side. It does not need
compilation. Placing PHP source files on the server and the web server will take care of
parsing and executing the source files, and then sending the plain text results to the
users‘ browsers instantly depending on how busy the web server is.
There are many different web servers available such as Apache HTTP web server also
known as Apache, IIS (Internet Information Server), etc and each has its own features
and merits. As an answer to the question of which web server should be selected, the
answer will be apache 2.2.11 due to its great offering features as follows.
Apache is free. It does not need license payment and is an open source that allows
programmers to modify and customize it, adding or modifying modules as needed to fit
their own environment. It runs on a variety of different operating systems (i.e. Linux,
Windows, Mac OS (and most other varieties of UNIX), it is a great and popular web
4
http://dev.mysql.com/downloads/
32
42. server according to surveys and investigations at news.netcraft.com 5and
securityspace.com6. This wouldn‘t be true if it didn‘t work well. Also, this means that
Apache carries on correctness, reliability, scalability, stability, speed and last but not
least there is a large group of users who can support and provide help (Ballad, 2008).
4.4.4 BROWSER
A web browser is a program on the computer that allows users to visit the web sites.
The web browser is an important piece of software on the computer because every web
page runs through it.
Installing web browsers is free but the latest version is preferable and there are plenty of
web browsers such as Firefox 3.5.5, Internet Explorer 7.0, Safari, Opera, and Google
Chrome 3.0.195.33 etc.
Java Script is required to be enabled on the browser for the proposed system in order to
provide smart and useful, mostly non-functional, requirements (i.e. Smart data
validation, quick sorting of data, etc).
5
http://news.netcraft.com/archives/web_server_survey.html
6
www.securityspace.com/s_survey/data/
33
43. 4.5 SUMMARY
Based on the author‘s investigations and surveys in Herat University libraries, Herat
Public Library, some online library management systems, and interviews with library
staff, the proposed system requirements and specifications have been discovered and
categorized as functional and non-functional.
In order to fulfill the listed requirements and specifications, it is essential to analyze and
divide them into multiple tables in order to reduce and overcome repetition of unneeded
data. Additionally, elimination of database anomalies (insertion, deletion, and update
anomalies) is important.
In order to create communications and negotiation space between the system developers
(database designers and application programmers) and customers (library staff), it is
necessary to have a model of the database system that is understandable for both parties
(developers and customers).
The coming chapter will introduce the methods of data analysis and their benefits.
Besides, the database entity relationship model of the system will be introduced in more
details.
34
44. 5 Database Concept and Model
The model of a database provides a useful blue-print and perspective, in particular for
the purposes of the initial design of the database. Additionally, it is a bridge between the
developers and customers; since the customers do not have technical knowledge, thus
the database model provides ways of communication and discussion between them.
The general principles and concepts of the use case scenarios and models for the library
database systems will be illustrated and introduced in detail through the entire chapter.
The database library example is designed to hold data about the books in a certain
library for the purpose of illustration and description; in addition, the amount of data
which will be used will be kept artificially small just as much as necessary to exemplify
the concepts.
In order to start building the basic model, the database designer is required to analyze
the information gathered during the previous chapter for the purpose of (a) classifying
data objects as either entities or attributes, (b) identifying and defining relationships
between entities, (c) naming and defining identified entities, attributes, and
relationships, and (d) finally draw its Entity Relationship diagram.
5.1 INPUT DATA
The results of the input data are based on surveys and interviews performed by the
author in Herat University libraries, Herat Public Library, some online library
management systems, and last but not the least with library personnel in regards with
required data.
5.1.1 BOOK INFORMATION
Herat University libraries use book registration logs for the purpose of keeping and
tracking of books information. Also part of books information is kept on the book
catalogue cards for the purpose of tracking lent books. Table 5-1 is the needed data for
the book based on results of the author‘s surveys and interviews.
35
45. Attribute Description
Signatory Signatory is the system call which is generated using Library of
Congress system standard with using some algorithms; helps
user and librarian to access location of the book easily
Title Title of the book; useful for the search purpose
Language There are books in different languages, thus for the purpose of
having a list of books according to specific language, useful for
statistics purposes for example displaying total number of
books according to languages
Edition Edition of the book (i.e. 1st, 2nd, 3rd, 4th, …. 8th)
Category There are books on different subjects, thus having a list of
books according to specific subject, helpful for statistics
purposes for example having number of books according to
each category
Publisher Name Name of publisher, valuable for the search purpose
Published Location City where the book was published, as address of the book
Published Year Only year
Author‘s First Name Book Author’s First Name; useful for the search purpose
Author‘s Last Name Book Author’s Last Name; helpful for the search purpose
Author‘s Birth Year Only Year
Author‘s Death Year Only Year
Status Can store the following values:
Archive: Books which are old and out of date, not
being used any more
Available: Books which users can borrow
Unavailable: books with one copy not lendable or
those books which have been borrowed, burned,
damaged and now not available in the library
36
46. Reference room: Books which cannot be taken out of
library, but can be used inside the library
No of Copies Number of copies which are available for the book
Description Other book information such as ISBN, sub-title, etc
Table -1, Book Information
5
5.1.2 MEMBER INFORMATION
Library membership cards have been issued for members including students and
lecturers as the library membership cards enable them to borrow their favorite books
from the library.
Herat University libraries use member registration logs for the purpose of keeping and
tracking member‘s information. Table 5-2 summarizes user‘s information as the result
of the author‘s interviews with library staffs.
Attribute Description
First Name Member’s First Name; useful for the purpose of searching
Last Name Member’s Last Name; useful for the purpose of searching
Father‘s Name Member’s Father Name; useful for the purpose of searching
Gender True or false, Useful for statistics purposes to know the number
of users according to gender; useful for data filtering
Faculty Useful for statistics purposes to know number of users according
to each faculty, useful for data filtering
Semester Useful for statistics purposes to know number of users according
to each semester, useful for the search module to filter based on
semester
Email Useful in future, in order to notify users about new books,
account activation, and warning users to bring the borrowed
books back, etc
Contact No Mobile or telephone number, needed in emergency cases, in
37
47. order to inform users
ID No Users’ IDENTIFICATION NO
Registration No Registration Number of IDENTIFICATION NO
Page No Page Number of IDENTIFICATION NO
Original Residence Original address of user (city)
Current Residence Current address of user (city)
Username Unique, this is the user account to login
Password Password in order to login into the system
User Category Useful either to define access level, or on user statistics section
according to user category (student, teacher, librarian,
administrator)
Is Active Defines status of the user ( active or not active), maybe in
future we activate user account through email, and also when
s/he graduates we mark that user as not active
Signature May the user want to have a word, or a signature
Photo Stores a random key as user photo name, why random, because
of security issue
Table -2, Member Information
5
5.2 SYSTEM MODEL
In order to simplify the requirements definitions and specifications of the library
management system listed in previous chapter, and introduce what exactly happens
when users interact with the system, it is useful to define use case scenarios for the
important system requirements; since scenario is an example of what occurs when
someone interacts with the system.
38
48. 5.2.1 LOGIN SCENARIO
Before directly describing the login scenario, it would be useful to define different types
of users. The proposed system will have two types of users. One for academic members
(i.e. lecturers and students; chosen different names due to statistical purposes to achieve
number of users based on their types; besides system sustainability in future to define
different access level for each), and the other one for administrators (administrators /
librarians; currently both have same right and access level but the reason behind
choosing two different names is to define different privileges in future for each).
Currently the academic member‘s login does not provide them more privileges on the
system. In future when there is good IT infrastructure and Internet accessibility—
members can log into the system from anywhere in order to make book reservation,
check their account, change their passwords and profile information, etc.
When resource administration is required library staff can login the system and their
login information will be checked and matched against database information. In case
login information is correct; administration navigation links appears to the logged in
member. If the login information does not match with database information the member
will be redirected to the home page.
5.2.2 ADD MEMBER SCENARIO
Adding a member is the task of authorized users (i.e. library staff with right access level
privileges); thus the page is required to be restricted for academic users and only
accessible when library staff with right privileges logged in.
During entry of member‘s information, the system should be smart on data validation
and responsive as fast as possible when invalid data typed. The system will take care of
the following validations:
Required: Validate against either empty value or null.
Valid Characters: Invalid characters will not be accepted (i.e. %, ^, $, etc).
Valid Email: Valid email address must be supplied (i.e. name@server.domain).
39
49. Remote: Requests a resource to check the form element for validity i.e. username,
email, and ID duplication is not allowed.
Min Length: Makes the form element require a given minimum length.
Max Length: Makes the form element require a given maximum length.
Numeric: Allows numeric data type.
Accept: Makes the form element require a certain file extension (i.e. .jpg, .jpeg, .bmp,
.png).
Equal To: Requires the form element to be the same as another one (i.e. password and
confirm password elements must be matched).
When member‘s information is typed correctly successful feedback appears, stating that
member added into the database successfully.
Otherwise, if there is something wrong with data entry, warning feedback appears
displaying the missing and incorrect typed information.
Besides client side data validation; it is essential to check and validate data on the server
side too; since Java Script can be disabled on browsers.
5.2.3 ADD BOOK SCENARIO
Adding books into the database is the duty of authorized users; thus the page is required
to be restricted against unauthorized users and only accessible when members do login
with appropriate access level.
Certain data are required and must be validated; besides client side data validation; it is
required to validate data on the server side as well; since Java Script can be disabled on
browsers.
40
50. During book registration process in addition to data validation there are some issues and
challenges, which are useful to be considered. They are listed as follows:
Author for the Book: A book can be written by more than one author, so the challenge
is to make the system smart enough to be able to add as many new authors as required
in place which is not available in the list.
Category for the Book: More than one category may be applied for a book, for
example a book with the title of ―PHP and MySQL in 21 Days‖ is related to database
and programming categories, so the system should be smart enough to add as many new
categories as required in place which is not listed.
Publisher: System must be able to handle adding of new publishers which do not exist
in the database already.
Book Copies: Books are donated or purchased in the library, sometimes carrying more
than one copies. The problem is that the number of copies are not clear so there maybe
one, two… ten, fifteen, more or less. System must be smart to add as many numbers of
copies as required without refreshing the page, and without removing the already typed
information.
When book information is typed correctly, successful feedback appears stating that
book information is saved in the database successfully.
Otherwise, if any required field is missing or typed incorrectly; warning feedback
appears while describing the missing and incorrect parts.
5.2.4 CHECKOUT SCENARIO
The proposed library management system is supposed to handle checkout resources for
users. In addition, it is to keep track of already checked out (borrowed) resources by
members including important information (i.e. member and book details with checkout
and due date). Due to security issues this page is only accessible to authorized users,
and restricted to unauthorized members and neither accessible by typing its correct URL
directly.
41
51. Certain conditions are required to be evaluated in terms of checkout book. These
conditions are based on the policy of the library and should be customizable.
The original book never can be lent; will be kept as a reference in the library, but
members are allowed to use it inside the library.
In addition to book information, each book carries an action link captioned
―checkout‖, if the book is ready for checkout it is active; otherwise not.
Whenever a book is given to a member as lend, it must be marked as deposited
and the action link ―checkout‖ becomes inactive.
As illustration, let‘s consider a book which meets all the checkout conditions, the
following steps take place during the checkout process.
Clicking the action link ―checkout‖, will direct the administrator to the checkout
page, displaying the selected book information.
Members‘ information is already listed in a drop-down. System is smart enough
to filter the checkout list based on member selection from the drop-down; this
helps administrator to check member‘s account without extra action and
headache.
Current and due date are automatically filled out by the system but editable with
accepting a different date. Since there is no good IT infrastructure and neither
there is stable power the system may be down during the checkout and check in
process; so checkout and check in can be done at a moment later on, that is
when system is up administrator can register that.
When all the above mentioned criteria takes place correctly and is submitted, the
checkout process is done and the book will be marked as deposited; and the action link
―checkout‖ becomes inactive.
42
52. 5.2.5 CHECK IN SCENARIO
Check in process takes place in the checkout page, where all the borrowed books are
listed. Search facility is included in this page in order to look for specific records; search
can be applied on many different criteria (i.e. book title and signatory, user‘s first name
and father‘s name).
After recognizing the member who brings the borrowed book back; check in process
will be completed as follow:
Simply click the action link ―check in‖, and the administrator will be asked for
confirmation; when confirmation is canceled nothing will happen. If confirmed,
successful feedback will appear on top of the page. And at the meantime the book will
be marked as available, so the action link ―checkout‖ will be activated again.
Now that most of the requirements definitions and specifications of the library
management system are clear; and besides to this, it is clear what exactly occurs when
users interact with the system, it is time to work on the database model.
5.3 RELATIONAL DATABASE BENEFITS
Maintaining of a simple database, the so-called flat database consisting of a single table
with no huge data, does not require relational databases. On the other side, most
databases worth maintaining are quite a bit more complex and cannot be handled with
using flat-database and book-registration logs as is the case in Herat University
libraries.
“Consider, for example, the Library of Congress, which has
over 16 million books in its collection. For reasons that will
become apparent soon, a single table simply will not do for this
database (Roman, 1999)”.
Herat University libraries use flat-file database and book-registration logs with data that
are related. This is where using a relational database management system becomes
essential, since it is not possible to maintain such huge and complex data using either
43
53. flat-file database programs (i.e. Microsoft Word or Excel) or book-registration logs due
to the following reasons:
5.3.1 REDUNDANCY
A worthy and long-standing goal and ideal in software development is to keep away
from duplication and redundancy of data as much as possible. Duplication and
redundancy cause increasing the size of the data hugely since there is growth of
documents and resources; and this makes the system and the many code variants hard to
understand, and causes maintenance headaches (Navathe, 1999-2008).
Redundancy can be defined as unnecessary information which is repeated several times
on same or different places. Redundancy can be counted as one of the most serious
problems and issues linked with using flat-file databases; where there is no solution to
eliminate or at least to reduce it; that is why relational database becomes handy; since
by splitting data into multiple relations (tables) much of the redundancy problems will
be reduced.
5.3.2 INSERTION ANOMALIES
Due to entity integrity in Table 5-3, it is not possible to insert a record neither for the
author nor for the publisher without any book; since the book (Call Number) can‘t be
null and can‘t be left empty; such a problem is called an insertion anomaly.
Call_Number Book_Title Author_Info Publisher Publisher_Address
DB-0001 MySQL in 21 Days Tom Logan, Mercury Canada
Cristina
Silva, Bob
Logan
DB-0002 SQL-Server Cristina Silva Neptune Germany
WEB-0001 HTML Ana Nava, Mercury Canada
Gloria Rivera
Table -3, Simple Library Database
5
44
54. 5.3.3 DELETION ANOMALIES
For the same reason as insertion anomaly in Table 5-3, it is not feasible to delete either
the author information or the publisher information with keeping just the book
information; such a problem is called a deletion anomaly.
5.3.4 UPDATE ANOMALIES
Due to a need to change the address of a particular publisher in Table 5-3, it is required
to update the records of all books published for that publisher (i.e. publisher for the
book with Call Number DB-0001 and WEB-0001). In case the modification is not
fulfilled on all the relevant records, the database will be inconsistent, such a problem is
called update anomaly.
5.3.5 MULTIPLE-VALUE
It is clear that there can be more than one author for a book as it is illustrated in Table
5-3, so with using flat-file databases there will be three possibilities to implement it;
each including drawbacks and weaknesses as follows (Roman, 1999):
Including all authors of the book in a single column of table with separation of
comma delimiters as it is presented in Table 5-3. The problem is the database
anomalies as stated already.
Provide multiple rows for multiple authors, one separate row for each author of
the book as it is demonstrated in Table 5-4. The drawback with using multiple-
rows is that all of the data about a book and publisher must be repeated as many
times as there are authors for the book, which is an obvious case of redundancy.
Call Number Book Title Author Info Publisher Publisher Address
DB-0001 MySQL in 21 Days Tom Logan Mercury Canada
DB-0001 MySQL in 21 Days Cristina Silva Mercury Canada
DB-0001 MySQL in 21 Days Bob Logan Mercury Canada
DB-0002 SQL-Server Cristina Silva Neptune Germany
45