ソフトウェア開発プロジェクトにおいて, 上流工程から順に工程を進めることにする。要件定義, システム設計, 詳細設計の工程ごとに完了判定を行い, 最後にプログラミングに着手する。このプロジェクトで適用するソフトウェア開発モデルはどれか。
平成25年度 秋期 ITパスポート試験 問34
This question's explanation and your answers so far.
問 34
- ア
正解 The correct answer is “ア Waterfall model”. In the waterfall model, the development processes are carried out in one direction from upstream to downstream — requirements definition → system design → detailed design → programming → testing — like water falling down a waterfall. At the end of each process the deliverables are reviewed, and work moves on to the next process only after the completion check is passed, so in principle there is no going back to an earlier process. The three features described in the question — proceeding from upstream processes in order, performing a completion check for each process, and starting programming only at the end — all state the typical way the waterfall model proceeds, so ア is appropriate.
Incorrectイ
The spiral model divides the system into parts (subsystems) and repeats a cycle of “design → development → evaluation” over and over in a spiral, raising the level of completion while assessing risks. It is not a way of proceeding in which all processes are run through just once from upstream and programming is started all together at the end, as in the question, so it is wrong.
Incorrectウ
The incremental (phased) model divides the system into functional units and develops and releases them stage by stage, starting from the parts that work, gradually approaching the finished form. Programming starts from the very first stage and does not wait for the detailed design of the whole system to be completed. The question clearly states that programming is started only at the end, so this does not apply.
Incorrectエ
The prototyping model builds a trial product (a prototype) at an early stage of development and has users check it, clarifying the requirements as development proceeds. Because programming in the form of a prototype already occurs during the requirements definition stage, it contradicts the condition in the question that programming is started only at the end.
- Waterfall model = a development model that proceeds in one direction from upstream processes to downstream processes without going back, moving to the next process only after passing the completion check (review) at the end of each process. Programming starts only after all the design processes are finished.
- How to tell the main development models apart: look at whether there is iteration, and at how early programming starts. Waterfall = no iteration, implementation last; Spiral = repeats cycles in a spiral; Incremental (phased) = split into functional units and released one after another; Prototyping = builds a prototype early to confirm the requirements.