April
1998
Issue: 1
Journal of Conceptual Modeling
www.inconcept.com/jcm
Death and
Taxes
by John M. Miller
It has been said that the only certainties in life are death and taxes. If this is true, then everything else is liable to change at one point or another. If you exclude death and taxes then change is the third certainty.
If so, then everything else lies in the realm of the possible, the probable, and the uncertain. Computers are not very good at dealing with uncertainties. For that matter, neither are people. In order to make the world manageable to people, and in turn computers, we restrict our attention to a small subset of the real world. This allows us to focus on the certainties that exist within this subset and ignore anything outside of our limited focus that contradicts these certainties. An information model is not a representation of the real world, it is a representation of a small idealized portion of the real world.
There are two consequences when you limit the focus or scope of an information model. The first consequence is that the model becomes much simpler. Since all things in the real world are related, if you attempt to model the real world, you end up modeling the whole world. Therefore simplifying the model is a necessity.
The second consequence is that a simplified model is subject to stress should the scope change. If any of the inconsistencies that were eliminated when the scope of the model was established turn out to be relevant, it will have a significant impact on the model. The implications of this are that the decisions made in establishing scope are crucial in producing a stable model.
A good example of the need for defining scope is an address. What defines a valid address in the real world varies enormously and there is no universal definition of an address. What would seem like an easy model often turns out to be quite complicated and I've spent hours in discussions with clients on the definition of an address. Is country relevant? Are countries, state, provinces, regions, counties and cities entities or values? What is the relationship between postal code and city, county, state, region province and country? As the definition of an address gets more complex the implications of that complexity become more burdensome. Do I need a table of all the cities in every country in the world?
In order to be productive we must simplify. The more we simplify the less stable the model becomes.
Uncertainties in the real world are eliminated from a model by means of assertions. Assertions are statements we believe to be true. When something is asserted as being true, it eliminates one or more other possibilities and as far as the model is concerned it become as certain as death and taxes.
If we assert that an address consists of only a street number, a street name, a suite or apartment number, a city, a state and a zip code then we can eliminate the complexities of international addresses. However, we still have to deal with the relationships between city, state and zip code. Should country ever become relevant again in the future then model would have to be changed to deal with the added complexities.
A model is merely a snapshot of what was believed to be true at the time it was created. Because the model is a simplification of the real world it is constantly subject to having its assertions called into question. Therefore it is important to document a models assertions in order to understand the implications of change on a model. The more formal and precise the documentation the easier it is to identify the implications of change.
ORM is a formal language for precisely stating what is believed to be true. While ORM has been used primarily as tool for creating database schemas, its ability to document the scope of design is important to all aspects of information system implementation. ORM can be used to understand the impact of change on a system. This makes an information system less like to be adversely impacted when change does occur. Ultimately it allows a system to be modeled closer to the way that the real world works. Which is the key to increasing productivity.
![]()
John M. Miller is an information systems consultant. His company, Perpetual Data Systems, uses ORM as a part of their application development methodology.
jMiller@pdata.com
http://www.pdata.com
![]()
© Copyright, 1998-2004 InConcept
(Information Conceptual Modeling, Inc.) All
Rights Reserved. Privacy Statement.
ISSN: 1533-3825