This week's book giveaway is in the OCAJP forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide 1Z0-808 and have Jeanne Boyarsky & Scott Selikoff on-line! See this thread for details.
You would take up different approaches to identify classes like Noun phrase approach, CRC diagrams. Once the classes have been identified you would go ahead to identify the relationship among the classes and the attributes which would be present for each class. These are drawn out in a diagram using UML notations and there by giving you a class diagram. This diagram is not one time effort, it can be evolved as and when you get to know more about the system.
For identifying the methods of each class- one can usually draw collaboration diagram or sequence diagram for different usecases and then from here one can identify the methods involved in each class.