Acme Works just contracted you to design and build a set of coffee machines for their work place. There are mechanical designers taking care of all the mechanical parts of the machines. You are responsible for the machine's controlling software.
Acme's requirements are very simple. They want to sell coffee, with or without cream powder and sugar, for
Any other displays are up to you to decide on and design. There will be dispensers that can dispense a fixed amount of: cup, hot water, coffee powder, cream powder, sugar. You and the member of marketing who will be visiting your team can negotiate any other requirements you feel you need resolved.
The basic operations that your machine should be able to perform are (1) accept money (2) accept coffee selection (3) provide coffee (4) return change (5) allow refill of dispensers (6) handle boundary conditions such as insufficient money or material. You may add any other aspects of your own.
Acme has heard so much about this "object oriented" software stuff and all its benefits, that they want the controller designed using OO techniques. It can be implemented in C++, Java, Smalltalk, or even assembler or CLOS for all they cares. However, this is a simple problem, so they expects the job done fast. Since this is your team's first problem, they'll give you 45 mins to sort out your requirements, design process, argue and explain the design. You can use interaction diagram, collaboration diagram or any other technique showing how the machine operates.