I LIKE TO DESIGN A PETROL STATION APPLICATION USING C#
The festive season is around the corner and many families will be travelling to their holiday destinations. This period is a fantastic opportunity for ‘Fuelling Around, Ltd’ to make up for the lower than expected profits earlier in the year.
They therefore must ensure that the petrol station is working at full capacity and as efficiently as possible in order to maximise profits. The issue of efficient fuelling is paramount as drivers are normally very agitated during the holiday as they drive long distances with children in the car, which can be somewhat stressful to the parents.
Last year, long delays in fuelling at our station resulted in many drivers turning around and fuelling at the neighbouring station, which is only 2 miles down the motorway.
The management at ‘Fuelling Around, Ltd’ fully recognise that a fuel attendant is pivotal to the success of this operation, which is why they have decided to incentivise them by adding a commission of 1% of the total fuel money they sell to their hourly rate of £5.90. This works out as 8 hours shift * £5.90 + 1% of the total fuel they sell during that shift.
The app refers to a forecourt with 9 fuel pumps arranged over 3 lanes (three pumps in each lane). For the purpose of demonstrating the app to the customer, each n number of seconds (where n is random) a vehicle is created and awaits to be fuelled.
The fuelling takes place by pressing on the pump number you wish to fuel the vehicle from (1-9). To add to realism of the demonstration and to account for drivers’ agitation there is a finite period of time to fuel a waiting vehicle before it leaves the forecourt.
That period is set to a number of seconds (which is random). Should the vehicle not be fuelled during that period of time, it will leave the forecourt. Similarly, a vehicle that was successfully fuelled also leaves the forecourt, only this time the amount of fuel dispensed is recorded.
A pump cannot service more than one vehicle at a time and the following counters have to be kept:
(1) Running total of the number of litres dispensed during the app’s lifetime;
(2) The amount of money these litres equate to;
(3) The 1% commission;
(4) The number of vehicles serviced
(5) The number of vehicles that left before they were fuelled
Additionally, it would be useful to log a detailed list of each fuelling transaction – [Vehicle type, Number of litres and Pump number]. You are free to choose a sensible cost per litre.
Figure 1: Forcourt Layout
Before deciding which level of functionality to implement, please read carefully what is required in each level. You need to assess whether or not you are able to implement the level of functionality you chose within the time available to you. It is better to scale up the implementation should you have time. Please make sure that you leave enough time for carrying out the testing phase as well as writing a user guide.
Core functionality: (for a maximum mark of 50% to 59%)
A new vehicle is created exactly every 1.5 seconds. (No need to randomise this timer at this level)
The attendant presses the number of an available pump to send a car to it.
When a vehicle is sent to a pump, the fuelling process will take 18 seconds. At the end of the 18 seconds the number of litres dispensed is recorded and the vehicle leaves the forecourt, freeing the pump for use.
The Pump is capable of dispensing 1.5 litres / second.
At this level, a newly created vehicle can wait until it is sent to a pump without a time limit.
Counters 1 to 5 have to be implemented (See App Description for detail).
At this level, there is only one type of fuel (Unleaded) and one type of vehicle that ever gets serviced by the petrol station.
Hi ! I have read all your description. I am professional C# developer. I am sure high quality, good communication. Please contact me and Let's go ahead ! Thanks.