This article first appeared in the April 1998 issue of the Journal of Conceptual Modeling.
Although the Unified Modeling Language (UML) facilitates software modeling, its object-oriented approach is arguably less than ideal for developing and validating conceptual data models with domain experts. Object Role Modeling (ORM) is a fact-oriented approach specifically designed to facilitate conceptual analysis and to minimize the impact on change. Since ORM models can be used to derive UML class diagrams, ORM offers benefits even to UML data modelers. This 10-part series provides a comparative overview of both approaches.
Part 1 provides some historical background on both approaches, identifies several design criteria for modeling languages, and discusses how object reference and single-valued attributes are modeled in both.