Overall Design Document
CPSC 451 Supplier Group #1

Department of Computer Science
University of Calgary
26 January 1997

Page maintainer: Terrence Asgar-Deen
terrence@cpsc.ucalgary.ca

  • Terrence Asgar-Deen
  • Patrick Chan
  • Thomas Hui
  • Carsten Jaeger
  • Matthew Johnson
  • Brian Low
  • Hoang Nguyen
  • Kevin Pattison
  • Csaba Suveges
  • Jeremy Tang
  • Leena Thakkar
  • Al-Amin Vira
  • Lin Zhang

  • Administrative Functionality

    Disclaimer : This page is only a copy of the original page. Comments have been placed throughout it for the use of dHACs software group. To see the original page please refer to Here.

    A1.1 Add Salesperson

    Description

    The process to add a new salesperson is shown in diagram format above. The arrows display the direction of data flow, the complete box labeled "Admin" is the user, and the box open on one side labeled "Salesperson" is the data storage. The arrow with a line crossing it near the arrow head shows data being added to the data store. The procedure to add a new salesperson involves the Administrator entering the information about a new salesperson. The data entered for the salesperson is as follows:

    1. A unique salesperson ID number
    2. The salesperson's name
    3. Territory assigned to the salesperson
    4. Email address for the salesperson
    5. Pager number
    6. Cellular phone number
    7. Office phone number
    8. Maximum visits per day
    9. Comments
    Office phone number is used here. But in the description under the entity relationship diagrams, home phone number is listed. Which one can be expected?

    Once the information is recorded, the system will display a status message to notify the user that the data has been registered.

     

    A1.2 Modify Salesperson

    Description

    The process to modify the information on a salesperson is shown in diagram format above. The arrows display the direction of data flow, the complete box labeled "Admin" is the user, and the box open on one side labeled "Salesperson" is the data storage. The procedure to change the information of a salesperson involves the Administrator entering the desired information to be modified about a salesperson. The data that can be altered for the salesperson is as follows:

    1. Territory assigned to the salesperson
    2. Email address for the salesperson
    3. Pager number
    4. Cellular phone number
    5. Office phone number
    6. Maximum visits per day
    7. Comments
    Again, office phone number is used here. But in the description under the entity relationship diagrams, home phone number is listed. Which can be expected? Also, modification of saleperson's name should be allowed in case it was spelled wrong, etc.

    Once the information is recorded, the system will display a status message to notify the user that the data has been registered.

     

    A1.3 Delete Salesperson

    Description

    The process to delete a salesperson is shown in diagram format above. The arrows display the direction of data flow, the complete box labeled "Admin" is the user, and the box open on one side labeled "Salesperson" is the data storage. The arrow with a cross near the arrow head shows data being "deleted" from the data store. (NOTE: the data is never deleted from the database but rather the salesperson data is flagged so that the record will show as no longer employed with the company. This data can be restored to an active state, if required.) The procedure to delete a salesperson involves the Administrator entering the salesperson's unique ID number. The system will then prompt the user to answer if the correct person is to be deleted. Once the information is recorded, the system will display a status message to ensure the data has been "removed".

     

    A1.4 List Salespeople

    Description

    The process to list salespeople is shown in diagram format above. The arrows display the direction of data flow, the complete box labeled "Admin" is the user, and the box open on one side labeled "Salesperson" is the data storage. The procedure to list salespeople involves the Administrator clicking the button (which corresponds to "request" on the diagram above) to list all salespeople currently employed by the company. This can be printed if desired. Also, the Administrator can selectively prune the list if desired.

     

    A2.1 Add Customer

    Description

    The process to add a new customer is shown in diagram format above. The arrows display the direction of data flow, the complete box labeled "Admin" is the user, and the box open on one side labeled "Customer" is the data storage. The arrow with a line crossing it near the arrow head shows data being added to the data store. The procedure to add a new customer involves the Administrator entering information about a new customer. The data entered for the customer is as follows:

    1. A unique customer ID number
    2. The company name
    3. Street address
    4. Postal code
    5. Contact's name
    6. Contact's phone number
    7. Contact's email address
    8. Company description
    9. Date last contacted

    Once the information is recorded, the system will display a status message to ensure the data has been registered.

    For the input of a new customer, how is a unique customer ID number generated? Should it be generated by the system record rather than input by the Administrater?

    Are error conditions to be specified?

    The status returned by the module should be clearly specified.
    e.g. the customer already exists.
    e.g. the company name is associated with a different address.

     

    A2.2 Modify Customer

    Description

    The process to modify information on a customer is shown in diagram format above. The arrows display the direction of data flow, the complete box labeled "Admin" is the user, and the box open on one side labeled "Customer" is the data storage. The procedure to change information on a customer involves the Administrator entering the desired information modifications about a customer. The data which can be altered for the customer is as follows:

    1. The company name
    2. Street address
    3. Postal code
    4. Contact's name
    5. Contact's phone number
    6. Contact's email address
    7. Company description
    8. Date last contacted

    Once the information is recorded, the system will display a status message to ensure the data has been registered.

    Will the company name be a second search key?

     

    A2.3 Delete Customer

    Description

    The process to delete a customer is shown in diagram format above. The arrows display the direction of data flow, the complete box labeled "Admin" is the user, and the box open on one side labeled "Customer" is the data storage. The arrow with a cross near the arrow head shows data being "deleted" from the data store. (NOTE: the data is never deleted from the database but rather the customer data is flagged so that the record will show as no longer customer of the company. This data can be restored, if required.) The procedure to delete a customer involves the Administrator entering the customer's unique ID number. The system will then prompt the user to answer if the correct customer is to be deleted. Once the information is recorded, the system will display a status message to ensure the data has been "removed".

    Can only the company name be input to delete customer? (If there is a duplicate name then prompt the user to enter the customer ID).

    Shouldn't the datastore, "Order" be checked to see if there are outstanding orders for a customer before deletion?

    A2.4 List All Customers

    Description

    The process to list customers is shown in diagram format above. The arrows display the direction of data flow, the complete box labeled "Admin" is the user, and the box open on one side labeled "Customer" is the data storage. The procedure to list customers involves the Administrator clicking the button (which corresponds to "request" on the diagram above) to list all customers of the company. This can then be printed if desired. Also, the Administrator can select and narrow down the list as desired.

    Can we specify a range of customers to be displayed (by customer name in alphabetical order or by customer ID)?

    Question: Is there a function that displays all the customers and their order history? If not, should there be?

     

    A3.1 Add Product

    Description

    When the Administrator wants to add a new product, the administrator will input the information about the new product with the unique product Identification Number (ID). The process will check the validity of the product Identification Number (ID). If the Identification Number already exists in the system, an error message will be generated on the screen to notify the Administrator. Otherwise, the Administrator will be asked for confirmation to add the product. If confirmed, the information regarding the product will be added to the system. Then, the product list will be updated and a status message will be returned to the Administrator to ensure the addition has been completed.

    What information about the new product is input and how will the unique product id to be generated?

    What happen when errors occur? Will the user be prompted or will the system exit the process?

     

    A3.2 Modify Product

    Description

    When the Administrator wants to modify a particular product, he or she should input the product ID to the system. The process will check the validity of the product Identification Number (ID). If the Identification Number is not in the system, an error message will be generated on the screen to notify the Administrator. Otherwise, the Administrator will be asked for confirmation to modify the product. If confirmed, the information regarding the product will be modified in the system. The product list will be updated and a status message will be returned to the Administrator to ensure the modification has been completed.

     

    A3.3 Delete Product

    Description

    When the Administrator wants to delete a particular product, he or she should input the product ID to the system. Then, the process will check the validity of the product Identification Number (ID) . If the Identification Number does not exist in the system, an error message will be generated and printed on the screen to notify the Administrator. Otherwise, the Administrator will be asked for confirmation to delete the product. If confirmed, the information regarding the product will be deleted from the system. Then, the product list will be updated and a status message will be returned to the Administrator to ensure the deletion has been completed.

    Should the datastore "Order" be here, too (in case the product to be deleted has been ordered by a customer)?

     

    A3.4 List Products

    Description

    When the Administrator requests a list of products available in the system, he/she should send a request to the system. The process will gather all the information about those products from the product table and the full listing will be returned. The procedure to list products involves the Administrator clicking the button (which corresponds to "request" on the diagram above) to list all the products. This can then be printed if desired. Also, the Administrator can select and narrow down the list if desired.

    Can the administrater specify a range of products to be displayed (say, by product name in alphabetical order or by product ID range)?

    What order should be displayed? By product ID or product name?

    What information would actually be displayed about the products?

    How will the list actually be narrowed down? Does this imply a specifed range or just select and then delete or what?


     

    A4.1 Add Order

    Description

    The process to add a new order is shown in diagram format above. The arrows display the direction of data flow , the complete box labeled "Admin" is the user, and the box open on one side labeled "Order" is the data storage. The arrow with a line crossing it near the arrow head shows data being added to the data store. The procedure to add information of a new order involves the Administrator entering data as follows:

    1. Order ID
    2. Customer ID
    3. Salesperson ID
    4. Product ID
    5. Quantity
    6. Date (automatically entered)
    7. Subtotal (automatically entered)
    8. GST (automatically entered)
    9. Total (automatically entered)

    Once the information is recorded, the system will display a status message to ensure the data has been registered. (NOTE: If any of the ID numbers are not valid, then an error message will be displayed. The user must then either enter a valid ID or exit the Add New Order screen.)

    In the DD, there is the following:

     Name                         quantity
     Kind                         Attribute
     Type                         Integer 
     Description                  A non-key attribute of entity Order. 
                                  It describes how many forms of one type the 
                                  customer has ordered.
                                  The maximum value for this number 2**31.
    
    Comment: What is 2**31???? 2 to the power of 31???

    2)Several attributes such as sub-total, GST, total cost are missing in DD. In the DD, there is:

     Name                    Order
     Kind                    Entity
     Type                    @order ID + customer ID + salesperson ID + 
    		         product ID + quantity +
                             date + sub-total + GST + total cost
    
    Comment: Where are the definitions for sub-total, GST and total cost?

     

    A4.2 Modify Order

    Description

    The process to modify order is shown in diagram format above. The arrows display the direction of data flow , the complete box labeled "Admin" is the user, and the box open on one side labeled "Order" is the data storage. The procedure to modify the information of an existing order involves the Administrator modifying the desired information as follows:

    1. Customer ID
    2. Salesperson ID
    3. Product ID
    4. Quantity
    5. Date (automatically entered)
    6. Subtotal (automatically entered)
    7. GST (automatically entered)
    8. Total (automatically entered)

    Once the information is recorded, the system will display a status message to ensure the data has been registered. (NOTE: If any of the ID numbers are not valid, an error message will be displayed. The user must then either enter a valid ID or exit the Modify Order screen.)

     

    A4.3 List Order by Customer

    Description

    The process to list order by customer is shown in diagram format above. The arrows display the direction of data flow, the complete box labeled "Admin" is the user, and the box open on one side labeled "Order" is the data storage. The procedure to list order by customer involves the Administrator clicking the button (which corresponds to "request" on the diagram above) to list all the orders by a customer. This can then be printed if desired. Also, the Administrator can select and narrow down the list if desired.

    Shouldn't the "Order" data store be checked to see if there are any outstanding orders from the customer before deleting the customer?

     

    A4.4 List Order by Day

    Description

    The process to list order by day is shown in diagram format above. The arrows display the direction of data flow, the complete box labeled "Admin" is the user, and the box open on one side labeled "Order" is the data storage. The procedure to list order by day involves the Administrator clicking the button (which corresponds to "request" on the diagram above) to list all the orders on a date. This can then be printed if desired. Also, the Administrator can select and narrow down the list if desired.

     

    A4.5 List Order by Order Number

    Description

    The process to list order by order number is shown in diagram format above. The arrows display the direction of data flow, the complete box labeled "Admin" is the user, and the box open on one side labeled "Order" is the data storage. The procedure to list order by customer involves the Administrator clicking the button (which corresponds to "request" on the diagram above) to list all the orders by day. This can then be printed if desired. Also, the Administrator can select and narrow down the list if desired.