Free Online Articles Directory
18.11.2008 Sign In Register Hello Guest
Email:
Password:
Remember Me 
forgot your password?


BOXES AND LINES

Author: Tim Bryce Author Ranking Gold | Posted: 26-07-2006 | Comments: 0 | Views: 2,328 | Rating:  (85) Article Popularity - Blue (?) Got a Question? Ask.
Sign Up Now!

"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
COMPUTER PROCEDURE FLOWCHART - defines the PROGRAMS in a Computer Procedure.

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.

For additional information on graphics in systems design, consult the following sections from the "PRIDE" Methodologies for IRM:

"PRIDE" Flowcharting Symbols

Layered Documentation

Graphics

Rate this Article: Current: 5 / 5 stars - 1 vote(s).

Article Source: http://www.articlesbase.com/programming-articles/boxes-and-lines-44003.html

Print this Article Print article   Email to a Friend Send to friend   Publish this Article on your Website Publish this Article   Send Author Feedback Author feedback  
Tim BryceAbout the Author:

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.

Submitting articles has become one of the most popular means to drive traffic to your website and promote yourself and your business. Join us today - It's Free!

Article Comments

Comment on this article Comment on this article
Your Name
Your Email:
Comment Body
Enter Validation Code: Captcha


Related Articles

Effective Screen Design
By: Tim Bryce | 02/06/2006 | Software
Designing a computer screen is essentially no different than designing a paper form. But since most of today's developers have little experience in forms design perhaps it is time to review some of the basic elements of good design.

System Design Backwards
By: Tim Bryce | 04/06/2008 | Programming
System Design technique which promotes "design correctness."

Managing Design Complexity
By: Tim Bryce | 05/06/2006 | Information Technology
Whereas foreign competitors talk in terms of enormous systems with hundreds of programs and millions of lines of code; large integrated systems tend to intimidate the most ardent of American developers. But this is not so much a story about competition as it is about understanding design complexity.

The Art of Persuasion
By: Tim Bryce | 01/06/2006 | Ask an Expert
Key to speech is the art of persuasion which is needed in order to lead people, sell ideas or products, conduct negotiations, and to simply argue a point.

Managing Consultants
By: Tim Bryce | 02/06/2006 | Corporate
There is nothing magical in managing consultants. It requires nothing more than simple planning, organization, and control. If you are not willing to do this, then do not be surprised with the results produced.

Diagnosing System Problems
By: Tim Bryce | 26/06/2006 | Programming
Okay, you've run your program debugger repetitively and everything checks out fine. But for some unknown reason, the whole system is inoperable.

The Moral Minority
By: Tim Bryce | 30/04/2007 | Parenting
Discusses the causes of the decline in morality and offers suggestions for correcting it.

The Adverse Effects of Technology - Part II
By: Tim Bryce | 20/07/2007 | Technology
A continuation of an earlier piece, "Adverse Effect of Technology."

Got a Question? Ask.

Ask the community a question about this article:

Frequently Asked Questions

Which one MA (MSc) or MBA is better for a BA (EPP) Student to become a Decision & Policy Maker at the Govt Level ?
By: Abdullah Barakzai | 19-10-2008
I have a question regarding MA (MSc) and MBA, actually I want to be a good policy and decision maker and want to work in high position in Government specially as a Director or in a Decision Making Board. So which one of the above courses are usfule and significant for me to become a policy & decision maker? Regards, Abdullah Barakzai from Afghanistan

MBA in india and MBA in overseas
By: sriram | 19-10-2008
what is the difference between MBA in india and MBA in overseas ? and if i hav done MBA in india my qualification is MBA and if so in u.s(overseas) wats my qualification MBA or M.S ? whats d difference between masters and mba ? can u plz help me out....

Product submission - yoga accessories
By: Raziiaa Merchandizing inc | 13-10-2008
We Manufacture high quality yoga accessories but we dont get much big orrder only small orders , which cause no profit at our end. regards S.Abash Raziiaa Merchandizing inc website:www.raziiaa.com

Need to find Mrs. Smith - husband passed away
By: Cheri Garnett Furr | 09-10-2008
Smith, Havana, FL

Where to fish in Cocoa
By: Lucille A. Ryczer | 04-10-2008
Where to fish in Cocoa

My son's father is a citezen of mexico, where he ...
By: sister5 | 04-10-2008
my son's father is a citezen of mexico, where he lives....can i have a friend bring our son down to his father if they meet at the border? this friend wil have our son;s birth certificae, social security card and temporary guardianship papers(which are not legal documents)

Q&A Powered by:
Powered by Yedda 

Latest Programming Articles

Tips for Buying Software Online
By: Daniel Jowssey | 17/11/2008
Buying software online not only helps save the planet, it also has other benefits, including: * Ease and Simplicity. You can purchase software in your underwear at 4am if you really want to. Shopping online doesn’t have to be done within regular business hours, nor do you need to look your best to do it. It’s also easy to shop around for the best prices and takes less time than driving to the shops.

Mvc Design Pattern
By: TuVinhSoft .,JSC | 14/11/2008
Model-view-controller (MVC) is an architectural pattern used in software engineering. In complex computer applications that present a large amount of data to the user, a developer often wishes to separate data (model) and user interface (View) concerns, so that changes to the user interface will not affect data handling, and that the data can be reorganized without changing the user interface.

Advantages of Low Cost Contract Programmers in Freelance Programming
By: Joanna Gadel | 12/11/2008
It observed that web industry is getting tougher thus the necessity of freelance contract programmer is required for developing more effective website with flexible features. This article states the fruitful advantages of freelance programmers in contract programming.

A Guide to Cnc Kits
By: Martin Applebaum | 09/11/2008
CNC kits are a way in which to construct your CNC machine. This article will provide some information on these machines.

A Guide to Cnc Tube Bending Machines
By: Martin Applebaum | 08/11/2008
Are you familiar with a CNC tube bending machine? This article will shed some light on the main function and components of this machine.

Ways to Hire Dedicated Php Programmers
By: Jucick | 08/11/2008
It’s not at all easy to hire dedicated PHP programmers unless you know where and how to find them. Whether you need to fix, update or enhance your website you naturally want the job done quick and right.

Top 4 Reasons Why Addressing Web Accessibility is Important
By: Matt Cave | 05/11/2008
There are very high chances that web accessibility is more important to the performance of your web site than you realize. Article takes a look at the top 4 reasons why it would be important to address the issue of web accessibility.

Xlphoto Printing, the Best Choice for Banner Printing and Poster Printing
By: Vikram Kumar | 01/11/2008
Suppose, you have visited a tourist spot or a hill station; over there, you have witnessed some of the mesmerizing locations of serene nature.

More from Tim Bryce

Matrimonial Territorialism
By: Tim Bryce | 29/10/2008 | Marriage
Understanding the boundaries in a marriage.

Moral Decay
By: Tim Bryce | 14/10/2008 | Ethics
Discusses how Moral Decay affects business.

Going it Alone?
By: Tim Bryce | 26/09/2008 | Entrepreneurship
Discusses the differences in working for Big/Small businesses.

Recognizing the Peter Principle
By: Tim Bryce | 16/07/2008 | Management
Describes how to identify the attributes of the Peter Principle.

A Corporate Policy for Personal Electronic Devices
By: Tim Bryce | 09/07/2008 | Management
Describes a proposed policy for controlling personal electronic devices in the workplace.

Socialistic Management
By: Tim Bryce | 02/07/2008 | Management
Describes the problems of "flexible management."

System Design Backwards
By: Tim Bryce | 04/06/2008 | Programming
System Design technique which promotes "design correctness."

Stepwise Refinement
By: Tim Bryce | 29/05/2008 | Programming
Discusses the concept of refining a design using a blueprint-like approach.

Article Categories





Give Feedback

Sign up for our email newsletter

Receive updates, enter your email below