web-based library system - 鐘聲慈善社胡陳金枝中學 · d5 page 4 book. the library post...
TRANSCRIPT
D5
P.1
Web-based Library System
D5
Page 2
Table of Contents Chapter 1 Objective and Analysis ..........................................................................3
1.1 Background...................................................................................3 1.2 User Requirements.....................................................................................5 1.3 Benefits of the project ................................................................................5 1.4 Analysis......................................................................................................7 1.5 Feasibility...................................................................................................9
Chapter 2 Design and Implementation ................................................................... 11 2.1 Design ...................................................................................................... 11
2.1.1 Functional Specifications............................................................. 11 2.1.2 Hardware and Software Requirements ........................................17 2.1.3 Database Design...........................................................................18 2.1.5 Database Schema .........................................................................25 2.1.6 Network Diagram.........................................................................26
2.2 Implementation ........................................................................................27 Chapter 3 Testing and Evaluation...........................................................................32
3.1 Why testing is so important?....................................................................32 3.2 Testing Plan..............................................................................................32 2.2 3.2 Evaluation ..........................................................................................36
Chapter 4 Conclusion and Discussion ....................................................................38 Chapter 5 References..............................................................................................40
D5
Page 3
Chapter 1 Objective and Analysis
1.1 Background
Our school has maintained a good reading atmosphere. Most students are eager
to learn by reading different types of books. However, the technology used in our
school library system is insufficient to meet the great demand for borrowing books of
our schoolmates. It may reduce their interest in reading because of the complicated
process of borrowing and returning.
Due to the lack of a flawless library management system, several problems arose.
Inconvenient to access information of library materials during
holidays
When students are staying in summer vacation, they don’t need to come back to
school and they can’t get the information of books in the school library unless they go
to school. It is inconvenient to students therefore further lower their interests in
borrowing books from the library.
Also, students may be required to do research for their holiday assignments and
projects. It is also another inconvenience for them to search suitable materials if the
library is opened for some days only during holidays.
Inconsistence of data
Also, the format of the transaction may be inconsistent as different librarians use
their own way to make records. It may lead to inconsistence of data. To illustrate it
with an example, some information may be recorded by librarian A but not recorded
by librarian B.
Lack of opinion exchange platform
Sometimes, students and teachers have no ideas to decide which book is suitable
for them. It is difficult to know the feelings of the previous readers as they don’t know
who had borrowed the books. On the other hand, the library doesn’t have any good
platform for students to share their reading experiences and books reviews. The
opinion users expressed can be a good reference for other user to borrow a suitable
D5
Page 4
book. The library post the book reviews from students on the board irregularly.
Hand written transaction and long waiting time
The existing library system is relying on manpower to serve the students and to
record the daily transaction of books and serve the students. The librarians make use
of stationary and paper to record all transactions of books. Students who need to
borrow queue up in front of the counter, waiting for librarians to drop down the
transaction records in the log book. Students therefore need to wait for a long time to
borrow books.
When students return books, the librarians need to search the transaction records
page by page. It is a waste of time, inefficient and ineffective since students need to
wait so long to borrow and return books.
The inefficiency is due to the existing complicated process of transaction of
books. If the hand-writing transaction records were lost, the whole library system
would be in a mess since there are no backup of records.
Heavy burdens of librarians
Every transaction record has been recorded by librarians using paper and
stationary. It puts librarians under pressure as they have to be responsible for the
accuracy of transaction data. To avoid making serious errors, librarians should
concentrate in every moment to drop down the transaction record in a clear way. It
makes them stressful. Other than recording transaction, they also need to check books
and tidy up the bookshelves. They are bearing a huge burden.
Therefore, there is an urgent need for the use of Information Technology in our
library. Due to the inconvenience made by the old library system, it should be
replaced by a more effective system. In order to release the burden of our library
teacher, Mr. Pau, I am invited to conduct a feasibility study on the design of a
Web-based Library System for our school. To develop the new system, a numbers of
decisions have to be decided.
D5
P.5
1.2 User Requirements
Students For the students, they do need to bring their User ID Card to the library counter
when they borrow books. Transaction can be recorded by scanning the barcode on the
books. Then, the transaction records will be automatically sent to the database.
Students can check the records in the web-based library system.
Also, restrictions should be placed on the number of books that a student can
actually borrow. For senior form students, they can only borrow 1 books at most. For
junior form students, they can borrow 2 books in maximum since they need more
references than senior students to help them with learning.
Teachers For the teachers, they also need to bring an Identification Card when they borrow
books and have a limit (3 books at most) on the number of books they can borrow
which is more than students.
Librarians For the librarians, they need to know deeply how to use the web-based system so
that the transaction process could be rapidly done. In addition, they should have some
basic computer maintenance techniques in order to avoid the delay in helping users to
borrow books. They also need to familiarize themselves with its regulations. The
reason for inviting so many students to be our librarians is to operate our web-based
library system. Therefore, a 3-day training about the use of the system will be
provided by the library teacher for librarians to familiar with their jobs before they
serve our users. It will surely improve the effeciency of our librarian.
1.3 Benefits of the project
Information can be accessed at anytime and anywhere
Server-side programming is adopted in the website, web-based library allows
user to get information from the database in the web. That’s mean students can get
D5
Page 6
information about books, such as the availability of the books, easily through the
Internet instead of directly going to the library.
Also, the web-based library system allows students to search for books in
different categories. Since the information about all books can be accessed at anytime
and anywhere by using a Web-based system. It can save time for students to search
books by referring to the books id. It facilitate schools to establish quality and
effective library catalog as a tool for accessing school learning and teaching resources,
as well as for students to master basic searching and information skills. It enables
students to be more flexible of their use of time as they don’t need to come to school
library to get information about books.
Reduced errors on transaction recording
The transaction record can be recorded in an electronic form instead of using
paper. The web-based library system support schools to implement library automation,
especially on conversion of data to electronic format. It can probably reduce the major
errors made by librarians.
Encourage sharing of book reviews and ideas exchange
A forum would be included in the web-based library system for students to share
their opinions and feelings. It encourages the opinion exchange among students.
To let students have more ideas to choose suitable, the web-based system would
set up a ranking system. Students who finished reading some books can give ranking
to those books. The ranking can be good references for other students to borrow the
books or not. In addition, it collaborates in the sharing of cataloging efforts
among teacher-librarians.
Speed up the transaction time and reduce librarians’ burden To make use of the barcode reader and computer, librarians are not required to
make hand written transaction record anymore. They can be more prompt to cater for
user’s need in a quicker manner.
Also, computerization of data reduces the stress of librarians as they don’t need
to be afraid of making wrong record.
D5
P.7
1.4 Analysis
Since there are so many inconvenience bought by the old library system, it
should be replaced as soon as possible. There are some ways to solve the above
problems. We should finally make an appropriate decision to deal with the problems
arisen from the old library system.
Invite more student helpers
First, we can invite more student helpers to be school librarians. The workload
can be shared among librarians. The efficiency will be sharply improved. Some
students may be afraid of shouldering heavy burdens if they become a librarian. To
attract more students to get in the Librarian Team, 2 merit points will be given to all
librarians and recorded on their school report card at the end of the school year. The
reward is used to give encouragement to students to try to be a member of Librarian
Team.
However, even the reward is so valuable; students are still not willing to take up
the responsibilities of the library. Even the promotion of recruitment of librarians has
held for three times, the enrollment of librarians is not come off. So, there are not
enough librarians to serve our students. Also, there is no guarantee on human errors in
processing the transaction records. Although student helpers can help solve the
problem of long waiting time for borrowing books, the database of library cannot be
accessed by students when they are not in school. During the summer vacation,
students still need to go to school library to get the information about books.
Therefore, inviting more student helpers is not a good approach to solve all the
problems mentioned before.
Designated period of borrowing for different users
Second, different form of students is allowed to borrow and return books in the
specific period of time; it helps regulate the flow of borrowers. But it may reduce the
interest on reading of our students as the book borrowing time has been fixed, they
can’t be so flexible to borrow books. Third, using computer to store the transaction
records but the system is not web-based. Although computerization of the whole
library system can reduce time of recording transaction record using man power. To
D5
Page 8
avoid using too much manpower and hand-written transaction records. However, it
doesn’t allow students to get information from the web.
Computerization
Computerization is another approach to solve these problems. Computerization is
a way to equip with electronic computers so as to facilitate or automate procedures.
Transaction of books can be done more quickly once the technique is used. Saved
time can be reallocated to answering user’s queries, administrative duties and
activities for students to better administer the library. Also, librarians can avoid
repetition and misspellings in making transaction records on papers. Instead of writing
the records on the papers, frequently used format of transaction records can be stored
in the database. By adopting computerization, there would be consistencies in the
format of transaction records but they can still be modified when a bug is figured out.
Also, it is easier to maintain the confidentiality of the transaction record and
information of users by using a protective password to provide protection of access to
file on the hard disk. Ultimately, it can result in increased quality of care for the
students we serve. Although the computerization of library system can help solve the
problems of “Heavy burden of librarians”, “hand written transaction and long waiting
time” and “Inconsistence of data”, the problems of “In convenient to access
information of library materials during holidays” and “Lack of opinion exchange
platform” cannot be alleviated by computerization.
Web-based computerization
Another method which can solve all problems mentioned before is web-based
library system. The attached function on computerization is the Internet access. To
adopt web-based library system, server-side programming has been used to allow the
database and the web to update at the same time. Students can get information about
books in the web at anytime and anywhere. This can settle the problem of
“Inconvenient to access information of library materials during holidays”. Apart from
this, a sharing forum can also be set up for users to post their book reviews through
the Internet. It encourages users to share their views through a new platform.
Final decision
Finally, a web-based library system has been chosen to be the best method in
D5
Page 9
solving all problems that old library system is facing with. It can allow faster process
of borrowing books as no more hand writing records needed to be made. It reduces
the burdens of librarians. Also, students can search books no matter where they are. In
addition, a platform is designed for students to exchange ideas and make a ranking on
books.
As the approach has already been chosen, it is also important to analyze whether
the approach is feasible to implement. An in-depth analysis will be done in the
following section.
1.5 Feasibility Computerization is a solution and it can help maintain the transaction data.
Computerization can only solve the problems of too much reliance on manpower,
transaction record in disorder and decentralization of transaction records. However,
other big problems such as inconvenient to get information from library and a lack of
platform to share book review cannot be solved. That’s the reason for choosing
web-based computerization instead of computerization.
Although web-based computerization is the most suitable approach for our old
school library system, we have to consider whether school has sufficient resources to
support the establishment of web-based system.
Web-based library system actually is an extension of the computerized system
which makes it possible to access the data on the Internet. Our school has established
a faultless Internet network using a router. Broadband access is already provided in
our school and 1 Gbps download speed is reached in our Internet network.
Our school has sufficient resources to make the web-based library system
possible. School has devoted an amount of fund for the library to establish the
web-based library system.
Also, some materials such as barcode reader and the ISBN on the books are also
ready. It is easier to complete our project. In addition, a well-equipped IT team is
ready for the establishment for the library system. They have knowledge in dealing
D5
Page 10
with the problems the project might have. What we need is a server, and our school
has prepared a special funding to purchase a suitable server for the library system.
It is not complicated for users to use the web-based library system at home. To
get the information about books in the school library or the transaction record, users
need not to come to school to get it. Instead, they can get all information they need
through the Internet using a web browser and Internet access.
D5
Page 11
Chapter 2 Design and Implementation
2.1 Design 2.1.1 Functional Specifications The web-based library system helps to deal with daily book transaction. The
system will store the information such as books being borrowed, books being reserved,
books left, and user’s information. It can raise the librarians’ productivity because we
can simply find all the useful information in the web-based library system and hence
save time. Apart from time saving, the online library system allows user to access
through the internet. They can take advantage of the function in the web-based library
system to facilitate their reading and save time in book searching i.e. keyword search.
Also, they can do some transaction at anytime and anywhere, such as reservation and
renewal. Other than easy access to book’s information in the library, there are other
functions which boost reading atmosphere in our school such as recommendation
board, TOP 10 popular book records. All function designed in the library system will
be explained below.
User ID Card A purely plastic card with unique member id printed would be made which will be
expired after the each school year. The members’ information is all saved in our database
system for keeping the data more confidentially. The personal data would be maintained
for concerned teachers to view, add, update and delete. When users want to borrow books,
they must bring along with their user ID card. As it is necessary to use barcode to read the
user ID card before completion of transaction, they have to bring it if they want to
borrow.
User ID card
ABC Secondary School Library
User id:S01 Name:Lee Tai Man Class:1A (1)
This card is the property of ABC Secondary School and is not transferable. If found, please return to General Office of ABC Secondary School
Figure1.1 Design of user ID card (front) Figure1.2 Design of user ID card (back)
D5
Page 12
Ranking To maintain better understandings of books for students, the web-based library
system enables students to post their book review and rank the book. This can help
other students know more about different books when they cannot decide which book
should be chosen. Each piece of book review would also be given a unique book
review number. Also, students can rank books to express the level of
recommendations from 1 to 10. 1 mark means the least preferable while 10 marks
means the most preferable. They can get a basic understanding of the books according
to the scores given by other users. The book which gets the highest mark must be
most preferable for other users.
Borrowing Record Users who want to borrow a book from the library choose a suitable book and
take the chosen book to the borrow corner. Whenever they borrow books, the library
system will deduct one quota from which is stored in the user record. A borrowing
record will be created which store the acc_id, user_id, date of borrowing and returning
of each transaction for reference. For this function, librarians should probably need a
barcode reader to read the barcode of each book and the information of the ID card.
In User table, there is field, quota. As the borrowing quota for students from
different form are different, the quota shows their maximum quota for borrowing. It is
a fixed record which would only change once a year. The field, remaining_quota
shows the remaining quota for each user.
When the transaction record is made, some alternations can be seen in three
tables, User, Book and Borrowing_record. User’s remaining quota will be deducted
by its number of transaction record. The status of book record will be changed from
“Y” to “N”. A borrowing record will be inserted into the borrowing_record table.
D5
Page 13
The borrowing record contains all details of books transaction including date of
borrowing and returning. When user borrows book from the library, a borrow receipt
will be given to user. The receipt is used to remind user to return books on time.
Each book can be borrowed for 1 week during each transaction. Also, users can
choose to renew the books they borrowed. Users can renew the books by using the
web-based library system online or bring the books to the library counter to renew it.
It will defer the due to date of returning by 1 week later.
No matter when users finish reading the books or not, they have to return the
books on or before the due date. If users are late for returning books, there would be a
fine ($1 per day) to warn them. It encourages users to return books to the library on
User User_id Name Remaining_quota Quota S01 Lee Tai Man 1 1
Borrowing_record Record_id User_id Acc_id Date_of_borrowing Date_of_returning 2 S0001 B00018 09/02/2008 09/09/09
User User_id Name Remaining_quota Quota S01 Lee Tai Man 0 1
Book Acc_id Title Status B00018 Chance of a lifetime N
Book Acc_id Title Status B00018 Chance of a lifetime Y
Borrow Receipt Title:XXXXXXXX User_id:XXX Date_of_borrowing: MM/DD/YYYY Date_of_returning: MM/DD/YYYY PLEASE RETURN THE LIBRARY MATERIAL ON TIME. THANK YOU.
D5
Page 14
time.
When users return books, they should take it to the counter. For returning book,
web-based system is not useful for returning. Librarian will again use the barcode
reader to read the barcode on the books. When the barcode on books has been scanned,
the library system will add 1 to the remaining quota stored in the user table. It shows
the remaining borrowing quota of that user. The status of book will also be updated
from “N” to “Y”. It means other users can borrow that book from the library.
Reservation Reservation is a function that allows users to reserve a book which is not
available at that time. After reservation, the user who makes it can be first one to get
the book when it is available for borrowing.
There would be different approaches in different situation. As each book can be
borrowed for 1 week, the reservation period would be longer than the borrowing
period. It can ensure users who made reservation can get their book during the
reservation period. Therefore, the reservation period will be set as 2 week.
First, users may want to make reservation on books which are available in the
library. For this case, they can directly borrow the book instead of making reservation.
Second, users may want to make reservation on books which are borrowed by
other users. In this case, they have to make a reservation in order to get the books in a
later period. They get 2 week reservation period, staring from the day they make the
reservation order. If the books are returned on time or before the due date, users who
make that reservation should go to the library counter to borrow that book. However,
if the books are returned after the due date, there will be 1 week extension of
User User_id Name Remaining_quota Quota S01 Lee Tai Man 0 1
User User_id Name Remaining_quota Quota S01 Lee Tai Man 1 1
Book Acc_id Title Status B00018 Chance of a lifetime Y
Book Acc_id Title Status B00018 Chance of a lifetime N
D5
Page 15
reservation period. The maximum period of reservation would be 3 week. If users
can’t get the books before or on the last day of reservation, the reservation record will
be cancelled. Users can make the reservation again if they still want to get the books.
To provide welfares to students and teachers, reservation costs them zero prices.
When the reserved material is ready for the users to borrow, an email reminder
will be sent to users’ email address.
Renewal Users sometimes can not complete reading before the due date. They can renew
the material to avoid paying fines. When a renewal is made, the due date will defer to
1 week later. User can have more time to finish reading the book.
To renew the book, there are two approaches provided for users.
First, they can renew the book in the library counter. Librarians use a barcode
reader to read the barcode of each book and the information of the ID card to
complete the renewal. A renewal receipt will be given to users so as to remind them to
return books on time.
Apart from renewing books in the library counter, users can also renew the
material using web-based library system. A reminder email would also be sent to
users’ email to remind them to return books on time.
Log in Users who want to access the information of library have to login. The login
system is used for the library to identify the users. As information of library can only
be accessed by the users of our school. Before they access the information of library,
they have to input the password as an identification process. Each user gets his/her
password.
To protect the privacy of the users, a Secure Sockets Layer (SSL) is adopted. SSL is
a commonly-used protocol for managing the security of a message transmission on
Renewal Receipt Title:XXXXXXXX Uder_id:XXX Date_of_renewal:MM/DD/YYYY Date_of_returning:MM/DD/YYYY No_of_renwal:1 time PLEASE RETURN THE LIBRARY MATERIAL ON TIME. THANK YOU.
D5
Page 16
the Internet. It ensures secure data transmission. It avoids the misappropriation of
password and the intrusion of personal information.
Top 10 All users can share their view towards the book and give a score after they read it. The
score they ranked will be organized and calculated. Finally, a list of highly scored
book will be generated i.e. TOP 10 records. The TOP 10 records will be updated by
librarians once a week posted on the board in the library and posted on the bulletin
board. It can be a good reference for other users to choose books.
Recommendation Board This recommendation board is specially designed for students. Teachers are the one
who are responsible for giving recommendation of books.
Keyword search Keyword search retrieves any and all occurrences of a given word or combination of
words, whether the words appear in the subject headings, title, or descriptions of the
article or book. It expands the search to all occurrences of a given word or
combination of words.
Email reminder Some students may forget to return their book on time. To avoid the returning date
being too late, librarians will send an email reminder to urge them to return books to
the library as soon as possible.
Bulletin A bulletin refers to a brief update or summary of current news of the library. If there
are some short term amendments in the library system, a message would be posted to
inform the users. If there are some long term changes in the library, a formal circulor
will be given to every user. The bulletin is used to enhance the communication
between administer and users. Although users cannot reply on the message, they can
still get more information from these messages and know more about the library.
Birthday gifts In the database, date of birth of all users is stored. The reason for storing their date of
birth is to give a little birthday gift to each users. The birthday gifts are different in
every year. We may send an e-card with some reading tips to show the regards from
the library. The purpose of this scheme is to spread the message of reading even when
one’s are having birthday.
D5
P.17
2.1.2 Hardware and Software Requirements
Software To facilitate the use of web-based library system, some hardware and software
should be adopted. The hardware and software are different for clients and server.
For the operation system of the server, we choose Linux to manage the resources
as it is a freeware. It can save cost for setting up a server. For the DBMS, MY SQL
will be used. Antivirus programs, NOD32 and firewalls are installed to ensure that the
network will not be attached by the others.
For the client side, a web browser should be used for clients to get access with
the Internet. It allows users to access to web-based library system through the Internet
and download designated file from the web server of the library. To print the receipt
for transaction, a printer will also be set up in the library. User can download
anti-virus software to avoid illegal intrusion of personal information. They can also
take an advantage of email client, Outlook express to get the email reminders from the
library.
Hardware For the server, servers are set up to responds to the requests from clients
including file server, print server. All the servers are incorporated with features
suitable for storing and allocating huge amount of data on a network, and have
fault-tolerant features that guarantee up time. Fault-tolerant means that even a part
fails, the whole system can still operate. A Redundant Array of Inexpensive Disks
(RAID) system would also be established. In a RAID system, it is a technology that
employs the simultaneous use of two or more hard disk drives to achieve greater
levels of performance, reliability, or larger data volume sizes.
Also, a switch is needed to organize connected devices by allocating them into
different Virtual LANs. At the same time, a router is also established to connect a
LAN to the Internet. Printer is needed for printing some attractive posters and
application forms for students to know more about the activities.
Network Interface Card (NIC) is needed to access to the Internet for the client
side. Besides, basic components such as monitor, mouse and keyboard are required.
Speakers are also preferable as there may be videos shown on the system.
D5
P.18
2.1.3 Database Design
User
This is a table maintaining the information of users which includes students and
teachers. Users are recognized by user id. For teachers, the user id starts with letter “t”,
for students, it starts with the letter “s”.
There are two types of user, students and teachers of the web-based library
system. Information about students such as name, user id, class, and class number,
date of birth, telephone, address, e-mail address and password will be recorded. For
information of teachers, it is almost the same as the students’ one except class and
class number is not required for teachers. So these two fields would be recorded as
null. The password can be used when users make renewal and reservation of books
online.
The SQL command creating User is:
Field Type Width Dec Description Null
User_id Character 6 / Unique user id, i.e.S01 N
Name Character 30 / User’s name N
Class Character 2 / User’s class Y
Class_no Character 2 / User’s class number Y
Sex Character 1 / User’s gender, i.e. “M” or “F” N
Dob Date 8 / User’s date of birth N
Address Character 60 / User’s address N
Tel Numeric 8 0 User’s telephone number N
Email Character 40 / User’s email Y
Password Character 14 / User’s password N
Remaining_q
uota
Numeric 1 / User’s remaining quota for
borrowing
N
Create table user(user_id char(6) primary key, name char(30), class char(2) null,
class_no N(2) null, sex char(1), dob date, address char(60), tel n(8,0), email char (40)
null, password char(14), qutoa n(1,0))
D5
Page 19
Quota Numeric 1 0 User’s quota for borrowing
Form1-3:”1”,Form4-7:”2”,Te
acher:”3”
N
Instant of data: For students
Figure2.1.1 Instant of data in entity USER for students For teachers
Figure2.1.2 Instant of data in entity USER for teachers
Book
This is a table maintaining the information of books. The user information includes a
unique book accession number (the primary key), books’ title, author of books,
publisher of books, ISBN of books, availability of books. Books are recognized by
acc_id. Status shows the availability of books. If books are available for borrowing,
“Y” will be shown. If books are not available for borrowing, “N” will be shown.
Others are the information of the books.
The SQL command creating Book is:
D5
Page 20
Field Type Width Dec Description Null
Acc_id Character 6 / Unique book id,i.e.”B01” N
Title Character 80 / Book’s title N
Author Character 30 / Author of book N
Publisher Character 30 / Publisher of book N
Type Character 10 / Type of book N
ISBN Numeric 20 0 Book’s ISBN N
Status Character 1 / Book’s status ,i.e. Y or N N
Instant of data:
Figure2.2 Instant of data in entity BOOK Borrowing Record
The entity Borrowing Record has attributes for saving each borrowing record’s id(the
primary key), user_id, acc_id(the foreign key attributes), the date that users start
borrowing books, and returning the books, times of renewal students made
The SQL command creating Borrowing Record is Field Type Width Dec Description Null
Record_id Character 6 / Unique borrowing record id N
User_id Char 6 / User’s id, i.e.”S00001” N
Create table Borrowing_Record(record_id char(6) primary key, user_id char(6), acc_id char(6),
date_of_borrowing date, date_of_returning date, time_of_renewal char (5) null)
Create table book(acc_id char(6) primary key, title char (80), author char(30), publisher
char(30), Type char(10), ISBN N(20,0), Status char(1))
D5
Page 21
Acc_id Char 6 / Book’s id,i.e.”B00001” N
Date_of_borrowing Date 8 / Date of borrowing N
Date_of_returning Date 8 / Date of returning N
Time_of_renewal Numeric 1 0 No of renewal Y
Instant of data:
Figure2.3 Instant of data in entity BORROWING_RECORD
Reservation
The table Reservation stores the information of reservation made by teachers and
students. The table involves a unique reservation id(the primary key), user_id,
acc_id(the foreign keys) for recognizing a reservation, start date that users made
reservation, end date that users made reservation and status of book. Start date is the
date that the user makes reservation. End date means the last day of reservation, after
that day, the reservation is invalid.
The SQL command creating Reservation is:
Field Type Width Dec Description Null
Reservation_id Character 6 / Unique reservation id N
User_id Char 6 / User’s id, i.e.”S00001” N
Acc_id Char 6 / Book’s id,i.e.”B00001” N
Create table Reservation(reservation_id char(6) primary key, user_id char(6), acc_id
char(6),start_date date, end_date date, valid char(1))
D5
Page 22
Start_date Date 8 / Start date of reservation N
End_date Date 8 / End date of reservation N
Valid Character 1 / Y for valid. N for invaild N
Instant of data:
Figure2.4 Instant of data in entity RESERVATION
Ranking
The entity Ranking has attributes for saving book review’s id(the primary
key),user_id, acc_id(the foreign keys), content of book review, rank that users made
for that book, date of making review, time of making review
The SQL command creating Ranking is:
Field Type Width Dec Description Null
Book_review_id Character 6 / Unique book review id N
User_id Character 6 / User’s id, i.e.”S00001” N
Acc_id Character 6 / Book’s id,i.e.”B00001” N
Book_review Character 256 / Review of book N
Rank Numeric 2 0 Rank of book, i.e.1: less
preferable, 10: the most
preferable.
N
Date Date / Date of review N
Time Character 5 / Time of review N
Create table Ranking(review_id char(6) primary key, user_id char(6), acc_id
char(6),book_review char(256), rank n(2,0), date date, time char(5))
D5
Page 23
Instant of data:
Figure2.5 Instant of data in entity RANKING
D5
P.24
2.1.4 ER Diagram
MUSER
1 Is recorded in
RESERVATION Make
Is for
include
RANKING M
M
Rank
Date
Time
Book_review
Book_review_id
1 1
BOOK
Author
Acc_id
ISBN Title
Status
Publisher
1
1 1 M
Reservation_id
Start_date
End_date
Valid
include
Make
M
M
Remaining_quota
NameUser_id Class
Class_no
Address
Password
Sex
Quota
DOB
Tel
Date_of_borrowing
Record_id
Returned
Time_of_renewal
Fine
BORROWING_RECORD
D5
P.25
2.1.5 Database Schema Schema is the description of the structures and relationships of the tables in a required
database. Here is the schema of web-based library system.
Ranking Book_review_id User_id Acc_id Book_review Rank Date Time
Book Acc_id Title Author publisher ISBN status Reservation
User User_id Name Class Class_No Sex DOB Address Tel Email Password Quota Remaining_quota
Reservation Reservation_id User_id Acc_id Start_date End_date Valid
Borrowing record Record_id
User_id Acc_id
Date_of_borrowing
Date_of_returning Time_of_renewal
Returned
D5
P.26
2.1.6 Network Diagram
Optical Fiber Cable TV network Shielded Twisted Cable
File Server
Web Server
Server
Control Room
Computer H
Computer I
Printer C Print Server
Main Switch
……
Computer A
Computer B Computer C Computer E
Switch Switch
Firewall
Router
Router
Router
Router User 1
User 2
User N
Printer A
Printer B
Computer D Computer F
Printer
Switch
Internet
Router Router
User 3
User 4 User 5
User 6
Library Staff Room
D5
P.27
2.1.7 Description of network diagram All the computers in the library are connected by star topology since it is flexible
to add or remove the nodes. If a node fails, the whole network will not be affected and
it can still operate.
A group of computers is connected by a switch instead of a hub since switch is
more intelligent than hub which suits the library system more. The switch can
organize connected devices by allocating but the hub would only forward the signals
to all ports. Also, switch allows several pairs of nodes to transmit signals at the same
instant in full duplex.
There are sever, a backup sever, a print server, a web server and a web server in
the internal network. Sever is used to store huge amount of data while the backup
sever is used to prevent loss of data.
Two groups of computers are connected to switch which is also connected to the
main switch. The main switch is connected to firewall in order to prevent
unauthorized access to our school’s internal network.
Also, a router connects our LAN to the Internet so that users can access the web based
library system at home through the Internet.
D5
P.28
2.2 Implementation Scenario 1 As I mentioned before, students always have no ideas to choose books, they have
to spend lots of time reading the introduction of each book so as to choose the right
book to borrow. However, it is really a waste of their time for study. Therefore, the
library are not making references for students, the book in the top 10 list will be
shown. The position of the book in top 10 is based on the ranking made by users.
Students and teachers can make use of the top 10 books list to borrow some suitable
book. It can greatly reduce their time of searching.
For displaying the top 10 books, the SQL command is:
Instant of data:
Figure3.1 Instant of data in SCENARIO 1
SELECT top 10 b.acc_id,title,avg(rank) as avgrank FROM book as b inner join
ranking as r on b.acc id=r.acc id GROUP BY b.acc id ORDER BY avgrank desc
D5
P.29
Scenario 2 Assume the current date is 9/30/2008. Librarians are going to list all users to
have not yet returned the library books on the current date so as to remind them to
return books and fine as soon as possible.
For listing the unreturned books and users’ name, the SQL command is
Instant of data:
Figure3.2 Instant of data in SCENARIO 2
Select r.user_id, b.acc_id, name ,title,1*({09/30/2008}-date_of_returning) as fine from
book as b inner join borrowing_record as r on b.acc_id=r.acc_id inner join user as u on
r.user_id=u.user_id where returned ="N" and date_of_returning<{09/30/2008} ORDER
BY u.user_id
D5
P.30
Scenario 3 Also, our users do not have a proper way to search books. Therefore, the library
is going to introduce a new function for students to search books. By the function of
keyword search, users can type the keyword of a book, an author or a publisher
through the online library system, then, information of books which confirm to the
requirement will be shown.
A student likes reading books written by CABRAAL and he would like to search
books written by him in the library. However, he doesn’t know the exact spelling of
CABRAAL, what he can remember is only the first three letters of CABRAAL,”CAB.
After the function of keyword search is implemented, he tries to access the online
library system and enter the search terms “CAB” to see whether any CABRAAL’s
book is available in the library.
For listing the books written by CABRAAL, the SQL command is
Instant of data:
Figure3.3 Instant of data in SCENARIO 3
SELECT acc_id,title,publisher,type,status From BOOK WHERE author like "%CAB%" AND status="Y" ORDER BY title desc
D5
P.31
Scenario 4 There is a usual practice to compare whether the situation of late returning of book
is serious or not. The day of checking is the last school day in October, which is
09/30/2008. The method of checking is to calculate the percentage of the late returned
record and on time returned record of the total transaction records.
If the problem of late returning is serious, some methods should be adopted to
improve the current situation.
For listing total number of transaction record before 09/30/2008, the SQL
command is
Instant of data
Figure3.4.2 Instant of data in SCENARIO 4 Result=21
Instant of data:
Figure3.4.2 Instant of data in SCENARIO 4
Select returned, round (count(returned)/21*100,2) as percentage_of_total from borrowing_record GROUP BY returned ORDER BY returned desc
Select count(*) from borrowing_record where date_of_returning<{^2008/09/30}
D5
Page 32
Chapter 3 Testing and Evaluation
3.1 Why testing is so important? Even the most clear and careful design may have defects. To ensure the web-based
library system survives in the event of a real disaster, testing the recovery plan should
be required. It often takes several plans testing to identify and resolve potential
problems.
Testing is a procedure for critical evaluation and a mean of determining the
presence, quality or truth of something.
Testing allows the system users to ensure the function of system is workable and
practicable. Since it is a trial period for the use of web-based library system, some
function may not be as feasible as we expected. We can spot the problems during the
testing. After spotting the mistake, we should try to fix the potential problems before
putting the system in use officially. It reduces the disordered situation when the system
is run.
Also, testing is a good mean to see whether the system is user-friendly or not.
When it is in use, the function designed for users can be checked.
Therefore, a testing is necessary before the system is really put in use.
3.2 Testing Plan Purpose: To check whether the system can handle book renewal
Situation: A student with USER_ID “s14” wants to renew a book with ACC_ID “B20”
on 09/08/2008
Test case1: The book is not reserved by other student and this is the first time the
student renew the book.
Expected
result:
The renewal is accepted. The field DATE_OF_RETURNING is set to
15/09/2008 and the field NO_OF_RENEWAL is set to 1
Test case2: The book was reserved by another student with STUD_ID “s01” on
05/09/2008.
Expected
result:
The renewal is rejected and the students is not allowed to renew it..
There is no change in the field DATE_OF_RETURNING.
Test case3: The book in not reserved by other student and this is the third time the
student renew the book.
D5
Page 33
Expected
result:
The renewal is rejected as he can only renew a book for 2 times only.
There is no change in the field DATE_OF_RETURNING.
Purpose:
Assume a reservation record is existed, to check whether the teacher can get the
reserved materials.
Situation:
A teacher with USER_ID “T08” wants to borrow a book with ACC_ID”B12”. However,
the book is borrowed by others and will be returned on 09/22/2008. Therefore, the
teacher makes a reservation successfully on 09/20/2008. A reservation period is set to 2
week which the end date of reservation would be 10/06/2008. If the reserved materials
has not returned within the reservation period, the reservation will be extend to 1 week
Test case1: The book is returned on 09/22/2008.
Expected
result:
As the book is returned within the reservation period of
teacher“T08”, the book “B12” is reserved for the teachers. The teacher
is able to borrow that books on 09/22/2008-10/20/2008’.
A new borrowing record is inserted into the database when the
teacher borrows the reserved book on 09/22/2008. The field
DATE_OF_BORROWING is set to 09/22/2008 and the field
DATE_OF_RETURNING is set to 09/29/2008. Also, the valid of the
field RESERVATION will be set to “Y” and the status of the field
BOOK will be updated from “Y” to “N”
Test case2: User “S19” returned the book later that the date of returning on
09/28/2008.
Expected
result:
Although the book is late for returning, it is returned within the
reservation period of teacher”T08”, the book “B12” is reserved for the
teachers. The teacher is able to borrow that books on
09/28/2008-10/06/2008’.
A new borrowing record is inserted into the database when the
teacher borrows the reserved book on 09/29/2008. The field
DATE_OF_BORROWING is set to 09/28/2008 and the field
DATE_OF_RETURNING is set to 10/06/2008. Also, the valid of the
field RESERVATION will be set to “Y” and the status of the field
BOOK will be updated from “Y” to “N”
D5
Page 34
Test case3: User “S19” returned the book later that the date of returning on
10/07/2008.
Expected
result:
Although the book is returned later than the due date for more than 2
weeks. However, there will be 1 week extension of reservation period
from 10/06/2008 to 10/13/2008 if reserved book is returned after the
due date. The book is returned within the extended reservation period
of teacher”T08”, the book “B12” is reserved for the teachers. The
teacher is able to borrow that books on 10/07/2008-10/14/2008’.
A new borrowing record is inserted into the database when the
teacher borrows the reserved book on 10/08/2008. The field
DATE_OF_BORROWING is set to 10/08/2008 and the field
DATE_OF_RETURNING is set to 10/15/2008. Also, the valid of the
field RESERVATION will be set to “Y” and the status of the field
BOOK will be updated from “Y” to “N”
Test case4: The book is returned on 10/17/2008.
Expected
result:
The book is returned too late that excess the already extended
reservation period of teacher. Therefore, the reservation will be
automatically cancelled. No more extension will be made for the
reservation period. No borrowing record will be inserted into the
database. This valid of the field RESERVATION will be set to “N”. If
the teacher still wants to reserve the book, he/she has to make a new
reservation record.
Test case5: The teacher tries to get the reserved book on 07/10/2008.
Expected
result:
The book is returned within the extended reservation period of
teacher”T08”, the book “B12” is reserved for the teachers. The teacher
is able to borrow that books on 09/22/2008-10/06/2008’. However, the
teacher comes to library to get the book on 10/07/2008. The reservation
record will be cancelled and the book will not be reserved for the
teacher after 10/06/2008. This valid of the field RESERVATION will
be set to “N”.
Test case6: The book is returned on 09/22/2008. However, it is damaged.
Expected
result:
Although the book is returned within the reservation period of the
teacher, the book is broken already. It will be repaired by librarians.
The reservation record will be cancelled as there is uncertain when the
D5
Page 35
book will be recovered. This valid of the field RESERVATION will be
set to “N”.
Test case7: The due date of book borrowed by user “S19” is 09/22/2008.
However, he/she makes a renewal to extend the due date from
09/22/2008 to 09/29/2008. The book is returned on 09/29/2008.
Expected
result:
Although the book is renewed to defer the due date, it is returned
within the reservation period of teacher”T08”, the book “B12” is
reserved for the teachers. The teacher is able to borrow that books on
09/29/2008-10/06/2008’.
A new borrowing record is inserted into the database when the
teacher borrows the reserved book on 09/29/2008. The field
DATE_OF_BORROWING is set to 09/29/2008 and the field
DATE_OF_RETURNING is set to 10/06/2008. Also, the valid of the
field RESERVATION will be set to “Y” and the status of the field
BOOK will be updated from “Y” to “N”
Purpose: To check whether user can borrow books
Situation: A student with USER_ID “S11” wants to borrow a book with ACC_ID”B12”
on 09/22/2008.
Test case1: The book is borrowed successfully
Expected
Result:
A new borrowing record is inserted into the database when the
teacher borrows the reserved book on 09/22/2008. The field
DATE_OF_BORROWING is set to 09/22/2008 and the field
DATE_OF_RETURNING is set to 09/27/2008. The status of the
field BOOK will be updated from “Y” to “N”
Test case2: The borrowing quota is full.
Expected
Result:
No borrowing record will be inserted into the database unless the
users return books to vacate the borrowing quota.
Test case3: User forget to bring his/her user ID card
Expected
Result:
No borrowing record can be inserted into the database. Since the
user ID card is necessary for the borrowing process.
D5
P.36
3.2 Evaluation Aims
The aims I established the web-based library system is to provide availabilities of
information in different places and also in different formats. Also, it is less
dependence upon the librarians for getting the required information as well as to
improve the efficiency of completing each transaction. The purposes of establishing
the web-based library system have almost achieved. However, there are still some
minor problems needed to be fixed.
Evaluation on function of system
In the whole, the functions are able to meet the need of users. However, there are
still minor shortcomings in the system.
First, the function of keyword search may retrieve much more than users want. It
can not give the exact information that users want.
Second, the function of making comments cannot support the interactive reply in
the comment record. Each user can only make their comment and no reply can be
given from other users. The read-only comment system reduces the changes of
interchange ideas. No feedback concerning the comment can be received for the
comment writer.
Since the system is newly established, it is normal to have minor mistakes in the
system. After the probation and opinion given from users, the function of the system
will be upgraded in order to strive for perfection.
Evaluation on table structure
The overall structure of the system is well-established because it is free of data
redundancy and the users can freely insert, modify or delete the rows in a table
without errors and inconsistencies. The structure of the table has also been normalized.
Normalization is a database design technique based on analyzing relations among key
and non key attributes of database tables. It is used to improve a logical database to
make it simple and flexible. It can reduce data redundancy, inconsistency and
anomaly
However, there is a problem with the ranking table. In the ranking table,
“character” is set for the field “Book_Review”. “Character” can only support 256
D5
Page 37
words in each record. Actually, it is a bit insufficient for users to express their feelings
towards the books they read. When they get a lot of things to share with others, the
type “Character” cannot cater for their need at this time.
D5
Page 38
Chapter 4 Conclusion and Discussion Suggestion
A method to improve the keyword search engines is to post a “Keyword Search
Guidelines” to guide students to search for more accurate results.
To tackle the problems about the Book Review Board which cannot reply on
user’s review. To resolve the problem, I am trying to invite a computer expert to
tackle the problem. It will be soon to get the function of reply in the library system.
To resolve the problem of inadequate word space for users to express their book
review, a memo form will be used for the type of book_review in the ranking table.
As a memo type allows unlimited word space for users to write comment, it is good to
encourage users to write more about the book they read.
With the collective measures carried out, I am sure that it will help the library to
improve. Conclusion To conclude, the newly designed system can mostly cater my need. The
objectives of designing this system are that to raise the efficiency of transaction, to
avoid manual error, to release the librarians’ burden, to allow access the library’s
system at anytime and anywhere and to provide a platform for user to share their book
reviews. Mostly, those objectives can be fulfilled.
Self-reflection With the collective measures carried out, I am sure that it will help the library to
improve. This is my first time to deal with a very demanding project with a qualitative
requirement in research, formatting and content. At first, I could not find the right
direction to the project. With the help of teachers and classmates, I gradually perceive
what I should do in the project.
Although there are lots of difficulties when I am doing the project and I am not a
member of the outstanding classmates, I finally overcome the difficulties by my
perseverance and hard work. It is thankful and appreciated to see my project done
with a clear structure.
D5
Page 39
It is really a good experience to push me to step forward to try a new thing that I
had never tried it before.
I would like to show my appreciation to my Computer teacher Mr YYY who gives me opinion and encouragement to drive me to work harder.
D5
Page 40
Chapter 5 References Hyperlink
1. Answers.com
http://www.answers.com/
2. Cyber Campus
http://www.hkcampus.net/
3. Wikipedia
www.wikipedia.com
Book
1. Raymond W.N. Chan, Computer concept for A/AS level, Hong Kong: Radian Pulishing,2005
2. Raymond W.N. Chan,
Data Communication& Networking for A/AS level, Hong Kong: Radian Pulishing,2005
3. Raymond W.N. Chan,
Database for A/AS level, Hong Kong: Hong Kong Radian Pulishing,2005