Construct suitable representations to illustrate system requirements.


Teaching Note:

Examples include: system flow charts, data flow diagrams, structure chart.

UML is not required.

LINK Flow chart symbols, flow charts and pseudocode.


Sample Question:


JSR Notes:

(Note that the one we chose not to do is data flow diagrams; maybe just before the exam, look at the old Red and Yellow text book, pages jasdfaskdfhaskdhjfasdhjfasd).

Firstly, for an overview of various kinds of charts used for design in CS and IT, see page 20 of the IB CS Former Curriculum Yellow & Red Textbook. And recognize that the system flowchart is arguably the most important for this Topic 1.2, since it deals with system design.s

*** Your dossier charts were more software only; now you're thinking about overall systems, including HARDWARE too.

System Flow Charts

Example of system on pages 21 - 23 of the Yellow & Red textbook.
(Plus an algorithm flow chart on page 62 of the Yellow & Red textbook - these kinds of flow charts are not explicitly referred to in the assessment statement above, but they are common in CS. See another good example of one on my website at this link.)

Data Flow Diagrams

See the chart on page 20 of the Yellow & Red textbook, but this really does not seem anywhere near as important or useful as a system flow chart for a topic on system design.


Structure Chart

This can be UML though the teacher not say it's not necessary to use UML, but the idea is that you are demonstrating the way that you classes are arranged, and most everyone used UML to do so, just like we did in our IA. Here's an example.


Other Chart Examples For your dossier, you did the following kinds of things to construct suitable representations to illustrate system requirements.

- Class diagram (using UML)

- Flowchart of overall design. See page 80 and 81 of Avo's dossier are class diagrams, one general and one full UML.

- Page 50 of Avo's is a flowchart for an algorithm.

- You guys did a flow chart for the overall flow of processing in the program.


IA Solution Connection and Considerations





flowchart is a type of diagram that represents an algorithm, workflow or process, showing the steps as boxes of various kinds, and their order by connecting them with arrows. This diagrammatic representation illustrates a solution model to a given problem. Flowcharts are used in analyzing, designing, documenting or managing a process or program in various fields.

A simple flowchart representing a process for dealing with a non-functioning lamp.

Page_white_powerpoint Algorithms & Flowcharts.ppt
Data Flow Diagrams

data flow diagram (DFD) is a graphical representation of the "flow" of data through an information system, modeling its process aspects. A DFD is often used as a preliminary step to create an overview of the system, which can later be elaborated. DFDs can also be used for the visualization of data processing (structured design).

DFD shows what kind of information will be input to and output from the system, where the data will come from and go to, and where the data will be stored. It does not show information about the timing of processes, or information about whether processes will operate in sequence or in parallel (which is shown on a flowchart).

Data flow diagram example.

Data Flow Diagrams - Tutorial

Structure Chart

Structure Chart (SC) in software engineering and organizational theory, is a chart which shows the breakdown of a system to its lowest manageable levels. They are used in structured programming to arrange program modules into a tree. Each module is represented by a box, which contains the module's name. The tree structure visualizes the relationships between modules.

Example of a Structured Chart.



Introduction to the Design Process

Software analysis and design includes all activities, which help the transformation of requirement specification into implementation. Requirement specifications specify all functional and non-functional expectations from the software. These requirement specifications come in the shape of human readable and understandable documents, to which a computer has nothing to do. Software analysis and design is the intermediate stage, which helps human-readable requirements to be transformed into actual code. A few analysis and design tools used by software designers includeFlowcharts, Data Flow Diagrams (DFD) and Structure Charts.



Introduction to Flowcharts

Flow charts are easy-to-understand diagrams that show how the steps in a process fit together. Their simplicity makes them useful tools for communicating how processes work, and for documenting how to do a particular job. Furthermore, the act of mapping out a process using a flow chart can clarify your understanding of it, and help you improve it.

You can use them to:

  • Define and analyze processes.
  • Communicate steps to other people involved in a process.
  • Standardize a process.
  • Improve a process.
  • Identify bottlenecks, or troubleshoot a problem.

Also, by drawing a flow diagram, you can zoom in on each individual stage, without feeling overwhelmed by the rest of the process.

Flowchart Symbols

Flow Chart Symbols

Many flow charts consist of four types of symbols:

1. Elongated circles, which signify the start or end of a process.


2. Rectangles, which show instructions or actions.


3. Diamonds, which highlight where you must make a decision.


4. Parallelograms, which show input and output. This can include materials, services or people entering or leaving the process.


You label each symbol appropriately to show the information it displays. For example, this could show the start of the process, the action to take, or the decision to make.

Arrows connect the symbols, and show process flow.


Here are several examples of how you can use flow diagrams to document or improve a business process:

  • Software developers can use them to map out a process that needs to be automated. This helps developers visualize individual steps, as well as the big picture.

  • Managers can use them to record the sequence of tasks in a process. This helps inexperienced team members understand the process, and complete activities in the right order.
  • A Fairtrade organization could use them to map how it sources ingredients, and to show the way that these move through the manufacturing process to become a final product. This documentation could help the organization confirm whether each supplier or manufacturer involved in production has complied with safety and fair wage standards.

As you can see, flow diagrams have a wide variety of uses. They're simple to construct, and easy to understand. They are also highly informative, because they illustrate the decisions that you have to make, and the steps that you need to take.

They can also help you estimate time, and identify who you should involve in any decisions. In some environments, such as quality management, they may even be required for industry or government certification.


Steps to Create Flowchartsdrag to move

Step 1: Identify Tasks

Begin by listing all of the tasks in a process in chronological order. Ask questions such as "What happens next in the process?" or "Do you need to make a decision before the next step?" or "What approvals are required before you move on to the next task?"

Put yourself in the shoes of the person using the process. Better yet, take a hands-on approach and go through the process yourself, or talk to team members who work with the process directly.

Step 2: Organize and Document Tasks

Next, start your flow chart by drawing the elongated circle shape and labeling it "Start."

Then, work through your whole process and show the actions and decisions in the order that they happen. Link them with arrows to illustrate the flow of the process.

Where you need to make a decision, draw arrows from the decision diamond to each possible solution, and then label each arrow with the decision made. Remember to show the end of the process by using an elongated circle labeled "Finish."

Step 3: Test

When you've completed your flow chart, double-check it to make sure that you haven't overlooked anything.

Work through each step and ask yourself whether you have correctly represented the sequence of actions and the decisions involved in the process. Show your flow chart to other people, especially those who work directly with the process, and ask them whether it is comprehensive, and to test that it works.

Step 4: Challenge

If you want to improve the process, look at the steps you have identified and check whether any of them are unnecessary, or whether they are duplicated. Are there any other steps that you should include? And have you assigned jobs to the right people?

Then, continue to challenge the steps in the diagram to improve efficiency. You should ask yourself whether each of the steps is needed, whether the requirements they address still exist, and whether new technologies can improve the process. Identify any major bottlenecks, and deal with them to improve performance.


The diagram below shows part of a simple diagram illustrating how the receptionists in an example company route incoming phone calls to the correct department:

Part of an Example Flow Chart Showing how to Route Incoming Phone Calls

Example Flow Chart
Key Points

Flow charts are simple diagrams that map out a process, so that you can easily communicate it to other people. You can also use them to define and analyze a process, build a step-by-step picture of it, and define, standardize or improve it.

To draw a flow chart, identify the tasks and decisions that you make during a process, and write them down in order. Then, arrange these steps in the flow-chart format, using the appropriate shapes for actions to take and decisions to make. Complete with "Start" and "Finish" symbols to show the beginning and end of the process.

Finally, test your flow chart to make sure that it accurately represents the process, and that it shows the most efficient way of doing the job.


Introduction to DFDs

Data flow diagram is graphical representation of flow of data in an information system. It is capable of depicting incoming data flow, outgoing data flow and stored data. The DFD does not mention anything about how data flows through the system.

There is a prominent difference between DFD and Flowchart. The flowchart depicts flow of control in program modules. DFDs depict flow of data in the system at various levels. DFD does not contain any control or branch elements.

Types of DFDs

Data Flow Diagrams are either Logical or Physical.

  • Logical DFD - This type of DFD concentrates on the system process, and flow of data in the system.For example in a Banking software system, how data is moved between different entities.
  • Physical DFD - This type of DFD shows how the data flow is actually implemented in the system. It is more specific and close to the implementation.
DFD Components

DFD can represent Source, destination, storage and flow of data using the following set of components -

DFD Components

  • Entities - Entities are source and destination of information data. Entities are represented by a rectangles with their respective names.
  • Process - Activities and action taken on the data are represented by Circle or Round-edged rectangles.
  • Data Storage - There are two variants of data storage - it can either be represented as a rectangle with absence of both smaller sides or as an open-sided rectangle with only one side missing.
  • Data Flow - Movement of data is shown by pointed arrows. Data movement is shown from the base of arrow as its source towards head of the arrow as destination.
Levels in DFDs
  • Level 0 - Highest abstraction level DFD is known as Level 0 DFD, which depicts the entire information system as one diagram concealing all the underlying details. Level 0 DFDs are also known as context level DFDs.

Level 0

  • Level 1 - The Level 0 DFD is broken down into more specific, Level 1 DFD. Level 1 DFD depicts basic modules in the system and flow of data among various modules. Level 1 DFD also mentions basic processes and sources of information.
  • Level 1
  • Level 2 - At this level, DFD shows how data flows inside the modules mentioned in Level 1.

    Higher level DFDs can be transformed into more specific lower level DFDs with deeper level of understanding unless the desired level of specification is achieved.


Introduction to Structure Charts

Structure chart is a chart derived from Data Flow Diagram. It represents the system in more detail than DFD. It breaks down the entire system into lowest functional modules, describes functions and sub-functions of each module of the system to a greater detail than DFD.

Structure chart represents hierarchical structure of modules. At each layer a specific task is performed


Examples of Structure Charts

Here are the symbols used in construction of structure charts -

  • Module - It represents process or subroutine or task. A control module branches to more than one sub-module. Library Modules are re-usable and invokable from any module.SC Modules
  • Condition - It is represented by small diamond at the base of module. It depicts that control module can select any of sub-routine based on some condition.SC Condition
  • Jump - An arrow is shown pointing inside the module to depict that the control will jump in the middle of the sub-module.SC Module Jump
  • Loop - A curved arrow represents loop in the module. All sub-modules covered by loop repeat execution of module.SC Loop
  • Data flow - A directed arrow with empty circle at the end represents data flow.SC Dataflow
  • Control flow - A directed arrow with filled circle at the end represents control flow.SC ControlFlow