Management Plan

The system will be broken down into two main classes of functions:

  1. Administration, and
  2. Sales.

In general, the sales functions will include all of the functions that are necessary in dealing with customers and taking orders. The administration functions will deal with things such as changing product information and prices. Company administrators would have access to both classes of functions, since it must be possible for supervisors to be able to override and modify sales transactions, while salespeople would only have access to the sales functions.

Sales features would include the following:

Administration features would include the following:

Most of the above features would need to be included in any reasonably complete system. By the end of February, we would anticipate having a minimal system capable of allowing staff to enter and modify customers, products, product types, sectors, locations, and orders. The interface for the system would be essentially in its final form by this point. Deletions of information from the database is somewhat more complicated, so functions that delete information will probably be left out of the minimal system. It may turn out that information does not ever need to be deleted from the system, and instead this information could simply be flagged as deleted, but remain in the database. As well as the deletions, the feature of creating the list of customers may not be included in the minimal system, as well as the ability to automatically total the bill.

Shortcuts:


Data Structures

The system would store data in a relational database. The database will include the following tables:


Regions do not have to be included since each region will have it's own system and the regions do not have to interact.

See diagram of relationships between tables These tables will include various information including unique IDs for each item and links to other tables.


Algorithms

The major algorithms that our system will be using deal with the determination of the routing for the salespeople and generating the list of customers to visit. To determine the route, we will divide each region into sectors. These sectors will be visited in a fixed order (which can be changed by an administrator). Sectors will be small enough that locations within a sector can be visited in the most convenient order. We don't want to force a salesperson to follow a rigid order, because customers might not always be available in the order that the system provides.


Each region can be broken in sectors. The number of sectors in each region should be set by the salesperson/administrator. (You can assume the region is always square). The sectors will not be visited in a set order. The program will determine the best route for all the sectors visited during a day. Each sector may have more than one adress to visit but these addresses do not need to be optimized. We wish to be very clear that the system, not the users, will determine the optimal ordering of the sectors. This is a requirement of the minimal system.


The system will generate a list of customers based on the date that they are expected to run out of any product. Each day, the customers who are expected to run out of product the soonest will be listed, along with relevant information such as what product they need and when they are expected to run out.

To determine the prices of orders, the following procedure will be followed:


Minimal System

Product Listing Window:

  1. The list of products will be available from any screen in the application. The products will be defined in this list by product id number, product name, product type, price/unit, and the quantity available in the warehouse.
  2. The user will be able to decide by what field the list will be sorted, and any filter criteria.
  3. If this window is opened from either the title page or administration window, any product information will be editable by clicking on the item and typing the changes. The editing option is disabled if the product listing window is opened from any other window.

Salesperson Route List Window:

  1. From the title page, the user will be able to access the present days route list. This listing will provide the customer id number, the order number, the company name, street address, city, province, status, and the contact person.
  2. By pressing a button, a hard copy of this list will be produced.

Customer Query Window:

  1. This window will be available from the title page of the application. It will show a listing of the customers by customer number, company name, street address, city, province, and phone number.
  2. A search can be implemented on any available field, and filters done by any applicable criteria.

Customer Information Window:

  1. This window is available from either the Customer Query Window or the Order Information Window. All of the customer information will be available here, including a listing of the previous orders made by that customer.
  2. Basic customer information will be available for editing and deleting. The customer number (defined by the system), and the previous orders will not be editable from this screen.
  3. The previous orders will be described by order number, order date, and payment and delivery information. Sorting or filtering will be available by any of these criteria.
  4. The option to create a new order for the customer will be available on this screen.

Order Information Window:

  1. The window will be available from either the Customer Query Window and the Customer Information Window. The information will be listed by product number, product name, product type, quantity ordered, applicable volume discount, and the total for that item.
  2. The order subtotal, other discount amount, shipping cost, tax information, and total will be displayed.
  3. This window will also display the order number, the date that the order was delivered, and the date on which the order was paid.
  4. The screen will enable the user to add or delete an item, indicate that the order was pre-delivered, and print a copy of the invoice for the order.


Possible Enhancements

Salesperson Route List Window:

    Some orders may not be delivered on the specified day. The ability for the salesperson to indicate that the orders were delivered (or not delivered) will be available if time to implement this permits. The minimal specification will assume that all orders that are expected to be delivered on a given day were delivered.

Administration Window:

    All specified administration functions will not be available in the minimal implementation. These will be added if time permits.