Informal Requirements Specification

Calgary Foods
CPSC 451 Customer Group #2

Department of Computer Science
University of Calgary
16 January 1997

Page maintainer: terrence@cpsc.ucalgary.ca

  • Terrence Asgar-Deen
  • Patrick Chan
  • Thomas Hui
  • Carsten Jaeger
  • Matthew Johnson
  • Eddy Liu
  • Brian Low
  • Jordi Macdonald
  • Loan Nguyen
  • Raul Olivo
  • Jennifer Tottenham
  • Clinton Work
  • Original Informal Specification (taken from the CPSC 451 Course Lab Notes)

    Write a specification for a system linking supermarkets to a grocery supplier to process the ordering from one end and the invoicing from the other. Both sides should have strategies e.g. reorder when the stock drops to a certain level; do not invoice until the stock has been received. This requires the minimum data entry, but complete security.


    Introduction

    The Calgary Foods Supermarket chain is interested in a system to manage the ordering of inventory between an unspecified number of supermarkets and a single grocery supplier. For the supermarket, the system is required to track all current store inventory and to generate automated inventory restocking requests (hence forth known as purchase orders or POs) to be sent to the central grocery supplier. The grocery supplier will be required to accept the automated purchase orders and to generate shipment invoices. In addition, the system must maintain a complete purchase order and invoice trail for both filled and partially filled orders. Two major requirements of the system are complete security and fault tolerance with minimal down time.

    The following requirement specification is divided into three main sections. Section 1 contains the requirements of the supermarket. Section 2 contains the requirements of the grocery supplier. Section 3 contains requirements common to both the supermarket and grocery suppliers.


    The Supermarket

    At any given time, the supermarket maintains a large in-store inventory. A major requirement of the system is the maintenance of the entire store inventory. The minimal data that must be maintained for each item in the inventory includes:

    Daily Supermarket Operation

    Daily operation of the supermarket involves many employees and includes many diverse transactions. The system is required to manage these transaction in an efficient manner. Since the system involves many simultaneous inputs, data integrity must be maintained. System inputs include UPC scanning devices, on-shelf inventory increases by shipping personnel and adjustment of on-shelf inventory by department managers.

    The following list outlines operational requirements of the system:

    1. When a single inventory unit is sold at the supermarket cashier, the product sold is identified by UPC code. In addition, the product may be sold as a single unit or the product may be sold by weight.
    2. The adjustment of the in-store inventory in the following situations:
    3. Flexible querying of the system based on the following criteria:
    4. Modification of ordering status. This operation includes the following:
    5. Reordering of inventory
    6. Acceptance of shipments from the grocery supplier.
      Shipment invoices must be maintained in both electronic and hardcopy forms by the supermarket. Invoices list only products in the current shipment and their respective quantities. All shipments must be checked against the bill of ladening to ensure that the correct products and quantities have been received. Once a shipment is accepted, the electronic invoice is acknowledged as received and the shipment is added to the current supermarket inventory.
    7. Hardcopy reports. This includes but is not limited to the following output:
    8. The return of products to the supplier before an invoice is accepted. Invoices must be modified to reflect this problem. Products may be returned in the following circumstances:

    Purchase orders

    Another major requirement of the system is the maintenance of the supermarket's entire history of purchase orders. Operations on the history of purchase orders are limited to retrieval by purchase order number or date.

    Generated purchase orders are divided into three sections: header, body and footer. The header information includes a unique purchase order number, store identification code, pertinent store information, date and time the purchase order was generated and the relevant persons placing the order. Relevant persons include managers who approve orders and the persons generating manual orders. The body of the purchase order contains one product per line. Relevant product information includes the UPC, product description, quantity ordered, expected bulk unit price and the total cost of the product. The footer of the purchase order includes the total cost of the purchase. In addition, the footer contains signature lines when a hardcopy is generated. Hardcopies of all sent purchase orders are generated immediately for paper archival.

    In the case that a shipment partially fills an order, the system must maintain the total product amount received for the purchase order and the total amount pending. Each purchase order should be matched with a complete invoice trail that fulfills the purchase order.


    The Grocery Supplier

    The majority of the grocery supplier's operation is automated. Hence the set of operations is limited. However, the grocery supplier's system should also maintain their entire warehouse inventory. The minimal data that must be maintained for each item in the inventory includes:

    Supermarket Data

    For each supermarket connected to the grocery supplier, the system must maintain the supermarket's identification code, name, shipping address, contact person and phone number.

    Daily Supplier Operation

    1. Automated reception of orders.
      This includes archival and automatic hardcopy generation. The hardcopy should include the original purchase order and a list of products and quantities to be included in the shipment. Orders should be filled on a first-come-first-serve basis.
    2. User input of new warehouse inventory.
      Pending backorder are to automatically filled when the warehouse receives new inventory. Fulfilled back orders generate a hardcopy of the original purchase order and a list of products and quantities to be included in the shipment.
    3. Shipping an order.
      This action includes user generated invoices for a departing shipment. These invoices should contain only items in the shipment.
    4. Modification of inventory stock.
      This includes the addition, modification and deletion of products in the current inventory. These operations should be limited to privileged supplier personnel.
    5. Modification of supermarket data.
      This includes the addition, modification and deletion of supermarkets. These operations should be limited to privileged supplier personnel.
    6. Automatic update of supermarket system.
      This operation should occur daily to synchronize each supermarket's product information with the supplier's product information. The update should not modify the entire supermarket's product database.
    7. The adjustment of the warehouse inventory in the following situations:
    8. Handling of invoice accounting for the return of products from the supermarkets.

    Invoices

    Paralleling the supermarket's purchase orders, it is required that the grocery supplier's system maintain the entire purchase order and invoice history. Operations on this history are limited to retrieval by date, purchase order number or invoice number. In addition, each invoice must be matched to the corresponding purchase order.

    Generated invoices are divided into three sections: header, body and footer. The header information includes a unique invoice number, the corresponding purchase order number, receiving supermarket's identification code, pertinent store information, the date and time shipment leaves the warehouse and the person who approves the outgoing shipment. The body of the invoice contains one product per line. Relevant product information includes the UPC, product description, quantity shipped, bulk unit price and the total cost of the product. The footer of the purchase order includes the total cost of the shipment. In addition, the footer also contains signature lines when a hardcopy is generated. Hardcopies of all invoices are generated for paper archival.

    In the case of a partially filled shipment, the system must maintain the total amount shipped for each product on the invoice and the total amount pending.


    Common System Requirements

    Security

    The system should allow for an unspecified number of security levels. Intra-operational transactions must be secure within each subsystem. In addition, functions should not be accessible to users without sufficient authority. All functions and transactions must have assignable security levels. All inter-operation transactions between the supermarket and supplier subsystems must be secure.

    Backups

    The loss of data is unacceptable. A hardware and software backup implementation is required to minimize data loss.