Employment

It is common in starting models to create the entity class Employee. This is a classic example of the flaw in data modeling that confuses the nature of a thing with the role that it plays. Employees are fundamentally people. The entity class of interest, then, must be Person, which we’ve already described in detail in Chapter 4. Clearly a person is not born an employee. Indeed, over the course of h’[(] life, ‘e may well play the role of being an employee in more than one company.

We need a different approach.

In fact, the Role of being an employee, as played by a Person for a Company is itself a thing of significance—albeit an abstract one. In Figure 13-1, this is shown by the entity class Employment, which is defined as “the fact ...

Get Enterprise Model Patterns: Describing the World (UML Version) now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.