Submitted by infojunkie on Sat, 2007-05-05 15:59.
The main classes of an object model correspond to domain entities discovered during the business analysis phase of the software project. For example, Employee, Customer, Product, Order, Invoice, all are entities that find their way to become classes and associated data tables. Often, if not always, these entities have a well-defined lifecycle specified by the business process being automated. For example, Invoice goes through several states of Draft, Approved, Sent, Returned, Paid, etc., with well-defined transitions, before becoming inactive and ready for archival. In simpler situations like Customer, there can be as little as two states Active/Inactive with no final end state.