Problem Description

The system to build is an automated library book borrowing system (LBB system) that is to be used in the departmental libraries of a particular university. The goal is to relieve the librarians from processing book loans.

The system does not require users to identify themselves to search for books according to certain criteria and to check the availability of a particular book. However to check-out books, to check their respective book loan status, and to place holds on books that are already on loan, users must first identify themselves to the system.

A single receipt is printed for each user check-out session; it details for each book: the title of the book, the unique identifier of the book, the date the book was borrowed, and the date the book is to be returned by. At the start of each week, the system sends warning emails to all borrowers that have overdue books.

All information about what category of member a user belongs to (see borrowing rules below), his/her email address, etc. is available from the central university server.

A user identifies him/herself to the system with a card and password (like for an ATM). For reasons of security, the central university server performs all password verifications. The system has an Ethernet connection to the central university server.

Books have physically attached barcodes, which are used for the identification of books that are checked out (a barcode scanner is to be used). In the case that the book does not scan then it should be also possible to enter the barcode manually.

Each departmental library already has a system that is used to perform criteria searches for books. The LBB system is to make use of the library book search system for all book searches. The library book search system cannot be changed because it is proprietary software and therefore the code is not available. Once the system is up and running, the book search system will no longer be available to users--all searches will be made via the LBB system.

Book renewals (i.e., extending the due date) are not dealt within the current version of this system but this feature is planned for a later release. It is perceived as an important feature to be supported via the web.

These are the Borrowing Rules:

  • Each user has a maximum number of books that are allowed to be on loan at any one time. The limit is dependent on the category of the member, e.g. Department Heads can take out as many as 100 books, where Assistants are limited to 15 books.
  • Often a certain category of book has a different loan period for each category of member, e.g. Department Heads are allowed 6 months for a standard book, whereas Assistants are allowed only 3 months.
  • Different categories of books have different loan periods (e.g., Assistants may borrow a standard book for 3 months, but can only loan a periodical for 1 month). Some books may not be possible to borrow for certain categories of members (e.g. Assistants and Students cannot borrow reference books).