Separate classes in problem space from those in solution space

Identify classes by analyzing use case documentation

Differentiate between objects and classes based on object orientation fundamentals

Name and define classes

Name and define attributes and operations

Apply visibility (private, public) to attributes and operations

Study the strengths and weaknesses of classes