This exercise will be done in groups of two.
Now that you’ve got some experience with various UML diagrams, let’s see if you can apply what you learned to a different system!
Choose one of the following systems for your exercise:
- Group Diary
A group diary and time management system is intended to support the timetabling of meetings and appointments across a group of co-workers. When an appointment is to be made that involves a number of people, the system finds a common slot in each of their diaries and arranges the appointment for that time. If no common slots are available, it interacts with the user to rearrange his or her personal diary to make room for the appointment.
For the bored: Announce successful meetings per email. Permit people to block out personal time. Set up provisional meetings that must be confirmed by all participants before they are finalized.
- Gas station
A gas station is to be set up for fully automated operation. Drivers swipe their credit card through a reader connected to the pump; the card is verified by communication with a credit company computer; and a fuel limit is established. The driver may then take the fuel required. When fuel delivery is complete and the pump hose is returned to its holster, the driver’s credit card account is debited with the cost of the fuel taken. The credit card is returned after debiting. If the card is invalid, the pump returns it before fuel is dispensed.
For the bored: Return the credit card right after verification and design some method for giving the driver a receipt only if one is requested.
- Identify possible objects in your system and develop an object-oriented design for it. You may make any reasonable assumtions about the systems when deriving the design.
- Draw a sequence diagram showing the interactions of objects in your system.
- Draw a statechart showing the possible state changes in one or more of the objects defined.
- Write a precise interface in Java of the objects you have defined.
As always, your exercise should be submitted with some observations on the process, some reflection on what you achieved, and the time you needed to complete the task.