Informal Project Specifications

As of Janurary 16, 1997


Springfield Employees
Book Attributes
Book Administration
Customer Attributes
Customer Administration
Transaction Specifications


The Springfield Public Library requires a software package to manage our inventory of books and to track our customer accounts. Our librarians would like the system to be easy to use and have reasonable access times. The library's administration needs to track basic information about its customers, and extensive information about all of its books. Customers can borrow, return, and renew books, as well as put books on hold while librarians may also search for books. Our library contains about 350,000 books but may expand in the future. The library serves a customer base of about 20,000, and this number is increasing steadily. We only require usage of this system within the library for now and for the near future. However, in the longer term we will require remote access to this system.

There are a number of book categories in our inventory which will need to be supported. These categories are based on the length of time which different books can be lent for. Books in the same category will have the same fine applied for overdue returns. The book categories are:

  • Overnight loan.
  • Two week loan.
  • Reserved.
  • Further, different types of customers will need to be supported. This is to distinguish librarians from regular customers. Librarians are allowed to override:

    Terminology used throughout this document

    Book Attributes

    ISBN Number - Supplied by the publisher, it is of fixed length and format including a check digit.

    Call Number - Local ID# used by our library and is unique to each book (and each copy of each book). This will be a 10 digit numeric field (we use the VSDS or Very Simple Decimal System).

    Title - The title of the book (up to a max of 255 chars).

    Author - The author of the book (up to max of 255 chars).

    Publisher - The name of the publisher, address not necessary (up to a max of 255 chars).

    Version - Version number of the book (this field is allowed to be blank).

    Edition - Edition number of the book (this field is allowed to be blank).

    Subject - Multiple subject keywords. Our goal is to be able to search the books on the subject, but the number of keywords any one book can have should not be limited.

    Book Category - Can be one of the following: Overnight, Two Week Loan, Reserved.

    Location - Only one option for now: Central Branch. It would be nice if the librarian could add more options later as we are planning to expand (see 'add new book').

    Floor - Floor number.

    Circulation Status - Can be one of the following: On Loan, Overdue, on Hold, Available, or Out-of-Circulation.

    Media Type - Can be one of the following: Book, CD, CD-ROM, Film, Laserdisk, Journal.

    Cost of Book - Total replacement cost of book.

    Please note that of all of the above fields, only two (version and edition) are optional.

    Book Administration

    Add a Book
    Enables the librarian to add a new book to the database. Checks should be made on the ISBN number to ensure that it is correct, and a call number suggestion should be made (probably the lowest available call number). Lists of choices should be visible for the enumerated fields (and it would be REAL nice if the user could add a new choice to the list, but this is not required).
    Delete a Book
    Check circulation status before deletion (can't delete a book out on loan for example). Another optional perk would be to have a history or log of all deleted books.
    Search for a Book
    A form would be presented to the user enabling them to fill in the fields they wanted to search on (Author, subject, title, etc, or a combination) and then all books matching this criteria would be listed, and detailed information presented upon selection.
    Update a book
    This would first start with a book search, but then enable the librarian to change any of the fields of a book (ISBN# is the exception, this is unchangeable).
    Generate a report
    This should enable the librarian to print (on the screen or on the printer) reports of the following:
  • All books
  • Overdue books
  • Books by subject
  • Books in circulation

  • Customer Attributes

    User ID - Automatically assigned number as user is added. Unique ID/customer.

    Name - Name of customer (Last, First)

    Phone - Phone number of customer including area code

    Address - Customer's mailing address (street, city, province, postal code)

    Category - Customer's category - choice of: regular, librarian, supervisor.

    Fines - Unpaid fines for customer.

    Max Books - Maximum amount of books allowed to borrow by customer.

    Max Fine - Maximum amount of fines for customer before restriction.

    Restricted - Flag on whether the customer is restricted from borrowing.

    Customer Administration

    Add - Add new customer

    Remove - Remove customer - can't remove if customer has book on loan or overdue fees.

    Modify - Change customer attributes.
  • Name
  • Phone
  • Adress
  • Fines
  • Max Books - supervisor mode only
  • Max Fine - supervisor mode only
  • Report - Report information for customers.
  • Individual customer - Search customer based on: name, phone, address, or user ID.
  • All customers
  • All customers with books on loan
  • All customers with overdue books
  • All customers with fines

  • Transaction Specifications

    Borrowing Books
    Customers can borrow books from the library. Each customer has a maximum limit of books that can be borrowed and this limit cannot be exceeded. This maximum limit depends on the customer's status.

    Books can be borrwed for various durations, but the exact time depends upon a book's category. If books are not returned on time, the customer is charged a late fee per overdue book per day. This price depends on each book's category. Each customer is allowed to owe up to $10.00 at one time. If a customer owes more money to the library, he must reduce his fine to below $10.00 before he is allowed to borrow any more books. Also, no customer can be charged more in late fines for a single book than what that book is actually worth.

    Customers cannot borrow books that are signed out. Customers are not allowed to borrow books that are on hold by others or books out of circulation.
    Returning Books
    Customers may return books. When a book is returned it is immediately available for other users to take out. If the book is on hold then the customer that is waiting for it will be notified and has 3 days to pick it up, during which no one else can sign it out. After 3 days the book is put back on the shelf.
    Renewing Books
    Customers may renew books. A book renewal will fail if that book is out on hold or if the customer has too many outstanding fines. A renewal consists of a return transaction followed by a borrow transaction.
    Putting Books on Hold
    Customers may choose to put books on hold. This means that as soon as the book is next available the customer is notified and given 3 days to pick it up. If he fails to pick it up in this time, he is charged for 3 overdue days with that book. Before the 3 day time limit expires a customer may call and cancel the hold without being charged any fines. If a customer cancels a hold or fails to pick a book up, that book is returned to the shelf for other customers.

    Only one hold may be placed on a single book copy. Holds are placed on a first come first serve basis. A customer may make the same number of holds as he can borrow books, regardless of how many books are on loan to him at the time.

    If there is any questions or problems regarding this web site
    please E-mail the webmaster at: