Open In App

Jackson System Development (JSD) – Software Engineering

Last Updated : 27 Dec, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

Jackson System Development (JSD) is a method of system development that covers the software life cycle either directly or by providing a framework into which more specialized techniques can fit. This article focuses on discussing JSD in detail.

What is Jackson System Development (JSD)?

Jackson system development is a linear system development approach that lets one describe and model the real world. JSD can start from the stage in a project when there is only a general statement of requirements. 

  1. However many projects that have used JSD started slightly later in the life cycle, doing the first steps largely from existing documents rather than directly with the users. 
  2. The later steps of JSD produce the code of the final system.
  3. The output of the earlier steps is a set of program design problems.

Phases of Jackson System Development (JSD)

1. Modelling Phase

In the modelling phase of JSD, the designer creates a collection of entity structure diagrams and identifies the entities in the system, the actions they perform, the attributes of the actions and the time order of the actions in the life of the entities. 

2. Specification Phase

This phase focuses on actually what is to be done? Previous phase provides the basic for this phase. An sufficient model of a time-ordered world must itself be time-ordered. Major goal is to map progress in the real world on progress in the system that models it. 

3. Implementation Phase

In the implementation phase JSD determines how to obtain the required functionality. Implementation way of the system is based on the transformation of the specification into an efficient set of processes. The processes involved in it should be designed in such a manner that it would be possible to run them on available software and hardware. 

Jackson System Development (JSD) Steps

Initially there were six steps when it was originally presented by Jackson, they were as below: 

  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 method with only three steps: 

1. Modelling Step 

In this step, the designer creates a collection of entity structure diagrams. The designer identifies the entities in the system, actions they perform, the time-ordering of the actions in the life of the entities, and the attributes of the actions and entities. Purpose is to create a good full description of the aspects of the system and the organization and the developer has to decide which things are important and which are not. Thus, aiding in good communication between developers and the users of the new system.

2. Network Step 

The network step involves modelling the system as a whole and representing as a System Specification Diagram (SSD) also known as Network Diagram. It shows processes and how they communicate with each other. Here, each entity becomes a process. The purpose of these processes is to process the input, calculate output, and to keep the entity process up-to date.

3. Implementation Step

In the implementation stage, the abstract network model of the system is converted to the physical system, represented as a system implementation diagram (SID). The SID shows the scheduler process that calls modules that implement the processes. The goal here is the optimization of the system. It is necessary here to reduce the number of processes as it is impossible to provide each process contained in the specification its own virtual processor. The processes are combined to limit the number of processors.

Benefits of JSD

  1. It is designed to solve the real-time problems. 
  2. JSD modelling focuses on time. 
  3. It considers simultaneous processing and timing. 
  4. Provides functionality in the real world.
  5. It is a better approach for microcode applications. 
     

Limitations of JSD

  1. It is a poor methodology for high level analysis and database design.
  2. JSD is a complex methodology due to pseudo code representation.
  3. It is less graphically oriented as compared to SA/SD or OMT. 
  4. It is a bit complex and difficult to understand. 

Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads