Structured analysis is a classic method for describing what an information system does by following its data: who sends data in, what transforms it, where it is stored and what comes out. This section teaches its diagrams and supporting documents.
Structured analysis was developed in the 1970s by Tom DeMarco, Ed Yourdon, Larry Constantine, and Chris Gane and Trish Sarson, among others. It models a system as a network of processes connected by flows of data, and refines that model top-down. It predates UML and object-oriented design, but it remains very useful today, especially for data engineers, because data pipelines, integrations and compliance reviews are fundamentally about where data goes. Privacy and security teams also use data flow diagrams for threat modelling and data-protection assessments.
Structured analysis is one family of diagrams among several; see the Diagramming hub for how it relates to UML, C4 and others.
Only four symbols are needed. An external entity (terminator) is a person, organisation or system outside your boundary that sends or receives data. A process transforms incoming data into outgoing data and is named with a verb phrase. A data store holds data at rest, such as a table or file. A data flow is a named arrow showing a packet of data moving between the other three. Data never flows directly between two external entities or two stores; a process must be involved.
invoice = invoice_id + customer_id + {line_item} + total.The key rule is balancing: when a process is exploded, the child diagram must have the same inputs and outputs as the parent. This keeps levels consistent and catches missing data early.
| Artifact | Answers | Audience |
|---|---|---|
| Context diagram | What is inside the system, and who does it talk to? | Everyone, including non-technical stakeholders |
| Data flow diagram | Which processes transform which data, and where is it stored? | Analysts, data engineers, security reviewers |
| Data dictionary | What exactly is in each flow and store? | Developers, data modellers |
| Process specification | What does this step do, precisely? | Developers, testers |
| ER diagram (companion) | How are stored entities related? | Data modellers, DBAs |