Object modeling is the process of designing the objects or classes through which an object-oriented application examines and manipulates some service. Numerous modeling techniques are possible; the Cocoa development environment does not recommend one over another.
Typically, the characteristics of a class should make sense in context. Aspects such as the names of the class itself, its variables, and its methods should be recognizable to a nonprogrammer who is familiar with the service being modeled. Exactly what classes you use in your application, what attributes each class has, and what the relationships are between the classes may depend on the way you present information to the user and how you expect the user to interact with your application.