We've an empty box with holes in it. These holes represent eight different viewpoints, each uniquely able to help the solution designer focus on a specific aspect of their work - so long as the viewpoint is looking at.. what?
What do we put in the box?
The trite answer is "the full design model of the system we're interested in designing, understanding or communicating". But what does that mean? Oddly, that's a harder question than it might first seem, and one that I took years to get my head around. Because it needs me to introduce another concept - that of "a view", which for almost all my career I failed to understand.
If a viewpoint is the point from which you observe something, then a view is what you see. And what you see you may choose to "document" as a photograph (such as a postcard of a holiday resort, taken from the clifftop), or maybe as a list of all the things in sight (a bill-of-materials of all the things in an engine), or as a series of statements about how "good" what you see is ("this room needs decorating, but the electrical wiring is sound").
(As a point in passing, in our world - as compared to the real world of seaside postcards(!) we take this idea one stage further, by formally specifying the notation we will use to document the view we see from the viewpoint - for example defining the shapes of the symbols we'll use to represent the parts we're looking at, or defining the column headings of the table recording the part's details.)
But... and here's the rub... we have an instinctive tendency to think of the view as being the real thing, and not a view of the real thing. Why? I think it's because, unlike the seaside postcard and the real village it's a picture of, we've never had "the real thing" in front of us. Why? Because our real thing is actually a model of the real thing! (The real thing - the computer system - may even not yet exist!) As a consequence we've only ever been able to create views of it, in things some choose to call "artifacts", others "work products", and maybe even "deliverables". And we reason about these views as being the model... models... of the yet-to-be-created real thing.
I believe we need to take a leaf out of the real engineers' notebook - the leaf marked "Computer Aided Design". Back in 1980 I was creating models of the insides of aero-engines in FORTRAN on my PDP/11 - yes, models: large complex data files documenting the structure of 100's of interconnected parts, read into memory as a "gigantic semantic net" and subjected to "external forces" tht my code analysed using FDM - "finite difference modelling". But at no time could I "see" my model - it was inside the computer as a load of 0's and 1's. Rather, I had to create reports, long tables documenting each part's temperature or some other parameter that I then used to colour-in a picture on graph paper. I knew that the graph paper was only a representation of the FORTRAN model, it was not the model - the only way of changing the colours on the paper was to change the model.
So, having forgotten all about aero-engines and CAD, the stuff in my box had been the artifacts documenting the views I'd choosen to see from some or all of my eight viewpoints, each quite independent of the other - if I chose to change something in one view (an observation from a specific viewpoint), nothing would happen in any of the other views - you would not know there'd been a change if you looked into the box from another viewpoint.
But now my box is full of the CAD model, whose views are all rendered according to formal notations from the box's eight viewpoints.
Now, and this is the magic bit, reach into the cardboard box through one of the viewpoints (that's why they're actually holes!) and change the model. This time, because it's the model you're changing, the change is seen from the other seven viewpoints, and immediately rendered in those viewpoints' views! So if the software engineer changes their mind - a simple change of of a part's name, or an alteration to the model's structure; that change is seen in the views observed by the systems engineer from their viewpoints. Indeed, it's magic!
No comments:
Post a Comment