Jackson System Development
Jackson System Development
Michael Jackson (not the singer) created Jackson System Development (JSD) using the
principles laid out in Jackson Structured Programming (JSP). JSD is a structured analysis
and design method similar to SSADM. It uses Entity Structure Diagrams (ESD) and
Network Diagrams (ND) to model a system
1. Entity/Action Step
2. Initial Model Step
3. Interactive Function Step
4. Information Function Step
5. System Timing Step
6. System Implementation Step
Later, some steps were combined to create a method with only three steps[2].
Modelling Stage (Analysis): with the Entity/Action Step and Entity Structures Step.
Network Stage (Design) : with the Initial Model Step, Function Step, and System Timing
Step.
Implementation Stage (Realisation) : The implementation Step.
Modeling Stage
In the modeling stage the designer creates a collection of entity structure diagrams and
identifies the entities in the system, the actions they perform, the time-ordering of the
actions in the life of the entities, and the attributes of the actions and entities. Entity
structure diagrams use the diagramming notation of Jackson Structured Programming
structure diagrams. Purpose of these diagrams is to create a full description of the aspects
of the system and the organization. Developers have to decide which things are important
and which are not. Good communication between developers and users of the new system
is very important. This stage is the combination of the former Entity/Action Step and the
Entity Structures Step.
Network Stage
In the network stage a model of the system as a whole is developed and represented as a
system specification diagram (SSD) (also known as a network diagram). Network
diagrams show processes (rectangles) and how they communicate with each other, either
via state vector connections (diamonds) or via DataStream connections (circles). In this
stage is the functionality of the system defined. Each entity becomes a process or
program in the network diagram. External programs are later added to the network
diagrams. The purpose of these programs is to process input, calculate output and to keep
the entity processes up-to-date. The whole system is described with these network
diagrams and is completed with descriptions about the data and connections between the
processes and programs.
The Initial Model Step specifies a simulation of the real world. The Function Step adds to
this simulation the further executable operations and processes needed to produce output
of the system. System Timing Step provides synchronization among processes,
introduces constraints. This stage is the combination of the former ‘Initial model’ step,
the ‘Function’ step and the ‘System Timing’ step.
Implementation Stage
In the implementation stage the abstract network model of the solution is converted into a
physical system, represented as a system implementation diagram (SID). The SID shows
the system as a scheduler process that calls modules that implement the processes.
DataStream’s are represented as calls to inverted processes. Database symbols represent
collections of entity state-vectors, and there are special symbols for file buffers (which
must be implemented when processes are scheduled to run at different time intervals).
The central concern of Implementation Step is optimization of system. It is necessary to
reduce the number of processes because it is impossible to provide each process that is
contained in specification with its own virtual processor. By means of transformation,
processes are combined in order to limits their number to the number of processors.
Action
Actions are carried out by entities and actions affect other entities. They are linked to the
root entity and each other in a parent-child hierarchy.
Constructs - Sequence
JSD constructs are identical to SSADM Entity Life History constructs. Use a sequence
construct to illustrate actions that are executed in order from left to right.
Constructs - Selection
To represent a choice between two or more mutually exclusive actions, mark the actions
with a small "o" (for option) on the upper right hand corner.
Constructs - Iteration
If an action is repeated, place a small asterisk (*) in its upper right hand corner. There is
usually only one action under an iteration construct.
Null Component
In an If-Else statement, a null component can illustrate a "do nothing" alternative.
Network Diagram (ND)
Network Diagrams (NDs) show interaction between processes. They are sometimes
referred to as System Specification Diagrams (SSDs).
DataStream
DataStream’s connect processes and specify what information is passed between them.
State Vector
State vectors are an alternative way of connecting processes. They specify the
characteristic or state of the entity being changed by a process .