The waterfall model (ウォーターフォールモデル) divides development into several phases and moves in one direction, entering the next phase only after the previous one is finished and checked.
Requirements definition
Design
Programming
Testing
Operation
After testing, the system goes into operation and development is complete.
4 / 4
Phases near the start of development, such as requirements definition, are called upstream phases (上流工程), and later ones, such as programming and testing, are downstream phases (下流工程); each later phase works from the deliverables (documents) of the one before. The clear boundaries make plans and progress easy to manage, but because the model assumes no going back, it copes poorly with specification changes midway. Going back to an earlier phase to redo work after an upstream error surfaces late is called rework (手戻り).
AnalogyIt is like building a house in the order foundation, pillars, roof. Spot a flaw in the foundation after the roof is on, and fixing it becomes a major job.
How to rememberDraw the phases as a staircase going down, and work seems to spill from one step to the next like water over a fall.
Exam points
ExamBecause each phase is confirmed complete before the next begins, it is easy to see progress (進捗), meaning how far development has come.
ExamThe later the phase in which an error from an upstream phase (上流工程) is found, the larger the rework (手戻り), and the cost of fixing each error also rises as development goes on.
ExamThis model suits projects whose requirements are settled from the start and are unlikely to change later.
The prototyping model (プロトタイピングモデル) builds a trial version (prototype) early in development and pins down requirements while users check it.
Build a prototype
Users try it and evaluate
Fix the requirements
Develop the real system
The real system is developed from the fixed requirements.
3 / 3
Users can see the actual screens and operations before commenting, so wishes that are hard to convey in documents alone come out early. Prototyping and evaluation may be repeated until opinions settle, and each extra round adds time and cost.
AnalogyIt is like showing buyers a model home before construction and asking what they want in layout and ease of use.
How to rememberThe prefix proto- means "first," so a prototype is the first form made, before the real thing.
Exam points
ExamThe purpose of building a prototype (試作品) is to let users see something real early and remove vague requirements and gaps in understanding with the developers.
ExamA prototype (プロトタイプ) at the requirements definition stage is simple software that users can actually operate to check things.
The spiral model (スパイラルモデル) splits a system into parts and, by repeating a development cycle from planning to evaluation for each part, spirals toward completion.
Loop 1: build the core part
Feed the evaluation into the next plan
Loop 2: add a part
Loop 3: add more and approach completion
With each loop, more parts are added and the system gets closer to completion.
4 / 4
Each loop starts with a plan and an estimate of likely trouble spots (risks, リスク) before moving to design and prototyping, and the evaluation results feed into the next loop's plan. With every loop the scope of development widens, and the system gradually nears completion.
AnalogyIt is like planting flowers in one corner of a garden, seeing how they grow, and then using what you learned to extend the flower bed to the next patch, again and again.
How to rememberPicture a spiral: each time the work loops back from evaluation to the next plan, it reaches a little further out.
Exam points
ExamBecause each loop's evaluation leads into improvements and added functions in the next loop, the model adapts well to requirements that change during development.
Mix-upWhat the prototyping model (プロトタイピングモデル) repeats is prototyping and evaluation to confirm requirements, whereas what the spiral model (スパイラルモデル) repeats is a development cycle that builds parts of the system.
RAD is a development method that puts building a system in a short time first, making use of development support tools (開発支援ツール), reusable components, and prototypes.
Users join a small team, and the system is finished by refining it again and again while looking at prototypes. The development period is often fixed in advance, with the system completed within that window.
AnalogyIt is like assembling furniture from ready-made parts and a kit, talking it over with the customer as you go, and finishing in just a few days.
How to rememberShort for Rapid Application Development, where "rapid" means fast.
Exam points
Mix-upRAD puts first finishing a system in a short time with prototypes and tools, while the prototyping model (プロトタイピングモデル) builds prototypes to confirm and settle requirements.