Problem Statement - Case Study : Simulation of a Parking System
Consider a Parking System with a machine, handling parking process and payment
process. This machine has a card slot-in and slot-out, a customer console (keypad and
display) for interaction, a cash collector and a cash dispenser. The machine will also have
a key-operated switch that will allow an operator to switch on and switch off the
machine. Until the machine is turned on, no operations can be started.
The machine will serve one customer at a time. Upon activation, a menu of operation
must be displayed to the customer for selecting the intended operation. A customer will
be required to make a selection. The customer should be able to perform one or more
transactions during each session.
The machine must be able to provide the following services to the customer :
1. Checking parking spaces in a multi level car park. All level parking space need to
be displayed for customer reference. This service might be provided in other
operations as well, as an update.
2. Parking a car. Customer needs to choose the parking level. A customer can only
park a car if there is an available space on the selected level. Therefore a customer
may choose again the level that he wishes to park. Once a customer successfully
parked the car, he needs to collect the parking ticket. The information related to
parking space must be updated in the system.
- Ticket payment. A customer must be able to pay for the parking, by
indicating the number of hours parked. An hour is charged RM 1, with maximum of
RM 20 per day. A fine of RM 50 is imposed if the customer lost the parking ticket.
However, the machine can only accept the following cash : RM10, RM5, RM1, 50
cents, 20 cents and 10 cents. The machine should display the running balance of
payment that customer is paying, to promote continuous interaction between
customer and system. Any extra payment made by customer must be indicated as a
change by displaying its value. At the end, a message to collect the parking ticket will
- Cancel an operation. The customer may cancel the operation selection in menu or
abort a transaction in progress, instead of responding to a request from the machine.