During domain modeling, we essentially discover classes from use cases. Most likely, the nouns and noun phrases provide an indication of entities that would be considered objects and attributes, and verbs and verb phrases will likely become operations and associations. The key abstractions from the problem domain must be identified at the outset, which forms the basis of the static model of the system. Business requirements are implemented on top of the domain model, therefore the domain model is a foundational artifact on which the business and presentation components are dependent. During domain modeling, we also identify the relationships between the domain objects. The type of relationship between entities and the multiplicity associated with roles on either side of the relationship will provide guidance for the creation of the database schema required to persist the corresponding entities. To arrive at an optimum design, we iterate and refine the model through the analysis phase. This optimization process can also continue through the design phase. To understand the object modeling process, we suggest that you read Use Case Driven Object Modeling with UML by Doug Rosenberg [Object Modeling], which further elaborates on this subject.