Update appNew update is available. Click here to update.

Structured Analysis and Design for Designing Systems

Vaibhav Agarwal
Last Updated: Mar 22, 2023


structured analysis in software engineering

Nowadays, system design interviews have become a part of almost every top-notch tech company around the block, making many people afraid of system design interviews as there’s no particular pattern to prepare. A Structured Analysis and Structured Design (SA/SD) methodology is one such abstract but crucial component of System Design. This article will go through steps to understand Structured Analysis and Structured Design (SA/SD) in design problems.

This guideline may help you to design a system. For this, we will first start by taking a brief look at its history, and the philosophy/idea behind it then we will move on to understanding what the Structured Analysis and Structured Design (SA/SD) approaches are, their requirements, and their significance in system design. Then we will see how you can implement it through various phases and diagrammatic tools: a data flow diagram, data dictionary, state transition diagram, an entity-relationship diagram.

Also see, Interpolation in Angular

The origins of using a Structured Analysis and Structured Design (SA/SD) approach

Structured Analysis and Structured Design (SA/SD) has a history from way back in the late 1970s modeled by DeMarco, Yourdon, and Constantine after the emergence of the well-known paradigm of modern structured programming. IBM was the first to incorporate Structured Analysis and Structured Design (SA/SD) into its development cycle in the late 1970s and early 1980s.

In contrast, people modified the classical Structured Analysis and Structured Design (SA/SD) due to their inability to represent real-time systems. In 1989, Yourdon came up with another published version of the methodology with a graphical approach known as “Modern Structured Analysis”.

The availability of CASE tools in the 1990s enabled many analysts to develop and modify the graphical Structured Analysis and Structured Design (SA/SD) models. Using this model, analysts attempted to divide a significant, complex problem into smaller, more easily handled ones using a “Divide and Conquer”, “Top-Down approach” (Classical SA), or “Middle-Out” (Modern SA).

Analysts used leverage graphics to illustrate their ideas whenever possible to depict a functional view of the problem and maintain relevant written records.

So, what’s all the fuss about Structured Analysis and Structured Design (SA/SD) anyway?

SA/SD 2 phases model

Source: Future in technology

Structured Analysis and Structured Design (SA/SD) is a top-down decomposition technique system design methodology. In software engineering, SA/SD are methods used for analyzing business requirements while developing specifications for converting practices into computer programs, hardware configurations, and related manual procedures. 

Structured Analysis is a set of techniques and graphical tools that allow the analyst to develop a new system specification that is easily understandable to the user and a functional, high-quality information system that meets their needs. 

Structured Analysis and Structured Design (SA/SD) methodology consist of two significant chunks of different activities, viz. :

  1. Structured Analysis (SA)
    During which a functional decomposition takes place.
  2. Structured Design (SD)
    During which module structure is formalized.

Here, Functional decomposition is where each function is analyzed, hierarchically decomposed into more detailed processes, and simultaneously decomposed from high-level data into more complex data.

Structured Analysis is based on principles of the “Top-down decomposition” approach and the “Divide and Conquer” principle, where each function is considered individually (i.e. isolated from other parts). Here, too relatively, a decomposition of different functions occurs, disregarding what happens in other processes (reducing their cohesiveness and increasing independence).

Phases and Graphical approaches to Structured Analysis and Structured Design (SA/SD)

Structured Analysis and Structured Design (SA/SD) is a diagrammatic notation system design technique designed to help people better understand it. One of Structured Analysis and Structured Design (SA/SD) is to improve quality and reduce the risk of system failure. It establishes concrete management specifications and documentation. It focuses on the reliability, flexibility, and maintainability of the system. 

Structured Analysis and Structured Design (SA/SD) comprises the following 2 phases:

  1. Analysis Phase
  2. Design Phase
  • Analysis Phase: The phase uses diagrammatic system representations using DFDs, Data Dictionary, State Transition, and ER diagrams. The analysis phase enables the analyst to logically comprehend the system and its operations. Here, the system development process makes use of a variety of tools and methods. It makes use of graphical tools to examine and improve the goals of an existing system and create a new system definition that the user can readily comprehend.
  1. Data Flow Diagram: In a DFD model, describe how the data flows through the system. It is a hierarchical graphical model that mainly shows the system’s different functions (or processes) and the data interchange among the methods.
Analysis and Design Phase

Source: Slideplayer

It is helpful to consider each function as a processing station such that each function consumes some input data and produces some output data.

The Data Flow diagram Symbols used here, hold the following meaning ->

A directed arc or line here represents data flow in the direction of the

arrow where data flow symbols are annotated with names of the data that they carry.

The Data Store Symbol here represents a logical file that can either be a data structure or a physical file on a disk. Each data store is connected to a process with the help of a data flow symbol.

The direction of the data flow arrow shows whether data is being read from

or written into it. An arrow into or out of a data store implicitly represents the entire data whereas the arrows connecting to a data store need not be annotated with any data name.

2. Data Dictionary: A DFD is always accompanied by a data dictionary. A data dictionary lists all data items appearing in a DFD defining data stores and their relevant meaning.

Entity Relationship Diagram

Source: Wikimedia

3. State Transition Diagram: The State Transition Diagram is similar to the Dynamic model. It specifies how much time the function will take to execute and data access triggered by the various events involved.

UML state diagram

Source: Calpoly edu

The State Transition diagram Symbols used here, hold the following meaning ->

4. ER Diagram: This is a graphical representation of the data layout of a system at a high level of abstraction that defines data elements and their inter-relationships in the design and the relationship between data stores.

ER Diagram

Source: Edredo

The Entity-Relationship diagram Symbols used here, hold the following meaning

ER diagram symbols


  • Design Phase: Involves the use of a Structure Chart and Pseudo Code to model a system. The high level design or software architecture for the specified problem is another name for this design phase. The goal of phase design is to specify the solution's structure so that it may be put into practise.
  1. Structure Chart: It is created and defined by the DFD. The structure Chart specifies how a DFD’s processes are grouped into tasks and allocated to CPU’s or other such relative systems.


Structure Charts symbol

Source: Slide share CDN

The Structure Chart Symbols used here, hold the following meaning ->

Structure Charts symbol

2. Pseudo Code: It is the actual implementation of the system showing the process specifications and implied details but not shown in a DFD.

Structure Charts Notation

Source: Slide share CDN

Guidelines for Selecting Appropriate Tools

  • For high or low-level analysis, use DFD to provide quality system documentation.
  • Use a data dictionary to streamline the structure to satisfy the system's data needs.
  • If there are numerous loops and the actions are complex, use structured English.
  • When there are a lot of conditions to verify and the reasoning is complicated, use decision tables.
  • When sequencing of conditions is crucial, and there aren't many to test, use decision trees.

Frequently Asked Questions

What are the benefits of structured analysis?

The benefits of structured analysis are:

1. Improves the quality and reduces the risk of system failure

2. Establishes specifications and completes requirements documentation.

3. Also, it focuses on the reliability, flexibility, reusability, robustness, and maintainability of the system.

What is structured system analysis and design method?

Diagrammatic system representations are used in the structured system analysis employing DFDs, Data Dictionary, State Transition, and ER diagrams. A Structure Chart and Pseudo Code are used in the design technique to model a system.

What is the benefit of using a structured methodology for system analysis and design?

  • One advantage of employing structured analysis for system analysis and design is that the client's needs are taken into consideration right away. 
  • It is beneficial to analyze and model the current system.

What are the main objectives of structured analysis and structured design?

Enhancing quality and lowering the likelihood of system failure are the main objectives of structured analysis and structured design. It creates detailed management documents and specifications. It emphasizes the system's stability, adaptability, and maintainability.


This blog highlighted the following set of critical takeaways:

  • Structured Analysis and Structured Design (SA/SD) is a process-driven software analysis technique that uses DFD’s and other relevant diagrams to record the requirements analysis in 2 phases, viz. Analysis and Design Phase.
  • SASD has a long history in the industry, and it is a mature system design approach that provides good documentation for requirements.
  • In recent years, it has been widely used for designing and developing complex real-time embedded system’s software.

Practicing more problems on system design can help you to stand out from the crowd during interviews. There are many questions to practice for designing systems in discussions to get into top product-based companies. 

This article discusses the Structured Analysis and Structured Design (SA/SD)  methodology, a way to design systems efficiently. To solve more questions for interviews, you can check out CodeStudio, a platform developed by experts. You can find all previous interview questions on System Design, Data Structures, and Algorithms, etc.

Recommended Reading: 

Keep practicing, keep hustling. The goal is near.

Was this article helpful ?