What is the problem?
What are the classes indicated by this problem?
For each class, what are its members? What are its methods?
What are the relationships between the classes?