問34
頻出度★★★
ソフトウェア開発プロジェクトにおいて, 上流工程から順に工程を進めることにする。要件定義, システム設計, 詳細設計の工程ごとに完了判定を行い, 最後にプログラミングに着手する。このプロジェクトで適用するソフトウェア開発モデルはどれか。
这道题的解析和你的作答记录。
ソフトウェア開発プロジェクトにおいて, 上流工程から順に工程を進めることにする。要件定義, システム設計, 詳細設計の工程ごとに完了判定を行い, 最後にプログラミングに着手する。このプロジェクトで適用するソフトウェア開発モデルはどれか。
正解 正确答案是「ア 瀑布模型」。瀑布模型是指按照 需求定义 → 系统设计 → 详细设计 → 编程 → 测试 的顺序,把开发工序从上游向下游单向地(像瀑布落下一样)依次推进的开发模型。在每个工序的末尾对交付物进行评审,通过完成判定之后才进入下一个工序,因此原则上不返回前一个工序。题目中「从上游工序开始按顺序推进各工序」「对每个工序进行完成判定」「最后才着手编程」这三个特征,都是在描述瀑布模型的典型推进方式,所以ア是恰当的。
螺旋模型是把系统划分成若干部分(子系统),把「设计 → 开发 → 评价」这一循环呈螺旋状反复多次,在评估风险的同时逐步提高完成度的开发模型。它并不是像题目那样把全部工序只从上游顺序走一遍、最后再集中着手编程的推进方式,所以错误。
阶段式模型(增量式、增量型模型)是把系统按功能单位划分,从能够运行的部分开始分阶段地开发和发布,一点一点接近最终完成形态的开发模型。编程从最初的阶段就开始,不会等待整体的详细设计全部完成。题目明确写着「最后才着手编程」,所以不符合。
原型模型是在开发的早期阶段制作原型(prototype),请用户确认,从而一边明确需求一边推进开发的模型。由于在需求定义阶段就已经以制作原型的形式产生了编程工作,因此与题目「最后才着手编程」的条件相矛盾。