User Interaction
There are three main types of functions:
- Book Administration
- Borrower Administration
- Circulation Transaction
Here is how the user interaction will likely take place. The user
will select an option (e.g. Add a New Book) from a pull-down menu. A
dialogue box will then appear on the screen asking for information (in
this case the title, author, subject, publisher, etc.) The user will
then click on the OK or Cancel button in the dialogue box to send the
command or cancel it. Depending on the capabilities of Visual Basic,
we may make it possible for the user to display multiple windows
containing the information they want. For example, one window may
contain a list of the library's overdue books, and another might
contain those held for maintenance. The user might then be able to
select books within these windows and perform commands on them (again
selected from the pull-down menus). If Visual Basic is not up to the
task, we will implement something less sophisticated than multiple
windows.
Book Administration Functions
Add a New Book
Inputs: Title, author, subject, call number, publisher, publishing date, location, subjects,
type of book, cost of book, copy number, volume number, information.
Outputs: Call number is generated by using the next available call number in sequence,
label is printed, confirmation message.
Possible Errors
- Title or author field is blank.
- Syntax error on date, cost, type or status.
- Repeated items message box informing of copies and volumes.
Actions
Expected: The message "Successfully added book" or "Book already exists" will be
displayed. If the book is added then a label for the book will be printed.
Unexpected: The user will be informed of any invalid entries that were made. It will
also suggest a valid format type.
Remove a Book
Inputs: Call number
Outputs: Confirmation message
Possible Errors
- Any copies of book are loaned out.
- Unmatched call numbers.
Actions
Expected: If book does exist a verification message will be displayed asking the user if
he/she really wants to delete the book. All information on this book will also be
displayed.
Unexpected: The user will be informed that the call number does not exist or that the
format of the call number was wrong and suggest a proper format.
Update a Book
Inputs: Call number, book's updated information.
Outputs: Book's present information, confirmation message.
Possible Errors
- Book is loaned out.
- Syntax error on information field.
- Call number does not exist.
Actions
Expected: Will display all information on a book and when changed will inform that the
update was successful.
Unexpected: The user will be informed that the call number does not exist or that the
format of the call number was wrong. The system will suggest a proper format. Also, if any
information that is changed is formatted improperly the user will be notified of this and
suggestions will be made as to a proper format.
Search for a Book
Input: Title, author, subject, or call number (search is done on one or more of these fields).
Output: A list of the search results.
Possible Errors
- No match of searched-for item.
- Call number does not exist.
Actions
Expected: A list of successful matches will be displayed or a message informing the user
that no book matching those criteria was found (i.e. "no correlation match" or "no such
call number")
Unexpected: The user will be informed of any invalid entries that were made. It will
also suggest a valid format type.
Report On Status of All Books
Inputs: Type of status requested (overdue, out, available, hold, maintenance, etc.)
The user must specify what information is to be included in the report; what fields they want printed.
Outputs: Itemized printout, confirmation message. If "available" or "out" is selected then a confirmation box will appear informing the user of the magnitude of this task.
Possible Errors
- No books to report with this status.
Actions
Expected: A printout off all books with the matching status will be printed or a message
will be displayed informing the user that there are no books with that status.
Unexpected: The user will be informed that the status entered is formatted improperly
and suggestions of a proper format will be made.
Borrower Administration Functions
Add a Borrower Record
Inputs: Name, address, phone number.
Outputs: Confirmation message, identification number, lending limit, account balance.
Possible Errors
- Syntax error on phone number.
- Duplicated data in the system
- Name or address field is empty.
Actions
Expected: The identification number that is assigned internally by the system to the new
borrower will be displayed and a message that the addition was successful is given.
Unexpected: If the borrower already exists the system will produce a
message informing the user of this. If the information is formatted improperly the user will be
informed and suggestions will be made as to proper format. If there is no name and
address entered an error message will be displayed.
Search for a Borrower Record
Inputs: Identification number, name, toggle "view all/stripped down".
Outputs: Display successful search in format specified in the toggle function above.
(Format of display to be structured at a later time.)
Possible Errors
- Specified identification number does not exist.
- Specified name does not exist.
Actions
Expected: A list of all successful matches will be displayed or a message informing the
user that the borrower does not exist. Searches are done on either the name or the
identification number and not both.
Unexpected: The user will be informed of any invalid entries that were made. It will
also suggest a valid format type.
Updating a Borrower
Inputs: Identification number, borrower's updated information.
Outputs: Borrower's present information, confirmation message.
Possible Errors
- Syntax error on phone number.
- Specified identification number does not exist.
- Name or address field is empty.
Actions
Expected: If information is valid the borrower record will be updated with the new information.
Unexpected: If the information is formatted improperly the user will be informed and
suggestions will be made as to proper format. If there is no name and address entered
an error message will be displayed.
Removing a Borrower
Inputs: Identification number.
Outputs: Confirmation of deletion.
Possible Errors
- Specified identification number does not exist.
- Attempt to delete borrower with outstanding fines or books signed out from library.
Actions
Expected: If the identification number exists and the borrower has no fines or books a
confirmation message will be displayed.
Unexpected: The user will be informed of any invalid entries that were made. It will
also suggest a valid format type.
Circulation Transaction Functions
Lend a Book
Inputs: Call numbers, identification number.
Output: Confirmation messages, borrower information, due dates for each book.
Possible Errors
- From borrower record check:
- Specified borrower's identification number does not exist.
- Syntax error on number entered.
- Borrower has outstanding violations
- From call number check:
- Specified call number does not exist.
- Syntax error on call number.
- Book is on hold.
- Book is non-circulating.
- Data integrity error.
Actions
Expected: The user will be notified that the lend was successful. If the borrower has
fines or overdue books the user will also be notified and the borrower will not be
allowed to sign the book out.
Unexpected: 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.
Returning a Book
Inputs: Identification number, call number.
Outputs: Any fines on the book being returned, report on update status if book is on
hold, optionally display recaller's information, confirmation message.
Possible Errors
- Specified identification number does not exist.
- Specified call number does not exist.
- Syntax error on identification number.
- Syntax error on call number.
- Data integrity error.
Actions
Expected: When book is returned the user will be notified if there is hold on that book
and may further display the information associated with that book holder. Otherwise
the book's status is changed simply to reflect the fact that the book is now in the library. If
the borrower has fines on this book the user will also be notified.
Unexpected: 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.
Recall a Book
Inputs: Call number, identification number.
Outputs: Display due date, print recall form, confirmation message.
Possible Errors
- From borrower's identification number check:
- Specified identification number does not exist.
- Syntax check on identification number.
- From book call number check:
- Specified call number does not exist.
- Syntax error on call number.
- Status restriction on that type of book (i.e. non-circulating, on shelf, reserve).
- Borrower already has book on loan.
Actions
Expected: The book's status is changed to reflect the fact that the book is now on hold. A
recall notice will be printed.
Unexpected: 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.
Renew a Book
Inputs: Call number, identification number.
Outputs: Prompt for a bulk renewal or itemized renewal to speed process,
confirmation message, display due date.
Possible Errors
- From borrower's identification number check:
- Specified identification number does not exist.
- Syntax error on identification number.
- Borrower has outstanding violations (i.e.
overdue books, fines outstanding, transaction will exceed
the book limit on the borrower).
- From book call number check:
- Specified call number does not exist.
- Syntax error on call number.
- Book is on hold.
- Book is of non-circulating type.
- Data integrity error.
Actions
Expected: When book is renewed the user will be notified if there is hold on that book
and the borrower will not be able to sign it out. Otherwise the books status is simply
changed reflect the fact that the book is now in the library. If the borrower has any
outstanding fines or overdue books the user will also be notified.
Unexpected: 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.
Report on fines
Inputs: Request for a report on Overdue Books or Owed Fines
Outputs: Display results of search parameter.
Possible Errors
- No fines or overdue books to report for this borrower.
Actions
Expected: If the borrower has fines matching the parameter then a list will be produced
displaying this information.
Unexpected: If the borrower has nothing to be reported the user will be informed of
this.
Notes
If at any time data is added, edited or deleted the database will be changed permanently. Before this is
done the user will be prompted to verify their actions. This will hopefully limit the number of mistakes
made by performing an unwanted procedure. Our group has cited some tips and possible pitfalls in the
way the system was outlined in the informal specification and those will be reported at the end of this
document.
Glossary of Terms
Confirmation Message:
A message prompting the user to verify that the action he/she is about to take is desired.
Database:
A abstract structure used by computers to track large amounts of changing information.
Data Integrity:
Checks that the database environment conforms to
the real world. Databases require human interaction to maintain their
accuracy. If an event occurs and is not recorded in the database then
we have a breakdown in the reliability of the database. An example
relevant to this system is if a book return is not recorded in the
database. When another person tries to sign that book out it will be
reported as being already signed out.
Error Message:
A message to the user that an invalid command or
procedure was used. The result of such a situation will be for the
user to acknowledge the error and try again.
Syntax error:
The input had an invalid format. For example, typing a phone number as 55-59321 is a syntax error, because the dash is misplaced.
Valid Format Type:
An input format that conforms to the specifications in the Informal Specification.