Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
A Tutorial
NED CHAPIN
The ISO and ANSI X3.5 standard flowchart symbols and their usage in
reformation processing are explained and examples given. The two main
categories of flowchart--the system chart or run diagram, and the flow
diagram or block diagram--are stressed. For each, the outline symbols and
their manner of use are presented, as well as gmdehnes and conventions, such
as cross-referencing. In the case of flow diagrams, notation is presented for
use within the outhne symbols.
Key words and phrases: standards, flowchart, flow diagram, system chart, run
diagram, block dmgram, program flowchart, documentation, outlines, boxes,
notation, symbols, program description, system description, algorithm
statement, communication
CR categories: 1 3, 2.2, 2.43, 4.0
can Standards Association,2 with the com- This means that the user of the standard is free
mittee members drawn from computer vendors to draw outlines of any size to fit his own
and a few major computer users, the committee convenience. He may vary the size from time to
after the usual compromises drew up a time during the course of his flowchart, but he
proposed standard and circu-lated it for is to observe the ratio and general configuration
reaction. With revisions, it was approved in specified. For those who do not have ready
1963 and published as an American Standard. access to the standard, the Appendix to this
The Association for Computing Machinery and paper summarizes the ratios and config-
other groups published this standard in their urations.
periodi-cals, giving it considerable publicity
(see, for example, [1]). This standardization The standard implicity advances the use of a
effort in the United States paralleled a similar single width or weight of line for drawing the
effort conducted for the Interna-tional outlines. It also implicitly ad-vances a single
Standards Organization (ISO). orientation or positioning of the outhnes with
respect to each other. In particular, portions of
Subsequently, in 1965 and again in 1966, the outlines shown horizontally oriented in the
1968, and 1970, the American Stand-ard was stand-ard are to be drawn that way.
revised. The 1965 revision was major, but the
1966 and 1968 revisions were only minor. The
1970 revision ex-tended the standard to match Basic Outlines
more closely the ISO standard. The standard as The basic outlines specified in the standard
it is presented in this tutorial paper is the ANSI are the input-output, the process, the flowline,
1970 revision [2]. Since this is a tutorial paper, and the annotation outlines. These are
it does not cover every part of the standard, nor illustrated in Figure 1 and de-scribed in the
every variation in the use of the standard. Appendix.
The input-output outline indicates an input or
output operation, or input or out-put data. It is
defined for use irrespective of media, format,
ANSI STANDARD
equipment, and timing. Some speciahzed
outlines may be substi-tuted for this outline.
Outlines
The ANSI standard consists, in the first The process outline is the general purpose
place, of a series of graphic outlines or boxes, outline. It is the de ]acto default outline for use
which the standard terms "symbols." The when no other outline is specified by the
standard. The process outline indi-cates data
standard advances these flowchart outlines in
transformation, data movement, and logic
three groups: the basic, the additional, and the
operations. Some specialized out-lines may be
specialized. Complete flowcharts can be drawn substituted for this outline.
using only the basic and the additional outlines.
The use of the specialized outlines is optional. The flowline outline is an arrow of any
If they are used, however, they should be used length which connects successive other outlines
in a manner consistent with the standard. to indicate the sequence of opera-tions or data
(the "direction of flow"). It is defined for use in
an alternating fashion with the other outlines.
For the outlines in each group, the standard As such, it also indicates the sequence in which
specifies the shape, but not the size. The shape the other outlines are to be read. To specify the
is specified in two ways: by the ratio of the direction of flow or reading, open arrow-heads
width to the height and by the general may be used on any flowline as shown in
geometric configuration. Figure 1.
2 As of 1969. t h e A m e r m a n N a t i o n a l S t a n d a r d s I
n - s t i t u t e ( A N S I ) . 1430 B r o a d w a y , N e w York ,
The normal direction of flow is. the normal
N Y. 10018. direction of reading for people
] Document
stylization of a torn piece of paper, repre-sents
data in the form of hard copy input or output of
any type. For example, it may represent data
taking the form of printing on paper produced
by a high speed printer, or of marks on cards
Magnet=c read by an optical reader, or of a graph
produced by a data plotter, or of a page of
Tape typing produced on a terminal.
r I Punched
/ D=sp~ay ~
Card Disk
Storage
Punched
~~ Manual
Input
Tape ~~ Drum
FIo. 3. Spec]ahzedouthnes for media Storage
with a horizontal rightward pointing line The communication link outline is rep-
tangent to the bottom. This outline rep-resents resented by a zigzag flowhne. This is
data in the medium of magnetic tape. appropriate because typically data com-
munication done with the aid of equip-ment
The punched-card outline represents data in provides a flow of data from one place, or from
the medium of a punched card of any style, one medium or equipment, to another. As such,
size, or punching, such as Hol-lerith punched even though the out-line is equipment oriented,
cards, binary punched cards, Binary Coded it is used as a specialized flowline. Where
Decimal (BCD) punched cards, fifty-one necessary, open arrowheads may be used to
column cards, and the like. Thus, a time card indicate the direction of flow, in the same
which only has on it printed numbers and never manner described previously.
is punched with equivalent or even unrelated
information does not qualify for repre-sentation The on-line storage outline represents data
with the punched-card outline (it takes a held in any on-line intermediate and external
document outhne instead). Two further storage device of any type, as for example
specialized forms of the punched-card outhne magnetic disks, magnetic tapes, magnetic
are described below. drums, magnetic cards, addi-tional banks of
magnetic core storage, microfilm, etc. For data
The punched-tape outline represents data in on some of these devices, the standard provides
the medium of any punched con-tinuous more spe-cialized outlines when more precise
material, such as paper tape, punched plastic speci-fication is desired, as described below. A
tape, punched metal tape, etc. The requirements more specialized outline for data on mag-netic
to be met are that the medium be indefinite in tape was noted above in the media group.
length and that the data be represented by
punch pat-terns. The outline is a stylization of a
partial fold of paper tape. The disk storage outline represents data
stored on a disk device of any type, espe-cially
Equipment outlines. The display out-put a magnetic disk. The outline is a styli-zation of
outline is a stylization of a cathode-ray tube a cylinder standing on end. The outline is a
(CRT) with the face of the tube to the right and further specialization of the on-line storage
the neck of the tube to the left. This outline outline.
represents any kind of transitory data not in hard The drum storage outline represents data
copy form, as for example CRT displays, console stored on a drum device, especially a magnetic
displays, and the like. But the standard also drum. The outline is a styliza-tion of a drum
advances the display outline for in-termediate lying on its side. The out-line is a further
output data used during the course of processing specialization of the on-line storage outline.
to control the pro-cessmg. Common examples are
the data produced on console printers and time- The core storage outline represents data
sharing terminals if the human user is expected to stored in a magnetic core or similar high speed
utilize immediately the data presented. device that is not the primary in-ternal storage
for the computer. It might be, for example, an
auxiliary on-line bulk core device, or a remote
computer con-nected on-line with the computer
The manual input outline represents data doing the lnaln processing. The outline is a
acquired by human control of manu-ally styliza-tion of two drive lines in a magnetic
operated onhne equipment. Examples are data core array.
from the operation of keyboards, light pens,
console switch settings, push-buttons, The off-hne storage outline is an equilat-eral
transaction recorders, tag readers, and the like, triangle with a small bar. This out-line
where the human operator provides the timing. represents any data stored off-line regardless of
the medium and regardless
Sometimes the number of flowlines leaving a The auxiliary operation outline indicates any
decision outline (the number of exits) exceeds off-line operation performed on equip-ment
three. In this case, the standard advances, as which operates at its own speed or a speed
shown in Figure 6, several alternatives which determined by something other than the speed
are equally ac-ceptable. One is the of its human operator. Examples of auxiliary
organizational chart tree pattern of flowlines operations are card-sorting operations,
from a single flowline leaving a decision punched-card inter-preting operations, and the
outline• Another alternative used in the same like. Auxiliary operations are performed by
way is a vertical flowline which has a number equipment, not by human beings.
of horizontal flowlines from it. To save space,
formal outconnectors may be omitted from The merge outline indicates the creation of
these two forms. Quite a different alterna-tive is one set of items from two or more sets having
a "branching" table in the form of a series of the same sort sequences. The out-line may be
pairs of rectangles, packed to-gether in a double used for both on-line and off-line operations.
row or a double column. The upper or left
portion replaces the de-cision outline; the lower The extract outline indicates ~he reverse of
or right portion replaces the usual the merge. That is, it indicates the cre-ation of
outconnectors. The tables use their first pairs of two or more sets of items from and in the same
boxes for explanation of the branching. sort sequence as the
• original set. The outline may be used for both
on-line and off-line operations.
The preparation outline indicates opera-tions The sort outline indicates the sorting of a set
on the program itself. They are usually control, of items into some sequence on the basis of
initialization, cleanup, or overhead operations some (usually specified) key. The outline may
not concerned directly with producing the be used for both on-line and off-line operations.
output data, but usually necessary to have done.
Three examples are setting the limiting value as
an iteration control, decrementing an index
register, and setting the value of a program
switch. By convention, when either a decision
or a preparation outline could be used (such as
for testing a switch), the common practice is to
use the decision outline.
The predefined process outline indicates or
identifies one or more operations which are
specified in more detail elsewhere, as in a
booklet or in a different flowchart (but not in
another part of this same
I ill!lll
F i t 6. Outhnes for large numbers of decisions
FIG. 7. Conventzons for striping and references An alternative convention (not mutu-ally
exclusive with the other) is to identify a
location on each physical piece of the
The collate outline indicates a combina-tion
flowchart, as for example, in terms of page,
of merge and extract. Thus, this out-line
row, and column, as in the manner of map
requires more than one entrance flow-line and
more than one exit flowline. This definition of coordinates. An example is the ref-erence to
collate used in the standard is not fully page 4, row A, column 2 cited for the terminal
consistent with the usual defi-nition of collate. outline in Figure 7. The standard leaves opgn
The outline may be used for both on-line and the exact manner of composing such location
off-line operations. references.
The ANSI standard is still in conflict with the
Standard Conventions ISO standard and with previous usage in the
Striping. The standard specifies limited use United States on the handling of references.
for either horizontal or vertical striping within an The ISO and general Ameri-can usage has been
outline. The vertical striping has already been to place the identi-fying name immediately
covered in the special outline for predefined above and to the left of the outline (such as
process (see Figure 7). Other uses of vertical MAIN in Figure 7), and to place the coordinate
striping are not specified by the standard. reference above and immediately to the right of
an outline (such as 35C2 in Figure 7). The
Horizontal striping is advanced by the ANSI standard advances exactly the opposite
standard as one alternative way of indi-cating a convention, but recog-nizes and cites the
reference to another part of the flowchart which deviation from the ISO standard. In this paper,
provides a more detailed representation, as for the ISO convention is used since it is also a
example, of a sub-routine. A horizontal line common usage in the United States and since
may be drawn from the left edge to right edge in the ANSI standard explicitly recognizes the
the upper portion of an outline, except for the ISO position.
flowline, communication link, and addi-tional
outlines. The upper area thus en-closed is used
to refer to some other part of the flowchart. The
Crossing flowlines. The standard makes
specific provision for connectors and cross-
lower enclosed area is used in the usual manner, references. These can be used to avoid the
as shown in Figure 7. Wherever a horizontal necessity of having crossing flowlines.
strip-ing is used within a symbol, the portion of If it is desired to use crossing flowlines, then
the standard specifies that the flow-
Crossing
and partially obscured by it in any clock-wise
flowhnes position from it may be drawn in sequence a
with no
connection partial but closed outline of other instances of
the same medium, as shown in Figure 9.
Flow D=agram other terms are run diagram, procedure chart, and
SystemChart ~
INPUT ' i
9 flowchart.
T h e distinction between the flow dia-gram and
the system chart is vital be-cause the use of the
standar d differs con-siderably for these two. I n
A Flow ~~ / the case of the system chart, the focus is upon th e
Dtagtam
gives the
detads of
inputs and the outputs produced by the sequences
PROCESS the process of runs, programs, or pro-cedures. In contrast, the
identlfCed
in the focus in the flow diagram is upon the sequences of
system chart
d a t a transformations needed to produce an outpu
t d a t a structure from an input d a t a structure. T
h e flow diagram tells "how." Whereas a system
chart identifies pro - grams, runs, or procedures b
41- SystemChart y name and dat a structures by name, the flow dia-
Flow Dmgram
gram identifies individual operations on portions
F1G 10. Relationship between flow dmgram and of dat a structures. T h e flow dia-gram is usually
system chart
an elaboration of wha t is indicated by a single
process outline in a system chart (see Figure 10).
USE OF THE STANDARD
Situations
Th e ANS I standar d flowchart symbols for
information processing cover two major In the remainde r of this paper, system chart
situations. One situation is for representing conventions and system chart guide-lines are
algorithms, especially those for execution by a considered first. These use a greater v a r i e t y of
computer. T h e other is for representing systems outlines, but the logi-cal complexity is relatively
without indi-cating the character of the component low. T h e n flow diagram conventions and flow
algorithms. Some other situations are noted briefly dia-gram guidelines are discussed. Flow dia-grams
later in this paper. T h e t e r m "flowchart," as can become logically complex even though the
used in the standard, m a y therefore refer to either numbe r of different outlines utilized is typicall y
of these situa-tions. 3 H e r e a f t e r in this paper fewer.
a clear dis-tinction is necessary between
flowcharts of systems and flowcharts of
algorithms. Hereafter , "flow diagram" designates System Chart Conventions
a flowchart of an algorithm, and "syste m chart " Basic ]ormat. T h e basic forma t of the
designates a flowchart of a system. system chart follows a sandwich r u l e - - t h a t is,
it is composed of alternating layers of d a t a
identifications and process identifications. T h e d
Other terms are also current in the field for a t a identifications are equivalent to the bread of
these two situations. Thus other terms sometimes the sand-wich, and the process identifications are
used for flow diagram are block diagram, logic equivalent to the filling in the sandwich. Jus t as
chart, and process chart, as well as flowchart, i'o r sandwiches m a y be of the Dag - wood type, so
system chart, the outpu t produced from one process operation
m a y serve as the input for a following process
3The standard's defimtion of the term "flowchart"
Is a subversion, well supported by popular usage, operation (a eompoun.d system chart) . B u t a
of a far older definiUon. The term "flowchart" has system chart must always begin with inputs (data
a history predating the use of computers In the identifications) and must always end with outputs
field of systems analysis, it hlstoncally has desig-
nated a graph]c a]d to analysis qmte different (data identifications).
from that contemplated m the standard This older
use of the term is illustrated m [7, 1963 ed., pp.
237-239], and three forms of flowcharts following
this older defimtmn are dlustrated m [6. Ch. 5] T o see this sandwich rule in use, con-
/ SandwichAnalogy
AGE /
RECORDS
the identification of each input, each out-put,
and each process.
For this purpose, the usual convention is to
use the names normally assigned at that
I I I installation to the input and output. If the
I . FILLING AVERAGING system chart is likely to be read by persons not
of PRGGRAM
conversant with those names, then the English-
PROCESSING P43
language equiva-lent in full may be written out
/ I
of
I
OUTPUT
I
AGE
/ within the outlines to provide the identification.
Thus, Figure 11 also provides a restate-ment
that incorporates the identifications absent from
the system chart on the left in Figure 11.
Fro. 11. A rumple system chart using only
the basic outhnes
This same system chart is also present in the
sider the creation of a system chart using only top part of Figure 12. But Figure 12 also
the basic outlines. Assume that the input illustrates more, since it shows a compound
available is a set of data about the ages of system chart rather than just a simple one. The
employees. Assume that the output desired is a average which was the output of the first
single number, the average age of employees. processing operation in turn serves as input for
Using the basic outlines, no attention is needed another operation. Here the average age of
to the media or to the equipment. Hence, as employees is to be combined with previously
shown in Figure 11, the systems chart begins calculated data on the average age of employees
with an input-output outline for the input. to produce a chart showing the trend of the
Connected to that by a flowline is a process average age of employees over the course of
outline. Connected to that by a flowline and time. A preparation of this chart is a separate
ending the system chart is an input-output processing operation from a corn-
outline for the output.
To summarize, the basic format of the system
chart is a sandwich. It always begins with the
bread of input and ends with the bread of
output. The sand-wich filling is the processing
which con-verts the input into the output. But I
I AVERAG,N0
the system chart does not tell how the process-
I PR;AM I
ing is accomplished; it only identifies what
processing is done.
09 <
-1O 3
3:E 7
(-7 E -10 J
7F
(-7(7 (
)o Z
F 7
FIG. 18. Example of an open and a tight layout of a system chart for the same system
tem chart, even simple straight lines of flow are not to excess. The more the system chart can tell
difficult to see clearly. the reader qmckly and easily, the more valuable
A fifth guideline is to collect incoming i.t is. W a y s ot providing cross-referencing and
flowlines and outgoing flowhnes so t h a t the annotation are men-tioned above.
flowlines actually entering and leaving a
processing outhne are kept to the mini-mum. This A ninth guideline is to give particular attention
is illustrated in Figure 17. to the processing t h a t affects dat a prior to the
A sixth guideline is to minimize crossing time t h a t the d a t a be-come input to a computer
flowlines. Crossing flowlines can be elimi-nated program or run. These are most often manual
by repeating input or output out-lines with operations and auxiliary operations. Failure to
appropriate cross-references as to source or spec-ify them in full is one of the most common
destination. shortcomings of system charts. (Example: How
A seventh guidehne is to use the spe-cialized did the data get punched into the cards in the
outlines wherever possible (com-pare Figures 12 system shown in Figure 19?)
and 13). Their use im-proves the communication
value of the system chart. T h e y are only slightly A tenth guidehne is to begin with what is
more difficult to draw. known and well understood. Prepare the system
chart describing that . Then extend the system
An eighth guideline is to use cross-ref- chart in each direction. T h a t is, for each of the
erencing and annotation generously, but inputs shown, find the
I
as a practical matter, important to specify in detail
in a flow diagram exactly what portions of the
data structures are affected and in what way.
i
precedes the process operation. Both precede the
output operation.
Just as in the case of the system chart, FIG. 21 A flow diagram with identfficatlons
P43-END,~
Fie. 23. A flow diagram with connectors and Th e symbolic name and cross-reference
cross-references notations m a y be used with any outline, not just
with connectors. T h e y are needed for all
be broken at any point. One way of doing it is horizontally striped outlines, as a mini-mum, as
shown in Figure 23. Th e connector outhne does shown in Figure 23. T h e names also provide a
not substitute for any other outline but instead way of cross-referencing any part of the flow
serves as an additional outline, in effect sequence shown in the flow diagram to the actual
specializing the flowline symbol. program coding. This is illustrated in Figure 23 by
the names F R T H and F I N , for example, which
As one reads the line of flow down the page 8 refer to portions of the program
part of Figure 23, one encounters an exit or
outconnector A3. Th e reader can then search
Figure 23 for an entry or in-connector having the ROWS
Page
same identifying set of characters A3 within it.
This entry or inconnector is the continuation of A *
B
the flow. Th e identffication within the entry and C
exit connectors must permit unequivocal and D
E
unique identification of the one ap-propriate entry F
connector to be associated with each exit G
H
connector. I
J
K
T o facilitate finding the entry connector for L
M
each exit connector, the common prac-tice is to N
use cross-references in the man - ner described O
P
previously If any name has been assigned to a Q
portion of the algorithm or program (that is, the R
1 2 3 4 5
program data structure), such as T H R D , then
COLUMNS
this name m a y be entered above and
immediately to the left of the connector, or within *Example thus, 9A1 =son page9,
row A. column 1. and 9G4 is on
the con-nector itself I f a coordinate plan has been page 9, row G, column 4
respectively, even though they are not en-t r y An eclectic list drawn from these three major
points. sources is offered m Figure 25. This list is"
composed from graphics included in the ASCII, E
Notation. T h e standar d does not spec-ify an B C D I C , and I B M B C D codes. 4 Hence,
y particular language, symbols, or notational computers can print these in computer drawn flow
scheme for use within the out-lines to identify the diagrams. T h e one exception is the arrow, since
dat a or to name op-erations. Ordinary Enlgish none of these codes includes arrows. T h e arrow,
prose tends to be too verbose to be readily how-ever, is still widely found where commu-
accommodated within small-size outlines. Y e t nications and display equipments are used, and has
using small-size outlines yields a more easily a history of use in programming work. I t provides
comprehended flow diagram. A notational scheme a nearer alternative, es-pecially for publication, tha
or set of symbols t h a t is compact and t h a t n does a double graphic.
permits easy representation of the common
situations is highly desirable.
Of particula r importance are the "is re-placed b
To this end, some years ago the Ameri-can y " symbols. Tw o alternative sym - bols are
Standards Association (now ANSI) circulated a common, and serve to indicate t h a t the symbol
working paper advocating a notation or set of on the left has its value determined b y what is on
characters (graphics) for such a use (references). the right, as il-lustrated in Figure 26. F o r this
M a n y users of flow diagrams prefer to use the purpose, the equal sign has sometimes been used.
same nota - tion t h e y use in the programming Such usage is inconsistent with mathe - matical
lan-guage. Although this works well with some practice, and gives a dual role to the equal sign,
computationally oriented languages on the other role being to in-dicate equality, as for
computationally oriented jobs (such as FORTRAN example, from a comparison.
or P L / I in engineering or scien-tific work) , it
falls short of the need for string operations,
complex operations on arrays, and manipulations F o r comparison, a colon is common. T h e
of all types of structures in logical terms. T o meet variable of comparison is shown on the left, and
these problems, several notational schemes have the standard or constant of com-parison is shown
been advanced in the literature, of which the on the right side of the
Iverson notation is probabl y the most widely 4American Standard Code
known [16]. for Information Inter-
change, published by ANSI, Extended Binary
Coded Decimal Interchange Code; and Binary Coded
Decimal.
bol, the visual appearance of the flow dia-gram deviations. This guideline is explained above.
is improved.
An eleventh guideline is to use connec-tors Preparation o] flow diagrams. The
and cross-references to avoid exces-sive preparation of flow diagrams is primarily a
crossing flowlines. The reasons for this have heuristic matter. It is one for which no hard and
already been presented above. fast rules can be presented.
A twelfth gmdehne is to draw only one A basic heuristic approach to the prepa-ration
entrance flowline per outline symbol. This is of a flow diagram uses the "in-do-out" pattern.
especially important in summary and In order for the computer to produce output
intermediate levels of flow diagram. When data, it must have some input data to operate on.
more than one operation is specified or implied It cannot per-form the processing until the input
within an outline symbol, multi-ple entrance data has been made available. Hence, the gen-
flowlines could mean that the sequence of eral character of a flow diagram is a se-quence
events within the outline symbol may be involving the following steps: pre-paring to read
different for the respec-tive entrances, or even input data, reading input data, processing the
that not all the operations are to be performed input data read, producing the output data, and
for one or more of the entrances. To avoid this ending the processing actions.
am-bigmty, the usual practice is to make the
flowlines join prior to entry into the out-line, as
This is sometimes referred to as initial-ize,
shown in Figure 27. An alternative approach
process, and cleanup. But in turn, each stage
lacking conformity to the stand-ard and not free
itself has these elements usually also present.
of ambiguity is to sub-divide an outline (see, for
Thus, in order to do the out-put operation, it is
example, [9]). When the notation within the
necessary to do some initialization, to do the
outline symbols is at the same level of detail as
actual output, and then to do a cleanup.
the program itself, no practical difficulty arises.
For consistency, however, this guideline should A second common heuristic approach to
be observed at all levels of detail. assist in preparing flow diagrams is to assume
that a job is really much simpler than it actually
is. Then a flow diagram is prepared for this
A thirteenth guideline is to draw, with four simpler job. After that, more realism is added
exceptions, only one exit flowline for each by dropping some of the simplifying
outline. One exception is the decision outline assumptions, and the flow diagram is redrawn
which by definition must have multiple exits. to reflect this closer approximation to the real
An example is shown in Figure 27. The second job. This two-step process is repeated as many
is the input-output outline when an end-of-file times as needed. Each successive flow dia-gram
or end-of-data condition may result in a failure comes closer to the actual job.
to read input data. The notation within the out-
line should specify clearly the basis for the A third common heuristic approach is to
choice of the exit. The other excep-tions are the draw a series of flow diagrams, each one at a
extract and collate outlines in system charts. greater level of detail. The first flow diagram is
very general and provides only an overview (a
"first cut" at a job). Then each successive flow
A fourteenth guideline is to identify clearly diagram amplifies and provides additmnal
all multiple exits. This is an ex-tension of the detail. Each expands each of the outline
previous guideline, and is illustrated in Figure symbols in the earlier flow diagram into a
27. sequence of outline symbols. The final diagram,
then, is near or at the same level of detail as the
A fifteenth guideline is to make no violations
of the standard, and to shun pro-grammmg language that is to be used.
PROBLEMS IN THE USE OF THE STANDARD supporting standardization work, has pub-lished
for the information of its member-ship and for
The evidence is clear that thus far, people in the the guidance of the profes-sional community,
computer field do not use the stand-ard. For only the 1963 version of the standard. It has
example, the author of this paper made a survey published to date none of the revisions. Nor
of the 1968 and 1969 issues of five periodicals, does it require that all flowcharts in its
sixteen books pub-lished in 1968 and 1969, a publications con-form to the standard. The
sample of a dozen computer installations, and a action of the computer vendors is noted above.
sam-ple of five flowchartmg software packages. It is noteworthy that IBM in 1969 began the
The evidence from each supported the others. issue of a new template [14] that can be easily
used to prepare flowcharts conform-ing to the
The perio~ticals surveyed had surpris-ingly standard. ANSI, by its refusal to grant free
few articles using flowcharts. The periodicals reprint rights and by its high charges per page
for copies of the standard, severely inhibits the
were the Communications o] the ACM,
spread of knowledge about the standard. This is
Computers and Automation, Datamation, a case where ANSI's need for income to support
Business Automatwn, and the Journal o] its work results in hindering its work.
Data Management. The books included texts
on programming, and con-ference proceedings, as
well as specialized and general survey books. The
installa-tions covered a range of sizes from small Some of the construction problems are
to very large. The software packages m-cluded the closely related to the ignorance problem just
best-known flowcharting pro-grams. noted. The two most common viola-tions of the
standard are in the ratio di-mensions of the
outlines and in the use of deviant outline shapes.
The conclusion was that none of the in- Some would-be users of the standard are just
stallations even attempted to use the standard, ignorant; others in an attempt to make better use
and none of the periodicals had any article free of space are willful violators. In the latter
of violations of or devia-tions from the respect, the two most common complaints are
standard. Only one of the books used the that the standard wastes space and that it fails to
standard free of signifi-cant deviations, but provide enough space. People cite the "seven-
even it used the 1963 version of the standard. page program that takes a twenty-page flow
Only one of the flowcharting software packages diagram" and claim it is faster and easier to read
of-fered the standard, and that only as a non- the program listing. Although cross-referenc-ing
default option Most flowcharts observed in the in the diagram helps, it is not the entire solution.
survey followed the computer vendor Summarization is a solu-tion, but this gets into
recommendations, especially the 1964 rec- conception prob-lems. On the charge of wasting
ommendatmns from IBM. space, many would-be users of the standard fail
This lack of use of the standard sug-gests the to draw outlines of differing size (while
existence of a number of prob-lems. These fall preserving the ratio dimensions) to fit the
in four main areas: ig-norance, construction, wording or symbols that go within the outline.
conception, and applicability. A brief look .at This is especially true for decision outlines and
each may help clarify the reasons behind some connectors, as a practical matter.
of the material presented earlier in this paper.
Ignorance of the standard is wide-spread. The conception problems are more serious.
This ignorance has generally been abetted by Thus, it is widely agreed that a flow diagram is
the professional societies, the computer most useful if it is not as detailed as (is more
vendors, and ANSI. For ex-ample, ACM, which summary than) the program it describes. To
even has a policy of create these
requires compressing, condensing, and directly tell "why"; it tells instead "what" and
eliminating details. But which ones? And how "how." It leaves the "why" to hu-man inference.
many? A poor choice can render the resulting Third, the flowchart does not tell "how much."
flow diagram nearly useless. Being more This cannot usually even be inferred. Fourth,
summary also increases the difficulty of the flowchart does not fully tell what or who
providing useful cross-refer-encing between does or is to do something. It has elaborate
parts of the flow diagram and between the outlines for identifying peripheral equipment
diagram and the program. and media, but no way of indicating people,
This level of detail problem affects the rigor other computers, or parallel or alternative parts
and completeness of a flowchart. Prepared in of a given computer ~s performers of actions on
full detail, everything must be present in its data. It is doubtful if any attempt should be
proper place. All ties together. When full detail made, beyond the use of annotation, to extend
is absent from the flowchart, it becomes the flowchart beyond what it is already. It
difficult or even impossible from the flowchart cannot be all things to all analysts and
itself to determine whether a particular process programmers; but it does have a place.
or operation is correctly shown or is essen-tial.
This difficulty arises particularly for decision
outlines in flow diagrams and for process
outlines in system charts.
CONCLUSION
The applicability problems are major. A
minority of people in the field hold that a Both the system chart and the flow dia-gram
flowchart is a waste of time. Since neither provide important tools for the analyst and the
programmers nor analysts, they claim, think in programmer in preparing and in documenting
terms of flowcharts, why prepare them? work for implementa-tion on a computer.
Preparing and trying to read them just divert Carefully prepared, flowcharts can enhance the
people from a more productive use of their time. rigor with which the analyst and programmer
It is this author's observation that this indeed is think through the systems, programs, and as-
true for some people, but the documen-tation sociated procedures. This greater rigor in turn
value of flowcharts for other peo-ple's use still typically reduces the cost of de-bugging. But
justifies their preparation and maintenance. the major contribution of the system chart and
Along this same line, others claim that the flow diagram are to communicate some
alternative techniques offer superior essential aspects of information processing
documentation, for example, decision tables [8], work from one hu-man being to another. The
logic flow tables [20], Ivenson notation [16], or quality of this communication is enhanced by a
networks or directed graphs. Further, con-sistent use of the standard.
conceptually the standard could be applied to
prepare other types of graphic aids than the
system chart and the flow diagram. So far, these
have yet to be defined in the literature in clear APPENDIX. DRAWING OUTLINES
form.
Terms
These objections and alternatives have Ratios. The dimensional ratio of the outlines
indeed a measure of truth. This can be seen in defined m the standard is de-termined by the
several aspects of the flowchart. First, the following procedure. Con-struct a rectangle
flowchart is weak in showing the timing of circumscribing the out-line. The rectangle must be
processing and of data avail-ability or need. formed from vertical and horizontal lines, and
This lack of showing "when" is very serious for each line should just touch the inscribed outline.
communica-tions oriented systems and The ratio is then determined by measur-ing the
programs, for example. Second, the flowchart horizontal and the vertical sides of
does not
Figure 3, extends over to the point of in-tersection Figure 4 is a reorientation of the on-line storage
with an imaginary vertical line tangent to the outline, but with three lines added, one convex on
rightmost point on the edge of the circle. the top, and two to m a r k off bands. These are
arcs with a diameter equal to the width of the
Punched-card. Th e punched - card sym - bol equivalent on-line storage outline. T h e spacing
has a width - to - height ratio of 1 to ½ and of the bands is about one - tenth to one - twelfth
appears generally like an upper left corner cut of the width of the equivalent on-line stor-age
punched card, as shown in Figure 3. Th e corner outline. T h e overall width - to - height ratio is 1
cut has an angle of about 30 degrees and cuts off to .~.
about one-sixth of both the width and height.
Drum storage. This outline, as shown in
Punched-tape. This has a maximum - width - Figure 4, omits the two band arcs from the disk
to - maximum - height ratio of 1 to ½, as shown in storage outline, and reorients it to match the on-
Figure 3. T h e centers of the curves are at the one line storage outline. T h e overall width - to -
- fourth points of the width; the radius of the height ratio is ~ to 1.
curves are three - quarters of the width. T h e end Core storage. As shown m Figure 4, this is a
lines are vertical. T h e top left corner and the square and hence has a width - to - height ratio of
botto m right corner are not more t h a n 10 1 to 1. T h e two lines, each parallel to a side, are
percent of the height in from imaginary horizontal in one - eighth of the width from the edge of the
lines tangen t to the maximum points of the outline.
O#-line storage. This outline is an equilateral
arcs. triangle standing on a point. Since it is equilateral,
Dzsplay. As shown in Figure 4, the width - to - it has a width - to - height ratio of 1 to 0.866
height ratio is 1 to ] . T h e radius of the curved (about 15 to 13), as shown in Figure 4. T h e small
lines is one-half of the width. Th e neck curves line drawn about six-tenths or eight - thirteenths
join the horizon-tal lines one - third of the width of the distance from the top to the bottom tip of
in from the left ends. the triangle is a required p a r t of the outline.