www.entitymodelling.org - entity modelling introduced from first principles - relational database design theory and practice - dependent type theory
Taking a bearing from a map, choosing a meal, calculating a trajectory, developing a new drug, if errors are made then it is preferable to find them early - before the impasse, the disappointment, the failed flight, the failed drug. So it is with computer programming and logical analysis of any kind - if errors are to be found, if systems are to fail, if rethinks are to ensue then better rethink or reprogram early rather than backtrack later. In software development, there is a class of errors called 'type errors' such as, in the context of logical analysis, philosopher Gilbert Ryle called 'category mistakes' or, more strikingly, 'category howlers' .
There is a class of programming language[the statically typed languages] in which type errors are not tolerated - they need to be fixed at the earliest possible stage - unless they are fixed the program cannot be deployed or executed. Use of such a programming language helps the programmer avoid such 'howlers' but H G Wells took Logicians to task for not helping 'thinking men' in avoiding such errors:
Other errors arise through confusions of context and some such, in programming parlance, are called scope violations. These arise when relationships are asserted between individuals whose contexts are a priori inconsistent with them. Scope violations are attempts to relate across contexts illegally.
Of all errors, in logical reckoning or in programming, category howlers and scope violations we need to fix; without fixing them we don't have proper basis to continue. To avoid these howlers we need to be clear about types and scopes - it is establishing clarity on types of entity and types and scoping of relationships that is the purpose of an entity model.