Categories
- Arts & Entertainment
- Business
- Communications
- Computers
- Culture & Society
- Disease & Illness
- Fashion
- Finance
- Food & Beverage
- Health & Fitness
- Hobbies
- Home & Family
- Home Based Business
- Internet Business
- Legal
- Pets & Animals
- Politics
- Product Reviews
- Recreation & Sports
- Reference & Education
- Religion
- Self Improvement
- Shopping
- Travel & Leisure
- Vehicles
- Writing & Speaking
Information
Boxes and Lines
"Documentation is an inherent part of the design process."
- Bryce's Law
INTRODUCTION
I recently overheard a Business Analyst say there was more to systems architecture than drawing boxes and arrows on a piece of paper. This may be true to a degree, but the ultimate deliverable of any engineering/architectural practice is a set of drawings from which to build a product. Architects and engineers do not spend all of their time drawing diagrams; for example, they have to specify requirements and analyze such things as the stress of components to determine the suitability of materials for use in design. But aside from this, the end result of engineering or architecture, their deliverable, is a set of drawings, be it a blueprint, a floor plan, wiring diagram, plumbing, or a set of flowcharts.
Such drawings basically consist of boxes and arrows. Boxes (be it squares, rectangles, polygons, circles, etc.) represent tangible objects and lines represent relationships between such objects. Flowcharts are similar; here, boxes represent specific types of processes or decisions or objects such as inputs/outputs/files, and lines represent dependencies between them (comes from/goes to).
Although drawings typically consist of geometric shapes, it is not uncommon to include tables or indices to represent decisions or to provide a cross-reference. Nonetheless, boxes and lines represent the principal means to visualize and communicate a design regardless of the structure to be built, and have been used since time immemorial.
In addition to diagramming techniques, engineers and architects have found it useful to develop models and prototypes to evaluate the overall physical aspects of their design. These are useful but let us not forget they are all ultimately based on a design of some kind (boxes and lines). From the models and prototypes, designs can be adjusted as required.
I guess what I'm driving at is that despite all of this peripheral activity, and to refute my Business Analyst friend, the principal thrust of the engineer or architect is to produce and maintain a reliable set of drawings. It all comes down to boxes and lines. Interestingly, today's analysts and programmers think drawings are "old-hat" or pass?. I don't care whether you draw it with pencil and paper or by computer, documentation is an inherent part of the design process. Failure to recognize this is to deny reality.
In terms of the Information Systems industry, flowcharts have been used for years, well before the introduction of the commercial computer in business. Originally they included process diagrams; later they were used by programmers as a convenient means to document program logic. Such flowcharts typically made use of ANSI standard flowcharting symbols. But as the Structured Programming movement flourished in the late 1970's, ANSI symbols were considered archaic, and many new types of diagramming techniques emerged, including Bubble Diagrams, Data Structure Diagrams, E/R Diagrams, HIPO, VTOC, etc. (anybody remember Nassi-Schneiderman Charts?). I could argue the pros and cons of the various techniques but that is not the point. What is important is that all of these diagramming techniques acknowledged documentation as an inherent part of the design process.
Today, documentation of any kind is considered a taboo (particularly among the Agile Methodology people). Small wonder the IT Industry is experiencing the same type of problems today that we experienced 35 years ago in terms of managing design complexity.
BLUEPRINTING
It is a myth that one type of diagramming technique can be used for all development work. This would be like suggesting to use a wiring diagram to represent a floor plan. Different needs, different graphics, different purposes. There are actually four types of graphics to be used to the different levels of system design. This implies a blueprinting approach with various levels of abstraction, from general to specific. As we have discussed in the past, the "PRIDE"-Information Systems Engineering Methodology (ISEM) looks at a system as a product that can be engineered and manufactured like any other product and, as such, defines four levels of detail in a system's hierarchy:
LEVEL 1
SYSTEM
LEVEL 2
SUB-SYSTEMS (Business Processes)
LEVEL 3
PROCEDURES (Administrative and Computer)
LEVEL 4
PROGRAMS (for Computer Procedures)
OPERATIONS (for Administrative Procedures)
Four different levels, four different graphics used:
LEVEL 1
SYSTEM CONCEPT DIAGRAM - represents a freeform architectural rendering of the overall system.
LEVEL 2
SYSTEM FLOWCHART - defines the SUB-SYSTEMS of the System.
LEVEL 3
SUB-SYSTEM FLOWCHART - defines the PROCEDURES in a Sub-System (aka "Process Diagram").
LEVEL 4
Each level provides the specifications for the next (this is also known as "stepwise refinement"). With the exception of the System Concept Diagram, all of the flowcharts make use of ANSI standard symbols. As to the internal processing logic of a program, since there are many ways to skin a cat, the software structure diagram du jour is used, hopefully a standard one. However, a graphic may not be necessary to express the processing logic of a program. Instead, specifications may be interpreted by a program generator of some kind. Its a "fielder's choice."
CONCLUSION
Until such time as we can master the Vulcan "mind meld," whereby we can transfer knowledge telepathically, there will always be a need for documentation. Its an inherent part of the design process and the principal deliverable produced by engineers and architects. Don't deny it, accept it.
I am definitely not one for excessive documentation thereby becoming a burdensome task. Instead, documentation should be a natural byproduct of the design process. Just as blueprinting is an inherent part of the design process to architects and engineers, so should flowcharting be to system developers. And you shouldn't have to be a rocket scientist to draw a flowchart, keep it simple and try to use standard techniques for consistency instead of reinventing graphics every five minutes. As for me, I have no problem with ANSI standards; it works.
Tim Bryce is the Managing Director of M. Bryce & Associates (MBA) of Palm Harbor, Florida, a management consulting firm specializing in Information Resource Management (IRM). Mr. Bryce has over 30 years of experience in the field. He is available for training and consulting on an international basis. His corporate web page is at: http://www.phmainstreet.com/mba/
He can be contacted at: timb001@phmainstreet.com
Copyright 2006 MBA. All rights reserved.
Article source: Expert Articles
Most Recent Articles in Software category
- Sales Tracker - Find Out Why You Need Sales Tracker Software Today - By: Noeal Sean
Today if you are not able to have a good sales tracker on your side, you'll end up missing many opportunities and sales, and you just can't afford to do that today. It's important that you learn about sales tracker software and how you can use it to help improve and enhance your business today. - Benefits of the Citrix Resource Manager - By: Mark Waltzer
The advantages, configurations and how to use Citrix Resource Manager during system administration. - Software Application - An Essential Part of Every Business - By: Harminder Kaur
Contact Management Software are useful in ensuring that calls promised to customers are made, enquiry calls are returned providing the necessary information asked by the customer, call to check if goods are delivered as promised, makes sure that customer relationship executive has access to the data if a customer calls etc - Designing Interfaces for Exchanging Data with Learning Management System Implementations - By: Dana Fine
When a company purchases and implements a learning management system (LMS), they often need an interface to connect it to other systems used by the organization such as SAP, PeopleSoft, and others. Interfaces from one system to another are created so data can be updated, imported, or exported depending upon the individual business case. This article is a primer on HRIS (Human Resources Information System) and Active Directory using LDAP (Lightweight Directory Access Protocol) Interfaces, which are often required when implementing the exchange of relevant user/employee data with the Learning Management System. This article will supply guidelines to consider when preparing to work with a company or an internal team that will design and implement these interfaces (custom programming services). - Create Digital Photo Albums with PowerPoint 2007 - By: May White White
You may have precious photographs or important business pictures from time to time. A PowerPoint photo album is just a presentation that helps you store and display these photos in a digital way. - About 3 Popular Process Managers - By: Dan Jones
A large number of computer users don't realize that they are probably running a number of unnecessary programs in the background that tie up system resources and slow down the system. Process mangers will help you to administrate your running process, release your system resources and speed up your PC at the same time. - Using Avidian for Your Sales Software Management - By: Noeal Sean
Sales software manage is one of the most powerful tools available to companies today. By using an effective and powerful program you can increase the productivity of your sales force, thereby increasing the profit your company brings in: simple math, simple concept but a not so simple thing to execute. - Benifits of Anti-virus, anti-spyware and registry cleaning - By: Alexis Martin
If you use the internet you have probably come across a virus or spyware of some type. Even the most savvy internet users fall victim to this at least once or twice. This article will explain what anti-virus, anti-spyware, and registry cleaning software do for your computer and why they are important for the health of your computer. - Communicate in an extraordinary way - By: Victor Cambell
An efficient flash based web chat application that supports major flash servers like Red5 and FMS. Provides a feature rich user friendly interface for flash text chat with audio and video conference. - Computer Optimization Services - By: James Larry
Computer optimization helps to clean the mess collected on your system's hard disk. You can see random improvements in your computer's working. Once your Pc is optimized, you not be annoyed by any pop-ups or futile programs.
