The design should include determining the appropriate attributes and methods for each class used in the program to solve the problem description.