- Morning Section (02): Monday, February 18 (11:59pm)
- Evening Section (01): Tuesday, February 19 (11:59pm)
Homework can submitted via email or printout by deadline.
- Functional requirement
- Product requirement (non-functional)
- Organizational requirement (non-functional)
- External requirement (non-functional)
This question had the unintentional effect of demonstrating how natural language requirements can be ambiguous. A variety of answers were appropriate in some cases
An unattended gasoline pump (such as you would find everywhere but in New Jersey) that accept payments by credit card. To operate, the customer swipes the card through the reader and specifies the amount of fuel required. The fuel is delivered and the customer's credit card is charged accordingly.
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.
1.2. The sequence of actions to dispense fuel should be:
- The customer selects the type of fuel to be delivered.
- The customer inputs either 'fill up' or a maximum amount of fuel to be delivered.
- The customer validates the transaction by swiping their card through the card reader.
Note: If the transaction cannot be validated (due to a credit limit, or invalid credit card), the customer cannot proceed.
Rationale: The amount of fuel allowed depends on the credit limit but customers may wish to 'fill up' rather than have a special amount of fuel. By specifying a maximum, the system can verify that sufficient credit is available.- The pump is activated.
- The customer takes the pump nozzle out of its holster and pumps fuel.
- The transaction is terminated either when the pump nozzle is returned to its holster for 15 seconds, when the customers fuel or cash limit is reached, or when 1 minute has elapsed without the pump nozzle ever having been removed from its holder.
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.- A receipt is printed for the customer.