Framework Fundamentals: Level of Detail is a Function of a CELL
|As the OMG's Business Rules Working Group was preparing its Request for Information (RFI) document, the group's members discussed how the Framework related to this work. And, sometimes, the exchanges were not quite 'on the mark.' This column presents part of one exchange, where John stepped in to set the record straight on this often-misunderstood point.|
I was sent an email that contained the following TOTALLY INCORRECT assumptions about the Framework:
..."higher rows of ZF differ from lower ones largely by abstraction, by suppressing detail. In other words, rows are not different viewpoints (electrical, plumbing) (functional, non-functional) of same problem domain. ROWS [are] increasing greater level of detail as required by various observers or listeners to a story. Some observers require only a very high level of detail, while some require an in-depth, technical description of the story."
Once again, THE ABOVE IS TOTALLY INCORRECT!
HERE IS MY RESPONSE:
'Level of detail' is a function of the Cell, NOT of the Column. In any one Cell, you could have a high level of detail (that is, little detail), a medium level of detail, or an excruciating level of detail. Anyone who has EVER heard me talk has heard me say that ... "excruciating level of detail" is related to a Cell. What is making the Rows different is NOT more detail.
The Rows are different, that is, different models occur in every Row within any one Column. It is just like in classic building architecture ...
- Row 2 is expressing the usage constraints of the end result as expressed by the
"Owner" of the end result, e.g., the Architect's Drawings.
- Row 3 is expressing the constraints of the laws of nature as addressed by an
Architect (or "Designer"), e.g., the Architect's Plans. (In the Enterprise
domain, this would be the expression of the logical, systematic manner in which the
conceptual requirements of the Owner might be effected.)
- Row 4 expresses the constraints of the Builder in terms of the construction process
and machine tool technologies being employed, e.g., the Contractor's Plans.
- Row 5 expresses the "Sub-Contractor's" tool-specific constraints (out-of-context
- Row 1 is the "universe of discourse" relative to the analytical target. In the case of Enterprises, out of the total universe of Things, Processes, Locations, Organizations, Cycles, and Objectives, what is the subset relevant to this Enterprise that they are willing to put forth effort to manage?
Row 2, Row 3, and Row 4 are equivalent of Conceptual, Logical, and Physical, where:
- Conceptual is what the Owners have in mind as to what their Enterprise is or what they want it to be.
- Logical is the systematic expression of how the Owner's intent could be logically realized.
- Physical is the technology-constrained representation for implementation purposes.
Conceptual, Logical, Physical -- this is the equivalent of:
- the Work Breakdown Structure/Product Structure (Row 2),
- the Engineering Bill-of-Materials (Row 3), and
- the Manufacturing Engineering Bill-of-Materials (Row 4).
In other words, they are DIFFERENT ... NOT increasing levels of detail, because they are expressing different constraints.
In Column 1, for example, Row 2 is a model of the actual Things of the Enterprise that the Owners care enough about to manage. Row 3 is a model of the logical representations of the things of the Enterprise, which are DIFFERENT than the actual things because the "Designer" is trying to figure out how to keep track of the information (the filing system) needed to take inventories of all the Things of the Enterprise when the Owners need to know how many things there are or whether they are all present or not. Row 4 is a model of the technology manifestations of the Things, which are DIFFERENT that the logical representations of Things and DIFFERENT from the Things themselves, because the "Builder" is trying to figure out where to put the actual data about the things, which is going to take up space on some device and you want to make sure the same data is in the same place every time you send an arm in to grab it off of the disk (or whatever you are storing it on) and you don't want to wait for long periods of time while looking for the data.
This is REALLY important ... because you are trying to do different things with each different model. The models are RELATED to one another, but they are not the SAME model just in increasing levels of detail.
Any one Row model has to support the intent of the next higher Row or else you are going to have a quality problem. If the intent of any one Row is NOT supported by the next lower Row, when you get down to Row 6, the Row 6 implementation is not going to be "aligned" with the intent of the Owners of the Enterprise at Row 1/2.
Conceptual is like the card catalog in the library; Logical is like the Dewey Decimal System; and Physical is the shelf allocation for the books. Similarly, Conceptual is like the subject matter index, Logical is the file folder identification, and Physical is the location of the file folders in the file cabinets. Row 2 is the Architect's Drawings, Row 3 is the Architect's Plans, and Row 4 is the Contractor's Plans. Row 2 is the Customer's requirements, Row 3 is the Engineering Design, and Row 4 is the Manufacturing Engineering Design.
Why is it that those of us in the Data Processing Department are having so much trouble with this idea??? The Library people, the Document Management people, the Architecture and Construction people, and the Engineering and Manufacturing people don't seem to have any trouble with this at all!!
I hope this is helpful.
John A. Zachman
# # #