SquidSoft Inc. - GUIDOs
Detailed Design Document - Process Specifications


           Table of Contents           

           Process Specifications for Process 3           

The Product Available Interface appears once a user has high enough security level to press the Product List button in the Main Menu Interface. The Product Available Interface consists of six buttons, each one would be greyed out according to the user's security level. For example, only the warehouse manager can add and delete the product.

Process 3: Product List

Purpose: Allow user to add, delete, modify, print, find, and sort product(s).

Inputs:

  • submenu requested (mouse control from users)

Outputs:

  • display the interface the user chose

Calls:

  • Process 3.1 Add New Product
  • Process 3.2 Delete Product
  • Process 3.3 Print Product(s)
  • Process 3.4 Find Prduct(s)
  • Process 3.5 Sort By Product
  • Process 3.6 Exit
  • Process 3.7 Up date Product

Called by:

  • Process 2 Main Menu

Error conditions:

  • Syntactically incorrect input(s)
  • user does not have high enough security level to access particular interface

Algorithm:

if (getMenuChoice() == "Add Product") &&
   (user_has_access)
  then Add Products Interface
if (getMenuChoice() == "Delete Product") &&
   (user_has_access)
  then Delete Porduct Interface
if (getMenuChoice() == "Print")
  then Print Product Interface
if (getMenuChoice() == "Find")
  then Find Product Interface
if (getMenuChoice() == "Sort By")
  then Sort By Interface
if (getMenuChoice() == "Exit")
  then return to main menu
else NO ACTION

           Process 3.1: Add New Product           

As mentioned before, this button can only be accessed by warehouse manager, since only warehouse manager can be able to add product. When the user click the add button, a blank line will be appear at the end of the table above so a new product can be added. The new product information will save in the data base automatically when the user finish adding. If an error is detected in the input such as invalid format of UPC or a negative value of unit cost or size.

Purpose: Allow user to add new product into the data base.

Inputs:

  • UPC --- from user
  • description --- from user
  • category --- from user
  • unit cost --- from user
  • bulk unit size --- from the user

Outputs:

  • product --- a new instance added to the data store "Products"
  • message to screen

Calls:

  • None

Called by:

  • Process 3 Product Interface

Error conditions:

  • user enter invalid format of UPC
  • UPC number is already in use --- that is, there is already an instance of "Product" with the given UPC number in the data store "Products"
  • user enter category that does not exists
  • user enter negative unit cost, or invalid format of unit cost
  • invalid bulk size, such as negative number
  • Syntactically incorrect input(s)

Algorithm:

if inputs from user are syntactically correct then
  product[UPC] := UPC
  product[description] := description
  product[category] := category
  product[unit cost] := unit cost
  product[bulk unit size] := bulk unit size
  Send product to the data store to be added
  if data store reportedsuccess then
    print_to_user 'ok'
  else
    print_to_user 'Product is already in the data base'
  endif
else
  print_to_user `Syntax error in input(s)
endif

return to the interface allow user to choose other
option or go back to main menu

           Process 3.2: Delete Product           

This button is also can only be accessed by the warehouse manager. The user need to use the mouse to highlight the product that he or she want to delete. Then click the delete button. A dialog box will come up to reconfirm the user that the product to be delete is correct. If it is correct, the user has to click yes or delete. If the user want to cancel the delete process, just click cancel to bring the user back to the Product Available Interface. Once the product is deleted, it cannot be retrieved in any way.

Purpose: Allow user who has high enough security level to delete product in the data base.

Inputs:

  • mouse input --- from user

Outputs:

  • product --- a instance product is deleted from the data store "Products"
  • message --- to the user

Calls:

  • None

Called by:

  • Process 2 Main Menu Process

Error conditions:

  • Syntactically incorrect input(s)

Algorithm:

if inputs from user is syntactically correct then
  read the product record
  if product is on order or some remainins in stock then
    report to user 'need to delete them first' and exit 
  else
    delete the instance product from the data base
  endif
endif

           Process 3.7: Update Product           

This function can only be accessed by manager level of security. Update product function simply let the user to modify the production information in the data base. There can only one product to be modify at a time. UPC can not be changed.

Purpose: Allow user who has high enough security level to modify product information.

Inputs:

  • mouse input --- from user
  • product --- from data store "Products"
  • UPC --- from user
  • description --- from user
  • category --- from user
  • unit cost --- from user
  • bulk unit size --- from user

Outputs:

  • a new instance "product" is updated to the data store "Products"

Calls:

  • None

Called by:

  • Process 2 Main Menu Process

Error conditions:

  • Syntactically incorrect input(s)
  • user enter invalid format of UPC
  • UPC number is already in use --- that is, there is already an instance of "Product" with the given UPC number in the data store "Products"
  • user enter category that does not exists
  • user enter negative unit cost, or invalid format of unit cost
  • invalid bulk size, such as negative number

Algorithm:

get UPC, description, category, unit cost
and bulk size from user
if those inputs are syntactically correct then
  product[UPC] := UPC
  product[description] := description
  product[category] := category
  product[unit cost] := unit cost
  product[bulk unit size] := bulk unit size
  Send product to the data store to be modified
else
  report error to user and exit

           Process 3.3: Print Product           

This button can be accessed by any level of security. When this button is clicked, the table in the current order will be printed. This button will be linked to the system print manager.

Purpose: Allow any security level user to print production information.

Inputs:

  • mouse input --- from user
  • product(s) --- from data store "Products"

Outputs:

  • product(s) information --- to printer/user

Calls:

  • None

Called by:

  • Process 2 Main Menu Process

Error conditions:

  • Syntactically incorrect input(s)

Algorithm:

if input from mouse are syntactically correct then
  read the record from the data base
  print the record
else
  report error to the user
endif

           Process 3.4: Find Product           

This button can be accessed by any level of security. The user can search product(s) by UPC or description. After the user enter UPC or description, then click OK button. Product(s) satisfied the search criteria will be displayed in the table.


Purpose: Allow any security level user to print production information.

Inputs:

  • UPC --- from user
  • description --- from user
  • unit price --- from user
  • product --- from data store "Products"

Outputs:

  • product(s) information --- to user

Calls:

  • None

Called by:

  • Process 2 Main Menu Process

Error conditions:

  • Syntactically incorrect input(s)
  • UPC does not exists in the data store "Products" --- that is UPC is not in use
  • Invalid UPC --- that is, UPC is not in the right format

Algorithm:

if the inputs are syntactically correct then
  if user want to find product under UPC then
    search product from data base with the same UPC
    report to the user
    report 'not found' to user if the product not found
  elseif under description
    search product(S) from data base with same description
    report 'not found' to user if product(s) not found
  elseif under category
    search product(S) from data base with same category
    report 'not found' to user if product(s) not found
  elseif under unit price
    search product(S) from data base with same unit price
    report 'not found' to user if product(s) not found
  else
    no action
  endif
else
  no action

           Process 3.5: Sort By Product           

This button can be accessed by any user in any security level. This button, when clicked, will bring up the Sort By Interface. Sort will display a pup-up window that will prompt the user for the field at which to sort by. There are six buttons. The first four are the possible fields and the user can choose one and only one of either UPC, Category, or Sale Price. The next two field are for either ascending or descending sort. One and only one of these must be chosen as well for a proper sort. When the Sort button in this menu is presented then the sort will occur and the results displayed on the table.


Purpose: Allow any security level user to sort products in particular order.

Inputs:

  • mouse input --- there are four choices of inputs that they are mutually exclusive, user can only choose one among them
  • products --- from the data store "Products"

Outputs:

  • products will be sorted according to the user's will. Information will be display on the screen --- to user

Calls:

  • None

Called by:

  • Process 2 Main Menu Process

Error conditions:

  • Syntactically incorrect input(s)

Algorithm:

if the inputs are syntactically correct then
  if sort by UPC then
    sort the Products data base by UPC in ascending order
    report the data base(table) to user
  elseif sort by description then
    sort Products database by description in ascending order
    report the data base(table) to user
  elseif sort by category then
    sort Products database by description in ascending order
    report the data base(table) to user
  elseif sort by cost price then
    sort Products database by description in ascending order
    report the data base(table) to user
  else
    no action
else
  no action

           Process 3.6: Exit           

Purpose: Allow user to exit the Product Interface Process and go back to the Main Menu Process.

Inputs:

  • mouse input --- from user

Outputs:

  • go back to the main menu

Calls:

  • Process 2 Main Menu Process

Called by:

  • Process 3 Product Interface Process

Error conditions:

  • Syntactically incorrect input(s)

Algorithm:

if the inputs are syntactically correct then
  load up the main menu interface 
else 
  no action
endif
Login  
Main Menu  
Security  
Password  
Orders  
Product  
Personnel  
Stores  
Cashier  
Inventory  

Main Page  


About SquidSoft Inc. This site created and maintained
with Mortar