CS 1323 Honors, Fall 1996

Program Organization Charts

What a Program Organization Chart Is

A program organization chart depicts the relationships between major program components. (A major component is a collection of entities packaged as a module.) The chart consists of a diagram that contains a box for each major component and arrows between boxes indicating supply lines.

Components are depicted by boxes with a special form. Each box is labeled with the name of the component it depicts. A list of the public entities defined in the component appears inside the box. (Exception: Standard modules commonly used in many applications may appear as empty boxes, labeled with the module name. The entities they provide are widely known, and lists of those entities are available from other sources.)

Public entities are the ones the component permits other components to access. Private entities are accessible only from within the component in which they are defined; these are not listed in the box because they pertain only to the implementation of the module, not to its role in the overall organization of the program.

Supply lines are depicted by arrows from the component supplying an entity to the component making use of the entity. The arrow is labeled with the names of the entities being used in the component at the destination of the arrow. Labeled supply arrows are required from standard modules, as well as modules specific to the application, because the chart must show which facilities each module is acquiring from an external source.

Purpose of a Program Organization Chart

Pictorial Summary. A program organization chart communicates in a pictorial way how the major components of a program are put together to form the program. The advantage of such a picture is that it summarizes at a glance the overall structure of the program.
Documentation. The chart acts as documentation that people reviewing a program can use to find their way around the code. Such documentation is useful not only for completed programs, but for programs being constructed. It can help software engineers stay aware of the big picture while they work on the parts.
Design. The chart can also aid in the initial design process. Software designers can sketch out major portions of systems and revise and augment them as the ideas become more clear.
Construction. So, program organization charts serve useful functions throughout the process of software design and construction. They contain no information not present in the program, once the program has been constructed. At that point the chart could be constructed automatically from the code. A program to construct such a chart from the source files for a program would be a useful piece of software. Unfortunately, no such software exists on the computer systems available to you, so you'll have to draw them yourself.

Last Modified: