0% found this document useful (0 votes)
32 views2 pages

Overview of Jackson Structured Development

Jackson Structured Development (JSD) is a system development methodology that integrates analysis and design into a single specification phase, focusing on real-time applications and concurrent processing. While it offers benefits like detailed modeling and functionality for microcode applications, it has limitations in high-level analysis and database design due to its complexity and less graphical orientation. JSD is particularly suited for real-time and concurrent software but is less effective for conventional software and database design.

Uploaded by

Ayushii Mishra
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
32 views2 pages

Overview of Jackson Structured Development

Jackson Structured Development (JSD) is a system development methodology that integrates analysis and design into a single specification phase, focusing on real-time applications and concurrent processing. While it offers benefits like detailed modeling and functionality for microcode applications, it has limitations in high-level analysis and database design due to its complexity and less graphical orientation. JSD is particularly suited for real-time and concurrent software but is less effective for conventional software and database design.

Uploaded by

Ayushii Mishra
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

JACKSON STRUCTURED DEVELOPMENT

18 May 2024 10:35

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.

*SD can start from the stage in a project when there is only a general statement of requirements.

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
6. It is a poor methodology for high level analysis and database design.
7. JSD is a complex methodology due to pseudo code representation.
8. It is less graphically oriented as compared to SA/SD or OMT.
9. It is a bit complex and difficult to understand.

Jackson Structured Development (JSD) is another methodology, which has a


different style than SA/SD or OMT. The JSD methodology was developed by
Michael Jackson and is especially popular in Europe. JSD does not
distinguish between analysis and design and instead lumps both phases
together as specification. JSD divides system development into Two stages:
specification, then implementation JSD first determines the "what" and then
the "how." JSD is intended especially for applications in which timing is
important.
JSD uses graphical models, as do SA/SD, OMT, and other techniques, but we
will not show any JSD diagrams in this chapter. Sample diagrams are not
required to communicate the flavour of JSD. In our opinion. JSD is less
graphically oriented than SA/SD and OMT.
JSD is a useful methodology for the following types of applications:

• Concurrent software where processes must synchronize with each other.


• Real-time software. JSD modelling is extremely detailed and focuses on time.
• Microcode. JSD is thorough, makes no assumptions about the availability of
an operating system, and considers concurrent processing and timing.
• Programming parallel computers. The JSD paradigm of many processes
maybe helps here.
JSD is ill-suited for some other applications:

• High-level analysis. JSD does not foster a broad understanding of a problem.


JSD is ineffective at abstraction and simplification. JSD meticulously handles

New Section 4 Page 1


JSD is ineffective at abstraction and simplification. JSD meticulously handles
details but does not help a developer grasp the essence of a problem.

• Database: DATABASE design is a more complex topic than Jackson implies.


JSD modelling is biased towards actions and away from entities and
attributes. As a natural consequence, it is a poor technique for database
design.
• Conventional software running under an operating system. JSD's abstraction
of hundreds or thousands of processes is confusing and unnecessary.

Phases of Jackson System Development (JSD)

1. Modelling Phase

2. Specification Phase

3. Implementation Phase

New Section 4 Page 2

Common questions

Powered by AI

Timing is a central focus of JSD, which differentiates it from other methodologies that may not prioritize real-time constraints. In JSD, timing influences how processes are modeled and synchronized, especially in applications like real-time software and microcode. This timing focus aids in developing systems where precise timing between processes is critical for functionality, contrasting with methodologies that may focus more on static structures or sequential process flow without the same emphasis on synchronization and concurrent processing .

JSD’s emphasis on simultaneous processing benefits the programming of parallel computers by providing a model where multiple processes can be managed concurrently, synchronized as needed. This is crucial for parallel computing environments, which rely on simultaneous execution of processes to optimize performance and resource utilization. JSD's detailed modeling and focus on timing align well with the goals of parallel computing to efficiently handle concurrent operations .

JSD is considered poor for high-level analysis and database design because it does not foster a broad understanding of a problem and is ineffective at abstraction and simplification. It focuses on detailed handling of processes but does not help developers grasp the essence of a problem, which is crucial for high-level analysis. In terms of database design, it is biased toward actions away from entities and attributes, making it less effective. For system complexity, JSD handles many concurrent processes meticulously, but this abstraction can be confusing, especially when unnecessary for conventional software .

JSD is considered less effective for applications running under conventional operating systems because it involves an abstraction of many processes which can be unnecessary and confusing when a standard OS manages processes. In contrast, its use in microcode development is advantageous due to JSD’s detailed handling of timing and processes, which are essential for microcode that directly interacts with hardware without relying on an operating system .

JSD is particularly useful in scenarios involving concurrent software, real-time applications, microcode development, and programming on parallel computers. This is due to its thorough focus on timing, concurrent process management, and the absence of assumptions about operating system availability. Such scenarios benefit from JSD’s detailed and time-centric modeling, which supports synchronous operations and microcode requirements .

JSD is less graphically oriented compared to SA/SD or OMT, as it does not rely heavily on diagrams to communicate its concepts. Unlike other methodologies that distinctly separate analysis and design phases, JSD merges these phases into a single 'specification' phase, followed by 'implementation'. This approach focuses more on the concrete details rather than providing a broad overview, making it complex and difficult to understand .

JSD is particularly advantageous for real-time and concurrent software applications because it is designed to solve real-time problems and focuses on time and simultaneous processing. This makes JSD well-suited for applications where processes need synchronization, such as programming parallel computers. However, its disadvantages include its complexity due to pseudo code representation and its ineffectiveness at abstraction and simplification. JSD is also not suitable for high-level analysis or database design, as it is biased toward actions rather than entities .

The claim that JSD is 'meticulously detailed yet fails to help a developer grasp the essence of a problem' implies that while JSD provides a thorough approach to modeling detailed processes, it may overlook broader, abstract perspectives necessary for understanding complex problems. This can lead to development that is overly focused on minute details, potentially at the expense of innovative or simplified solutions. For system development, this means that while JSD can be effective for detailed and concurrent process modeling, it might not be the best choice for problems requiring high-level strategic insights and abstraction .

JSD addresses the needs of real-time software by focusing on time-specific modeling, concurrent processing, and synchronization of software processes, which are critical for real-time operations. However, in conventional software environments, JSD may face challenges because its detailed approach and process abstraction can become unnecessary and confusing, especially when operating under systems with predefined operating systems, where simpler methodologies might suffice .

The phases of Jackson System Development are the Modeling Phase, Specification Phase, and Implementation Phase. The Modeling Phase involves understanding and representing the system’s processes and data relationships. The Specification Phase merges what the system should do with how it can be implemented, focusing on timing and processing requirements. Finally, the Implementation Phase involves the actual development based on the specification. Each phase builds upon the previous, making JSD suitable for detailed and time-intensive applications .

You might also like