|
SquidSoft Inc. - GUIDOs
Detailed Design Document - Process Specifications |
|
Inputs:
Outputs:
Called By:
Calls:
Assumptions:
Error conditions:
Algorithm:
if user modifies table then
if user has security access
order[Status] = Pending|Filled|Incomplete|Complete
if order[Status] == Incomplete then
call details function
order[Date Completed] := Date Completed
Send order to data store (orders) to be updated
if data store reported success then
print_to_user `successfully modified'
else
print_to_user `something wrong!'
end if
else
print_to_user `No access to modify table'
end if
end if
end if
if user presses manual order button then
if user has security access
call manual order function
else
print_to_user `You do not have access to that function'
end if
end if
if user presses details button then
call details function
end if
if user presses auto order button then
if user has security access
call auto order function
else
print_to_user `You do not have access to that function'
end if
end if
if user presses find button then
call find function
end if
if user presses sort by button then
call sort by function
end if
if user presses print button then
call print function
end if
if user presses exit button then
call main menu process
end if
Inputs:
Outputs:
Called By:
Calls:
Assumptions:
Error Conditions:
Algorithm:
Get the time and date from the system
Get the employee_id, store_id from employee database
Get max_order_number + 1 from orders database
repeat
On Mouse_Action:
case Mouse_Action = add_grocery:
do Add_Grocery
case Mouse_Action = remove_grocery:
do Remove_Grocery
case Mouse_Action = submit:
do Submit_Order
case Mouse_Action = cancel:
do Cancel_Order
until(false)
exit
Inputs:
Outputs:
Called By:
Calls:
Assumptions:
Error Conditions:
Algorithm: if exist UPC table_lookup(UPC) else table_lookup(description) update table end.
Inputs:
Outputs:
Called By:
Calls:
Assumptions:
Error Conditions:
Algorithm:
if (sizeof groceries_to_order != 0)
order_id = create_new_order(date, time, employee_ID,
store_ID, max(order_number) + 1)
for (1..sizeof groceries_to_order)
create_new_groceries_ordered(order_id, UPC, quantity)
else
error: "No items to order"
end if
end.
Inputs:
Outputs:
Called By:
Calls:
Assumptions:
Error Conditions:
Algorithm: if !exist Ordered_Grocery_table(highlighted UPC) add_to_Qrdered_Grocery_table(highlighted UPC, 1) else Ordered_Grocery_table(highlighted UPC).quantity++ end if exit.
Inputs:
Outputs:
Called By:
Calls:
Assumptions:
Error Conditions:
Algorithm:
if exist Ordered_Grocery_table(highlighted UPC)
Ordered_Grocery_table(highlighted UPC).quantity--
if Ordered_Grocery_table(highlighted UPC).quantity == 0)
remove_from_Qrdered_Grocery_table(highlighted UPC, 1)
end if
end if
exit.
Inputs:
Outputs:
Called By:
Calls:
Assumptions:
Error Conditions:
Algorithm: clear Groceries_to_order_table close Manual_Order interface display Orders interface exit.
Inputs:
Output:
Called By:
Calls:
Assumptions:
Error conditions:
Algorithm:
(values in fields are by default, the values currently
entered for that order)
if inputs from user are syntactically correct then
if user modifies table then
groceries ordered[Number Received] = Number Received
order[Date Completed] = Date Completed
Send order to the data store (orders) to be updated
if data store reported success then
print_to_user `successfully modified'
else
print_to_user `number received must be positive'
end if
if user presses exit button then
call main menu process
end if
else
print_to_user `Syntax error in input(s)'
end if
Inputs:
Outputs:
Called By:
Calls:
Assumptions:
Error Conditions:
Algorithm:
if user presses ok button
if all input fields blank then
print_to_user `Please enter criteria'
redisplay find screen
else if inputs are syntactically correct
search Orders and Details databases for orders matching
ALL given criteria
if search is successful
return orders matching criteria
else
print_to_user `no orders matching criteria were found'
end if
else
print_to_user `syntax error(s) in input'
end if
if user presses exit button
return to orders menu
Inputs:
Outputs:
Called By:
Calls:
Assumptions:
Error Conditions:
Notes:
Algorithm:
if user tries to check 4th box after checking 3,
it will not check
if no boxes checked
sort by default (order number - descending)
else if 1 box checked
sort by criteria that was checked
else if 2 boxes checked
sort by primary criteria
sort by secondary criteria
else if 3 boxes checked
sort by primary criteria
sort by secondary criteria
sort by tertiary criteria
end if
end if
return sorted order list
Inputs:
Output:
Note that this includes the details of each order. Called By:
Calls:
Error conditions:
Algorithm:
if no order highlighted
if printer responding
do
send_to_printer order[Order_Number]
send_to_printer order[Date_Ordered]
send_to_printer order[Employee ID]
send_to_printer order[Status]
send_to_printer groceries_ordered[UPC]
send_to_printer groceries_ordered[Description]
send_to_printer groceries_ordered[Number Ordered]
send_to_printer groceries_ordered[Number Received]
until no more orders to print
else
print_to_user `printer not responding'
end if
else //print selected order
if printer responding
send_to_printer order[Order_Number]
send_to_printer order[Date_Ordered]
send_to_printer order[Employee ID]
send_to_printer order[Status]
send_to_printer groceries_ordered[UPC]
send_to_printer groceries_ordered[Description]
send_to_printer groceries_ordered[Number Ordered]
send_to_printer groceries_ordered[Number Received]
else
print_to_user `printer not responding'
end if
end if
return to the details screen
Inputs:
Outputs:
Called By:
Calls:
Assumptions:
Error Conditions:
Algorithm:
Get the time, date, and store_id from the system
if process started by employee
Get store_id and employee_id from employee database
end if
Get max_order_number + 1 from orders databas
Get inventory from inventory database
do
search inventory for grocer with stock < set amount
add inventory.UPC to items-in-order
set items-in-order.qnty to set amount
set inventory.status to ordered
until end of inventory
if sizeof items-to-order > 0
create new order
create new grocery_ordered for each item in
items-to-order
end if
exit
Inputs:
Outputs:
Called By:
Calls:
Error Conditions:
Algorithm: call main menu function |
|
![]() |
This site created and maintained with Mortar |