Update a Book
Update a Book
Interface Definitions:
Inputs to module:
Inputs by user:
Can be any/many of the below, to be edited:
- Title
- Author
- Subject
- Publisher
- Location
- Publishing Date
- Cost of Book
- Type of book
- Volume Number
- Copy Number
- Misc. Information on the book.
Outputs:
Confirmation message
- "Updating will result in loss of old information. Proceed
with Update? "
Data Abstractions:
Title ="string"
Author ="string"
Subject ="string"
Call # ="integer"
Publisher ="string"
Publishing Date ="date"
Location ="string"
Type ="char"
Cost ="currency"
Volume Number ="integer"
Copy Number ="integer"
Information ="string"
Design:
Environment: GUI (graphical user interface)
Interface: Pop-up window. (See picture files for a view.)
- The Call number for the book will be verified (see ERROR HANDLING)
- Every item from Data Abstraction will be entered in it's own
text-box.
- These text-boxes will allow strings larger than the text-box
size to be entered.
- The update will be a batch process. i.e. none of the new information
entered will be updated until the "Update a Book" button/key
is activated.
- When the button/key is entered certain items will be checked
for syntactical errors (for errors see ERROR HANDLING).
- Call number for the book will be checked against valid call
numbers.
- Location will be checked against existing locations.
- Publishing Date will be checked for proper format
- i.e. DD/MM/YY where DD is day MM is month and YY is year.
Completion of this module is performed by:
- Pressing Cancel - in which case no update is performed.
- Pressing Update - syntactical error checking is done.
- Confirmation Window is popped up.
- At Confirmation Window:
- Pressing Cancel - no update is performed.
- Confirmation Window is closed.
- Pressing Update - updates information.
- Confirmation Window is closed.
- Update window is closed.
- It will be possible to for user to interrupt this module and
do something else. BUT the system cannot close without explicitly
completing this module.
Sub-Modules:
Error-Handling:
Syntactical Errors:
IF Call number entered does not match any call number currently
in system.
THEN give error window:
- Text-Box: "Call number is invalid, are the numbers correct?"
- Text-Box: A similarly spelled call number (lexicographically)
is displayed.
- Buttons: YES, CORRECT, CANCEL
- Actions: YES- Text Box : INVALID CALL NUMBER...RETURNING TO
MAIN MENU
- Close window.
- Cancel all completion procedures.
- Return to Update Window.
- CORRECT
- Change call number to suggested one.
- Close window.
- Continue error checking.
- CANCEL
- Close window.
- Cancel all completion procedures.
- Return to Update Window.
IF Location entered does not match any province currently in system.
THEN give error window:
- Text-Box: "Location Unknown - Recheck Location"
- Text-Box: A similarly spelled Location is displayed.
- Buttons: YES, CORRECT, CANCEL
- Actions: YES
- CORRECT
- Change Location to suggested one.
- Close window.
- Continue error checking.
- CANCEL
- Close window.
- Cancel all completion procedures.
- Return to Update Window.
IF Publishing Date entered does not match the format currently
in
system or date is not in valid range.
THEN give error window:
- Text-Box: "Format of Date is unknown, is it correct?"
- Buttons: YES, CANCEL
- Actions: YES
- CANCEL
- Close window.
- Cancel all completion procedures.
- Return to Update Window.
Empty-Field Errors:
IF Call Number field is left empty
THEN give error window:
- Text-Box: "A Call Number MUST be entered
Retry?"
- Buttons: YES, CANCEL
- Actions: YES
- Check Call number for validity.
- Close window.
- Continue error checking.
- CANCEL
- Close window.
- Cancel all completion procedures.
- Return to Update Window.
Imports:
- Book's old information is retrieved from the database on entry
into this module.
Exports:
- Books new information is entered into the database.
Pseudocode/Visual Basic Code
PSEUDO-CODE:Update Book
// Opening window.
// User must enter call # in here.
Switch on button presses:
begin
Case OK pushed:
If call # textbox is blank
Bringup error message box.
Else If call # does not exist
Bringup error message box.
Else If call # is valid
Exit this window and open up update window.
Case CANCEL pushed:
Exit this window and return to calling window.
end
// Update window.
// On entry all relevant information will be displayed on the screen.
Switch on button presses:
begin
Case UPDATE pushed:
If Check_TextBoxes() is successful
begin
popup Verify message box
If Verify is YES
update database.
end
Case CANCEL pushed:
Exit this window and return to calling window.
// Check_TextBoxes function
Check_TextBoxes()
begin
If call # is already in use or call # is invalid
begin
popup error message box
return UNSUCCESSFUL
end
If subject is not one of the existing subjects
begin
popup Verify message box
If Verify is NO
return UNSUCCESSFUL
end
If Type is not one of the possible types(reserved,circ,etc)
begin
popup error message box
return UNSUCCESSFUL
end
If Location is not one of the existing locations
begin
popup Verify message box
If Verify is NO
return UNSUCCESSFUL
end
// If we've got to this point we're OK
return SUCCESSFUL
end