Download as pdf or txt
Download as pdf or txt
You are on page 1of 128

UNIVERSITY OF GONDAR

FACULTY OF INFORMATICS
DEPARTMENT OF COMPUTER SCIENCE
INDUSTRIAL PROJECT
ON
ONLINE DIGITAL LIBRARY AND MANAGEMENT
SYSTEM FOR UNIVERSITY OF GONDAR

UNDER THE PROJECT ADVISOR: FEDLU NURHUSSIEN

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:

1. Askal Baye ……………………………………...


2. Elshaday Yemane …………………………….……….
3. Feleke Meaza ……………………………………..
4. Gashu Wendawke ……………………………………..
5. Genet Emayu …………………………………….
6. Manaye Tadele ……………………………………..

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.

Date Name and signature of the advisor

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:

1. Askal Baye _________________________


2. Elshaday Yemane _________________________
3. Feleke Meaza _________________________
4. Gashu Wendawke _________________________
5. Genet Emayu _________________________
6. Manaye Tadele _________________________

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.

January 15, 2016

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

BSc: Bachelor Science

SRS: Software Requirement Specification

SDD: System Design Document

SPMP: Software Project Management Plan

HTML: Hyper-text Mark-up Language

PHP: Personal Home Page

ISBN: International Standard Book Number

EID: Employee Identification Number

DL: Digital Library

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

Figure 1.5.1.system development methodology…………………………………………………………………. 5


Figure 1.8.1.Time scheduling for the entire deliverable documents. ................................... 10
Fig2.5.2.1.1. use case diagram for university of Gondar digital library and management
system................................................................................................................................ 26
Figure 2.5.3.1. Activity diagram for creating new account ............................................... 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........................................ 39
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.6. Activity diagram for remove librarian (member) ...................................... 40
Figure 2.5.3.7. Activity diagram for add .pdf, .docx, reference books use case................ 41
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
Figure 2.5.3.15. Activity diagram for borrow book use case ............................................ 47
Figure 2.5.4.2.2.Class diagram for University of Gondar digital library and management
system................................................................................................................................ 50
Figure 2.5.4.3.1.Sequence diagram for add new book ...................................................... 51
Figure 2.5.4.3.2.Sequence diagram for get book list ......................................................... 52
Figure 2.5.4.3.3.Sequence diagram for admin login ......................................................... 52
Figure 2.5.4.3.4. Sequence diagram for remove librarian member ................................... 53
Figure 2.5.4.3.5 Sequence diagram for create new account .............................................. 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.9.Sequence diagram for get help ................................................................ 56

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

Table 2.5.4.1.1.Data dictionary table ................................................................................ 49


Table 3.1.1.1. Design goal list and their description ........................................................ 62
Table 3.3.4.1. persistent data management ....................................................................... 67
Table 3.3.5.1.matrix table access control .......................................................................... 69

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 problems that have been discovered are listed below:


 Borrowing books and resources are identified by manual system. This
leads to redundancy of data and loose of books.
 Tedious to find books from the shelf. The existing system makes
customers to manually search for a certain book adding complication and
time needed accomplish the search. The user go to the shelf and find the
book they want to read at this time they become bored because they must
visit all the shelf to find the book. The books arrangement is difficult to
get access. The indicator of book arrangement is manual, so it is difficult
to identify where the book are placed.
 Customer must come to the library to check whether the books are
available or not in the library.
 Customers need detail information about the books like where they are
located as a result they need Librarians help.
 The user has to come to library to check whether the book is borrowing
book or not.
 Soft copy books are not available or in general no online access.

1.3. Project Objective

1.3.1. General Objective of the Project

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

 Gather information (current system information) by using information


gathering methodologies from university of Gondar data center and
from public library.
 Identify or analyze function of current system.
 Identify or analyze function of proposed system.
 Identify or analyze non-functional requirement of the proposed system.
 Follow a step by step procedure to develop the system starting from
SPMP document to implementation part.
 Describe the detail description in each subtopic in the document to
clarify the implementation part for the clients by following the
document format (the project guide line).
 To achieve the project in successfully we all project participants work
in co-ordination and use references to achieve the project in good
manner.

1.4. Scope 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.

1.5. System Development Methodology

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).

Our project follows the waterfall model.


The steps of waterfall model are:

 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).

Figure 1.5.1.system development methodology

1.5.1. Investigation (Fact-Finding) Methods

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.

The methodology is a process, a set of steps to follow in system development and


define the methods of how collect the data. Starting from now to precede our document
we use the following methodologies to get the data.

 Observation: by observing or seeing the situations, for example we want to do


library management system in addition to online access of books for
computerizing library management system and removing manual library
management system. Library observation was used as a major tool to gather more
reliable information. The information can directly be obtained during observation
 Document analysis: by reading the previous documents related to the weakness
of manual library management system and the advantage of computerized library
management system and online services.
 Questioning: Questionnaire is an important to collect accurate data in written
form in order to gather valuable information in concerning analysis of digital
library performance. Different Questions were prepared to 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 workers 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.

6
1.5.2. System Development Tools

To develop our system the following tools are available.

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:

 For text editing (for writing code): notepad++ or notepad.


 For editing an image: adobe Photoshop.
 For web server: apache web server.
 For web client: web browser i.e. Mozilla Firefox, chrome and others.
 Operating system: windows or Linux.

1.6. Significance of the Project

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.

In general the study will have the following significances:

 It will allow brings information to the user electronically.


 It will improve searching and manipulation of information electronically.
 It will improve timely access to information.
 It will reduce workload.
 The basic significant is changing the manual library management system
into computerized and creating digital library for online access of books,
courses and references those are related with the course by classifying
based on the department and the year of the study.

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.

1.8. Time Scheduling

Time scheduling is cost estimation. Throughout a project's planning, design, and


construction phases, Cost Estimating is employed as one of the main tools of successful
Cost Management. Once an initial budget has been established, it is important to test its
assumptions by employing a series of increasingly precise cost estimating techniques that
concise with further development of design and construction details. A sound

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.

Figure 1.8.1.Time scheduling for the entire deliverable documents.

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.

The purpose of the system is as follows:

 To make the services fast and easy to use.


 To save cost and time wasted due to searching available books all
over book shelves.
 To eliminate tedious paper works in the library.
 To search resource easily.
 To record every transaction in computerized system so that
problems such as record file missing won’t happen.
 Online service for users.

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.

2.2.1. Major Function of the Current System

The major functions of the current system are as follows:-

 How new books are registered. After the manager of library


received books that are bought by the finance department they will
be registered in record office of the library catalog is prepared for
showing available books for the users of the library.
 No online access. All actions are performed by manually.
 How users getting and read books. After user enters inside the
library then he/she can access in two ways.
 To access from the shelf user simply picking up books
that are found on the shelf.
 From the circulation the user is required to have an
identity card of the library and then he/she can receive
the book for reading until he/she return that book for the
librarian.

12
2.2.2. Problem of the Existing System

The major problems of existing system are:

 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.

2.3. Requirement Gathering

Requirement gathering is the method of gathering information or requirements to


develop the software.

2.3.1. Requirement Gathering Methodology

 Observation: by observing or seeing the situations, for example we want to


do library management system in addition to online access of books for
computerized library management system and removing manually library
management system in universities. Library observation was used as a major
tool to gather more reliable information. The information can directly be
obtained during observation
 Document analysis: by reading the previous documents related to the
weakness of manual library management system and the advantage of
digital library and management system and online services.
 Questioning: Questionnaire is an important technique to collect accurate
data in written form in order to gather valuable information in concerning
analysis of digital library performance. Different Questions were prepared to

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.

2.3.2. Results Found

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.

2.4. Proposed System

Proposed system is fully automated digital Library and management System.


Through this web application user can add members, add books, search members, search
books, update information, edit information, borrow and return books in quick time. Our
proposed system has the following advantages.

 For University of Gondar it provide online service related with teaching


learning activities (decrease teachers, administrators, librarians and
students work load, increase usability of online services for students,
teachers and users by providing .pdf, .ppt files or related references).

 It provides “better& efficient” service to Librarian and Administrator.


 Reduce the workload of employee.
 Faster retrieval of information about the desired book.
 Provides facility for proper monitoring reduce paper extravagancy &
provide data security.

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.

The system is to be developed is intended to support day-to-day operations of


library system by improving various processes such as:

 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.

Generally, the main objective of this project is to provide a friendly environment to


maintain the details of books and library members, to maintain easy circulation system
and to provide different reports using computers.

15
2.4.2. Functional Requirements

The new system will perform the following activities:

 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.

2.4.3. Non-functional Requirements

Non-functional requirement is a requirement that specifies criteria that can be used to


judge the operation of a system, rather than specific behaviors. The following are non-
functional requirements.

2.4.3.1. User Interface and Human Factor

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

2.4.3.4. Performance Characteristics

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.

2.4.3.5. Error Handling and Extreme Conditions

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).

Adaptability: This software is adaptable by any organization.

Availability: The availability of the software is easy and for everyone.

Correctness: The results of the function are pure and accurate.

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.

Portability: The software can be deployed at any machine.

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.

2.4.3.7. System Modification

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.

2.4.3.9. Security Issues

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)

2.5. System Model

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.

2.5.2.1. use Case Diagram

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

Use case name: validate admin login

Actor: Admin

Summary: system validate admin login

Precondition: displaying log in page.

Main sequence

1. Admin enter user name and password.


2. System checks weather the entered user name and password matches with the user
name and password maintained in the system.
3. If user name and password matches admin log in to the system.
4. System display welcome message and an available operation like remove account,
and book transactions.

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

Post condition: the admin login has been validate

Use case: add librarian (member)

Actor: admin

Summary: admin add new librarian to increase librarians in the digital library.

Dependency: include validate admin login use case.

Pre-condition: admin wants to add new librarian.

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

Step 6: If librarian information is not valid, system display error message


until admin or librarian entered valid information.

Post-condition: new librarian is added.

Use case: remove account.

Actor: admin

Summary: admin remove librarian account from the system if librarian is stop service.

Dependency: include validate admin login use case.

Pre-condition: admin wants to remove librarian account.

Main sequence

1. Include admin login use case.


2. Admin select remove account from transaction menu.
3. System display librarian list
4. Admin select librarian from the list and select remove account.
5. System display confirmation message
6. If admin agree to delete the account, then librarian account is removed.

28
Alternative sequence

Step 6: If admin don’t agree to delete the librarian account, then the librarian’s
account is not removed.

Use case: create account

Actor: admin

Summary: the admin create account to librarians

Dependency: include validate admin login use case

Precondition: librarians has no account

Main sequence

1. Include admin log in use case.


2. The admin select create account.
3. System displays create account form.
4. Admin prompt librarians to enter account information
5. Librarians fill all information submit it to the system.
6. The system validate if all the interred information are correct.
7. If the information is correct the system user is added successfully.

Alternative sequences

Step 5: If entered information is not correct the system ask the user to inter validate
information.

Post condition: librarians have been registered.

Use case name: remove librarian

Actor: Admin

Summary: Admin delete (remove) librarian information

29
Dependency: Include validate admin login use case

Precondition: librarian information is not deleted

Main sequence

1. Include validate admin login use case


2. The admin select display user list
3. System display user list table
4. The admin select the librarian and select delete to remove account
5. The system prompt the admin that she or he is sure to permanently delete the
librarian information
6. The admin confirm that she or he is sure to remove librarian information, the
system remove all the information that the librarian has.

Alternative sequence

Step 5: If the admin cancels the delete information transaction the librarian information
remains maintain on the system.

Post condition: The librarian information has been removed.

Use case name: Change password

Actor: admin/librarian

Dependency: Include validating admin library log in use case

Pre-condition: Admin/librarian wants to change the password

Main sequence

1. Include validate admin login use case


2. Admin /Librarian opens user account and select change password
3. The system display change password form
4. The system prompts admin, librarian to enter user name, old password (previous
password) and new password.

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.

Post condition: The admin/librarian has changed their previous password.

Use case name: Add new book

Actor: admin

Summary: The admin register the books.

Dependency: Include validate admin login

Pre-condition: the book is not registered or no more number of books.

Main sequence

1. Include validate admin login use case


2. The admin select book transaction
3. The admin selects add book publisher, copyright and other information.
4. The system validate if the entered values are correct.
5. If the entered values are correct the system display the books added successfully

Alternative sequence

Step5: If the entered values are incorrect system asks the user to entre validate
information.

Post condition: The books have been added.

31
Use case name: Borrow book

Actor: Admin, librarian

Summary: user borrow book.

Extends: extends from get book list use case

Pre-condition: The book has been requested for borrow

Main sequence

1. The user requested for book borrows.


2. The admin/librarian select book list transactions menu
3. The system display the list of book
4. The admin/librarian select the book that is about to be borrowed.
5. The admin/librarian selects borrow.
6. The system validates the availability of the book.
7. If the book is available the system prompts the admin/librarian to enter user
information.
8. The system validate if all entered values are correct.
9. If the system values are correct the system display the confirmation is successful.
10. The user takes the book.

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.

Post condition: The book has been borrowed.

32
Use case name: Generate Report

Actor: Admin

Summary: Admin generates report.

Dependency: Includes validating Admin login use case.

Pre-condition: book should be borrowed or reserved.

Main sequence

1 Includes validate Admin login use case.

2 Admin selects generate report from transaction menu.

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.

4 The Admin selects his/her choice.

5 The system generates the report based on the admin choice.

Post condition: System has been generates report.

Use case name: return book

Actor: user

Summary: The book going to be return.

Pre-condition: user finishes reading.

Main sequence

1. The user return the book


2. The librarian/admin selects book transaction and opens borrowing book list
3. The system displays borrowed book list.

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.

Post condition: the book has been returned.

Use case name: remove outdated books

Actor: admin, librarian

Dependency: include admin login use case.

Pre-condition: librarian information is not deleted.

Main sequence

1. Include validate Admin (librarian login use case)


2. Admin/librarian selects the book transaction.
3. Admin/librarian select the book, whose book information is about to be removed.
4. Admin/librarian select the book delete book transaction.
5. The system prompts a confirmation dialog.
6. If she/he is sure permanently delete the book information, Admin/librarian
confirms that he/she is sure to remove book information.
7. The system removes all the information that the book has.

Alternative sequence

Step6: If Admin/librarian cancels the delete transaction then book is remains in the
system

Post condition: the book information has been removed.

34
Use case name: Get book list

Actor: Admin/librarian

Summary: Admin/librarian get book list in the library

Dependency: Include validate admin /librarian login use case

Main sequence

1. Include validate admin login use case


2. admin/librarian select get book list
3. The system display list of book with full information containing

Post condition: view or get book list.

Use case name: upload book (add .pdf, .docs, .ppt and reference books)

Actor: Admin

Summary: Admin upload book from the system for reference.

Dependency: Include validate login use case

Main sequence

1. Include validate admin librarian login use case


2. Admin browse the book i.e. in .pdf, .ppt .txt or .Doc format.
3. Admin select upload to store in the system.
4. If the upload file is correct format the file is stored in the system.
5. The system display confirmation message that tells the successful upload of the
file.

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.

Use case name: get help

Actor: user

Summary: users get help from other users online.

Precondition: displaying get help page.

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.

Post condition: the user asks or answered questions.

Use case name: download book references.

Actor: admin, librarian, user

Summary: admin, librarian or user downloads books for reading

Pre-condition: The book uploaded

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.

Post condition: the book is downloaded.

2.5.3. Activity Diagram

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.

Figure 2.5.3.1. Activity diagram for creating new account

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

Figure 2.5.3.6. Activity diagram for remove librarian (member)

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

Figure 2.5.3.15. Activity diagram for borrow book 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.

2.5.4.1. Data Dictionary

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.

Objects Attributes Description


1. Book .Book-title .Is describes the title of the book found in
the cover page.
.Book-ISBN .Is describes the bar code of the book.
.Book-author .Is describes the writer of the book.
.Book- .Is describes the company that publishes
publisher the book.
.Copy-right .Is describes copy right or not.
.Number-of .Is describes the number of copy found in
copy the library.
.type .Is describes the type of the book for soft
copy i.e. .pdf, .ppt, .txt or .docx book.
2. Employee( .First name .Is describes the first name of the
Administrator and employee.
librarian) .Last name .Is describes last name of the employee.
.Email .Is describes address of the employee.

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).

Table 2.5.4.1.1.Data dictionary table

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.

Figure 2.5.4.3.1.Sequence diagram for add new book

51
Figure 2.5.4.3.2.Sequence diagram for get book list

Figure 2.5.4.3.3.Sequence diagram for admin login

52
Figure 2.5.4.3.4. Sequence diagram for remove librarian member

Figure 2.5.4.3.5 Sequence diagram for create new account

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

Figure 2.5.4.3.9.Sequence diagram for get help

56
Figure 2.5.4.3.10. Sequence diagram for download reference books

2.5.5. User Interface

The user interface, in the industrial design field of human–machine interaction, is the
space where interactions between humans and machines occur.

Figure 2.5.5.1. Home Page of the system

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.

Table 3.1.1.1. Design goal list and their description

3.2. Current System Architecture

In University of Gondar there is manual library management system but doesn’t


online access for reference books, lecture notes, the list of courses or online
administering of the library. The current library management system of University of
Gondar gives book borrowing services manually in two ways. The first way 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 he/she the goes to circulation
desk and ask the librarian for a book. The librarian searches the book around the shelves
the users give their id number the Librarian write the user id and the book that the user
about to borrow in a paper the user borrows the book. The Architecture shows how the
clients perform the existing system’s operation manually.

62
Figure 3.2.1. Current architecture of the library

3.3. Proposed Software Architecture

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

3.3.2. Subsystem Decomposition

A subsystem is replaceable part of the system with well-defined interfaces that


encapsulates the state and behavior of its contained classes. 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.

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.

Figure 3.3.2.List of sub systems of digital library and their dependency

65
3.3.3. Hardware/Software Mapping

Mapping subsystems to processors and components enables us to identify potential


concurrency among subsystems and to address performance and reliability goals.
All subsystems those are in the client side collected on user machine and all subsystems
and servers are collected in server machine. Subsystems in user machine can access the
same server which is called digital library apache server by http request by the help of the
client browser.

Figure 3.3.3.1.hardware/software mapping deployment diagram for digital library

3.3.4. Persistent Data Management

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

1. Administrator (RDB) The storage data for this system is relational


information database (RDB). The reason for selecting this storage
strategy is storing the data with table and predefined type
for complex and large data.

2. Book information RDB

3. Librarian RDB
information

4. User information RDB

5. Borrowed and return RDB


book information

6. List of outdated RDB


books

Table 3.3.4.1. persistent data management

67
Figure 3.3.4.1.persistent object and storage of them, and normalization of tables for RDB

3.3.5. Access Control ad Security

Different actors (user’s or administrators) have access to different functionality and


data. This different functionality identified by security level (high level with password
and user name, low level with guest user) and access controls. The access control and
security is listed using access matrix table as shown below.

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

Table 3.3.5.1.matrix table access control

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.

3.3.6. Subsystem Services

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.

Figure 3.5.1.package diagram for university of Gondar digital library and


management system

73
4. Implementation
4.1. Mapping Models to Code
4.1.1. Bidirectional One-to-One Associations

public class Employee { public class Account {


private Account account; private Employee owner;
public Employee() { public Account (Employee owner) {
account = new Account (this); this.owner = owner;
} }
public Account getAccount() { public Employee getOwner() {
return account; return owner;
} }
public Account setAccount(Account public Employee setOwner( Employee
account) { owner) {
this.account=account; this. owner=owner;
} }
} }

4.1.2. One-to-Many Associations

public class Librarian { public class NewBook{


private Set newbooks; private Librarian librarian;
public Librarian() { public void setlibrarian
newbooks = new HashSet(); (Librarian newLibrarian) {
} if (librarian != newLibrarian) {
public void addNewBook(NewBook b) { Librarian old = librarian;
newbooks.add(b); librarian = newLibrarian;
setLibrarian(this); if (newLibrarian != null)
} addNewBook(this);
} }
} }
}

74
4.1.3. Many-to-Many Associations

public class User { public class SoftCopyBook{


private List softCopyBooks; private List users;
public User() { public SoftCopyBook () {
softopyBooks = new ArrayList(); users = new ArrayList();
} }
Public void downloadSoftCopyBook public void addUser
(softopyBook p) { (User t) {
if (softCopyBooks.contains(p)) { if (!users.contains(t)) {
softCopyBooks.add(p); users.add(t);
addUser(this); downloadSoftCopyBook (this);
} }
} }
} }

4.1.4. Mapping Operation Contracts to Exceptions


Object-oriented languages that include constraints automatically check contracts and
raise exceptions when a contract is violated. This enables a class user to detect bugs
associated with incorrect assumptions about the used class. In particular, this is useful
when developers reuse a set of classes to discover boundary cases. Raising exceptions
when post conditions are violated enables class implementers to catch bugs early, to
identify precisely the operation in which the violation occurred, and to correct the
offending code. For saving time and space we have done for one class called
softCopybook class.

75
//$err=$err1=””;

public class softCopyBook{

var $book;

function setNameandType( $fileinfo)

$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=="")

$err="<=Please select a document file!";

// 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")){

//Do uploading book ….

//during uploading if database connection is lost the appropriate error displays.

} else{

$err1="you should upload .pdf, .txt, .dox, .ppt file only!, \nThis ($filetype1) file type not
supported!";

4.1.5. Mapping the Class Model to a Storage Schema is Performed


A schema is a description of the data, that is, a meta-model for data. In UML, class
diagrams are used to describe the set of valid instances that can be created by the source
code. Similarly, in relational databases, the database schema describes the valid set of
data records that can be stored in the database. Relational databases store both the schema
and the data. We have done for employee class as a sample with the relations of librarian
and admin classes.

77
One-to-One Cardinality

One-to-Many Cardinality

4.2. Source Codes for Major Classes, Packages or Interfaces


//Softcopy.php…………..for uploading digital copy books

<!DOCTYPE html>

<html>

78
<head><title>Digital Library and Management System for University of
Gondar</title>

<link rel=" shortcut icon" href="images/iconn.ico">

<link type="text/css" href="css/cssa.css" rel="stylesheet">

<link type="text/css" href="css/adm.css" rel="stylesheet">

<link type="text/css" href="css/info.css" rel="stylesheet">

<link type="text/css" href="css/pop.css" rel="stylesheet">

<script src="script/jquery.min.js"></script>

<script src="script/media.js"></script>

<SCRIPT LANGUAGE="JavaScript">

<!-- Disable

function disableselect(e){

alert(e);

return false

} function reEnable(){ return true }

//if IE4+

document.onselectstart=new Function ("return false")

document.oncontextmenu=new Function ("return false")

//if NS6

if (window.sidebar){

document.onmousedown=disableselect

document.onclick=reEnable

} //--> </script></head>

<?php

/* Set the default timezone */

date_default_timezone_set("America/Montreal");

79
/* Set the date */

$date = strtotime(date("Y-m-d"));

$day = date('d', $date);

$month = date('m', $date);

$year = date('Y', $date);

$firstDay = mktime(0,0,0,$month, 1, $year);

$title = strftime('%B', $firstDay);

$dayOfWeek = date('D', $firstDay);

$daysInMonth = cal_days_in_month(0, $month, $year);

/* Get the name of the week days */

$timestamp = strtotime('next Sunday');

$weekDays = array();

for ($i = 0; $i < 7; $i++)

$weekDays[] = strftime('%a', $timestamp);

$timestamp = strtotime('+1 day', $timestamp);

$blank = date('w', strtotime("{$year}-{$month}-01"));

include("connection.php");

session_start();

// define variables and set to empty values

$err=$err1=$err2="";

if($_SESSION['user_type']=="admin")

//class of soft copy book submission

class softcopybook

80
{

var $book;

function setNameandType( $fileinfo)

$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=="")

$err="<=Please select a document file!";

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

exec("convert \"{$pathfile}[0]\" -colorspace RGB -geometry 250 \"{$thumbdire}.jpg\"");

//**************************************
$query="insert into softcopy
values('$filename','$filetype1','$name.jpg','download.jpg','delet.jpg','$sizee')";

82
if(!mysqli_query($con,$query))

$err1="Sorry, File is already uploaded!!";

else

$quer="insert into booklist


values('$filename','$filetype1','$name.jpg','download.jpg','delet.jpg','$sizee')";

$ress=mysqli_query($con,$quer);

if($ress)

$que="insert into likedislike values('$filename',1,1,50)";

mysqli_query($con,$que) or die(mysqli_error($con));

$err1="Congragulations U upload the book correctly!!";

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=="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;

exec("convert \"{$pathfile}[0]\" -colorspace


RGB -geometry 250 \"{$thumbdire}.jpg\"");

$query="insert into cisoftcopy


values('$filename','$filetype1','$name.jpg','download.jpg','delet.jpg','$sizee')";

if(!mysqli_query($con,$query))

$err1="Sorry, File is already uploaded!!";

else

{$quer="insert into booklist


values('$filename','$filetype1','$name.jpg','download.jpg','delet.jpg','$sizee')";

$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));

$err1="Congragulations U upload the book correctly!!";

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=="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;

exec("convert \"{$pathfile}[0]\" -colorspace RGB -geometry 250 \"{$thumbdire}.jpg\"");


$query="insert into biotec
values('$filename','$filetype1','$name.jpg','download.jpg','delet.jpg','$sizee')";

85
if(!mysqli_query($con,$query))

$err1="Sorry, File is already uploaded!!";

else

{$quer="insert into booklist


values('$filename','$filetype1','$name.jpg','download.jpg','delet.jpg','$sizee')";

$ress=mysqli_query($con,$quer);

if($ress)

$que="insert into likedislike values('$filename',1,1,50)";

mysqli_query($con,$que) or die(mysqli_error($con));

$err1="Congragulations U upload the book correctly!!";

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=="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;

exec("convert \"{$pathfile}[0]\" -colorspace RGB -geometry 250 \"{$thumbdire}.jpg\"");

$query="insert into opto


values('$filename','$filetype1','$name.jpg','download.jpg','delet.jpg','$sizee')";

if(!mysqli_query($con,$query))

$err1="Sorry, File is already uploaded!!";

else

$quer="insert into booklist


values('$filename','$filetype1','$name.jpg','download.jpg','delet.jpg','$sizee')";

$ress=mysqli_query($con,$quer);

if($ress)

$que="insert into likedislike values('$filename',1,1,50)";

mysqli_query($con,$que) or die(mysqli_error($con));

$err1="Congragulations U upload the book correctly!!";

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;

exec("convert \"{$pathfile}[0]\" -colorspace RGB -geometry 250 \"{$thumbdire}.jpg\"");

88
$query="insert into law
values('$filename','$filetype1','$name.jpg','download.jpg','delet.jpg','$sizee')";

if(!mysqli_query($con,$query))

$err1="Sorry, File is already uploaded!!";

else

{$quer="insert into booklist


values('$filename','$filetype1','$name.jpg','download.jpg','delet.jpg','$sizee')";

$ress=mysqli_query($con,$quer);

if($ress)

$que="insert into likedislike values('$filename',1,1,50)";

mysqli_query($con,$que) or die(mysqli_error($con));

$err1="Congragulations U upload the book correctly!!";

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;

exec("convert \"{$pathfile}[0]\" -colorspace RGB -geometry 250 \"{$thumbdire}.jpg\"");


$query="insert into economics
values('$filename','$filetype1','$name.jpg','download.jpg','delet.jpg','$sizee')";

if(!mysqli_query($con,$query))

$err1="Sorry, File is already uploaded!!";

else

$quer="insert into booklist


values('$filename','$filetype1','$name.jpg','download.jpg','delet.jpg','$sizee')";

$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));

$err1="Congragulations U upload the book correctly!!";

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=="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;

exec("convert \"{$pathfile}[0]\" -colorspace RGB -geometry 250 \"{$thumbdire}.jpg\"");


$query="insert into animal
values('$filename','$filetype1','$name.jpg','download.jpg','delet.jpg','$sizee')";

if(!mysqli_query($con,$query))

$err1="Sorry, File is already uploaded!!";

else

{$quer="insert into booklist


values('$filename','$filetype1','$name.jpg','download.jpg','delet.jpg','$sizee')";

$ress=mysqli_query($con,$quer);

if($ress)

$que="insert into likedislike values('$filename',1,1,50)";

mysqli_query($con,$que) or die(mysqli_error($con));

$err1="Congragulations U upload the book correctly!!";

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;

exec("convert \"{$pathfile}[0]\" -colorspace RGB -geometry 250 \"{$thumbdire}.jpg\"");


$query="insert into language
values('$filename','$filetype1','$name.jpg','download.jpg','delet.jpg','$sizee')";

if(!mysqli_query($con,$query))

$err1="Sorry, File is already uploaded!!";

else

$quer="insert into booklist


values('$filename','$filetype1','$name.jpg','download.jpg','delet.jpg','$sizee')";

$ress=mysqli_query($con,$quer);

93
if($ress)

$que="insert into likedislike values('$filename',1,1,50)";

mysqli_query($con,$que) or die(mysqli_error($con));

$err1="Congragulations U upload the book correctly!!";

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;

exec("convert \"{$pathfile}[0]\" -colorspace RGB -geometry 250 \"{$thumbdire}.jpg\"");

$query="insert into education


values('$filename','$filetype1','$name.jpg','download.jpg','delet.jpg','$sizee')";

if(!mysqli_query($con,$query))

$err1="Sorry, File is already uploaded!!";

else

$quer="insert into booklist


values('$filename','$filetype1','$name.jpg','download.jpg','delet.jpg','$sizee')";

$ress=mysqli_query($con,$quer);

if($ress)

$que="insert into likedislike values('$filename',1,1,50)";

mysqli_query($con,$que) or die(mysqli_error($con));

$err1="Congragulations U upload the book correctly!!";

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;

exec("convert \"{$pathfile}[0]\" -colorspace RGB -geometry 250 \"{$thumbdire}.jpg\"");

$query="insert into cisoftcopy


values('$filename','$filetype1','$name.jpg','download.jpg','delet.jpg','$sizee')";

if(!mysqli_query($con,$query))

$err1="Sorry, File is already uploaded!!";

else

96
$quer="insert into booklist
values('$filename','$filetype1','$name.jpg','download.jpg','delet.jpg','$sizee')";

$ress=mysqli_query($con,$quer);

if($ress)

$que="insert into likedislike values('$filename',1,1,50)";

mysqli_query($con,$que) or die(mysqli_error($con));

$err1="Congragulations U upload the book correctly!!";

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;

exec("convert \"{$pathfile}[0]\" -colorspace RGB -geometry 250 \"{$thumbdire}.jpg\"");

$query="insert into plant


values('$filename','$filetype1','$name.jpg','download.jpg','delet.jpg','$sizee')";

if(!mysqli_query($con,$query))

$err1="Sorry, File is already uploaded!!";

else

$quer="insert into booklist


values('$filename','$filetype1','$name.jpg','download.jpg','delet.jpg','$sizee')";

$ress=mysqli_query($con,$quer);

if($ress)

$que="insert into likedislike values('$filename',1,1,50)";

mysqli_query($con,$que) or die(mysqli_error($con));

$err1="Congragulations U upload the book correctly!!";

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

$err2="<=please select a department.";

if($_SERVER["REQUEST_METHOD"] == "POST")

if (empty($_POST["select1"]))

$err2="Please select department";

?>

<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>

<tr><?php foreach($weekDays as $key => $weekDay) : ?>

<td class="text-center"><?php echo $weekDay ?></td><?php endforeach ?></tr><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>

<?php endif; ?><?php if(($i + $blank) % 7 == 0): ?></tr>

<tr><?php endif; ?><?php endfor; ?><?php for($i = 0; ($i + $blank + $daysInMonth) %


7 != 0; $i++): ?><td></td><?php endfor; ?></tr></table><table><tr><td title="social
media..."><button class="so">social media</button></tr></table><table class="ani">

<tr><td>You are LogIn As <button id="myBtn" style="cursor:pointer;font-size:12px;"


title="Click here for more detail information !!"><?php echo
$_SESSION['user_type']?></button><a
href="../digitallibrary/logout.php">(Logout)</a></tr>

<a name="top"></a>

<div id="container">

<div id="logo" style="background:#00a0d9;width:100%;">

<?php include("slidess/image.html");?>

</div>

<div id="cssmenu">

<ul class="mm">

<li><a href="homea.php"><span>Home</span></a></li>

<li class='active has-sub'><a href='#'><span>Online pdf,ppt,...</span></a><ul>

<li class='has-sub'><a href='#' title='Faculty of Computer Science and


Informatics'><span>Faculty of Computer Science and Informatics</span></a><ul>

<li><a href='compsoftcopy.php'><span>Computer Science</span></a></li>

<li class='last'><a href='#'><span>Information Technology</span></a></li>

<li><a href='#'><span>Information systems</span></a></li>

<li class='last'><a href='#'><span>Information science</span></a></li></ul>


</li> <li class='has-sub'><a href='#' title='Collage of Natural and Computaional
Science'><span>Collage of Natural and Computaional Science</span></a><ul>

<li><a href='#'>Department of Applied Biology<span></span></a></li>

100
<li class='last'><a href='biotec.php'><span>Department of
Biotechnology</span></a></li>

<li><a href='#'><span>Department of Geology</span></a></li>

<li class='last'><a href='#'><span>Department of Sport Science</span></a></li>

<li><a href='#'><span>Department of Applied Statistics</span></a></li>

<li class='last'><a href='#'><span>Department of Applied Physics</span></a></li>

<li><a href='#'><span>Department of Applied Mathematics</span></a></li>

<li class='last'><a href='#'><span>Department of Applied


Chemistry</span></a></li></ul> </li> <li class='has-sub'><a href='#' title='School of
Technology'><span>School of Technology</span></a><ul>

<li><a href='civilsoftcopybooklist.php'><span>Department of Civil


Engineering</span></a></li>

<li class='last'><a href='#'><span>Department of Architecture</span></a></li>

<li><a href='#'><span>Department of Electrical and Computer


Engineering</span></a></li>

<li class='last'><a href='#'><span>Department of Mechanical


Engineering</span></a></li>

<li class='last'><a href='#'><span>Department of Water Resources and Environmental


Engineering</span></a></li></ul> </li>

<li class='has-sub'><a href='#' title='Collage of Medicine and Health


Science'><span>Collage of Medicine and Health Science</span></a><ul> <li><a
href='optometry.php'><span>Department of Optometry</span></a></li>

<li class='last'><a href='#'><span>Department of Physiotherapy</span></a></li>


<li><a href='#'><span>Department of Midwifery</span></a></li>

<li><a href='#'><span>Department of Optometry</span></a></li>

<li class='last'><a href='#'><span>School of Biomedical and Laboratory


Sciences</span></a></li> <li><a href='#'><span>School of Pharmacy</span></a></li>

<li class='last'><a href='#'><span>School of Medicine</span></a></li>

<li class='last'><a href='#'><span>Institute of Public Health</span></a></li></ul>

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>

<li><a href='economics.php'><span>School of Economics</span></a></li> <li


class='last'><a href='#'><span>Department Accounting and Finance</span></a></li>
<li><a href='#'><span>Department of Management</span></a></li>

<li class='last'><a href='#'><span>Department of Tourism Management</span></a></li>


<li class='last'><a href='#'><span>Department of Marketing
Management</span></a></li><li><a href='#'><span>Department of Logistics and
Supply Chain Management</span></a></li>

<li class='last'><a href='#'><span>Department of Hotel Management


</span></a></li></ul> </li> <li class='has-sub'><a href='#' title='Faculty of Veterinary
Medicine'><span>Faculty of Veterinary Medicine</span></a><ul> <li><a
href='animal.php'><span>Department of Animal production and Extension
</span></a></li> <li class='last'><a href='#'><span>Department of Epidemiology and
Public Health</span></a></li> <li><a href='#'><span>Department of Clinical
Medicine</span></a></li>

<li class='last'><a href='#'><span>Department of Paraclinical studies</span></a></li>


<li class='last'><a href='#'><span>Department of Veterinary pharmacy and Biomedical
Sciences</span></a></li></ul> </li <li class='has-sub'><a href='#' title='Collage of
Social Science and Humanities'><span>Collage of Social Science and
Humanities</span></a><ul> <li><a href='language.php'><span>Ethiopian Languages
and Literature-Amharic </span></a></li>

<li class='last'><a href='#'><span>English Language and


Literature</span></a></li><li><a href='#'><span>Development and Environment
Management Studies</span></a></li>

<li class='last'><a href='#'><span>Gender and Development Studies</span></a></li>


<li class='last'><a href='#'><span>Geography and Environmental
Studies</span></a></li> <li><a href='#'><span>Civics and Ethical Studies
</span></a></li>

<li class='last'><a href='#'><span>History and Heritage Management</span></a></li>


<li><a href='#'><span>Sociology</span></a></li>

<li class='last'><a href='#'><span>Social Work</span></a></li>

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>

<li class='last'><a href='#'><span>Population Studies</span></a></li></ul> </li <li


class='has-sub'><a href='#' title='School of Education'><span>School of
Education</span></a><ul><li><a href='education.php'><span>Department of Education
planning and Management</span></a></li></ul> </li>

<li class='has-sub'><a href='#' title='Faculty of Agriculture'><span>Faculty of


Agriculture</span></a>

<ul>

<li><a href='plant.php'><span>Department of Plant Sciences</span></a></li>

<li><a href='#'><span>Department of Natural Resources Management</span></a></li>

<li><a href='#'><span>Department of Rural Development & Agricultural


Extension</span></a></li>

<li><a href='#'><span>Department of Agricultural Economics</span></a></li>

<li><a href='#'><span>Department of Education planning and


Management</span></a></li>

<li><a href='#'><span>Department of Water Resource and Irrigation


Management</span></a></li></ul> </li></ul></li> <li class='active has-sub'><a
href='#' style="color:white;text-
decoration:underline;background:black;"><span>Transactions</span></a><ul> <li
class='has-sub'><a href='#' style="color:white;text-
decoration:underline;background:black;"><span>Upload Book</span></a></li> <li
class='has-sub'><a href='userlist.php'><span>Users</span></a></li>

<li class='has-sub'><a href='#' style="color:white;text-


decoration:underline;background:black;"><span>Add Books To List</span></a><ul>
<li><a href='hardcopy.php'><span>Hard Copy</span></a></li> <li><a href='#'
style="color:white;text-decoration:underline;background:black;"><span>Soft
Copy</span></a></li></ul </li> <li class='has-sub'><a href='employee.php'><span>Add
Librarian members</span></a></li> <li class='has-sub'><a
href='employeelist.php'><span>Remove Librarian</span></a></li> <li class='has-
sub'><a href='employeelist.php'><span>Remove Account</span></a></li> <li
class='has-sub'><a href='createaccount.php'><span>Create New
Account</span></a></li>

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>

<li class='last'><a href='borrowedbook.php'><span>Borrowed Books</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 class='last'><a href='../images/comment.php' data-toggle="tooltip" data-
placement="top" title="Hooray!"><span>Contact & Get Help</span></a></li></ul>

</div><div id="content"><div id="col2"><p>

<table><tr>< <td><b><hr>Register Digital copy books here!!<hr></b></table>

<fieldset><form action="<?php echo $_SERVER['PHP_SELF'];?>" method='post'


enctype="multipart/form-data"> <table
id="lo"><tr><td><h4>Department:</h4><td><select name="select1"> <div
id="sel"><option value="">select one..</option>

<option value="comp">Computer Science</option>

<option value="civil">civil Enginnering</option>

<option value="bio">Biotechnology</option>

<option value="opto">Optometry</option>

<option value="law">Law</option>

<option value="economics">Economics</option>

<option value="animal">Animal Production</option>

<option value="language">Language & Litrature</option>

<option value="education">Education Planning</option>

104
<option value="plant">Plant Science</option>

</div></select><td> <span class="kk"><?php echo $err2;?></span></tr>

<tr><td><h4>Book File :</h4><td><input type="file" id="pass" name="upload" /><td>


<span class="kk"><?php echo $err;?> </span></tr><tr> <td colspan='2' width=50><span
class="kk"><?php echo $err1;?></span></tr></table><br><br><table
id="lo"><tr><td><input type="submit" id="me" name="submit" class="oo"
title="upload book to the system" value="upload"/><td><input type="reset"
name="reset" title="Reset" class="oo" value="Reset"/></tr></table></form></fieldset>

</p> </div></div><div id="foot"><table id="tabe"><tr><th>Location</th><th>Social


Links</th><th>Quotes</th></tr><h2><tr><td><img src=images/et.jpg>Ethiopia
,<td><img src=images/g.jpg>gashualemu@gmail.com<td>"Library is the store house of
knowledge!!"</tr></h2><h2><tr><td>University of gondar, <a
href="http://www.uog.edu.et" target="-blank" title="University Of
Gondar(UoG)">UOG</a><br>Department of computer science<td><td>Library is not a
luxury but one of the necessities of life, by Henry Ward Beecher.</tr></h2>

<td>&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nb
sp&nbsp&nbsp <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">&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbs
p&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&
nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp <center style="color:black;text-
shadow:2px 2px white;font-size:18px;font-style:italic;" title="Copyright &copy 2016">
Copyright &copy 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;

jQuery(window).scroll(function() {if (jQuery(this).scrollTop() > offset) {

jQuery('.back-to-top').fadeIn(duration);} else {jQuery('.back-to-


top').fadeOut(duration);}});jQuery('.back-to-top').click(function(event)
event.preventDefault(); jQuery('html, body').animate({scrollTop: 0},
duration);return false;})});// Get the modal

var modal = document.getElementById('myModal');

// Get the button that opens the modal

var btn = document.getElementById("myBtn");

// Get the <span> element that closes the modal

105
var span = document.getElementsByClassName("close")[0];

// When the user clicks the button, open the modal

btn.onclick = function() {

modal.style.display = "block";

// When the user clicks on <span> (x), close the modal

span.onclick = function() {

modal.style.display = "none";

}</script><?php}else

header("location:adminlog.php");?>

</body></html>

Hardcopy.php………..for registering hard copy books.

106
4.3. Screen Images
For all screen images page footer and other parts are not displayed correctly in this
snap shoot images.

Home page of the system

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

Log in page of the system

Figure 3

108
When admin log into the system the index file page is like this:

Figure 4

Admin adding new librarian page

Figure 5

109
Get and contact page for administrator page is like this:

Figure 6

Borrowed book list page with return book operation:

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

To document this content of industrial project we refer:


1. Prentice Object Oriented Software Engineering Using UML Patterns and Java 3rd
2012– textbook
2. Cambridge.Press.Software.Modeling.and.Design.Feb.2011- textbook
3. Requirement analysis and elicitation documents – our document (SRS document).
4. Software project management plan- our document(SPMP document)
5. https://www.projectabstract.com
6. http://www.w3schools.com/
7. http://www.uog.edu.et/en/

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.

Library management system: managing manual library by computerized or by non


automated system for performing borrowing books to users, for taking penalty from users
who return the book out of return date and other related functions.

Soft copy book: is an electronic book or a digital book that is a book-publication in


digital form.

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

You might also like