Introduction - The Gandhi Memorial International School

advertisement
IntroductionHow many a times have we talked about the importance of computer in our lives? But, the true
question that arises is that how actually we can use computers to make our lives easier. Obviously, we
can say that a computer is responsible for our daily activities. However, I felt that having an opportunity
to use my initial programming skills to make a computer that could benefit my school library or possibly
other libraries all around the world. How would my program help libraries and what are the facts lacking
in present library systems, well, as you read through and use my library database, you are sure to find
out.
Problem Identification
Going to the library and finding one book out of a possible million is always a strenuous job especially
for students and teachers in a school like ours, who out of their possible 1 hour break, spend a minimum
of 30 minutes just searching for the precise book they want to read. The more unique and diversified the
collection of books in a database, the more difficult it is to actually find a book. Through the creation of
my database, I aim to solve all the problems that a library might have to face in the terms of
organization and location of their books.
Let us first see what exactly are the problems faced by libraries that they need to solve.
1. KEEPING a RECORD OF ALL THE BOOKS- every library in the world has to keep a record of all the
books it has so that books can be borrowed, viewed and modified.
2. SEARCHING THE BOOK- searching for a specific book out of many can sometimes be a timetaking and boring job, especially in some massive libraries which are spread over a few floors
such as in universities, public libraries or even a library on a smaller scale, such as our school
library. Searching for a book in our school library has always been a dilemma and disturbance to
readers. Sometimes, the person might not name of the book but other details about the book
such as the author or publication or just what subject is linked to. The only way to do these in
many libraries is a manual search in the given section. In such a case, it becomes all the more
difficult to search for a book.
3. ADDING NEW BOOKS- in any library, it is quite obvious that new books would enter the library
every week or every month and if a library is not able to keep adding new books to its collection
maybe called a poor library.
4. MODIFICATION OF EXISITING RECORDS- just like the addition of books in the database, it is
always important to modify the records of the books if any mistake is made. Modification of
data is important for the accuracy of the data.
5. DELETING THE BOOK FROM THE DATABASE- it is sometimes essential to delete a book from the
record because of anonymous reasons. A good library system should have an option to be able
to delete any book record at any point of time.
6. TRAINING STAFF- on the addition of new librarians or employees in the library, it is essential for
them to know all the books in their library and their location in the library. This could be an
extremely difficult job for a normal person in a manual record system as he or she would keep
flipping pages of a manual record book to help a student search for a book.
7. ALLOWING AUTHORIZED ACCESS (PROTECTION OF DATA)- some books, such as reference
books in a school library are not allowed to be viewed by students but only be teachers. Also,
not everyone is allowed to come and add, delete or modify the records of books in a library.
EXISTING SOLUTION OT THE PROBLEMAs of today, our library is divided into various sections (genres) over a relatively large area and in our
school library; there is only a manual record of books. The problem with this is that the records could
end up to be thick books kept with the library. The only source for information about a book in the
library would be the librarian who would have all the information about the books. What are its
disadvantages?
a) This means that as for searching the books, the only way a student or teacher can search for a
book is that either he manually looks through the library in search for a particular book which
might not even be present in the library or another alternative to this would be to ask the
librarian or staff member. However, the staff member themselves will not be able to tell the
readers much about the book as they to as human beings do not have unlimited memory and
only a manual record of all the books. They would only be to help users find the book if they can
provide a lot of information about the book. Therefore, this would also be very inaccurate and it
would not be a very surprising that if a student would go to the librarian and ask him the name
of the book, he would not know. Therefore, searching for a book, manually, in a huge library
with a million books can be a very hectic job. Thus, a student who is looking for a book of a
particular subject can only go to the genre (section) it belongs to in the library and then search
manually.
b) Adding new books to a manual record is always a difficult job for the librarian. First of all, he or
she will have to add that book in the manual record of the school’s database and then to inform
users and search for this book would be even a greater difficulty. On the addition of new books,
the staff needs to be informed so that they can help users find the newly added book.
c) Talking about the modification of data in a manual system, it can become very messy and
difficult as first of all searching for the book to be modified will take a lot of time and then
making the changes would also be difficult. However, modification is a must to maintain the
accuracy of the information. As in addition, all the staff has to be informed about the
modifications made to nay book in the database. A similar condition occurs in the deleting or
removal of a book form the database as well.
d) Besides the major difficulties of searching and modifying the data of books in a library manually,
I feel that the most important problem that a library which does not have a computerized
system faces in the training of staff. Every library clearly has more than a few thousand books
and it is not possible for any human to possibly locate any book named out of the thousand. In
fact, even a librarian who has been in the library for many years might only be able to assist in
finding a few hundred books. Therefore, any new staff will have to be trained immensely over a
long period of time so that they can have some idea of the books in the library and towards
which part of the library do which books lie (for example, which part of the library has physics
book, which has past examination question books).
e) The last problem that I feel would be faced by the existing manual solution to the school library
is the protection of data. Any of the information of the books can easily be modified by anyone
as it does not have any protection. It is because of this reason that I feel manual systems can
become extremely unreliable and this is a major drawback.
ALTERNATIVE SOLUTION TO THE PROBLEM:
As a computer student, I decided that having an opportunity to use my newly acquired computer
programming skills as part of my IGCSE coursework, I could create a program that could help my school
and possibly other libraries around the world to organize their books systematically and properly.
Therefore, I decided to create a library database using visual fox pro for my computer project as part of
my IGCSE coursework which would also prove to be a perfect alternative and solution to the problem of
maintaining the records of books in a library.
Using an automated computerized program to keep and maintain the record of the books can have
various advantages and when compared to the existing manual situation, this can seem to be extremely
useful and worth paying for… what are the advantages of using a computerized system such that it
solves the above problems? Here are just a few points.
a) Maintaining a database of all the books on a computer is extremely useful. First of all, the
memory of a computer is incomparable and extremely high and a good computer can hold
extremely large amounts of data without harming the speed much. Compared to a manual
system, a computer’s memory is much more and the use of it avoids any human errors.
b) When searching the data in a manual system as the one I mentioned above, time becomes a
major factor and there is a serious wastage of time in the selection of a particular book. In a
good computerized system (one that is installed and located in various points in a library), one
can easily come, type the name of the book, he or she wants to read, look at its details and
move on to find that book. This is a simple, cheap and time-saving concept of searching books in
a database. Another major problem that occurs is that students sometimes know very little
about the book that they wish to search, for example only the name of the author. In such a
case, it becomes all the more difficult to locate the book in the huge library manually. However,
with the use of the computerized system, the student has various options with which he might
want to search for the book.
c) Adding to the existing records can be of much ease in a computerized system. When an option
(such as in my solution to the problem) is available, an authorized user (mentioned further on)
can easily login, enter the details of the new book and save it in the existing database. There is
no need to inform anybody about this new book as anybody who wants any information about
the book can easily enter the library database and search for the required book.
d) Similar to addition of books, is the modification and deletion of the record of books. Once again,
if required, an authorized user can login, make changes and save those changes in the database.
These changes do not need to be remembered by the librarian or staff as if wanted to view, can
easily be seen on the updated database. When books are removed from the library, the same
thing happens as the user can come and remove the records of the book. As a result, nobody
will be uselessly looking through the books to find one which is not even there. He can simply
enter the name of the book he wishes to read and if it is not there or deleted, he will not be
wasting his time, manually searching it.
e) Besides the obvious facts that a computerized system will help in keeping a record of all the
books and help to maintain the accuracy of data through the ease of modification, I feel that
one of the most important advantages as compared to the manual system would be the training
of staff. In a manual system, the staff needs to be extremely familiar with the library and they
have to know the names of the books or flip through papers to find details about any book.
However, if an automated computer system is in place, anybody, who knows the basics of how
to use a computer, can help a student or a teacher find a book. There is no longer a need to
learn the name and position of any book in the database. Also, if the staff needs to be trained in
order to add the records of books (if new books are entered to the database), they can be easily
told to do this using the computer. The entire system removes the margin of human errors and
even if mistakes are made, they can be easily removed.
f) Protection to data has always been a question mark in any firm or organization. Nobody wants
to let disclose information about the information that must be know to only some people or as a
matter of fact, allow people to modify this information without privileged access. In a manual
system, there is not data protection, whereas in a computerized system, only a few selected
people will be allowed to make changes to the records of the database.
Therefore, there are various advantages of an automated computerized library database and this is what
I wished to create for my project. The various advantages of this database would benefit all libraries
especially my school and make life easier for librarians, students and teachers.
OBJECTIVES:
Through the creation of a computerized library database such as this, I had various objectives:
1. To help our library create a record of all their books on a computer so that it is free and easy for
anyone to look into.
2. To help readers, students and teachers to search for books on the basis of anything they want
(such as name, author, subject, teacher etc.), eliminating the need to manually go and look into
the library.
3. To save time. In our school, there is only a 45 minute break and for a few library classes, only an
hour of time in their library. To locate for a specific book manually in such time can be a waste
of precious time. However, searching for it instantly on the computer will save immense amount
of time.
4. To help librarians maintain their records of books in the following ways
a) ADD new books- the librarian can automatically type in the details of the new book s
that have been entered in the database.
B) MODIFY existing records- the librarian can modify and change any incorrectly entered
records or any changes that have to be made to the information about the book.
c) DELETE existing records – on the removal of a book from the library, it can easily be
located on the database and then deleted permanently with ease.
5. To reduce the number of staff needed to be employed. Also, training of staff can also be done
easily and not may are needed as the system becomes so user friendly that anyone can come
and sue it without the need of help. However, the labour force would decrease tremendously
with the use of an automated system and the few members of the staff can be trained easily.
6. To make it more convenient for the librarians and staff members as they do not need to
remember anything about the books. They will have a computer to themselves and when asked
about the book, they can search in the details and tell the reader, where in the library, the book
is located.
7. To protect data easily. No modifications can be made to the details of the book unless the user
has access to that area of the database with the use of a user name and password.
8. To reduce human errors. When there is no computer, there can be various mistakes made by
people in telling anyone the details of the book. However, in a computerized system, any
mistakes can be corrected with easy and there is no scope for human errors as a computer will
only display he information entered to it.
9. To maintain accuracy of data. I would put in validation checks (such as type check, presence
check and range check) which would not allow the user to enter ay wrong data. Also, data would
be kept accurate as any modifications or changes are dealt with immediately so as to maintain
the accuracy.
PLANNINGChoosing the idea (Topic Planning)When I and my classmates were first told about the CS project, all of us were extremely fascinated by
the idea. We all came up with a lot of different and unique ideas which matched our own interests. I
myself came up with many ideas such as sports, Economics and Physics. I first thought about creating a
database of cricket leagues around the world and then thought of a database of currency exchange
rates and finally a database of the different football leagues in Europe. However, when I discussed with
my Computer teacher, Sir Suresh, he told me that this would not be suitable as I was not solving any
given problem. Then an idea struck me on spot.
I am not a frequent reader or a fiction-lover, however, I often go to the library is search of books related
to my classroom academics. However, I often face a lot of time problems and by the time I actually find
the book, my break is over and I cannot read anything or practice anything from that book. This has
always been a major disturbance to me and when I thought of this, I thought of the computerized library
database which would solve all these problems of searching. When I told Sir Suresh my idea, he said that
I can surely do that and so I finalized this topic.
Planning of my MethodProject PlanningBefore I could go into the details of how actually I planned to create this library database, I decided to sit
down and plan what all I was going to include in my database and what are the problems I intended to
solve. Starting of, I first researched about all the problems that are actually faced by frequent library
visitors and librarian themselves. Of course, the main problem which everyone talked about was the
problem of searching for books in the vast quantity available in the library. However, I could not just talk
about searching in the database. So when I talked to the head librarian of our school, she said that they
always have a problem in maintaining the records of all the books. By this she meant that they had
problem modifying the book details or deleting or even adding new books to the database. All these
questions moved around in my mind until I decided that I could include all these points in my project.
Therefore, after a detailed search and question rounds with book lovers and the librarian, I planned to
include the following in my project. First of all, to help everyone in the school, I decided to include the
main search form through which anyone could search books on the basis of name, author, subject or
even the teacher in charge. This would be the most important part of the database as it would benefit
everyone all around the school.
As I talked to the librarians of the problems they faced, I hoped to solve their problems as well through
the database. Therefore, so that they could maintain an automated and computerized record of books, I
created options for them so that they or any authorized teacher, can come and add new books to the
library, modify the details of the existing book (such as if it were moved to a different section in the
library) or even delete books (in the rare condition of the removal of the book from the library). All these
options would reduce a lot of the labour work for our school library and teachers.
However, some students may misuse the system if I would allow anyone to come and change the details
about the book. It is because of that reason that I decided to make a security form so that only selected
users can come in and modify, add or delete the data. Therefore, if any teacher would have access to
this, they must have the user name and password and so this option completely removed the danger of
as student harming the record.
When thinking about this option that I had just planned, another thought struck me. What if there is a
new teacher or librarian or staff member whom the school wishes to give privileged access. In that case,
how will the new user login? For this problem, I also decided to create an admin account whose sole
purpose would be to the come in and add new members (teachers or librarians) to the database by
giving each one their own user name and password. If the admin by any chance wanted to access and
modify the books himself, there would of course always be the option of them just logging in via the
teacher’s account. However, the sole purpose of the admin’s account would be to add new members.
Therefore, I decided to bring in these factors into the database so that I would solve all problems in
existing manual libraries.
Information gatheringIn order to add a bit of the initial data, I looked into a few of the books in the library and noted their
details on my computer. As I did not have much time, I also took the details of books at my own house
as well as my friend’s house but I assured the fact that these books were there in my school library. I
added about 25 books initially to the database so that they would be accurate and so that I could test
the program which I would have created.
Software planningWhen we were first told about this project, there were various softwares from which we could choose.
We were told about Visual Basic, Visual FoxPro and Microsoft Access. However, before I thought about
using any other software, I thought that Visual FoxPro would be best for me because of various reasons.
1. I had been using this software for 2 years and my teacher told me that I had been doing an
extremely good job in it.
2. I was comfortable and familiar with all the functions of this software.
3. I, as a student, had been learning about this software and would learn more as in school as this
was the only program being taught in school.
4. I had already created a program as part of my school project before and could reuse some of the
commands (i.e, the security login)
5. I would not be needing much help, where as if I would shift the software, I would be requiring
much more effort and time to spend on it.
6. The only drawback, I feel, of using Visual Foxpro is that the project is very simple in design as
there are not many options to make it attractive.
Time Planning
This project was being carried out over an extremely long time. I decided to start this project of in the
middle of my Grade 10 first term. However, later I realized the fact from planning that the entire project
would take me more than 2 months to complete. The former is the time I decided to branch out for each
particular section:
a) Choosing the topic- after a lot of thought as I mentioned above, I finalized the topic of my
project which had to be a good one as it was going to go on for the whole 2 months. This would
take me approximately 3-4 days.
b) Recognizing the problem with the present library system- once again, as I mentioned earlier, I
used to go to the library and talk to he librarians with what exactly the problem was that they
faced. Also, I used to ask my friends who used to go to the library about what their ‘book
searching’ problems actually were. This entire process would not take me more than 2 of my
break times in school.
c) Planning the project- to see what exactly my program will intend to do (as mentioned above).
This would take me a lot of time and I thought about 4-5 days.
d) Gathering the Data- I chose all the books whose details I decided to add. This would not take me
more than 2 days.
e) Choosing the Software- once I had finalized everything about the problems my computerized
database should solve, I had various options for the selection of the program with which I was
going to make the database. This selection was extremely important as it was the basis of my
entire project and therefore I looked into the pros and cons of each and every software available
to me. By deciding to ask a few people and through teacher’s assistance, I decided to take out 2
days for this part of my project.
f)
Making the tables (adding the data) and forms- the tables were the first and most important
step in the making of my project. The various tables are the basis on which all the outputs are
processed and so this had to be done accurately. I feel that making the forms would be the most
strenuous job as there would be numerous forms throughout the entire project. In each one, I
had to add command boxes, labels, text boxes, combo boxes and various other things to meet
the demands of my library database. This would be the first part of my major project and I feel
that this would take me wound about 8 days to complete.
g) Adding the algorithms- this, I feel would be the part of my project which would be most difficult
and time-consuming. Using proper variables and algorithms require a lot of logic and high level
thinking. Sometimes, I have head that you can get stuck for hours and still not find a way out. It
is because of this reason that I decided to take out 10 days for this part of my coursework.
h) Testing all the algorithms and debugging- after I had added all the algorithms, I would want to
check whether it was displaying all the information as I wanted to. I gave the computer all sorts
of correct and incorrect data (mentioned further in testing) to see if it gave me the desired
output. This would also take a lot of time as I might have to make many changes because of the
wrong results I obtained (debugging). I took out a whole week for debugging my program.
i)
Designing the software- after, I was satisfied with the working of the entire program; I decided
to make my project look attractive so that it can be displayed in the library. Also, I had to take
screen shots of my entire project in my report. This would take me a good 4 days.
j)
Documentation and report making- finally, I had to make the entire report and user and
technical documentation. I feel that it is this part of the project that would take out most of my
time. As I said, it would take me the most time and so I though of two weeks for this
assignment.
Gannt ChartFollowing is a gannt chart summarizing my time spent on the various aspects of my project.
SOFTWARE REQUIREMENTSHARDWARE REQUIREMENTSImplementationEntire Flow Chart of how my project works-
DescriptionThe above is a basic flowchart showing the exact functions that my library database would carry out so
that it would be worth implementing. Although this is explained in detail later on, this is a brief summary
so that it can be implemented easily.
When the user first enters the database, there will be an option for him to enter as a teacher, student or
admin. If he enters as a student, he can search any book on the basis of name, author, subject and
teacher in charge. This is a huge benefit as many a times; students do not know the name of the book
but other primary details about the book.
Another option with which the user can login is as a teacher or authorized librarian. However, this is
only for privilege users as not everyone can come in and just modify the books. People who are allowed
to enter into this part of the database have access to adding new books, modifying existing books and
deleting old books. This is of utmost importance in a library database.
One major option which cannot be forgotten is the case when a new teacher or librarian joins the
school. So that, this person can also have access to modifying records, he or she must get their own user
name and password to go past the security form. This is made possible through the admin account
where the admin of the school can enter to let new people into the database.
Download