The program development life cycle
| English | Chinese | Pinyin |
|---|---|---|
| development life cycle | 开发生命周期 | kāi fā shēng mìng zhōu qī |
| requirements | 需求 | xū qiú |
| waterfall | 瀑布模型 | pù bù mó xíng |
| maintenance | 维护 | wéi hù |
| iterative | 迭代式 | dié dài shì |
| agile | 敏捷 | mǐn jié |
The development life cycle 开发生命周期
- A development life cycle is the set of stages from idea to finished, maintained software.
- It exists to plan, manage and control a project — building the right product, on time, with quality.
- Different projects suit different models.
Why a life cycle
- It manages complexity (break a big program into phases), coordinates teams, and tracks progress with milestones.
- It builds in testing, records design decisions, and manages risk.
- No single model fits everything — the choice depends on size, how clear the requirements 需求 are, and how much change is expected.

Software is built by teams who follow the development life cycle.
A development life cycle is used to:
It structures the work into stages so the team builds the right product, on time, with quality.
Common models
| Model | How it works | Best when |
|---|---|---|
| Waterfall 瀑布模型 | linear: Analysis → Design → Coding → Testing → Maintenance 维护 | requirements are stable |
| Iterative 迭代式 | repeated passes, each a refined partial version | requirements discovered over time |
| RAD | fast prototypes + user feedback | requirements change; smaller systems |
| Agile 敏捷 | short sprints, constant collaboration & testing | change is constant; committed customer |
- Waterfall is clear and well-documented but copes poorly with mid-project change.

The iterative model: repeated passes refine the program
The waterfall model is best suited to projects where:
Waterfall is linear with each stage finished before the next — great for stable requirements, poor at mid-project change.
In the waterfall model each stage is finished before the next begins, whereas agile works in short iterative sprints with constant feedback.
Waterfall is linear (good for stable requirements); agile adapts through short sprints with continuous customer collaboration and testing.
Match each model to its key idea.
Waterfall = linear; iterative = repeated refinement; RAD = prototype-driven and fast.
The standard stages
- Analysis — find what the program must do (gather requirements).
- Design — decide how (data structures, algorithms, modules, interface).
- Coding — write the source code; Testing — run against test data and fix bugs.
- Maintenance — after release, keep it working and useful.

Rapid application development: teams work on parts in parallel
- Several development life cycles exist; the program development life cycle runs analysis → design → coding → testing → maintenance.
The program development life cycle
Step through the stages every project passes through. Getting the requirements right in analysis matters most — a mistake caught in testing is far costlier to fix than one caught early.
The analysis stage is mainly about deciding:
Analysis gathers requirements (the "what"); design decides the "how".
You've got it
- a life cycle plans, manages and controls a project
- waterfall (linear, stable requirements) · iterative · RAD (prototypes) · agile (sprints)
- stages: analysis (what) → design (how) → coding → testing → maintenance
- pick the model by requirements clarity and expected change