Assignment Semester 1 1998 SFT2021/SFT3021
A Service Station System
This Assignment is based on a case study outlined by Coleman et al. in their text "Object-Oriented Development – The Fusion Method". A brief requirements document follows. Students may want to read the case study description from this text to learn from the expert authors' thinking process in arriving at the O-O model for the system. Students must also pay particular attention to the various deliverables produced as part of the modeling process. A careful study of the UML techniques as outlined in your recommended textbooks is suggested to work out the OO development approach. Students must use the static/dynamic architecture in conjunction with the various UML modeling diagrams to arrive at a fair distribution of load amongst members of the group.
Students are expected to work in groups of 3 and follow an incremental iterative cluster model for software development using Eiffel. You are required to submit a list of programming and associated documentation tasks (refer to contract.html under assignment on SFT2021/3021 web page) that you will be undertaking as part of the group assignment and get this contract signed by the tutor. Assessment is done on a progressive basis and it is imperative that group members work cooperatively and be assessed on a regular basis during the tutorials. Students will be judged on the basis of their contribution and the grades of individual members in a group may differ based on their contribution. Deliverables for the assignment are as agreed to and signed off with the contract document.
System Requirement
A Petrol Station requires a computer system to control its petrol operations such as the
monitoring of its tank levels, dispensing of petrol and also for handling customer payments.
The petrol service attendant has to enable the pumps before a customer can use the self-service pumps. When the pump is enabled, the pump motor starts (if not already on), with the pump clutch free. When the customer presses the trigger in the petrol bowser gun, it closes a microswitch, the clutch is engaged and petrol is pumped. When the customer releases the trigger, the clutch is released. A microswitch in the holder where the petrol gun is kept prevents petrol being pumped until the gun is taken out. The pump is disabled once the gun is placed back in the holder. Pressing the trigger at this point cannot dispense any petrol. The pump motor gets turned off after a short period of time unless the petrol is reenabled.
A metering equipment in the petrol line sends a pulse to the system for each 1/100 litre dispensed. The petrol pump displays the amount of litres dispensed and the cost.
Three grades of petrol – premium unleaded, unleaded & leaded (super) are dispensed from four pumps. Each pump takes its supply from one of three tanks, one tank for each grade. The tank level must not drop below 4% of the tanks’ capacity. If this happens, the pumps serviced by that tank cannot be enabled to dispense petrol.
Customers can pay for their transaction either by cash or credit card. A customer may request a receipt (for claiming purposes). If a customer leaves without paying for the petrol, the petrol attendant must annotate the customer transaction with car details such as the registration number. Transactions are archived at the end of each day and used in adhoc inquiries on sales.
Sita Ramakrishnan
Feb. 1998