Requirements for a fuel delivery system

Below is a top-level requirements definition for the whole system and would be supplemented by more detailed definitions.

1. Fuel delivery system

1.1 The system should provide an unattended fuel delivery service where a specified amount of fuel is delivered to customers. The cost is deducted from the customer's credit card account.

1.2 The sequence of actions to dispense fuel should be:

  1. The customer selects the type of fuel to be delivered.

  2. The customer inputs either a cash limit or a maximum amount of fuel to be delivered.

  3. The customer validates the transaction by providing credit card account details.

    Rationale: The amount of fuel allowed depends on the credit limit but customers may wish to 'fill up' rather than have a specified amount of fuel. By specifying a maximum, the system can check if credit is available. Note the definition does not set out how credit card details should be provided.

  4. The pump is activated and fuel is delivered, under customer control.

  5. The transaction is terminated either when the pump nozzle is returned to its holster for 15 seconds or when the customer's fuel or cash limit is reached.

    Rationale: Termination should not be immediate when the nozzle is returned as the customer may wish to restart the transaction e.g. to fill a fuel can as well as the car fuel tank. If a pump display is available, it may be appropriate to issue a 'Please wait for your receipt' message.

  6. A receipt is printed for the customer.

  7. The fuel stock is updated.

Specification: PUMP_SYS/FS. Section 1