| "Documentation is an inherent part of the | | | | IT Industry is experiencing the same type of |
| design process." - Bryce's Law | | | | problems today that we experienced 35 years |
| | | | ago in terms of managing design complexity. |
| INTRODUCTION | | | | |
| | | | BLUEPRINTING |
| I recently overheard a Business Analyst say | | | | |
| there was more to systems architecture than | | | | It is a myth that one type of diagramming |
| drawing boxes and arrows on a piece of paper. | | | | technique can be used for all development |
| This may be true to a degree, but the | | | | work. This would be like suggesting to use a |
| ultimate deliverable of any engineering | | | | wiring diagram to represent a floor plan. |
| architectural practice is a set of drawings | | | | Different needs, different graphics, |
| from which to build a product. Architects | | | | different purposes. There are actually four |
| and engineers do not spend all of their time | | | | types of graphics to be used to the different |
| drawing diagrams; for example, they have to | | | | levels of system design. This implies a |
| specify requirements and analyze such things | | | | blueprinting approach with various levels of |
| as the stress of components to determine the | | | | abstraction, from general to specific. As we |
| suitability of materials for use in design. | | | | have discussed in the past, the |
| But aside from this, the end result of | | | | "PRIDE"-Information Systems Engineering |
| engineering or architecture, their | | | | Methodology (ISEM) looks at a system as a |
| deliverable, is a set of drawings, be it a | | | | product that can be engineered and |
| blueprint, a floor plan, wiring diagram, | | | | manufactured like any other product and, as |
| plumbing, or a set of flowcharts. | | | | such, defines four levels of detail in a |
| | | | system's hierarchy: |
| Such drawings basically consist of boxes and | | | | |
| arrows. Boxes (be it squares, rectangles, | | | | LEVEL 1 SYSTEM |
| polygons, circles, etc.) represent tangible | | | | |
| objects and lines represent relationships | | | | LEVEL 2 SUB-SYSTEMS (Business Processes) |
| between such objects. Flowcharts are | | | | |
| similar; here, boxes represent specific types | | | | LEVEL 3 PROCEDURES (Administrative and |
| of processes or decisions or objects such as | | | | Computer) |
| inputs/outputs/files, and lines represent | | | | |
| dependencies between them (comes from/goes | | | | LEVEL 4 PROGRAMS (for Computer Procedures) |
| to). | | | | OPERATIONS (for Administrative Procedures) |
| | | | |
| Although drawings typically consist of | | | | Four different levels, four different |
| geometric shapes, it is not uncommon to | | | | graphics used: |
| include tables or indices to represent | | | | |
| decisions or to provide a cross-reference. | | | | LEVEL 1 SYSTEM CONCEPT DIAGRAM - represents a |
| Nonetheless, boxes and lines represent the | | | | freeform architectural rendering of the |
| principal means to visualize and communicate | | | | overall system. |
| a design regardless of the structure to be | | | | |
| built, and have been used since time | | | | LEVEL 2 SYSTEM FLOWCHART - defines the |
| immemorial. | | | | SUB-SYSTEMS of the System. |
| | | | |
| In addition to diagramming techniques, | | | | LEVEL 3 SUB-SYSTEM FLOWCHART - defines the |
| engineers and architects have found it useful | | | | PROCEDURES in a Sub-System (aka "Process |
| to develop models and prototypes to evaluate | | | | Diagram"). |
| the overall physical aspects of their design. | | | | |
| These are useful but let us not forget they | | | | LEVEL 4 |
| are all ultimately based on a design of some | | | | |
| kind (boxes and lines). From the models and | | | | COMPUTER PROCEDURE FLOWCHART - defines the |
| prototypes, designs can be adjusted as | | | | PROGRAMS in a Computer Procedure. |
| required. | | | | |
| | | | Each level provides the specifications for |
| I guess what I'm driving at is that despite | | | | the next (this is also known as "stepwise |
| all of this peripheral activity, and to | | | | refinement"). With the exception of the |
| refute my Business Analyst friend, the | | | | System Concept Diagram, all of the flowcharts |
| principal thrust of the engineer or architect | | | | make use of ANSI standard symbols. As to the |
| is to produce and maintain a reliable set of | | | | internal processing logic of a program, since |
| drawings. It all comes down to boxes and | | | | there are many ways to skin a cat, the |
| lines. Interestingly, today's analysts and | | | | software structure diagram du jour is used, |
| programmers think drawings are "old-hat" or | | | | hopefully a standard one. However, a graphic |
| passé. I don't care whether you draw it | | | | may not be necessary to express the |
| with pencil and paper or by computer, | | | | processing logic of a program. Instead, |
| documentation is an inherent part of the | | | | specifications may be interpreted by a |
| design process. Failure to recognize this is | | | | program generator of some kind. Its a |
| to deny reality. | | | | "fielder's choice." |
| | | | |
| In terms of the Information Systems industry, | | | | CONCLUSION |
| flowcharts have been used for years, well | | | | |
| before the introduction of the commercial | | | | Until such time as we can master the Vulcan |
| computer in business. Originally they | | | | "mind meld," whereby we can transfer |
| included process diagrams; later they were | | | | knowledge telepathically, there will always |
| used by programmers as a convenient means to | | | | be a need for documentation. Its an inherent |
| document program logic. Such flowcharts | | | | part of the design process and the principal |
| typically made use of ANSI standard | | | | deliverable produced by engineers and |
| flowcharting symbols. But as the Structured | | | | architects. Don't deny it, accept it. |
| Programming movement flourished in the late | | | | |
| 1970's, ANSI symbols were considered archaic, | | | | I am definitely not one for excessive |
| and many new types of diagramming techniques | | | | documentation thereby becoming a burdensome |
| emerged, including Bubble Diagrams, Data | | | | task. Instead, documentation should be a |
| Structure Diagrams, E/R Diagrams, HIPO, VTOC, | | | | natural byproduct of the design process. |
| etc. (anybody remember Nassi-Schneiderman | | | | Just as blueprinting is an inherent part of |
| Charts?). I could argue the pros and cons of | | | | the design process to architects and |
| the various techniques but that is not the | | | | engineers, so should flowcharting be to |
| point. What is important is that all of | | | | system developers. And you shouldn't have to |
| these diagramming techniques acknowledged | | | | be a rocket scientist to draw a flowchart, |
| documentation as an inherent part of the | | | | keep it simple and try to use standard |
| design process. | | | | techniques for consistency instead of |
| | | | reinventing graphics every five minutes. As |
| Today, documentation of any kind is | | | | for me, I have no problem with ANSI |
| considered a taboo (particularly among the | | | | standards; it works. |
| Agile Methodology people). Small wonder the | | | | |