Lend a Book

Lend Book

Interface Definitions:

Inputs to module:

  1. Call number of a book,
  2. Identification number of a borrower.

Outputs to user:

  1. Confirmation messages,
  2. Fines information (from data store FINE), which includes the following :
    • Outstanding fines
    • Books currently out
    • Overdue books.
    • Due dates.

Data Abstractions:

CALL NUMBER is an integer.

IDENTIFICATION NUMBER is an integer.

CONFIRMATION MESSAGES is a variable length string.

BORROWER INFORMATION is a variable length string.

OUTSTANDING FINES of type currency.

BOOKS CURRENTLY OUT of type integer.

OVERDUE BOOKS of type integer.

DUE DATES is of type date.

Design:

Environment: GUI (graphical user interface)

Interface: Pop-up window. (See picture files for a view.)

The Identification number can be entered into a list-box and by clicking the OK button, the system takes over and checks for possible input errors.

If there are no errors after this stage, the system will retrieve the necessary borrower database information and display the following information:

If there are no outstanding fines nor overdue books, then the librarian can enter the book call number.

All book and borrower attributes are automatically updated at this point. Things to update are :

Note Also:

If the book is not listed as being signed out the user will be notified. The user will be informed of any invalid entries that were made. It will also suggest a valid format type.

Sub-Module:

Place Book On Hold

Inputs to module:

Outputs to user:

Data Abstractions:

CALL NUMBER is an integer.

IDENTIFICATION NUMBER is an integer.

CONFIRMATION MESSAGES is a variable length string.

Design:

Environment: GUI (graphical user interface)

Interface: Pop-up window. (See picture files for a view.)

Librarian can just enter the call number and the identification number into a list-box and if successful, a confirmation message will be displayed.

Sub-Modules:

Error Handling:

Error-Handling:

Syntactical Errors:

THEN give error window:

Text-Box: "Identification number doesn't exist in, re-enter?"

Buttons: YES, NO

Actions: YES

THEN give error window:

Text-Box: "Identification number is syntactically incorrect. Must be N digits. Re-enter?"

Buttons: YES, NO

Actions: YES

THEN give error window:

Text-Box: "Borrower has X violations. Transaction cannot proceed."

Buttons: OK

Actions: OK

THEN give error window:

Text-Box: "Call number doesn't exist in database, reenter?"

Buttons: YES, NO

Actions: YES

THEN give error window:

Text-Box: "Call number is syntactically incorrect. Must be in x-format integer. Re-enter?"

Buttons: YES, NO

Actions: YES

THEN give error window:

Text-Box: "Book requested is currently on hold. Place a hold on the book?"

Buttons: YES, NO

Actions: YES

Actions: NO

THEN give error window:

Text-Box: "Book requested is non-circulating. Transaction cannot proceed."

Buttons: OK

Actions: OK

Imports:

Exports:





Back to the Book Functions Index