Made with

Jackson Structured Programming

Michael A. Jackson was the person who originally developed Jackson Structured Programming in the 1970s. He documented this system in his book named Principles of Program Design in 1975 and already in 2001 in his conference talk he provided a retrospective analysis of the original driving forces behind this method. He also related this method to the subsequent software engineering developments.

Jackson's goal was to make the so-called COBOL batch file processing programs easier to use as well as to modify. Nevertheless, this method can be used for designing the needed programs for any programming language as long as it has the structured control constructs. Thus, such languages as C, Perl and Java may be among them. Taking into consideration that the Jackson Structured Programming method was developed long time ago, it is still in use. Moreover, it is supported by many diagramming tools, including the ConceptDraw DIAGRAM diagramming and vector drawing software.

In order to create the needed Jackson Structured Programming diagram while working in the ConceptDraw DIAGRAM application, another product of CS Odessa can be also used for simplifying the process of creation of the illustration. The so-called Jackson Structured Programming (JSP) Diagrams solution may be found in the ConceptDraw STORE application to be used for creating the needed Jackson Structured Programming (JSP) Diagrams.

Jackson Structured Programming was originally seen by many of its users as the one related to Warnier structured programming. At the same time, this latter method is well-known to be focused on the structure of the output stream only. Both JSP and Warnier's methods are well-known for structuring the programs as well as data by using only iterations, selections and sequences. This is why they essentially create programs that may become the parsers for regular expressions. The simultaneous matching of both program's input and output data streams may be seen in this case.

For a reason of Jackson Structured Programming is known to be focused on the existing output and input data streams, designing a program by using Jackson Structured Programming may be more straightforward to compare to the ones based on the other structured programming methods. Also, Jackson Structured Programming is the one that creates the needed program designs with a completely different structure.

The structure of any Jackson Structured Programming program has a few input operations that are distributed throughout the code. This particular difference with the programs designed by using the stepwise refinement which tend to have only one input operation Jackson illustrates in Chapter 3 of Principles of Program Design. Presenting two different versions of a program, Michael A. Jackson mentioned one of them designed by using Jackson Structured Programming and the other — by using the so-called "traditional" methods.

Jackson Structured Programming *

Example 1. Jackson Structured Programming

Jackson Structured Programming is known to be utilizing a diagramming notation for describing all the outputs, programs and inputs along with the diagram elements for each of the fundamental component types. Thus, the representation of any simple operation should be drawn with the help of a box. A sequence of such operations should be represented by boxes that are connected to each other with lines. And an iteration may be also represented with the joined boxes. Any iterated operation has a star in the top right corner of its box. The selection is similar to a sequence, but the circle in the top right-hand corner of each of the optional operations has to be drawn.

Jackson structured programming is a method that is widely used for structured programming nowadays. As it was already mentioned before, it is based on the correspondences between data stream structure and program structure, applying to processing any needed data structure or data stream. Such data stream or data structure may be describable as a hierarchical structure of optional, iterated and sequential elements.

Being a stream of messages that a process reads for the purpose of invoking and coordinating other modules or objects, this method could be also a string of characters in parameters that passed to some single operation on an "object" which was coded in an object-oriented programming language. thus, it could be either above or below that level at what the object-oriented methods may be applied.

Knowing more about Jackson structured programming, any ConceptDraw DIAGRAM user has a unique opportunity to create the needed Jackson structured programming diagram with the help of this useful tool as well as the Jackson Structured Programming (JSP) Diagrams solution. Having the Jackson Structured Programming (JSP) Diagrams, anyone gets the chance to make the needed diagram as long as it is related to the Jackson structured programming processes. Having such tools as the pre-design elements to be used for simplifying the work of creating the JSP diagrams, any ConceptDraw DIAGRAM user gets a chance to make their own drawing within only a few minutes being based on the already existing symbols.

Jackson Structured Programming (JSP) Diagram Elements

Example 2. Jackson Structured Programming Symbols

Apart from the mentioned design elements, there are also the previously create templates of the JSP diagrams available for all the ConceptDraw DIAGRAM users in order to have them as the base for making something new ending up with a professional-looking result. Having such pre-made examples as the “JSP Diagram Payment”, “Jackson Diagram”, “JSP Diagram Print Bank Statement”, “JSP Diagram — RLE Input”, “JSP Diagram — RLE Output”, “JSP Iteration”, “JSP Diagram — RLE Correspondence”, “JSP Diagram — RLE Program”, “ JSP Diagram — Selection” and “JSP Sequence”, anyone can create the needed illustration based on the already existing one.

ConceptDraw DIAGRAM extended with Data Flow Diagrams solution is the best diagramming and vector drawing software for quick and easy designing the Data Flow Diagram Example of any complexity.Data Flow Diagram Example *
Picture: Data Flow Diagram Example
Related Solution:
Wireless Networks solution from ConceptDraw Solution Park extends ConceptDraw DIAGRAM to help network engineers and designers efficiently illustrate wireless network mode diagrams.Wireless Network Mode
Picture: Wireless Network Mode
Related Solution: