This site uses cookies. By continuing to browse the ConceptDraw site you are agreeing to our Use of Site Cookies.

Jackson Structured Programming (JSP) Diagrams

Jackson structured programming (JSP) or Jackson program design methodology is a method developed by Michael A. Jackson in 1970s for program design and modeling. This method is based on the fact that the program's structure depends on the structure of data, which need to be processed, so the data's structure can be used to form the program's structure. The JSP method and principles of program design outlined by A. Jackson in a same-named document can be used to design the programs of any complexity, direction and with the use of any preferred programming language, which has structured control constructs (C, Java, Perl). Moreover, the program's design using JSP is one of the simplest structured programming techniques because it focuses on the existing flows of inputs and outputs letting one make the decomposition and so resulting JSP diagram can be read top-down or bottom-up.

The JSP method is the most effective in a case of high degree of data structuring and is applied to the processing the data structure or the data flow, which can be described in a form of the hierarchical structure of sequential, optional and iterated elements. The Jackson structured programming method is used in development a detailed program management structure and is based on the possibility of presenting the data structures and programs structures by the single set of basic constructions, in connection with which were proposed and currently are successfully used four basic data structures: simple operation, sequence of operations, iteration, and selection.

The Jackson Structured Programming (JSP) Diagram solution extends the functionality and drawing abilities of the ConceptDraw DIAGRAM software with large variety of predesigned vector objects of actions, processes, procedures, selection, iteration, arrows and connectors to join the objects in a required way during the Jackson structured development and designing Jackson structured programming diagrams, JSP diagram, Jackson structure diagram (JSD), Program structure diagram. Moreover, it includes the set of illustrative samples and examples of JSP diagrams reflecting solution’s abilities. The powerful abilities of this solution make the ConceptDraw DIAGRAM ideal assistant for programmers, software developers, structural programmers, computer engineers, applications constructors, designers, specialists in structured programming and Jackson systems design, and other technical, computer and software specialists.


There is 1 stencil library containing 13 vector objects in the Jackson Structured Programming (JSP) Diagrams solution.

Design Elements — Jackson Structured Programming (JSP) Diagram

Design Elements — Jackson Structured Programming (JSP) Diagram

Examples

There are a few samples that you see on this page which were created in the ConceptDraw DIAGRAM application by using the Jackson Structured Programming (JSP) Diagrams solution. Some of the solution's capabilities as well as the professional results which you can achieve are all demonstrated here on this page.

All source documents are vector graphic documents which are always available for modifying, reviewing and/or converting to many different formats, such as MS PowerPoint, PDF file, MS Visio, and many other graphic ones from the ConceptDraw Solution Park or ConceptDraw STORE. The Jackson Structured Programming (JSP) Diagrams solution is available to all ConceptDraw DIAGRAM users to get installed and used while working in the ConceptDraw DIAGRAM diagramming and drawing software.

Example 1: Jackson Diagram

This diagram was created in ConceptDraw DIAGRAM using the Jackson Structured Programming (JSP) Diagram library from the Jackson Structured Programming (JSP) Diagram Solution. An experienced user spent 10 minutes creating this sample.

This Jackson structured programming (JSP) sample was drawn on the base of the Wikimedia Commons file and demonstrates two diagrams at once: Data diagram and Process diagram. The main goal of Jackson structured programming is a development of easily modified programs, at this, the minor tweaks in existing structures lead to the minor changes in inputs and outputs of programs constructed using the JSP. Typically, the Jackson structured programming supposes the execution of several sequential steps, such as drawing of JSD for inputs and outputs, merging into the JSD program, making the list of operations and allocating them, converting the sequence of blocks to text, and adding conditions for selection and iteration. Now, the construction of clear and compact JSDs isn't a complex process due to the special ready-made vector objects corresponding to JSP notation and offered by the Jackson Structured Programming (JSP) Diagram library from the Jackson Structured Programming (JSP) Diagram solution.

Jackson Diagram

Example 2: JSP Diagram — Payment

This diagram was created in ConceptDraw DIAGRAM using the Jackson Structured Programming (JSP) Diagram library from the Jackson Structured Programming (JSP) Diagram solution. An experienced user spent 10 minutes creating this sample.

This example was drawn using the tools of ConceptDraw's Jackson Structured Programming (JSP) Diagram solution and is based on the JSP diagram represented in the "Slides on Jackson Structured Programming (JSP)" document published on the EE2.sad Software Analysis & Design website of the University of Surrey. This sample demonstrates the Jackson structured programming diagram depicting the structure of company's Christmas and New Year payment program. A given company offers durable New Year's holidays to its employees and pays them the salary not in advance, but timely in a form of cheques addressed to their home addresses. Each company’s employee has its own identity number, name, and address. Besides, there are two types of employees at this company - those who receive the payment monthly and those who weekly. This example's inputs are the finance department offering payment files and personnel department providing personal details, at the output we have the information required for each cheque.

JSP Diagram Payment

Example 3: JSP Diagram — Print Bank Statement

This diagram was created in ConceptDraw DIAGRAM using the Jackson Structured Programming (JSP) Diagram library from the Jackson Structured Programming (JSP) Diagram solution. An experienced user spent 10 minutes creating this sample.

This JSP diagram sample describes in detail the structure of the print bank statement program, you can see the whole sequence of steps comprising this process, the order in which the document's parts will be printed. This Jackson structured programming diagram was designed to help develop correctly special software for solving one of the banking tasks. Besides, the programs designed on the base of JSP structure are easily modified, some small changes in inputs and outputs lead to absolutely slight changes at the program's inputs, outputs, and internal structures. It is a good example, on the base of which can be developed any other software assisting in solving the problems you need to resolve at the moment, no matter in a banking sphere, business sphere, or any other area of activity. The use of ready vector elements from the Jackson Structured Programming (JSP) Diagram library makes the development of JSP Diagrams as easy as possible.

JSP Diagram Print Bank Statement

Example 4: JSP Diagram — RLE Correspondence

This diagram was created in ConceptDraw DIAGRAM using the Jackson Structured Programming (JSP) Diagram library from the Jackson Structured Programming (JSP) Diagram solution. An experienced user spent 10 minutes creating this sample.

This Jackson structured programming diagram drawn in the ConceptDraw DIAGRAM software on the base of the file sample from Wikimedia Commons demonstrates the correspondences between the run length encoders (RLE) inputs and outputs. The RLE that is an abbreviation for the Run-length encoding, is a simple form of data compression without loss, in which the runs of the data are stored not as an original run, but as a single data value. At this, the utilization of the Run-length encoding is the most appropriate and useful for those data that contain a lot of similar runs. As for the fact what the run is, it is a sequence in which the same data value has a place in some quantity of consecutive data elements. That's why the most common case of RLE usage is the case when the data from source consist of the long substrings of similar binary digits or characters.

JSP Diagram — RLE Correspondence

Example 5: JSP Diagram — RLE Input

This diagram was created in ConceptDraw DIAGRAM using the Jackson Structured Programming (JSP) Diagram library from the Jackson Structured Programming (JSP) Diagram solution. An experienced user spent 5 minutes creating this sample.

This Jackson structured programming diagram sample is dedicated to representing the scheme of run length encoder (RLE) input. The RLE is a program that takes only one input represented as a stream of bytes considered as zero or more runs and outputs the stream of pairs, each of which consists of a byte together with a count of consecutive occurrences of this byte. At this, each run includes one or more bytes of the same value. The Run length encoders are popular and widely used for many purposes, you often can encounter with them used in compressing bitmaps. The Jackson structured programming diagram is an ideal way to illustrate the structure of a program's inputs and this JSP diagram sample taken from Wikimedia Commons and redesigned in ConceptDraw DIAGRAM application, is an excellent confirmation of this. The ease of construction similar diagrams in ConceptDraw DIAGRAM especially pleasures the program's users.

JSP Diagram — RLE Input

Example 6: JSP Diagram — RLE Output

This diagram was created in ConceptDraw DIAGRAM using the Jackson Structured Programming (JSP) Diagram library from the Jackson Structured Programming (JSP) Diagram solution. An experienced user spent 5 minutes creating this sample.

This sample shows the Jackson structured programming diagram describing in detail the structure of RLE (run length encoder) output. The output is a second step of the run length encoding process, which begins with the input of the bytes' stream. The run length encoder output or RLE output is usually described as zero or more pairs. Typically, it is a stream of pairs, each of which consists of a byte and its count of consecutive occurrences. As for this sample, the count will be also a byte here. It is convenient that the run length encoder can be designed and coded using the Jackson structured programming technique, and each step of the run length encoding process can be sequentially represented as a JSP diagram using the ConceptDraw DIAGRAM software and its Jackson Structured Programming (JSP) Diagram library of specially predesigned vector objects included to Jackson Structured Programming (JSP) Diagram solution.

JSP Diagram — RLE Output

Example 7: JSP Diagram — RLE Program

This diagram was created in ConceptDraw DIAGRAM using the Jackson Structured Programming (JSP) Diagram library from the Jackson Structured Programming (JSP) Diagram solution. An experienced user spent 5 minutes creating this sample.

This Jackson structured programming (JSP) diagram sample demonstrates the structure of RLE (run length encoder) program. In this Jackson structured programming example, we can observe the absence of structure clash, that's why the input and output structures can be joined to represent the overall program structure. It is a good example of construction the program's structure in a form of JSP diagram. The tools of the ConceptDraw DIAGRAM software and Jackson Structured Programming (JSP) Diagram solution let one easily represent this joined diagram, and the separated RLE input and RLE output diagrams in a case of existence the structure clash, which moreover can communicate with each other and use the intermediate data structure providing a common structural framework. The diagram can be represented at the strict view or extended with additional conditions or comments, the iterations can be fleshed out, the correspondences can be highlighted, as necessary and according to your needs.

JSP Diagram — RLE Program

Example 8: JSP Diagram — Selection

This diagram was created in ConceptDraw DIAGRAM using the Jackson Structured Programming (JSP) Diagram library from the Jackson Structured Programming (JSP) Diagram solution. An experienced user spent 3 minutes creating this sample.

Jackson Structured Programming (JSP) is oriented to the programming at the level of control structures and uses the simple operations, sequences, selections and iterations for designs' construction. JSP is not used to structure the programs at the level of classes and objects, although it can be helpful in structuring the control flow within methods of classes. This Jackson structured programming diagram sample shows the JSP selection, which is similar to a sequence - three boxes representing the operations and labeled by B, C, D are connected with a box corresponding to the operation A. In contrast to the sequence, in the right top corners of this diagram’s boxes B, C, and D, you can detect the icons of small circles, so the operation A can consist of one and only one of operations B, C, or D. It is a quite simple, but illustrative diagram which depicts all solution's abilities.

JSP Diagram — Selection

Example 9: JSP Iteration

This diagram was created in ConceptDraw DIAGRAM using the Jackson Structured Programming (JSP) Diagram library from the Jackson Structured Programming (JSP) Diagram solution. An experienced user spent 2 minutes creating this sample.

This Jackson structured programming diagram sample demonstrates the iteration using JSP notation. You can see two operations A and B represented as boxes and joined to each other. Moreover, the iterated operation is marked with a star icon in the right top corner of its box, this icon is a sign of repeated structure's part. The iteration structure is used when a particular data item can be repeated from zero to an unlimited number. In a given example the operation A consists of the repeated components B, it includes the iteration from zero or more invocations of the operation B. This sample represents the simplest construction but however can be extended, if needed. The ConceptDraw DIAGRAM is a software which power lets one construct both simple diagrams’ structures and complex ones including a lot of connected elements. At this, all they are looking exceptionally and can be used in documents and reports.

JSP Iteration

Example 10: JSP Sequence

This diagram was created in ConceptDraw DIAGRAM using the Jackson Structured Programming (JSP) Diagram library from the Jackson Structured Programming (JSP) Diagram solution. An experienced user spent 3 minutes creating this sample.

For description the structure of inputs, outputs and programs, the JSP uses a diagramming notation with special elements for each of fundamental component types, thus the simple operation is depicted as a box labeled with some letter. Several boxes with different letters connected with lines represent the sequence of operations. On this JSP diagram example representing the sequence, you can see the operation A represented by the top box marked with letter A, which consists of the sequence of operations B, C, D represented by three boxes with corresponding marking and connected with box labeled A. All objects used for this diagram's construction are taken from the Jackson Structured Programming (JSP) Diagram library offered by the Jackson Structured Programming (JSP) Diagram solution. These and other symbols from this library are generally accepted and so are easily recognizable by all interested people, which will read your diagram or make the own one.

JSP Sequence

Inside

Jackson Structured Programming (JSP) Diagrams solution for Microsoft Windows & macOS

What I Need to Get Started

Both ConceptDraw DIAGRAM diagramming and drawing software and the Jackson Structured Programming (JSP) Diagram solution can help creating the software engineering diagrams you need. The Jackson Structured Programming (JSP) Diagram solution can be found in the Software Development area of ConceptDraw STORE application that can be downloaded from this site. Make sure that both ConceptDraw DIAGRAM and ConceptDraw STORE applications are installed on your computer before you get started.

How to install

After ConceptDraw STORE and ConceptDraw DIAGRAM are downloaded and installed, you can install the Jackson Structured Programming (JSP) Diagram solution from the ConceptDraw STORE.

Jackson Structured Programming (JSP) Diagram solution - Install

Start Using

To make sure that you are doing it all right, use the pre-designed symbols from the stencil libraries from the solution to make your drawings look smart and professional. Also, the pre-made examples from this solution can be used as drafts so your own drawings can be based on them. Using the samples, you can always change their structures, colors and data.

Jackson Structured Programming (JSP) Diagram solution - Start Using

Jackson Structured Programming (JSP) Diagrams

Jackson structured programming (JSP) diagrams can be created with the help of the pre-made graphical symbols and templates from the Jackson Structured Programming (JSP) Diagrams solution while working in the ConceptDraw DIAGRAM software.

Structured programming is one of the programming paradigms that aims at improving the quality, development time and clarity of some particular computer program. It may be done by making the extensive use of block structures, subroutines and for and while loops. Instead of using simple tests and jumps that usually lead to the so-called "spaghetti code" which is difficult to both follow and maintain, structured programming can be used.

JSP is one of the methods used for structured programming that is based on correspondences between program structure and data stream structure. Jackson structured programming is well-known for structuring the programs as well as needed data taking into consideration iterations, selections, and sequences. It may be applied while designing a program's detailed control structure.

The mentioned method applies to processing any data stream or data structure that may be describable as a hierarchical structure of optional, iterated and sequential elements. It is possible to use a stream of messages that a process reads to both coordinate and invoke other objects or modules. Also, a string of characters in parameters that were previously passed to a single operation on a so-called "object" may be used in an object-oriented programming language.

Jackson structured programming (JSP) method is widely used in software development for designing programs for any programming language that has structured control constructs. It uses semi-formal steps in order to capture the existing structure of a program's outputs and inputs in the structure of the program itself. Those programs are intended to be created in order to be easily modified over their lifetime. Jackson's main reason for developing it was to take into consideration the required changes that are usually known to be the minor tweaks to the existing structures. Jackson system development (JSD) methodology was developed in the 1980s by Michael A. Jackson.

For any program that can be constructed by using the Jackson structured programming, the outputs, the inputs and the internal structures of the program shall match. In this case, all small changes to both the inputs and the outputs should translate into small changes to the program.

Jackson structured programming is well-known for structuring the programs in terms of the following four component types:

  • sequences
  • iterations
  • fundamental operations
  • selections

The previously described method can be applied, first of all, by describing a program's inputs in terms of the four fundamental component types. Later, the program's outputs may be described in the same way. Each of the inputs and outputs can be modelled as a separate Data Structure Diagram (DSD). In order to make Jackson structured programming work for compute-intensive applications (e.g., digital signal processing), the algorithm structure diagrams need to be created. Such diagrams shall be focused on the internal data structures.

Later, the input and output structures can be either merged or unified into a final program structure. Such structure may also be known as a Program Structure Diagram (PSD).

Such JSP diagrams are widely used in software engineering as a graphical modelling language for explaining the inner workings of a program. Having a JSP diagram finished, each step on the same branch may be performed top down - left to right.

There are three types of the so-called “box” notations which may be used for representing the workings of a program. All the programs have three control structures Selection, Iteration and Sequence. The so-called “recursive component” of a JSP object is known to be indicated by a double lined component box. Any simple operation within the previously described diagram can be drawn as a box. A sequence of operations is usually represented by boxes that are connected with the help of lines. Any iteration is represented with joined boxes on such drawing. Also, the iterated operation may have a star in the top right corner of its box.

JSP modelling implies the emergence of such concepts as input and output that eventually creates the structure of the final design. JSP’s intentions seem to be quite clear in terms of developing structured systems. The way the modules get integrated in order to form the whole application can be developed as well.

Jackson Program Design’s basic characteristics give it advantages in its systematic approach. They include being rational meaning being based on the reasonable principles, well-defined and well-developed; teachable, making it possible to explain and so to show the way some particular system is applied as well as the way it works. The principles also include being consistent meaning analyzing the given problem coming up with more or less the same program design. Next, simplicity: this method does not involve too complex rules, difficult notations or cumbersome procedures to remember. And finally, being universal meaning having the produced specifications that can be implemented in the language the developer wants.

Being a modern and smart drawing tool, the ConceptDraw DIAGRAM application offers its users to get an extension to this professional software — the Jackson Structured Programming (JSP) Diagram solution. This solution includes vector stencil libraries and JSP diagram samples to use.