Jackson structured programming

The Jackson - diagram is a method for structured design of computer programs. It is part of a method that the theorist Michael A. Jackson ( b. 1936 ) has developed in the years 1975-1979.

Structure and elements

The Jackson - diagram shows the draft program in hierarchical form is similar to an organizational chart. The overall program is broken in a stepwise refinement up to the individual functions down. The components of the diagram are simple rectangles, which are connected by arrows.

There are only three types of rectangles:

  • A rectangle without another marker indicates a simple function block is executed once.
  • A rectangle with an asterisk ( *) in the upper right corner indicates a function that is repeated through.
  • A rectangle with a circle (o ) in the upper right corner indicates one of several alternatives.

The program sequence is given by the position of the rectangles:

  • Rectangles that are subordinate to another rectangle, make a more refined description of the function block in the parent rectangle dar.
  • Rectangles that stand side by side in a row and are not marked with a circle represent functional blocks that are executed sequentially.
  • Rectangles that stand side by side in a row and are marked with a circle represent alternatives from which of the given situation only one is dependent in question.

Jackson foresaw that the data processed by a program are presented in this manner, so that a relationship between data structures and program flow is visible and the program flow is optimally adapted to the data structure.

Example

In a database, customers and their orders are stored. Each customer may have placed several orders. Each order consists firstly of an applicator head, are stored in the general information on the job, for example, the planned delivery date and a Boolean value indicating whether the order has already been shipped. On the other hand belong to each order multiple job positions in which the nature, quantity and price of the goods to be delivered are stored.

For each contract in which the delivery date is reached or exceeded, should

To write an invoice, the data from the order items are needed. For the letters of apology the data from the customer record and the order header would be sufficient.

In this situation, the following Jackson diagram the data structure and the program sequence is:

Assessment

To illustrate the program flow is the Jackson - diagram functionally equivalent to Nassi- Shneiderman diagram. The Nassi- Shneiderman diagram increases with the refinement inside, the Jackson - graph grows downward and outward. It is merely a matter of taste which of the two methods are preferred.

In terms of theoretical computer science Jackson diagrams are Turing-complete, so you can map any computable problem with that.

Both methods had their heyday in the 1980s, as the structured procedural programming was the technique of choice. With the advent of object-oriented programming languages ​​such as Java and C since the 1990s lost both methods in importance because they can not adequately reflect the expanded opportunities offered by these languages.

With regard to the representation of data structures, the Jackson method was outdated shortly after its formation, because they could not reproduce the relational databases that prevailed in the 1980s. Other perspectives, in particular the Entity- Relationship Model, here translated rapidly through against the Jackson method.

423594
de