In my next column, we'll explore this model as the source for a database schema. Developers working on other tiers of an application use object modeling tools to design components or classes used by applications. Whether creating databases or application objects, modeling lets you apply formal techniques, including design-time validation, before you build a physical database or application objects. For a rigorous design, software professionals might use ORM for databases and UML for components. The short answer is quality.
Developers face a challenge when developing complex databases or applications having many objects.
For example, if you're building an e-commerce Web site, you're likely to create models that include objects such as customers, orders, payments, shipments, invoices, and so on. As you add more functionality to your Web applications, you add more complexity to databases and software. Decades of software quality-assurance research have revealed certain axioms. A major finding was that most application flaws and bugs are the result of a deficient design. Studies have shown that the expense of correcting errors increases as a project progresses through the development and deployment cycle.