Adding a Borrower
Adding a Borrower
Interface Definitions:
Inputs to module:
Inputs by user:
- Last Name
- First Name
- Address
- City
- Province/State
- Postal Code
- Phone Number
- Identification Number
Outputs:
- Confirmation message = "The following borrower will be
added. Do you wish to continue?"
Data Abstractions:
LAST NAME is a variable length string.
MIDDLE NAME is a variable length string.
FIRST NAME is a variable length string.
ADDRESS is a variable length string.
CITY is a variable length string.
PROVINCE is a variable length string.
POSTAL_CODE is a variable length string.
PHONE is a variable length digit string.
IDENTIFICATION is a positive integer number.
ADDRESS2 is a variable length string.
CITY2 is a variable length string.
PROVINCE2 is a variable length string.
POSTAL_CODE2 is a variable length string.
PHONE2is a variable length digit string.
Design
Environment: GUI (graphical user interface)
Interface: Pop-up window.
- 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 add borrower will be a batch process. i.e. none of the
new information entered will be updated until the update-Borrower
button/key is activated.
- When the button/key is entered certain items will be checked
for syntactical errors (for errors see ERROR HANDLING).
- PROVINCE will be checked against existing provinces.
- CITY will be checked against existing cities.
- POSTAL_CODE will be checked for format against existing formats.
- e.g. a#a-#a# ,where #= number, a= letter
- PHONE number will be checked for format against existing formats.
- e.g. ###-####-#### ,where #= number.
- IDENTIFICATION will be checked against will be checked against
all other ID's in the system, with the exception of one previously
assigned the borrower.
Completion of this module is performed by:
- Pressing Cancel - in which case no addition is performed.
- Pressing Add - syntactical error checking is done.
- Confirmation Window is popped up.
At Confirmation Window:
- Pressing Cancel - no Addition is performed.
- Confirmation Window is closed.
- Pressing Add - Adds a new borrower.
- Confirmation Window is closed.
- Add borrower window is closed.
- Pressing Edit - No addition is performed.
- Confirmation window is closed.
- Add borrower window is back on and read for editing.
- It will be possible 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 city entered does not match any city currently in system.
THEN give error window:
- Text-Box: "City is unknown, is the spelling correct?"
- Text-Box: A similarly spelled city (lexicographically) is
displayed.
- Buttons: YES, CORRECT, CANCEL
- Actions: YES
- Close window.
- Continue error checking.
- CORRECT
- Change city to suggested one.
- Close window.
- Continue error checking.
- CANCEL
- Close window.
- Cancel all completion procedures.
- Return to Add borrower Window.
IF province entered does not match any province currently in system.
THEN give error window:
- Text-Box: "Province is unknown, is the spelling correct?"
- Text-Box: A similarly spelled province (lexicographically)
is displayed.
- Buttons: YES, CORRECT, CANCEL
- Actions: YES
- Close window.
- Continue error checking.
- CORRECT
- Change province to suggested one.
- Close window.
- Continue error checking.
- CANCEL
- Close window.
- Cancel all completion procedures.
- Return to Add borrower Window.
IF postal-code entered does not match any format currently in
system.
THEN give error window:
- Text-Box: "Format of postal-code is unknown, is it correct?"
- Buttons: YES, CANCEL
- Actions: YES
- Close window.
- Continue error checking.
- CANCEL
- Close window.
- Cancel all completion procedures.
- Return to Add borrower Window.
IF phone number entered does not match any format currently in
system.
THEN give error window:
- Text-Box: "Format of phone number is unknown, is it correct?"
- Buttons: YES, CANCEL
- Actions: YES
- Close window.
- Continue error checking.
- CANCEL
- Close window.
- Cancel all completion procedures.
- Return to Add borrower Window.
IF ID matches an ID in the system other than the borrowers previous
ID.
THEN give error window:
- Text-Box: "Identification is already in use. Please enter
another"
- Buttons: OKAY
- Actions: OKAY
- Cancel all completion procedures.
- Return to Add borrower Window.
Empty-Field Errors:
IF ID field is left empty
THEN give error window:
- Text-Box: "An identification number MUST be entered!
Use OLD identification number?"
- Buttons: YES, CANCEL
- Actions: YES
- Keep old ID #.
- Close window.
- Continue error checking.
- CANCEL
- Close window.
- Cancel all completion procedures.
- Return to Add borrower Window.
For every other field:
IF field is left empty
THEN give error window:
- Text-Box: "Field - "(insert fields name here)"
was left empty. Continue anyway?"
- Buttons: YES, CANCEL
- Actions: YES
- Keep blank field.
- Close window.
- Continue error checking.
- CANCEL
- Close window.
- Cancel all completion procedures.
- Return to Add borrower Window.
Imports:
- Borrower's old information is retrieved from the database
on entry into this module.
Exports:
- Borrower's new information is entered into the database.
Pseudocode/Visual Basic Code
bool add_borrower()
{
switch (button)
{
case button = cancell
exit(0);
break;
case button = edit
back to window;
break;
case button = add
output (" the following user will be added. Do you wish to
continue?");
if (yes)
then
if (last == Null)
output ("last name field is empty continue
anyway?");
if yes continue;
else back to window;
if (first == Null)
output ("first name field is empty continue
anyway?");
if yes continue;
else back to window;
if (middle == Null)
output ("middle name field is empty continue
anyway?");
if yes continue;
else back to window;
if (city not in database)
output ("This city is unknown is the spelling
correct?");
if yes continue;
else back to window;
if (prov/state not in database)
output ("This provence or state is unknown
is the spelling correct?");
if yes continue;
else back to window;
if (id# in database )
ooutput (" This ID number is already in use.
enter another?");
if yes back to window;
else cancel;
if (id# == Null)
output (" An ID number must be entered to add
a borrower to database. Enter again?");
if yes back to window;
else cancel;
break;
}
open datastore borrower;
write new record to datastore;
close datastore borrower;
return (0);
}