Professional Documents
Culture Documents
Online Digital Library Final Project
Online Digital Library Final Project
FACULTY OF INFORMATICS
DEPARTMENT OF COMPUTER SCIENCE
INDUSTRIAL PROJECT
ON
ONLINE DIGITAL LIBRARY AND MANAGEMENT
SYSTEM FOR UNIVERSITY OF GONDAR
Project participants:
Name ID No
1. Askal Baye ………………..…………………….……1107/05
2. Elshaday Yemane…………..………………….………1153/05
3. Feleke Meaza………………………………...………..1162/05
4. Gashu Wendawke ………………..……………………1169/05
5. Genet Emayu…………...….………….………………..1172/05
6. Manaye Tadele…………………………………………1221/05
Submitted to:
Computer science department industrial project coordinator
Certificate
I certify that this degree of BSc industrial project report entitled online digital library
and management system for University of Gondar done by:
is approved by me for submission. I certify further that, to the best of my knowledge, the
report represents work carried out by the students.
i
Declaration
This is to declare that the project work which is done under the advisor of Fedlu
Nerhusen. This is certified industrial project entitled on online digital library and
management system for University of Gondar that is developed and submitted by:
No part of the project work has been reproduced illegally (copy and paste) which can be
considered as Plagiarism. All referenced parts have been used to argue the idea and cited
properly. We will be responsible and liable for any consequence if violation of this
declaration occurs.
ii
ACKNOWLEDGMENT
The successful completion of any task would be incomplete without the mention
of the people who made it possible and whose constant encouragement and guidance has
been a source of inspiration throughout the completion of the project. We take this
opportunity to express our gratitude to all those who have helped us in this project. We
greatly thanks to teacher Fedlu Nurhussien (our adviser), for his guiding about the
content and description of each topic in each document (SPMP, SRS, SDD) in detail.
And we also thank to teacher Abraham, teacher Daniel and teacher Anteneh. At last but
not the least we thanks to GOD for his encouragement and do with us for the successful
completion of the project.
iii
Acronyms
Abbreviation Definition
iv
Table of Contents
1. Project proposal ....................................................................................................................... 1
1.1. Introduction ..................................................................................................................... 1
1.2. Statement of the Problem and Justification ..................................................................... 2
1.3. Project Objective ................................................................................................................ 2
1.3.1. General Objective of the Project ................................................................................... 2
1.3.2. Specific Objective of the Project ................................................................................... 3
1.4. Scope of the Project .............................................................................................................. 3
1.5. System Development Methodology ..................................................................................... 4
Figure 1.5.1.system development methodology..................................................................... 5
1.5.1. Investigation (Fact-Finding) Methods ........................................................................... 5
1.5.2. System Development Tools ........................................................................................... 7
1.6. Significance of the Project.................................................................................................... 7
1.7. Beneficiaries .................................................................................................................... 9
1.8. Time Scheduling.............................................................................................................. 9
Figure 1.8.1.Time scheduling for the entire deliverable documents. ................................... 10
2. Requirement Analysis ............................................................................................................... 11
2.1. Introduction ........................................................................................................................ 11
2.2. Current System ................................................................................................................... 12
2.2.1. Major Function of the Current System ........................................................................ 12
2.2.2. Problem of the Existing System .................................................................................. 13
2.3. Requirement Gathering ...................................................................................................... 13
2.3.1. Requirement Gathering Methodology ......................................................................... 13
2.3.2. Results Found .............................................................................................................. 14
2.4. Proposed System ................................................................................................................ 14
2.4.1 .Overview ..................................................................................................................... 15
2.4.2. Functional Requirements ............................................................................................. 16
2.4.3. Non-functional Requirements ..................................................................................... 17
2.5. System Model ..................................................................................................................... 21
2.5.1. Scenario ....................................................................................................................... 21
2.5.2. Use Case Model........................................................................................................... 26
2.5.3. Activity Diagram .......................................................................................................... 37
v
2.5.4. Object Model ............................................................................................................... 48
2.5.5. User Interface .............................................................................................................. 57
3. System Design ........................................................................................................................... 60
3.1. Introduction ........................................................................................................................ 60
3.1.1. Design Goals ......................................................................................................... 61
3.2. Current System Architecture ......................................................................................... 62
3.3. Proposed Software Architecture .................................................................................... 63
3.3.1. Overview ............................................................................................................... 63
3.3.2. Subsystem Decomposition .................................................................................... 64
3.3.3. Hardware/Software Mapping ................................................................................ 66
3.3.4. Persistent Data Management ................................................................................. 66
3.3.5. Access Control ad Security ................................................................................... 68
3.3.6. Subsystem Services ............................................................................................... 69
3.4. Detail Class Diagram..................................................................................................... 70
3.5. Packages ........................................................................................................................ 73
4. Implementation ...................................................................................................................... 74
4.1. Mapping Models to Code .............................................................................................. 74
4.1.1. Bidirectional One-to-One Associations ................................................................. 74
4.1.2. One-to-Many Associations .................................................................................... 74
4.1.3. Many-to-Many Associations ................................................................................. 75
4.1.4. Mapping Operation Contracts to Exceptions ........................................................ 75
4.1.5. Mapping the Class Model to a Storage Schema is Performed .............................. 77
4.2. Source Codes for Major Classes, Packages or Interfaces .............................................. 78
4.3. Screen Images.............................................................................................................. 107
5. Conclusion and Recommendation ....................................................................................... 113
6. Bibliography ........................................................................................................................ 114
7. Glossary ............................................................................................................................... 115
8. Recommendation ................................................................................................................. 116
vi
List of figures
vii
Figure 2.5.4.3.10. Sequence diagram for download reference books................................ 57
Figure 2.5.5.1. Home Page of the system .......................................................................... 57
Figure 2.5.5.2. Admin login page ...................................................................................... 58
Figure 2.5.5.3. Create new account page, admin click create new account in transaction
menu, the page is here: ...................................................................................................... 58
Figure 2.5.5.4. Change password page, user click change password menu in transaction 59
Figure 2.5.5.5. When a user click on get help and contact menu, the page like this ......... 59
Figure 3.2.1. Current architecture of the library ............................................................... 63
Figure 3.3.1.Proposed software architecture of the digital library and management
system for University of Gondar ....................................................................................... 64
Figure 3.3.2.List of sub systems of digital library and their dependency .......................... 65
Figure 3.3.3.1.hardware/software mapping deployment diagram for digital library ....... 66
Figure 3.3.4.1.persistent object and storage of them, and normalization of tables for RDB
........................................................................................................................................... 68
Figure 3.4.2.constraints for each class in detail class diagram .......................................... 72
viii
Figure 1 ........................................................................................................................................ 107
Figure 2 ........................................................................................................................................ 108
Figure 3 ........................................................................................................................................ 108
Figure 4 ........................................................................................................................................ 109
Figure 5 ........................................................................................................................................ 109
Figure 6 ........................................................................................................................................ 110
Figure 7 ........................................................................................................................................ 110
Figure 8 ........................................................................................................................................ 110
Figure 9 ........................................................................................................................................ 111
Figure 10 ...................................................................................................................................... 112
Figure 11 ...................................................................................................................................... 112
ix
List of Tables
x
1. Project proposal
1.1. Introduction
The project titled online digital library and management system for University of
Gondar is a web based application for monitoring, controlling transactions and to read or
upload online book, pdf, ppt, courses for students and lectures in online. Digital library
is a collection of information that is stored and accessed electronically. The online
digital Library System is designed to help for university of Gondar students and lectures
to access online reference books or list of courses with their contents. This digital Library
system is available for two tasks. The first is Management System: mainly focuses on
basic operations in the library like adding new member, new books, updating new
information, searching books, searching members and facility to borrow and return
books. The second is online access for reference books, lecture notes, the list of courses
with their content are available for students and for all lectures. The library manager and
the librarians are the high level user of digital library. This digital library helps new
lectures by providing the course list with their content in online so those teachers doesn’t
need for what content is available for his course, only copy that course content with
notes. Library Administrator to get a good idea of which are the books borrowed,
returned by the user or to know what references are included in the site. For online
services users don’t confuse because there is a simple and step by step follows.
1
1.2. Statement of the Problem and Justification
The trend of dealing with online library tasks manually is become obsolete. Now a
days, the so called tedious activates in a library are becoming computerized resulting in
library users and librarians satisfaction. University of Gondar public library is not fully
automated so that tasks are still deal up manually.
The main objective of this project is to develop online digital library and
management system for University of Gondar.
2
1.3.2. Specific Objective of the Project
This project covers on digital library and management system for University of
Gondar. We have chooses to do online digital library and management system for
University of Gondar because of the following reasons:
Even if there are older universities (established more than 62 years)
the university has not digital library and management system.
The students’ enrolment as well as the total number of lecturers in
the universities are comparatively higher and there are lack of
reference books in hard copies and the books that are not
functional because of they are old that aren’t serve all students
in adequately.
3
This project will involve postgraduate and undergraduate students of the all students
in University of Gondar. In this study, effectiveness will be measure through users’
satisfaction, users’ perception and library’s performance. Various key factors which
either enhance or hinder the implementation of online digital library and management
system were also identified and used to measure the effectiveness of digital library and
management system such as the awareness, usage and perceived needs towards digital
library and management system. This study will be essentially focusing on
computerizing the existing manual system of University of Gondar public library.
Building a quality system has been the driving goal of all software engineering
efforts. To solve an actual problems in an organization or industry, software developer or
a team of developers must integrate with a development strategy that include the process,
methods and tools layer and generic phases. This strategy is often referred to a process
model or a software developing paradigm (methodology).
Requirement analysis
System and Software Design
Implementation
Integration and System Testing
Operation and Maintenance
From developing this project we select the waterfall model based on the following
reasons:
1. Each documents delivers in time sequence i.e. first deliver SPMP document,
second SRS and so on. This style of software development methodology is water
fall model.
4
2. The requirement data that get from the ICT data center and manual library in
University of Gondar through questioner, interview and observation is sufficient
to do the project successfully.
3. The other one is we haven’t time to select other process models because those
models have another specification or need other requirements (after doing the first
version).
During the data collection, we investigate the ICT data center for collecting the
actual data by questionnaire. As they said that there is no website for digital library and
management system in University of Gondar but there is digital library building i.e. this
building is available for this purpose and in short period of time we built the site for
digital library and management system. But for now there is a problem in teaching
learning process because individual teachers give different course outline and different
5
course notes for the same course. After the web is developed this problem is solved
because the course outline and the course notes are approved by the scheduler i.e. by
department head or faculty dean or other by other course scheduler committee and then
this approved list is posted in the web and the deferent teachers take this post from the
site. The teachers and the students are read those available materials which are uploaded
and editing by managers or teachers on the site. Students doesn’t have the permission to
edit or don’t perform administrative transactions in the site. So this online digital library
and management system solves this uncomfortable situation.
6
1.5.2. System Development Tools
Hardware requirements:
Desktop computer with the available material. Like keyboard, mouse, system
unit.
For running html and php document: pc should be available, i.e. desktop,
laptop or other devices that support those html documents.
For storage: At least 3GB hard disk space.
Software requirement:
The principal significance of this project is to create new system and to find
solutions to problems pertaining to the provision of digital reference services in the
academic libraries. The findings of this study serve as an addition to the existing body
of knowledge on digital reference services. This study provides insights on the current
status of university of Gondar in academic libraries. It contributes to the understanding
of the awareness, usage, effectiveness and perceived needs of students towards
university of Gondar in academic libraries. The study also contributes in terms of
filling a gap to the literature pertaining to university of Gondar. A major gap in the
literature of this university was the lack of research pertaining to user aspects of the
services since most of the studies on t h i s university focused on the librarians and
7
The findings of this study can also serve as advice to digital libraries and
managements system in university of Gondar to exploit the latest information and
communication technology to improve library operations. One possible solution
which is in line with the development of online library services in university is to
implement the digital reference services using both asynchronous and synchronous
formats for improving library services, as well as to support teaching and learning in
institutions of higher learning. This project will provide, reference work can be
conducted online, and communication is made easier and time is no longer a barrier.
The study can create greater awareness of Internet as a valuable scholarly tool. This will
prompt libraries, students and academic staff to work together to exploit its resources
for effective academic work. The study hopes to provide the basis for further research
in the area of reference and information sources and services. It is expected that
knowledge gained through this study would be useful in planning and implementing
digital reference and information services in academic libraries. The study on current
status of digital library is necessary to know the present.
8
1.7. Beneficiaries
Beneficiaries are users who uses or access this digital library for reading, storing the
reference books or courses and other library transactions performed in the relative
permissions i.e. administrative transactions (deleting, uploading, searching , adding ,
editing the book information) are performed by the digital library administrator and non-
permission transactions (reading books) are performed by the guest users.
The beneficiaries for university of Gondar digital library and management system are:
Students: Student privileges in the system downloading book for reading, request
books for borrowing, comment or ask questions online, return books after
borrowing.
Lectures: Lectures privileges in digital library requesting to the manager or
librarian to add his/her course, other references online for his/her students, and
also lectures will borrow books, return books, give online comment and ask
questions.
Librarians: librarians in the system can upload books, download books , change
his/her password, remove outdated books, comment or ask questions online.
Library managers: Perform all privileges in the system i.e. downloading book,
uploading book, remove account, add new account, remove outdated books, add
new account, and get book list and others.
Generally, all the university members those who have the knowledge of computer
to access the site.
9
understanding of the most common types of estimates, tools for estimating, historical
database sources, and formats of estimates forms the basis of the more sophisticated
methods of estimating. Estimating is typically concerned with the initial costs or first
costs of accomplishing new construction or renovation projects, although it also plays a
large part in life-cycle costing of design alternatives. The estimates should be provided by
a professional estimating firm either as part of the design team, or directly for the owner.
In many instances the latter is preferred to ensure the independence of the estimate.
Generally, our project especially this document estimation plan is drawn graphically as
follows. This estimation plan is approved by the team members.
10
2. Requirement Analysis
2.1. Introduction
The project titled with online digital library and management system for
University of Gondar is a web based application for monitoring, controlling transactions
and to read or upload online book, .pdf, .ppt, courses for students and lectures in online.
Digital library is a collection of information that is stored and accessed
electronically. The online digital Library and managements System is designed to help
for university of Gondar students and lectures to access online reference books or list of
courses with their contents. This digital Library and management system is available for
two tasks. The first is Management System: mainly focuses on basic operations in the
library like adding new member, new books, updating new information, searching books,
searching members and facility to borrow and return books. The second is online access
for reference books, lecture notes; the list of courses with their content is available for
students and for lectures. The library manager and the librarians are the high level user of
university of Gondar digital library and management system.
11
2.2. Current System
The current library system of Gondar University gives book borrowing services
manually and no online service i.e. no digital library and management system. The first
way to get the book, user goes to circulation desk and asks the librarian to get the book
by their id and after reading they return the book to circulation and pick up their id from
the librarian. The second way to get the book, user goes to the book shelf and search for
the book that they want to read all over the shelves. After they finished reading they
return the book to the shelf, and when users want to borrow book for a specific period of
time, they goes to circulation desk, ask the librarian for a book, librarian search the book
around the shelves, the users give their id number, the Librarian write the user id and the
book identity number. Finally user borrows the book.
12
2.2.2. Problem of the Existing System
Time consuming.
Soft copy cannot available.
The client cannot accesses information easily and accurately.
Librarian’s works over load to find textbook, hard copy in the circulation is
difficult to find, and it is not proper manage the whole system.
Manual search is difficult.
User has to come physically to check book is borrowed or not.
13
evaluate digital library’ performance. Questionnaires were distributed
among the sample of the study. The questionnaire, open-ended questions
was administered to workers in digital library and management system. The
employees were informed of the purpose of research and that their response
would be used purely for improvement on the topic of study. They were also
assured that their responses would be kept confidential. In order to get
comprehensive evidence about digital library performance.
When we collect information from data center and the librarians (sample atse
tewedros campus) in University of Gondar by the above gathering methodologies we get
the statement of problems listed above in SPMP document, the procedure (technique) to
develop our system, what materials should include our system in developing online
digital library and management system.
14
All details will be available in one click i.e. for download book, for
borrowing book, for return book, for getting book list, for change
password, for creating account and for others transaction in the system.
Return a book.
Displaying message for the administrator, messages like, if the duration
time of the borrowed books is reached.
Search a book and so on.
All the manual difficulties in managing the Library will be solved after digital library is
developed.
2.4.1 .Overview
Objective of this project is to create a digital library and management system that
will provide all necessary action for librarians and library’s visitors. For this purpose
three databases will be created: one for library users, managers, second for library books
(hardcopy) and the third is for online books (references, courses). System will provide all
usual services for those databases such as adding, uploading, online reading or viewing,
deleting, updating and searching information. Database for users will include all available
information about them, such as address, identification number, and amount of taken
books. Database for books (hardcopy and softcopy) will include titles, authors, number of
copies and availability status of the book. The Librarian will have possibility to access to
the internet to send information to users about their current status.
15
2.4.2. Functional Requirements
Create Account: - The new system asks user name and password and
allows only authorized users to access the database.
Add new books:-The new system will allow add book information (for
hardcopy and softcopy).
Borrow Books:-The new system will allow borrowing of books
(hardcopy).
Return Books:-The new system will allow return borrowed books.
Delete Book:-The new system will allow delete book information.
Delete User/Librarian:-The new system will allow delete user/librarian
information.
Search Books:-The new system will allow search books.
Comment:-The new system will allow giving comment for Librarians by
users in get help option.
Remove outdated Books:-The new systems will remove outdated books.
Update User/Librarian:-The new systems will update user/librarian
information
Generate report: The new system will generate report i.e. reserved book
report, borrowed book report, penalty information report.
Change Password:-The new system will allow old password changes
Add .pdf, .ppt, .txt, .docx,courses and reference books:-The new system
will add pdf, course, .ppt, .docx files, and references for online access.
From this adding new book (softcopy) functionality and add .pdf, .ppt, .txt,
.docx files, courses and reference books functionality are the same.
Get help: - The new system will allow communicating or asking questions
and answer the asked questions online.
Download books: the new system will allow for downloading uploaded
books in the system.
16
Logout: The new system will allow users logout from system.
Only knowledge of computer usage and web access is required from user to access
the digital library and management system. The interface of the new proposed system is
very flexible for users. The system uses English language. The user of this system must
have knowledge of using computer.
2.4.3.2. Documentation
We prepare only those documents i.e. SPMP, SRS, SDD, STD document with full
implementation (with code). For maintenance, document not available because in our
system there is get help option this page is used to ask question regarding with our system
or other questions as the user want and get answer i.e. anyone can answer as he or she
know about asked questions. Online help is provided for each of the feature available
with the online digital Library System. All the applications provide an on-line help
system to assist the user. The nature of these systems is unique to application
development as they combine aspects of programming (hyperlinks, etc) with aspects of
technical writing (organization, presentation).Online help is provided for each and every
feature provided by the system. The User Manual describes the use of the system to
Librarian and Employees.
17
2.4.3.3. Hardware Consideration
o Server
Minimum hardware requirements for Apache server are:
- CPU: 32 bit or 64 bit Cores: single(single core 3hz or higher dual
core 2GHz or higher is recommended)
- Display resolution:1360X768(or higher)
o Client:
- CPU: 32 or 64 bit
- RAM: 2GB or higher
Efficiency: The proposed system should have 2 second response time and 7 seconds
worst response time. The system can also support concurrent users simultaneously. The
system support parallel transactions (e.g., 40) involving different clients from different
location.
Interoperability: it can work with web based applications developed using PHP and java
script.
Incorrect input: the system handles many exceptions like inserting empty string to the
database and inserting a duplicated id no, inserting incorrect book ISBN and display an
appropriate message for each error.
Login error: the system shall handle an attempt to login with incorrect username and
password and display appropriate message.
18
2.4.3.6. Quality Issues
Reliability: the system should not fail more than once in a month.
Usability: the system that we develop should be easy to learn and operate. It will need
only two day training to use the system.
Availability: the system should be available for all working hours (24 hours).
Flexibility: The operation may be flexible and reports can be presented in many ways.
Maintainability: After the deployment of the project if any error occurs then it can be
easily maintain by the software developer.
Reliability: The performance of the software is better which will increase the reliability
of the software.
Reusability: The data and record that are saved in the database can be reused if needed.
Robustness: If there is any error in any window or module then it does not affect the
remaining part of the software.
As the world is capable of change from time to time; there will be future change to
the system as a result of new technology invention. Therefore the system can be upgrade
to the new technology by maintainer or the systems developers.
19
2.4.3.8. Physical Environment
This online digital library system is affected by weather condition when the
hardware and software available for our system may be crash by weather condition.
Weather conditions like earthquake. And also affect by antivirus if the server or other
available software and hardware are affected by that virus.
The system must give a maximum trial of 3 chances for user to enter their
authentication information for logging in to system after 3 chances the system must block
the user from login to the system for 24 hours. Anonymous users should only have access
information about books but he/she can’t add or delete books to the database except the
database administrator and Librarians. User information like password should be stored
in the database in encrypted form.
In general, the following are some security mechanisms for the software.
There will be proper security regarding to the accessing of data.
The external security can be provided by given the login authentication.
The data that are stored in the database must be private.
There is also required a user authentication.
There is also the capacity that the admin can lock his private data that will
not be accessed by anyone.
The whole software is secure from the outside accessing.
20
2.4.3.10. Resource Issues
o Server
Minimum hard ware requirements for Apache server are:
- CPU: 32 bit or 64 bit Cores: single (single core 3Hz or higher dual
core 2GHz or higher is recommended).
- Display resolution: 1360X768(or higher).
o Client:
- Browser
- CPU: 32 or 64 bit
- RAM: 2GB or higher
o Editor
- Notepad++ or notepad
o Adobe Photoshop (for editing an image)
A system model is the conceptual model that describes and represents a system. A
system comprises multiple views such as planning, requirement (analysis), design,
implementation, deployment, structure, behavior, input data, and output data views. A
system model is required to describe and represent all these multiple views.
2.5.1. Scenario
Scenarios for validate admin log into the system use case: the administrator or the
manager selects log into the system menu. After this the menu creates log into the system
controller and then the controller creates the form which is called log in form and then the
administrator or the manager enter user name and password in the form. After the form
is filled log in report is passed to the controller and the controller creates log in report
file. After this the controller passed the file to the system and then the conformation
message is passed again to the controller from the system. After this the controller tells
21
the user that the user name and password is correct and log in successfully. Finally the
administrator or the manager selects menus to perform operations in the system that the
administrator should need.
Scenarios for Generate report use case: Admin wants to view library report. Admin
login the system with user name and password. Admin selects general report menu.
System prompts for what Type of report the admin wants i.e. for borrowed book report,
outdated books, Penalty information report or reserved book report. Admin select his or
her choice. Systems present or display the selected report.
Scenario for Return Book use case: User returns book. Admin or Librarian log in to
the system with user name and password. Admin or Librarian selects borrowed book
menu. System displays book list. The Admin selects the book and click on return. System
display returns form. Admin fill the form. Admin click on return. System validates the
information. If the information is valid, system check the return date of the book and
prompt the Admin/Librarian that the book is on the return date or not. Admin requests for
penalty payment. The user pays his or her penalty. Then the book is return. If penalty
process is unsuccessful the user id is in the manager of the library or in the hands of
administrator.
Scenario for create new account use case: librarian or administrator request to
create new account after the existing admin log in to the system with username and
password System display a menu of choice, as librarian or as administrator with form to
create a new account. The admin (existing administrator) fills the new librarian’s |new
administrator’s available information. The admin submit create account after filling the
form. During this time the system validates the entered information and if the entered
information is valid the new account is created otherwise display an appropriate error
massage and tells the user to fill the form again until he or she fills correct information
into the form.
Scenario for add new book use case: new book is purchased for the library. Admin
or librarians log in to the system with his/her user name and password. Admin or librarian
select transactions then select add new book. The system display a form to add a new
book and the new book is categorized as softcopy or hardcopy book. If the new book is
22
softcopy the soft copy file is needed to add and if the new book is hardcopy the book also
needed to add and fill available information to a form and the librarian or admin submit
the information (the entered information).The system validate the entered information, if
the information is valid (for softcopy or hardcopy) is stored (added) and the system
display confirmation message. Otherwise display appropriate error message until the
entered information is correct.
Scenario for change password use case: admin or librarian need to change their
password. Admin or librarian logs into the system with their old username and password.
Admin or librarian select transaction then select change password. He |she enter his/her
old password, new password and reenter the new password again and then select submit.
System validates the information entered into form. If the entered information is correct
the password is changed the password message. Otherwise display appropriate error
message until the entered information becomes correct.
Scenario for get book list use case: admin or librarian or users want to get book list
to see the available books. Admin, librarian or user select get book list and the system
display list of books.
Scenario for borrow book use case: user wants to borrow books. The librarian logs
into the system. The user request to borrow books (hardcopy). The librarian select borrow
and the system display borrow form and the librarian fill form to borrow the book to the
user. If the book is found in the book list, the librarian select borrow and the system
display confirmation message and reduce the number of copy from the book list after the
book is borrowed the user borrowing the book.
Scenario for add .pdf, .ppt, .docx file and references (upload books) use case:
admin or librarian wants to add pdf, ppt, doc, courses. The admin or librarian logs into
the system with username and password. Admin or librarian select add pdf, ppt. The
system display form and admin or librarian fill the form and upload to add to book list
(softcopy book list). If the entered value (data’s) is correct the system stores the softcopy
book and display confirmation message. Otherwise, display error message until the
librarian enter correct data into the form to upload (add book).
23
Scenario for download book or reference use case: user wants to download book
for reading. The user logs into the system without username and password. The user
select download books, reference. The system display book lists in the system the user
select the book that he/she wants to download and select download. The system display
or download that book that user want. If the book is not present in the book list the user
send request to librarian to add (upload) the book that he/she wants to upload into the
book list.
Scenario for remove outdated book use case: librarian removes outdated books.
Librarian logs into the system with username and password. The librarian select remove
outdated books. The system display book list (hardcopy and softcopy). The librarian
selects either hardcopy or softcopy to remove. The librarian selects the book to be
removes. System displays a confirmation massage for deleting select book. If the
librarian selects ok confirmation the book is remove, otherwise not remove.
Scenario for get help use case: user wants to get help online. User logs into the
system without user name and password. The user select get help. The system display get
help page. User asks or answer question by entering his or her email. If the user haven’t
email in our system, the system display error massage and tell the user to create account
and at that moment the user select create account and the system display create account
page and user fill those available forms and select register. The system validates the
entered information. If the entered information are correct the user registered in the
system, otherwise display error massage until the user enters valid information into the
form. After creating or registering his or her address. The user asks or answer question in
get help page.
Scenario for remove librarian (member) use case: admin remove librarian from
member list when the librarian is stop service. Admin logs into the system with his or her
username and password. Admin select remove librarian. System displays librarian list.
Admin select librarian from the list and select remove. System displays a confirmation
message. If admin select ok confirmation librarian remove permanently from member.
Otherwise, the librarian is in the member list.
24
Scenario for remove account use case: admin remove account when the librarian
stops service in the library. Admin log into the system with his or her username and
password. Admin select remove account. System display librarian list. Admin select
librarian from the list to be remove his/her account and then admin select remove or
delete. System displays a confirmation message. If admin agree for deleting the account
and then the account is removed or deleted. Otherwise, admin select another librarian to
be remove his/her account.
Scenario for add librarian (member): administrator wants to add the librarian if
there is shortage of librarian in the digital library. New librarian comes to the library to
register his/her full information. Admin log into the system with his/her username and
password. Admin select add librarian link in the transaction menu. System display a form
and the admin and new librarian fill information that the system wants. Admin select add
librarian. If the required fields are fill correctly, system display confirmation message that
the librarian is successfully added. Otherwise, system display error message to tell fill
form correctly.
25
2.5.2. Use Case Model
The use case model, represented in UML with use case diagrams, describes the
functionality of the system from the user’s point of view.
Fig2.5.2.1.1. use case diagram for university of Gondar digital library and management
system
26
2.5.2.2. Description of Use Case Model
Actor: Admin
Main sequence
Alternative sequence
Step 3: If system determine that the entered user name and password are invalid, system
admin display error message and prompt admin to enter valid user name and password
Actor: admin
Summary: admin add new librarian to increase librarians in the digital library.
Main sequence
27
1. Include admin use case.
2. Admin select add librarian in transaction menu.
3. System displays a form.
4. Admin and new librarian fill the form, and select add librarian.
5. System validates librarian information.
6. If librarians information valid, system display confirmation message that the
librarian is added successfully.
Alternative sequence
Actor: admin
Summary: admin remove librarian account from the system if librarian is stop service.
Main sequence
28
Alternative sequence
Step 6: If admin don’t agree to delete the librarian account, then the librarian’s
account is not removed.
Actor: admin
Main sequence
Alternative sequences
Step 5: If entered information is not correct the system ask the user to inter validate
information.
Actor: Admin
29
Dependency: Include validate admin login use case
Main sequence
Alternative sequence
Step 5: If the admin cancels the delete information transaction the librarian information
remains maintain on the system.
Actor: admin/librarian
Main sequence
30
5. The system checks weather the entered password and the user name maintained
the system
6. If it matches the old password is changed
7. The system display password is successfully changed.
Alternative sequence
Step 6: If the system determines that the entered password and user name is invalid, the
system display error message and prompt the Admin librarian to enter a valid user name
and password.
Actor: admin
Main sequence
Alternative sequence
Step5: If the entered values are incorrect system asks the user to entre validate
information.
31
Use case name: Borrow book
Main sequence
Alternative sequence
Step 7: If the book is not available the system displays the book is not available.
Step 9: If the entered value are incorrect the system prompt the user to enter valid
information.
32
Use case name: Generate Report
Actor: Admin
Main sequence
3 System displays Report Type Form and Prompts the Admin to select the type of
report: Borrowed Book report, outdated book report or Reserved Book report.
Actor: user
Main sequence
33
4. The admin/librarian selects the book that is about to be returned and select return
book.
5. System check the return book (deadline date of the book).
6. System displays book is returned confirmation message.
Main sequence
Alternative sequence
Step6: If Admin/librarian cancels the delete transaction then book is remains in the
system
34
Use case name: Get book list
Actor: Admin/librarian
Main sequence
Use case name: upload book (add .pdf, .docs, .ppt and reference books)
Actor: Admin
Main sequence
Alternative sequence
Step 4: If the upload file is not correct format the system display error message and retry
to upload.
35
Post condition: the book is uploaded.
Actor: user
Main sequence
1. User log into the system by guest account or admin account (if any).
2. User select get help menu.
3. The user asks questions, give comments online by entering his/her email
address.
4. If username (email) is correct, the user can ask questions, he/she can answer
other questions asked by another user if they know the answer.
Alternative sequence
Step 4: if the password and username (email) is incorrect the system display error
message and notify the user to create new account and ask the question or answer asked
questions after creating or registered our webpage.
Main sequence
36
1. Admin, librarian or user select download books
2. The system display booklist (soft copy).
3. Admin, librarian or user select the book that they want to download
4. If the book is found in the list the admin, librarian or user select download.
5. Admin, librarian or user read the book online and save for the future read as
they want.
Alternative sequence
Step 4: If the book is not found in the list, user send request for the librarian/admin to
upload that book.
Activity diagram is basically a flow chart to represent the flow form one activity to
another activity. The activity can be described as an operation (control flow) of the
system. The control flow is drawn from one operation to another. This flow can be
sequential, branched or concurrent.
37
Figure 2.5.3.2. Activity diagram for add new book use case
38
Figure 2.5.3.3. activity diagram for Change password use case
Figure 2.5.3.4. Activity diagram for get book list use case
39
Figure 2.5.3.5. Activity diagram for validate admin login use case
40
Figure 2.5.3.7. Activity diagram for add .pdf, .docx, reference books use case
Figure 2.5.3.8.ctivity diagram for downloading books and references use case
41
Figure 2.5.3.9. Activity diagram for add librarian use case
42
Figure 2.5.3.10. Activity diagram for generate report use case
43
Figure 2.5.3.11. Activity diagram for remove account use case
44
Figure 2.5.3.12. Activity diagram for return book use case
45
Figure 2.5.3.13. Activity diagram for get help use case
46
Figure 2.5.3.14. Activity diagram for remove outdated use case
47
2.5.4. Object Model
We draw a class diagram depicting the inheritance relationships and associations that
exist between the entity objects that we recognize. The class diagram focuses mainly on
the relationship among application domain concepts.
A data dictionary is a collection of descriptions of the data objects or items and there
attributes and the description of the attributes in a data model for the benefit of
programmers and others who need to refer to them.
48
(address)
.Tel number .Is describes phone number of the
employee.
3. Account(create .User name .Is describes the user name of the
account, change authenticate users.
password, log in) .Password .Is describes the password of the
authenticate users.
4. user .First name .Is describes first name of the user.
.Last name .Is describes last name of the user.
.Email .Is describes email address of the user.
.Photo .Is describes the photo of the user.
.Tel number .Is describes the tel number of the user.
.ID number .Is describes the ID number (university
ID).
49
2.5.4.2. Class Diagram
Figure 2.5.4.2.2.Class diagram for University of Gondar digital library and management
system
50
2.5.4.3. Dynamic Modeling
Dynamic model is used to express and model the behavior of the system over time.
It includes support for sequence diagrams diagram, collaboration diagram. It is used
where the object's behavior is best described as a set of states that occur in a defined
sequence. The following diagrams depict the behavior of use cases in the system by using
sequence diagram.
51
Figure 2.5.4.3.2.Sequence diagram for get book list
52
Figure 2.5.4.3.4. Sequence diagram for remove librarian member
53
Figure 2.5.4.3.6. Sequence diagram for change password
54
Figure 2.5.4.3.7. Sequence diagram for borrow book
55
Figure 2.5.4.3.8. Sequence diagram for add .pdf, .ppt, and reference books
56
Figure 2.5.4.3.10. Sequence diagram for download reference books
The user interface, in the industrial design field of human–machine interaction, is the
space where interactions between humans and machines occur.
57
Figure 2.5.5.2. Admin login page
Figure 2.5.5.3. Create new account page, admin click create new account in transaction menu,
the page is here:
58
Figure 2.5.5.4. Change password page, user click change password menu in transaction
Figure 2.5.5.5. When a user click on get help and contact menu, the page like this
59
3. System Design
3.1. Introduction
In this section we provide overview of the current system and the proposed system
software architecture and we specify design goals to improve the quality of the system by
reducing response time, by increasing the availability and by improving its reliability to
function correctly under erroneous conditions. Software architecture is the process of
defining a structured solution that meets all of the technical and operational requirements,
while optimizing common quality attributes such as performance, security, and
manageability. We describe the Hardware/software mapping with deployment diagram,
persistent data management, subsystem decomposition, access control and security.
Hardware/software mapping is mapping subsystems to processors and components
enable us to identify potential concurrency among subsystems and to address
performance and reliability goals. We specify the boundary conditions for each
subsystem by mentioning how the subsystems initialized and terminates. This document
is traceable with the previous documents (Software Project Management Plan and
Software Requirement Specification) i.e. sub systems are from our Software Requirement
specification previous document and the design goals too. We describe each sub topics in
detail in the following each sub sections.
60
3.1.1. Design Goals
The first step of system design activity is design goal that identify the quality of the
system that the developer should optimize. As the system design takes into account, the
system design goals derived from non-functional requirements those are listed on
analysis document. The design goals of the system are as follows:
Criteria Description
From the system the administrator can add
1. Availability number of data (up to the size of the data is
2GB)
The number of the user of the digital library
2. performance can be estimated as at most 1 user at a time
in a single machine.
The system takes human power, time,
3. Cost hardware, software (the specific cost in birr
or dollar is unknown).
To change or add another application to the
4. Maintainability system is maintained by the developer. But
there is an instruction for the user to do
simple problems like how to register.
Anyone who has the motivation to develop
this system with more modification, this
document is opened for those users who are
wanted to modify. So the document for this
system is open source.
The security of the system is high. For
5. security security the system uses a user name and
password for an administrator, use data
encryption.
The system is not easily crashed because
6. Dependability during crash the data saved are stored in the
61
database and after maintained the system is
retrieved and stored as the previous.
Users
Usersinteract
interactwith
withthe
thesystem
systemeasily
easilyby
by
7. Usability reading
readingthe
theinstruction
instructionfrom
fromget
gethelp
help
information.
information.
62
Figure 3.2.1. Current architecture of the library
Proposed software architecture is the architecture style of future digital library and
management system for University of Gondar. The clear description of the software
architecture is describing on the next sub topic overview.
3.3.1. Overview
While we are decomposing the system into smaller subsystems we use software
architecture styles to mange system complexity. There are several architectural styles.
From those styles digital library takes three-tier architecture.
63
Figure 3.3.1.Proposed software architecture of the digital library and management
system for University of Gondar
64
Borrow books interface: responsible for borrowing books.
Admin/librarian login interface: responsible for realizing administrator/librarian from
other guest users.
Register for comment interface: responsible for registering users for comment or for
online help i.e. to get access for online access any users should register with his valid
email and password.
Login (home page) interface: responsible for interacting the user, admin or librarian to
the system.
Digital Library (DL)-storage sub-system: responsible for storing persistent data in the
system.
To show subsystems in diagrammatically we use UML component diagram with their
dependencies. Figure is as shown below.
65
3.3.3. Hardware/Software Mapping
During system design we identify persistent data and storage management selection.
The system’s persistent data and storages are described below. And the normalization of
the tables in RDB in our system also described below.
66
Persistent data Storage
3. Librarian RDB
information
67
Figure 3.3.4.1.persistent object and storage of them, and normalization of tables for RDB
68
Objec Add Get Create Borrow Upload Downloa Chang Get
ts book book list account book book d book e help
passw
ord
Actors
User no yes no yes no yes no yes
Librarian yes yes no yes yes yes yes yes
Administrator yes yes yes yes yes yes yes yes
From the above table yes indicate actors have full privilege in the system and no indicate
actor’s doesn’t have privilege to perform operation on that object.
The digital library sub systems and their responsibilities are listed below:
Add new book interface: is responsible for adding new books (hard copy books) to the
system.
Upload books interface: is responsible for upload books (softcopy books) to the system.
Add new librarian (members): is responsible for adding new librarians.
Book list interface: is responsible for displaying books to see the available books (for
hard copy), for downloading books (softcopy books), to see borrowed books, to see
outdated books.
Change password interface: responsible for changing the existing password.
Get help interface: responsible for helping users or guide users online, for ask and
answer questions online i.e. online help service.
Return book interface: is responsible for returning borrowed books from users who
borrows the book.
Borrow books interface: responsible for borrowing books.
Admin login interface: responsible for realizing administrator from other guest users.
Register for comment interface: responsible for registering new users for comment or
for online help i.e. to get access.
69
3.4. Detail Class Diagram
Figure 3.4.1.detail class diagram for university of Gondar digital library and
management system
70
71
Figure 3.4.2.constraints for each class in detail class diagram
72
3.5. Packages
Digital library system takes 3 tier architecture styles. There are sub systems listed
above and the dependency between them is described also. In this sub topic we try to
draw packages for each subsystem.
73
4. Implementation
4.1. Mapping Models to Code
4.1.1. Bidirectional One-to-One Associations
74
4.1.3. Many-to-Many Associations
75
//$err=$err1=””;
var $book;
$this->book=$fileinfo;
function getNameandType()
return $this->book;
$filenam->setNameandType($_FILES['upload']['name']);
$filetype->setNameandType($_FILES['upload']['type']);
$filesize->setNameandType($_FILES['upload']['size']);
$filetempname->setNameandType($_FILES['upload']['tmp_name']);
$dept->setNameandType($_POST['select1']);
$filename=$filenam->getNameandType();
$filetype1=$filetype->getNameandType();
$filesize1=$filesize->getNameandType();
$filet=$filetempname->getNameandType();
$deptt=$dept->getNameandType();
76
// check precondition getNameandType()==”” or not.
if($filename=="")
// check post condition getNameandType() check the book is valid book and uploaded or
//invalid book and not uploaded
if(($filetype1=="application/pdf")||($filetype1=="text/plain")||($filetype1=="application/
vnd.openxmlformats-
officedocument.wordprocessingml.document")||($filetype1=="application/vnd.openxmlfo
rmats-officedocument.presentationml.presentation")){
} else{
$err1="you should upload .pdf, .txt, .dox, .ppt file only!, \nThis ($filetype1) file type not
supported!";
77
One-to-One Cardinality
One-to-Many Cardinality
<!DOCTYPE html>
<html>
78
<head><title>Digital Library and Management System for University of
Gondar</title>
<script src="script/jquery.min.js"></script>
<script src="script/media.js"></script>
<SCRIPT LANGUAGE="JavaScript">
<!-- Disable
function disableselect(e){
alert(e);
return false
//if IE4+
//if NS6
if (window.sidebar){
document.onmousedown=disableselect
document.onclick=reEnable
} //--> </script></head>
<?php
date_default_timezone_set("America/Montreal");
79
/* Set the date */
$date = strtotime(date("Y-m-d"));
$weekDays = array();
include("connection.php");
session_start();
$err=$err1=$err2="";
if($_SESSION['user_type']=="admin")
class softcopybook
80
{
var $book;
$this->book=$fileinfo;
function getNameandType()
return $this->book;
//set submit button and form validation and uploading start here....
if(isset($_POST['submit']))
$filenam=new softcopybook();
$filetype=new softcopybook();
$filesize=new softcopybook();
$filetempname=new softcopybook();
$dept=new softcopybook();
$filenam->setNameandType($_FILES['upload']['name']);
$filetype->setNameandType($_FILES['upload']['type']);
$filesize->setNameandType($_FILES['upload']['size']);
$filetempname
>setNameandType($_FILES['upload']['tmp_name']);
$dept->setNameandType($_POST['select1']);
$filename=$filenam->getNameandType();
81
$filetype1=$filetype->getNameandType();
$filesize1=$filesize->getNameandType();
$filet=$filetempname->getNameandType();
$deptt=$dept->getNameandType();
if($filename=="")
if($deptt=="comp")
if(($filetype1=="application/pdf")||($filetype1=="text/plain")||($filetype1=="appli
cation/vnd.openxmlformats-
officedocument.wordprocessingml.document")||($filetype1=="application/vnd.openxmlfo
rmats-officedocument.presentationml.presentation"))
$folder="book/";
$folder1="pdfimage/";
move_uploaded_file($filet,$folder.$filename);
$pathfile=$folder.$filename;
$name=basename($filename,".pdf");
$thumb=$folder.$name;
$sizee=($filesize1/1048576);
$thumbdire=$folder1.$name;
//******************change the first page of the document to jpge if the dile is .pdf or
.txt file, using image magic and ghost script
//**************************************
$query="insert into softcopy
values('$filename','$filetype1','$name.jpg','download.jpg','delet.jpg','$sizee')";
82
if(!mysqli_query($con,$query))
else
$ress=mysqli_query($con,$quer);
if($ress)
mysqli_query($con,$que) or die(mysqli_error($con));
else
if($filetype1=="vedio/mp4")
else if($deptt=="civil")
83
if($filetype1=="application/pdf"||($filetype1=="text/plain")||($filetype1=="applic
ation/vnd.openxmlformats-
officedocument.wordprocessingml.document")||($filetype1=="application/vnd.openxmlfo
rmats-officedocument.presentationml.presentation"))
$folder="book/";
$folder1="pdfimage/";
move_uploaded_file($filet,$folder.$filename);
$pathfile=$folder.$filename;
$name=basename($filename,".pdf");
$thumb=$folder.$name;
$sizee=($filesize1/1048576);
$thumbdire=$folder1.$name;
if(!mysqli_query($con,$query))
else
$ress=mysqli_query($con,$quer);
if($ress)
84
$que="insert into likedislike values('$filename',1,1,50)";
mysqli_query($con,$que) or die(mysqli_error($con));
if($filetype1=="vedio/mp4")$err1="you should
upload .pdf, .txt, .dox, .ppt file only!, \nThis ($filetype1) file type not supported!";
else if($deptt=="bio")
{
if($filetype1=="application/pdf"||($filetype1=="text/plain")||($filetype1=="applic
ation/vnd.openxmlformats-
officedocument.wordprocessingml.document")||($filetype1=="application/vnd.openxmlfo
rmats-officedocument.presentationml.presentation"))
$folder="book/";
$folder1="pdfimage/";
move_uploaded_file($filet,$folder.$filename);
$pathfile=$folder.$filename;
$name=basename($filename,".pdf");
$thumb=$folder.$name;
$sizee=($filesize1/1048576);
$thumbdire=$folder1.$name;
85
if(!mysqli_query($con,$query))
else
$ress=mysqli_query($con,$quer);
if($ress)
mysqli_query($con,$que) or die(mysqli_error($con));
if($filetype1=="vedio/mp4")
$err1="you should upload .pdf, .txt, .dox, .ppt file only!, \nThis ($filetype1) file type not
supported!";
else if($deptt=="opto")
{
if($filetype1=="application/pdf"||($filetype1=="text/plain")||($filetype1=="applic
ation/vnd.openxmlformats-
officedocument.wordprocessingml.document")||($filetype1=="application/vnd.openxmlfo
rmats-officedocument.presentationml.presentation"))
86
{
$folder="book/";
$folder1="pdfimage/";
move_uploaded_file($filet,$folder.$filename);
$pathfile=$folder.$filename;
$name=basename($filename,".pdf");
$thumb=$folder.$name;
$sizee=($filesize1/1048576);
$thumbdire=$folder1.$name;
if(!mysqli_query($con,$query))
else
$ress=mysqli_query($con,$quer);
if($ress)
mysqli_query($con,$que) or die(mysqli_error($con));
87
}
else
$err1="you should upload .pdf, .txt, .dox, .ppt file only!, \nThis ($filetype1) file type not
supported!";
if($filetype1=="vedio/mp4")
$err1="you should upload .pdf, .txt, .dox, .ppt file only!, \nThis ($filetype1) file type not
supported!";
else if($deptt=="law")
if($filetype1=="application/pdf"||($filetype1=="text/plain")||($filetype1=="applic
ation/vnd.openxmlformats-
officedocument.wordprocessingml.document")||($filetype1=="application/vnd.openxmlfo
rmats-officedocument.presentationml.presentation"))
$folder="book/";
$folder1="pdfimage/";
move_uploaded_file($filet,$folder.$filename);
$pathfile=$folder.$filename;
$name=basename($filename,".pdf");
$thumb=$folder.$name;
$sizee=($filesize1/1048576);
$thumbdire=$folder1.$name;
88
$query="insert into law
values('$filename','$filetype1','$name.jpg','download.jpg','delet.jpg','$sizee')";
if(!mysqli_query($con,$query))
else
$ress=mysqli_query($con,$quer);
if($ress)
mysqli_query($con,$que) or die(mysqli_error($con));
else
$err1="you should upload .pdf, .txt, .dox, .ppt file only!, \nThis ($filetype1) file type not
supported!";
if($filetype1=="vedio/mp4")
$err1="you should upload .pdf, .txt, .dox, .ppt file only!, \nThis ($filetype1) file type not
supported!";
else if($deptt=="economics")
89
if($filetype1=="application/pdf"||($filetype1=="text/plain")||($filetype1=="applic
ation/vnd.openxmlformats-
officedocument.wordprocessingml.document")||($filetype1=="application/vnd.openxmlfo
rmats-officedocument.presentationml.presentation"))
$folder="book/";
$folder1="pdfimage/";
move_uploaded_file($filet,$folder.$filename);
$pathfile=$folder.$filename;
$name=basename($filename,".pdf");
$thumb=$folder.$name;
$sizee=($filesize1/1048576);
$thumbdire=$folder1.$name;
if(!mysqli_query($con,$query))
else
$ress=mysqli_query($con,$quer);
if($ress)
90
$que="insert into likedislike values('$filename',1,1,50)";
mysqli_query($con,$que) or die(mysqli_error($con));
else
if($filetype1=="vedio/mp4")
$err1="you should upload .pdf, .txt, .dox, .ppt file only!, \nThis ($filetype1) file type not
supported!";
else if($deptt=="animal")
if($filetype1=="application/pdf"||($filetype1=="text/plain")||($filetype1=="applic
ation/vnd.openxmlformats-
officedocument.wordprocessingml.document")||($filetype1=="application/vnd.openxmlfo
rmats-officedocument.presentationml.presentation"))
$folder="book/";
$folder1="pdfimage/";
move_uploaded_file($filet,$folder.$filename);
$pathfile=$folder.$filename;
$name=basename($filename,".pdf");
$thumb=$folder.$name;
91
$sizee=($filesize1/1048576);
$thumbdire=$folder1.$name;
if(!mysqli_query($con,$query))
else
$ress=mysqli_query($con,$quer);
if($ress)
mysqli_query($con,$que) or die(mysqli_error($con));
else
$err1="you should upload .pdf, .txt, .dox, .ppt file only!, \nThis ($filetype1) file type not
supported!";
if($filetype1=="vedio/mp4")
$err1="you should upload .pdf, .txt, .dox, .ppt file only!, \nThis ($filetype1) file type not
supported!";
92
else if($deptt=="language")
if($filetype1=="application/pdf"||($filetype1=="text/plain")||($filetype1=="applic
ation/vnd.openxmlformats-
officedocument.wordprocessingml.document")||($filetype1=="application/vnd.openxmlfo
rmats-officedocument.presentationml.presentation"))
$folder="book/";
$folder1="pdfimage/";
move_uploaded_file($filet,$folder.$filename);
$pathfile=$folder.$filename;
$name=basename($filename,".pdf");
$thumb=$folder.$name;
$sizee=($filesize1/1048576);
$thumbdire=$folder1.$name;
if(!mysqli_query($con,$query))
else
$ress=mysqli_query($con,$quer);
93
if($ress)
mysqli_query($con,$que) or die(mysqli_error($con));
Else
$err1="you should upload .pdf, .txt, .dox, .ppt file only!, \nThis ($filetype1) file type not
supported!";
if($filetype1=="vedio/mp4")
$err1="you should upload .pdf, .txt, .dox, .ppt file only!, \nThis ($filetype1) file type not
supported!";
else if($deptt=="education")
{
if($filetype1=="application/pdf"||($filetype1=="text/plain")||($filetype1=="applic
ation/vnd.openxmlformats-
officedocument.wordprocessingml.document")||($filetype1=="application/vnd.openxmlfo
rmats-officedocument.presentationml.presentation"))
$folder="book/";
$folder1="pdfimage/";
move_uploaded_file($filet,$folder.$filename);
$pathfile=$folder.$filename;
$name=basename($filename,".pdf");
94
$thumb=$folder.$name;
$sizee=($filesize1/1048576);
$thumbdire=$folder1.$name;
if(!mysqli_query($con,$query))
else
$ress=mysqli_query($con,$quer);
if($ress)
mysqli_query($con,$que) or die(mysqli_error($con));
else
$err1="you should upload .pdf, .txt, .dox, .ppt file only!, \nThis ($filetype1) file type not
supported!";
if($filetype1=="vedio/mp4")
95
$err1="you should upload .pdf, .txt, .dox, .ppt file only!, \nThis ($filetype1) file type not
supported!";
else if($deptt=="civil")
if($filetype1=="application/pdf"||($filetype1=="text/plain")||($filetype1=="applic
ation/vnd.openxmlformats-
officedocument.wordprocessingml.document")||($filetype1=="application/vnd.openxmlfo
rmats-officedocument.presentationml.presentation"))
$folder="book/";
$folder1="pdfimage/";
move_uploaded_file($filet,$folder.$filename);
$pathfile=$folder.$filename;
$name=basename($filename,".pdf");
$thumb=$folder.$name;
$sizee=($filesize1/1048576);
$thumbdire=$folder1.$name;
if(!mysqli_query($con,$query))
else
96
$quer="insert into booklist
values('$filename','$filetype1','$name.jpg','download.jpg','delet.jpg','$sizee')";
$ress=mysqli_query($con,$quer);
if($ress)
mysqli_query($con,$que) or die(mysqli_error($con));
Else
$err1="you should upload .pdf, .txt, .dox, .ppt file only!, \nThis ($filetype1) file type not
supported!";
if($filetype1=="vedio/mp4")
$err1="you should upload .pdf, .txt, .dox, .ppt file only!, \nThis ($filetype1) file type not
supported!";
else if($deptt=="plant")
if($filetype1=="application/pdf"||($filetype1=="text/plain")||($filetype1=="applic
ation/vnd.openxmlformats-
officedocument.wordprocessingml.document")||($filetype1=="application/vnd.openxmlfo
rmats-officedocument.presentationml.presentation"))
$folder="book/";
$folder1="pdfimage/";
97
move_uploaded_file($filet,$folder.$filename);
$pathfile=$folder.$filename;
$name=basename($filename,".pdf");
$thumb=$folder.$name;
$sizee=($filesize1/1048576);
$thumbdire=$folder1.$name;
if(!mysqli_query($con,$query))
else
$ress=mysqli_query($con,$quer);
if($ress)
mysqli_query($con,$que) or die(mysqli_error($con));
98
else
$err1="you should upload .pdf, .txt, .dox, .ppt file only!, \nThis ($filetype1) file type not
supported!";
if($filetype1=="vedio/mp4")
$err1="you should upload .pdf, .txt, .dox, .ppt file only!, \nThis ($filetype1) file type not
supported!";
else
if($_SERVER["REQUEST_METHOD"] == "POST")
if (empty($_POST["select1"]))
?>
<body>
<?php
include("heading.php");
include("header.php");?>
<table class='table-bordered'>
<tr><th colspan="7" class="text-center"> <?php echo $title ?> <?php echo $year ?>
</th></tr>
99
<?php for($i = 0; $i < $blank; $i++): ?><td></td><?php endfor; ?><?php for($i = 1; $i
<= $daysInMonth; $i++): ?><?php if($day == $i): ?><td><strong style="color:black;"
title=<?php echo "Today:".date("Y-m-d")?>><?php echo $i ?></strong></td><?php else:
?><td title=<?php echo date("Y-m")."-".$i?>><?php echo $i ?></td>
<a name="top"></a>
<div id="container">
<?php include("slidess/image.html");?>
</div>
<div id="cssmenu">
<ul class="mm">
<li><a href="homea.php"><span>Home</span></a></li>
100
<li class='last'><a href='biotec.php'><span>Department of
Biotechnology</span></a></li>
101
</li><li class='has-sub'><a href='#' title='School of Law'><span>School of
Law</span></a><ul> <li class='last'><a href='law.php'><span>School of
Law</span></a></li></ul</li> <li class='has-sub'><a href='#' title='Collage of Bussiness
and Economics'><span>Collage of Bussiness and Economics</span></a><ul>
102
<li class='last'><a href='#'><span>Social Anthropology</span></a></li> <li><a
href='#'><span> Theatrical Arts</span></a></li> <li class='last'><a
href='#'><span>Psychology</span></a></li>
<ul>
103
<li class='has-sub'><a href='changepass.php'><span>change Password</span></a></li>
<li class='has-sub'><a href='#'><span>Generate Report For</span></a><ul <li><a
href='payment.php'><span>penalty Information</span></a></li> <li class='has-sub'><a
href='#'><span>Outdated Books</span></a><ul> <li class='has-sub'><a
href='outdatehard.php'><span>Hard Copy books</span></a></li> <li class='has-sub'><a
href='outdatedbook.php'><span>Soft Copy Books</span></a></li> </ul></li> <li><a
href='borrowedbook.php'><span>Borrowed Books</span></a></li> <li><a
href='reserved.php'><span>Reserved Books</span></a></li></ul> </li></ul></li><li
class='active has-sub'><a href='#'><span>Books List</span></a> <ul> <li class='has-
sub'><a href='hardcopybooklist.php'><span>Hard Copy books</span></a></li> <li
class='has-sub'><a href='softcopybooklist.php'><span>Soft Copy
Books</span></a></li></u</li>
<option value="bio">Biotechnology</option>
<option value="opto">Optometry</option>
<option value="law">Law</option>
<option value="economics">Economics</option>
104
<option value="plant">Plant Science</option>
<td>            &nb
sp   <a href="#top"><img src="images/foo.jpg" width=30 height=20 alt="Go
to top" title="Go to top"></a><td><td>Library is the delivery room for the birth of
ideas,by norman
cousins.</tr><tdcolspan="3">        &nbs
p             &
nbsp        <center style="color:black;text-
shadow:2px 2px white;font-size:18px;font-style:italic;" title="Copyright © 2016">
Copyright © 2016</center></tr></table></div</div><?php?><a href="#"
class="back-to-top" >Back to Top</a><script>
jQuery(document).ready(function() {var offset = 200;var duration = 500;
105
var span = document.getElementsByClassName("close")[0];
btn.onclick = function() {
modal.style.display = "block";
span.onclick = function() {
modal.style.display = "none";
}</script><?php}else
header("location:adminlog.php");?>
</body></html>
106
4.3. Screen Images
For all screen images page footer and other parts are not displayed correctly in this
snap shoot images.
Figure 1
107
Admin or librarian removing books (softcopy books) from the list based on the
department and the page is like this when the delete operation is press.
Figure 2
Figure 3
108
When admin log into the system the index file page is like this:
Figure 4
Figure 5
109
Get and contact page for administrator page is like this:
Figure 6
Figure 7
Hard copy book lists page with borrow, edit and delete book operations:
Figure 8
110
Admin or librarian adding hardcopy books to the system, from this page for
reserved book department is unnecessary.
Figure 9
111
For uploading softcopy books based on the department the page is:
Figure 10
When a session user click on the button after login, the detail information about
the session user is displayed such like this identified by the ID where the user enter
during login:
Figure 11
112
5. Conclusion and Recommendation
The project titled online digital library and management system for university of
Gondar is easy to use and access i.e. no need detail computer skill to use and access. The
project achieves the objective listed on the SPMP document, functional and non-
functional requirements, and the problems listed in the first document part, and done with
project scope appropriately. We recommend using this site (softcopy part of the system)
for Department of computer science by free and it is very usable because any course
outlines or subject are uploaded to the system, and it decreases course variation with
different teachers because the course or outlines uploaded ones by the department
committee then any teacher can access and follow that format and there is no variation of
courses with different teachers.
113
6. Bibliography
114
7. Glossary
Digital library: is a special library with a focused collection of digital objects that
can include softcopy books, videos, audios, sounds, events, news, and other related
electronic materials available on the internet.
Digital library and management system: is the system works on two tasks i.e. for
digital library and for library management system concurrently.
115
8. Recommendation
We recommend using this site (softcopy part of the system) for Department of
computer science by free and it is very usable because any course outlines or subject are
uploaded to the system, and it decreases course variation with different teachers because
the course or outlines uploaded ones by the department committee then any teacher can
access and follow that format and there is no variation of courses with different teachers.
116
Questionnaires
List of questions (main questions) that we ask from the ICT data center
and from the librarians:
1. How students borrow book from the circulation and what are the
materials the student fulfill to borrow?
2. What actions you take for the student if he/she doesn’t return book on
the date?
3. What technique is advantageous for uploading and managing digital
library system in online?
4. Do you have any computerized system?
117