Structure Charts, Pseudocode and Flowcharts in Software Design
Software design becomes much easier when we can represent the solution before writing the final program. Structure charts help us understand modules, pseudocode helps us describe logic in simple steps, and flowcharts help us see the flow of processing visually.
Structure charts show the hierarchical organisation of software modules and their relationships.
Pseudocode expresses program logic using simple structured statements without following the strict syntax of a programming language.
Flowcharts represent the sequence of processing using standard graphical symbols and arrows.
Why Do Students Confuse These Three?
All three techniques are used before or around coding, so students often feel that they represent the same thing.
But their purpose is different.
Structure Chart
Shows which modules exist and how they are organised.
Pseudocode
Shows what logical steps a module or algorithm performs.
Flowchart
Shows how control moves from one processing step to another.
Structure Chart → Pseudocode → Flowchart
Understand All Three with One Simple Example
Suppose we are designing a student result system.
The system needs to:
- Read marks.
- Calculate total.
- Calculate percentage.
- Decide whether the student passed.
- Display result.
We can represent the same problem in three different ways.
Structure Chart View
The structure chart tells us that the complete system has been divided into three modules.
Pseudocode View
START
INPUT marks1, marks2, marks3
total = marks1 + marks2 + marks3
percentage = total / 3
IF percentage >= 40 THEN
result = "PASS"
ELSE
result = "FAIL"
END IF
DISPLAY total
DISPLAY percentage
DISPLAY result
END
Pseudocode focuses on the processing logic.
Flowchart View
The flowchart makes the order of steps visible.
What is a Structure Chart?
A structure chart is a hierarchical diagram used in structured software design to show the decomposition of a system into modules and the calling relationships between those modules.
It gives a high-level picture of how the software has been divided into manageable parts.
Purpose of a Structure Chart
Structure charts are mainly used to show:
- Major modules of the software.
- Parent and child module relationships.
- Which module calls another module.
- Data passed between modules.
- Control information passed between modules.
- Overall modular organisation of the program.
Basic Elements of a Structure Chart
Module
Usually shown as a rectangular box. It represents one software module or function.
Connection Line
Shows that one module invokes or uses another module.
Data Couple
Shows data being passed from one module to another.
Control Couple
Shows control information such as a flag or condition passed between modules.
Data Couple in a Structure Chart
A data couple represents information that one module passes to another.
← paymentStatus
Order Module sends orderAmount to Payment Module.
Payment Module returns paymentStatus.
Control Couple in a Structure Chart
A control couple represents information that affects the execution or decision behaviour of another module.
Here, isAdmin is not ordinary business data only. It controls which operation another module may perform.
Hierarchy in a Structure Chart
Structure charts are usually read from top to bottom.
Higher-level modules control or coordinate lower-level modules.
Fan-In and Fan-Out in Structure Charts
Fan-In
Fan-in refers to the number of modules that call or use a particular module.
If Login Validation is reused by Student Login, Teacher Login and Admin Login, that validation module has multiple incoming uses.
Fan-Out
Fan-out refers to the number of lower-level modules directly controlled or called by one module.
If Order Processing directly calls Payment, Inventory, Invoice, Notification, Shipping and Logging modules, its fan-out is relatively high.
Very high fan-out can make a module difficult to understand and maintain, although the acceptable level depends on the design context.
Characteristics of a Good Structure Chart
Structure Chart vs Data Flow Diagram
Students often confuse Structure Charts with Data Flow Diagrams (DFDs).
| Basis | Structure Chart | DFD |
|---|---|---|
| Main Focus | Software module structure | Movement and transformation of data |
| Shows | Modules and calling relationships | Processes, data flows, stores and external entities |
| Used Mainly In | Software design | System/requirement analysis |
| Hierarchy | Module hierarchy | Process decomposition |
Structure Chart vs Flowchart
| Basis | Structure Chart | Flowchart |
|---|---|---|
| Main Purpose | Show modular organisation | Show sequence of control or processing |
| Focus | Modules | Steps and decisions |
| Main Shape | Module boxes | Different symbols for different operations |
| Question Answered | Which modules exist and how are they related? | What happens first, next and under which condition? |
What is Pseudocode?
Pseudocode is an informal way of describing an algorithm using simple English-like statements and programming-style control structures without following the exact syntax of a programming language.
Pseudocode allows us to think about logic before worrying about semicolons, brackets, data types or language-specific syntax.
Why Do We Use Pseudocode?
Easy to Read
Logic can be understood even without knowing a specific programming language.
Easy to Modify
Algorithm steps can be changed before implementation begins.
Focuses on Logic
Developers concentrate on the solution rather than language syntax.
Common Pseudocode Conventions
There is no single programming-language syntax for pseudocode, but good pseudocode should remain clear and consistent.
START / END
Indicate the beginning and ending of an algorithm when useful.
INPUT / READ
Represent data received from the user or another source.
OUTPUT / DISPLAY
Represent output produced by the algorithm.
IF / ELSE
Represent conditional decision making.
FOR / WHILE
Represent repetition or loops.
CALL
Represent execution of another procedure or module.
Sequence in Pseudocode
Sequence means statements are executed one after another.
START INPUT length INPUT width area = length * width DISPLAY area END
Selection in Pseudocode
Selection is used when different actions are required under different conditions.
INPUT age
IF age >= 18 THEN
DISPLAY "Eligible"
ELSE
DISPLAY "Not Eligible"
END IF
Multiple Selection in Pseudocode
INPUT marks
IF marks >= 80 THEN
grade = "A"
ELSE IF marks >= 60 THEN
grade = "B"
ELSE IF marks >= 40 THEN
grade = "C"
ELSE
grade = "FAIL"
END IF
DISPLAY grade
Iteration in Pseudocode
Iteration means repeating one or more steps.
FOR number = 1 TO 5
DISPLAY number
END FOR
number = 1
WHILE number <= 5
DISPLAY number
number = number + 1
END WHILE
Rules for Writing Good Pseudocode
Bad Pseudocode vs Good Pseudocode
Check everything and calculate result then if okay show it otherwise do error.
INPUT marks
IF marks < 0 OR marks > 100 THEN
DISPLAY "Invalid Marks"
ELSE
IF marks >= 40 THEN
DISPLAY "PASS"
ELSE
DISPLAY "FAIL"
END IF
END IF
Complete Pseudocode Example: ATM Withdrawal
START
INPUT accountNumber
INPUT pin
IF credentials are invalid THEN
DISPLAY "Invalid Login"
STOP
END IF
INPUT withdrawalAmount
IF withdrawalAmount <= 0 THEN
DISPLAY "Invalid Amount"
ELSE IF withdrawalAmount > accountBalance THEN
DISPLAY "Insufficient Balance"
ELSE
newBalance = accountBalance - withdrawalAmount
UPDATE accountBalance
DISPENSE cash
DISPLAY newBalance
END IF
END
Advantages of Pseudocode
- Easy to understand.
- Independent of programming language.
- Helps plan algorithm logic.
- Easy to convert into code.
- Useful for communication among developers and students.
- Helps identify missing cases before coding.
Limitations of Pseudocode
- No single universal syntax exists.
- It cannot normally be executed directly by a computer.
- Very large pseudocode can become difficult to maintain.
- Poorly written pseudocode may still be ambiguous.
- It does not automatically show system structure.
What is a Flowchart?
A flowchart is a graphical representation of an algorithm, process or program logic in which different symbols represent different types of operations and arrows show the direction of flow.
Important Flowchart Symbols
Represents the beginning or end of a process.
Represents calculation, assignment or processing activity.
Represents data entering or leaving the process.
Represents a condition that can lead to different paths.
Connects separated parts of a flowchart and helps reduce long crossing lines.
Shows the direction in which processing moves.
Rules for Drawing a Good Flowchart
Flowchart Example: Find the Larger Number
Basic Logic Patterns in Flowcharts
Sequence
Steps execute one after another.
Selection
A decision chooses one of two or more paths.
Iteration
A group of steps repeats while a condition is satisfied.
Flowchart Logic for a Loop
Advantages of Flowcharts
- Easy to understand visually.
- Shows sequence clearly.
- Makes decision paths visible.
- Useful for explaining algorithms.
- Can reveal missing or repeated logic.
- Helpful for documentation and teaching.
Limitations of Flowcharts
- Large flowcharts can become difficult to read.
- Updating complex diagrams can take time.
- They focus mainly on processing flow, not complete software architecture.
- Too many branches may make the diagram confusing.
- Detailed object relationships are better represented using other design models.
Pseudocode vs Flowchart
| Basis | Pseudocode | Flowchart |
|---|---|---|
| Form | Textual | Graphical |
| Main Purpose | Describe algorithm logic | Visualise logic and flow |
| Editing | Usually easy | Complex diagrams may require more effort |
| Best For | Detailed logical steps | Understanding sequence and decisions visually |
| Programming Syntax | Not strict | Not programming language syntax |
Structure Chart vs Pseudocode vs Flowchart
| Basis | Structure Chart | Pseudocode | Flowchart |
|---|---|---|---|
| Main Focus | Module organisation | Algorithm logic | Visual processing flow |
| Representation | Hierarchical modules | Structured text | Graphical symbols |
| Shows Decisions | Not mainly | Yes | Yes |
| Shows Modules | Yes | Not primarily | Not primarily |
| Shows Execution Sequence | Not detailed | Yes | Very clearly |
| Typical Use | Structured software design | Algorithm planning | Algorithm/process representation |
How These Three Work Together
A useful way to understand them is to see them as different views of one solution.
Break the System into Modules
Use a structure chart to understand the major module hierarchy.
Select One Module
Choose one module whose internal processing needs to be designed.
Write Pseudocode
Describe the module's processing logic using simple structured statements.
Draw the Flowchart
Convert important sequence, decision and loop logic into a visual diagram.
Convert into Code
Use the final design as guidance while implementing the module.
Complete Example: Online Order Processing
Step 1: Structure Chart
Step 2: Pseudocode
START
INPUT order
IF order is invalid THEN
DISPLAY "Invalid Order"
STOP
END IF
paymentStatus = PROCESS PAYMENT
IF paymentStatus = SUCCESS THEN
SAVE order
SEND confirmation
DISPLAY "Order Confirmed"
ELSE
DISPLAY "Payment Failed"
END IF
END
Step 3: Flowchart
Relation with Low-Level Design
Structure charts, pseudocode and flowcharts can support Low-Level Design, but they represent different details.
- Structure charts help show module decomposition.
- Pseudocode helps specify processing inside a module.
- Flowcharts help visualise logic and control flow.
These techniques do not replace every other design model. Class diagrams, sequence diagrams, state diagrams and interface specifications may also be required depending on the software.
Common Mistakes Students Make
Mistake 1: Drawing a Flowchart as a Structure Chart
A structure chart shows module hierarchy. It should not be used mainly to show step-by-step algorithm flow.
Mistake 2: Showing Data Stores in Structure Charts Like a DFD
Structure charts and Data Flow Diagrams serve different purposes.
Mistake 3: Writing Real Programming Code as Pseudocode
Pseudocode should focus on logic without unnecessary language syntax.
Mistake 4: No Indentation in Pseudocode
Indentation helps make nested IF statements and loops easy to understand.
Mistake 5: Missing Yes/No Labels in Flowcharts
Decision paths should make the meaning of each direction clear.
Mistake 6: Too Many Lines Crossing
Use connectors when a large flowchart becomes difficult to follow.
Mistake 7: Very Large Structure Chart Modules
A module that performs many unrelated responsibilities may need further decomposition.
Mistake 8: Treating All Three as Interchangeable
Each technique answers a different design question.
Advantages of Structure Charts
- Shows software modularity clearly.
- Helps understand parent-child module relationships.
- Supports decomposition of a large program.
- Can help identify excessive module dependencies.
- Useful for structured design documentation.
Limitations of Structure Charts
- Do not show detailed algorithm flow.
- Do not show detailed timing behaviour.
- Large systems may produce very large charts.
- Not ideal for showing detailed object interactions.
When Should You Use Each Technique?
| Need | Best Technique |
|---|---|
| Show module hierarchy | Structure Chart |
| Plan detailed algorithm logic | Pseudocode |
| Explain logic visually | Flowchart |
| Show input, processing and decision flow | Flowchart |
| Prepare logic before programming | Pseudocode |
| Show software decomposition | Structure Chart |
Exam-Oriented Definition of Structure Chart
A structure chart is a hierarchical design diagram that shows the decomposition of a software system into modules and represents relationships and communication between those modules.
Exam-Oriented Definition of Pseudocode
Pseudocode is an informal, programming-language-independent method of describing an algorithm using simple English-like statements and structured control constructs.
Exam-Oriented Definition of Flowchart
A flowchart is a graphical representation of a process or algorithm in which standard symbols are connected by arrows to show the sequence of processing and decision paths.
2 Marks: What is a Data Couple?
A data couple represents data passed between two modules in a structure chart, such as an amount, ID or calculated value.
2 Marks: What is a Decision Symbol?
A decision symbol in a flowchart is generally shown using a diamond and represents a condition that can cause control to follow different paths such as Yes or No.
5 Marks: Explain Structure Chart
A structure chart shows the hierarchical organisation of software modules. It represents parent-child relationships, module calls and the data or control information exchanged between modules.
Important concepts include:
- Modules
- Calling relationships
- Data couples
- Control couples
- Fan-in
- Fan-out
5 Marks: Explain Pseudocode
Pseudocode is used to describe algorithm logic without the strict syntax of a programming language.
It commonly uses constructs such as INPUT, OUTPUT, IF, ELSE, FOR and WHILE. It is easy to understand, language-independent and useful before coding.
5 Marks: Explain Flowchart Symbols
- Oval / Terminal: Start or end.
- Rectangle: Processing step.
- Parallelogram: Input or output.
- Diamond: Decision.
- Arrow: Direction of flow.
- Connector: Connects separated flowchart sections.
10 Marks: Explain Structure Charts, Pseudocode and Flowcharts
For a strong long-answer response, use this order:
- Define software design representation.
- Define Structure Chart.
- Draw a small structure chart.
- Explain module, data couple and control couple.
- Explain fan-in and fan-out.
- Define pseudocode.
- Explain sequence, selection and iteration.
- Write one pseudocode example.
- Define flowchart.
- Explain important flowchart symbols.
- Draw one flowchart.
- Compare all three techniques.
- Write advantages and limitations.
- Finish with a short conclusion.
Easy Memory Tricks
Structure Chart tells us how modules are organised.
Pseudocode explains logic in simple statements.
Flowchart shows the movement of control visually.
Sequence – Selection – Iteration
Quick Revision Notes
- A structure chart shows software modules and their hierarchy.
- It is mainly used in structured software design.
- A data couple represents data passed between modules.
- A control couple carries information that affects module execution.
- Fan-in is related to how many modules use a module.
- Fan-out is related to how many modules are directly called by a module.
- A structure chart is not the same as a DFD.
- Pseudocode describes algorithm logic using simple structured statements.
- Pseudocode is not tied to strict programming-language syntax.
- Main logic patterns are sequence, selection and iteration.
- Flowcharts represent logic graphically.
- Oval represents Start or End.
- Rectangle represents processing.
- Parallelogram represents input/output.
- Diamond represents decision.
- Arrows show the direction of control flow.
- Structure Chart = Modules.
- Pseudocode = Text Logic.
- Flowchart = Visual Logic.
Frequently Asked Questions
What is a structure chart in software engineering?
A structure chart is a hierarchical diagram that shows software modules, their calling relationships and communication between modules.
What is pseudocode?
Pseudocode is an informal method of describing algorithm logic using simple structured statements without strict programming-language syntax.
What is a flowchart?
A flowchart is a graphical representation of a process or algorithm using standard symbols connected by arrows.
What is the main difference between a structure chart and a flowchart?
A structure chart shows the organisation of software modules, while a flowchart shows the sequence of processing and decisions.
What is the difference between pseudocode and a flowchart?
Pseudocode represents logic using text, while a flowchart represents the same type of logic visually using symbols and arrows.
What is a data couple?
A data couple is data passed from one software module to another in a structure chart.
What is a control couple?
A control couple is control information passed between modules that affects how another module performs its processing.
What is fan-in?
Fan-in describes how many modules use or call a particular module.
What is fan-out?
Fan-out describes how many lower-level modules are directly called or controlled by one module.
What are the three basic logic structures?
The three basic logic structures are sequence, selection and iteration.
Which symbol is used for decision in a flowchart?
A diamond symbol is commonly used to represent a decision.
Which flowchart symbol represents input and output?
A parallelogram is commonly used for input and output operations.
Can pseudocode be executed directly?
Normally no. Pseudocode is intended for planning and communicating logic, not direct execution by a computer.
Is a structure chart the same as a DFD?
No. A structure chart focuses on software module organisation, while a DFD focuses on data flow and transformation.
Which is better: pseudocode or flowchart?
Neither is always better. Pseudocode is convenient for detailed textual logic, while a flowchart is useful when the visual sequence and decisions need to be understood quickly.
Conclusion
Structure charts, pseudocode and flowcharts are three useful ways to represent software design and logic before implementation.
A structure chart focuses on modular organisation. It tells us which modules exist, how they are arranged and how they communicate.
Pseudocode focuses on algorithm logic. It lets developers describe sequence, decisions and loops in a simple form without worrying about programming-language syntax.
Flowcharts make this logic visual by using symbols and arrows to show processing, decisions, input/output and control flow.
The most important thing is not to confuse their roles. Each technique gives a different view of the software and can be used together when a design needs both structural and logical clarity.
Structure Chart = Who calls whom?
Pseudocode = What logic is performed?
Flowchart = How does the logic flow?
