The development life cycle and design tools
| English | Chinese | Pinyin |
|---|---|---|
| program development life cycle | 程序开发生命周期 | chéng xù kāi fā shēng mìng zhōu qī |
| design | 设计 | shè jì |
| analysis | 分析 | fēn xī |
| coding | 编码 | biān mǎ |
| testing | 测试 | cè shì |
| abstraction | 抽象 | chōu xiàng |
| decomposition | 分解 | fēn jiě |
| flowchart | 流程图 | liú chéng tú |
| pseudocode | 伪代码 | wěi dài mǎ |
Building a program
- A program is built in stages — the program development life cycle 程序开发生命周期.
- We plan it with design 设计 tools, then write the algorithm.
- Every algorithm breaks into input → processing → output.
The four stages
- Analysis 分析 — study the problem and work out what's needed.
- Design — plan how the program will work.
- Coding 编码 — write the code, testing 测试 small parts as you go (iterative testing).
- Testing — run the finished program with test data to find errors.
- Two analysis skills: abstraction 抽象 (keep only the important details) and decomposition 分解 (break a big problem into smaller parts).

The four stages of program development; testing feeds back to fix and refine the design.
The program development life cycle
Step through the stages every project follows — work out what's needed, plan it, build it, then check it. Getting analysis right first saves a lot of rework later.
Put the development life cycle stages in order.
Analysis (what is needed) → design (plan) → coding (write) → testing (check).
Abstraction means:
Abstraction simplifies; decomposition breaks a problem into parts.
Match each design concept to what it means.
Abstraction simplifies, decomposition splits up, pseudocode plans the steps, and IPO is the overall flow.
Design tools
- A structure diagram — shows the parts of a system and how they fit together.
- A flowchart 流程图 — boxes and arrows showing the steps in order.
- Pseudocode 伪代码 — steps in simple, code-like English (not a real language).

Software is written by programmers who follow the development life cycle.
Pseudocode is:
Pseudocode describes an algorithm in readable, code-like English without being a real language.
Input, processing, output
- Every algorithm decomposes into input (the data in), processing (the work done), and output (the result).
- e.g. "average of three marks": input the 3 marks → add them and divide by 3 → output the average.

A program flowchart sets out the steps and decisions of a program during the design stage.
Every algorithm can be decomposed into:
Input (data in) → processing (the work) → output (the result).
You've got it
- life cycle: analysis → design → coding → testing
- abstraction = keep what matters; decomposition = break into parts
- design tools: structure diagram, flowchart, pseudocode
- every algorithm = input → processing → output