This is an exercise of coding from Emily Bache. You can find all the info for develop this exercise here requierements.
For design this kata and maket it more understable our teacher provides us a diagram UML in order to build and implement classes, methods, attributes, inheritance..etc.