Learning Objectives
  • Identify inputs, processes, outputs and storage requirements from a scenario.
  • Distinguish between data that is input, produced, calculated and stored.
  • Create an IPO storage table for a proposed solution.
  • Use the analysis to check that an algorithm is complete.
Key Terms
Input
Data supplied to a system for processing.
Process
An operation performed on data, such as a calculation, comparison, validation or update.
Output
Information produced by the system and communicated to a user or another system.
Storage
Keeping data so it can be used later during the program or in a future run.
IPO
A model that organises a solution into input, process and output.
Persistent data
Data retained after the program has ended, usually in a file or database.
Summary diagram
Summary Of The Main Ideas In This Lesson
Why IPO And Storage Are Identified

A solution cannot be designed reliably unless the required data flow is understood. The developer identifies what data enters, what operations are performed, what results leave and what data must be retained.

The IPO model is useful, but many computer solutions also need storage. A stock system must remember quantities after the program closes, while a simple one-time calculation may only need temporary variables while it runs.

Inputs

Inputs may come from a keyboard, file, sensor or another system. In algorithm questions, the source may be less important than the data item and its rules. A student-record program may input a student ID, name and mark.

The analysis should identify data type, permitted range, required format and whether an input is compulsory. These details later affect validation and testing.

Processes

Processes transform or inspect data. Common processes include calculating totals and averages, comparing values, counting items, searching, sorting, validating input and updating stored data.

A process description should be specific. “Process the marks” is vague; “add the five marks, divide by five and compare the average with the pass mark” explains what the algorithm must do.

Outputs

Outputs are results communicated outside the current process. They may be displayed, printed, written to a file or passed to another module. A confirmation message is an output, as is a calculated price.

Output requirements should state both the data and the situation in which it is produced. For example, display an error message when a code is invalid, otherwise display the product description and price.

Storage

Temporary storage holds values while the algorithm runs, such as a total, count or current maximum. Persistent storage is required when data must be available later, such as account records or saved scores.

The designer should avoid storing unnecessary derived data. If a value can be calculated easily from stored data, storing both may create inconsistency when one is updated and the other is not.

IPO And Storage Example
Category School Canteen Order Example
Inputs Item code, quantity, customer category
Processes Validate code and quantity; look up price; calculate item cost and discount; calculate final total
Outputs Item description, cost, discount, final total, error messages
Storage Item codes and prices; temporary total; possibly a saved transaction record
Worked Examples
Electricity Bill

Question: Identify the inputs, processes, outputs and storage for a simple electricity-bill program.

  1. Inputs: previous meter reading, current meter reading and tariff.
  2. Processes: validate readings, calculate units used and multiply by tariff.
  3. Outputs: units used and bill amount.
  4. Storage: tariff and customer data may be stored persistently; current calculations are temporary.

Answer: The IPO and storage list provides the data requirements for the later algorithm.

Missing Output

Question: A design validates a password but gives no message when the password is invalid. What analysis item is missing?

  1. The invalid condition has been identified.
  2. The user needs to know why the process cannot continue.

Answer: An error-message output requirement is missing.

Examination Guidance
  • Use nouns for data items and clear verbs for processes.
  • Do not list a calculation result as an input merely because it appears later in the program.
  • Separate temporary working values from data that must remain after the program ends.
  • Include error messages and confirmations as outputs when required.
  • Check that every requirement is represented by at least one input, process, output or storage item.
Common Mistakes
  • Calling the keyboard itself the input instead of naming the data entered.
  • Writing “calculation” without stating the calculation.
  • Forgetting outputs produced in invalid cases.
  • Assuming all variables are persistent storage.
  • Storing data that is not needed for the solution.
Knowledge Check

1. What is an input?

Answer: Data supplied to a system for processing.

2. Give two examples of processes.

Answer: A calculation and a comparison, validation, search, sort or update are valid.

3. What is persistent data?

Answer: Data retained after the program has ended.

4. Is an error message an output?

Answer: Yes, it communicates a result or condition to the user.

5. Why add storage to an IPO analysis?

Answer: Some required data must be retained temporarily or persistently for later use.