Software Engineering | Jackson System Development (JSD)
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. JSD can start from the stage in a project when there is only a general statement of requirements. However many projects that have used JSD actually started slightly later in the life cycle, doing the first steps largely from existing documents rather than directly with the users.
Phases of JSD:
JSD has 3 phases:
- 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.
- 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.
- 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.
Initially there were six steps when it was originally presented by Jackson, they were as below:
- Entity/action step
- Initial model step
- Interactive function step
- Information function step
- System timing step
- System implementation step
Later some steps were combined to create method with only three steps:
- Modelling Step
- Network Step
- Implementation Step
Merits of JSD:
- It is designed to solve the real-time problems.
- JSD modelling focuses on time.
- It considers simultaneous processing and timing.
- Provides functionality in the real world.
- It is a better approach for microcode applications.
Demerits of JSD:
- It is a poor methodology for high level analysis and database design.
- JSD is a complex methodology due to pseudo code representation.
- It is less graphically oriented as compared to SA/SD or OMT.
- It is a bit complex and difficult to understand.