Jackson System Development

From Free net encyclopedia

Jackson System Development (JSD) is a software development method developed by Michael A. Jackson and John Cameron.

The purpose of this development method is to create maintainable software. It is based on Jackson's method because his described programming techniques also proved to be useful during software development.

JSD was described in Jackson's book System Development (1983) and in the collection of articles JSP and JSD, edited by John Cameron (1989).

Arguably, JSD was the first "object-oriented" system design method, as its basic conception of a computer system was as a network of communicating sequential processes (objects). gramming design, methodology, JSP. Between 1980 and 1983, Jackson and John Cameron evolved the core concepts of JSD. After 1983, Jackson was less involved in the development of JSD, and refinements in JSD were made based on experiences of JSD consultants on a variety of consulting projects. Updated versions of the method were described in LBMS Jackson system development method manual (Wiley, 1992) and Practical program development using JSP (Blackwell, 1987) by Ralph Storer.

When it was originally presented by Jackson in 1983, the method consisted of six steps.

  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.

  1. Modelling Stage
  2. Network Stage
  3. Implementation Stage

Contents

Diagrams

JSD uses several types of diagrams to express the specifications for a system:

  • entity structure diagram
  • system specification diagram (SSD), also known as a network diagram
  • system implementation diagram (SID)

Steps in the Method

Modelling Stage

In the modelling 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 organisation. 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 are completed with descriptions about the data and connections between the processes and programs.

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. Datastreams 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).

In this phase the network is optimized. Some processes and programs will be combined in order to keep the network simple.Template:Unreferenced


nl:Jackson System Development