ITパスポート 2010年 春期 問50
問題文
図は開発するソフトウェアの動作ロジックを検討し、その結果を文書化した流れ図の一部である。このような作業を実施するのはソフトウェア開発のどの段階か。

選択肢
ア:システム方式設計
イ:システム要件定義
ウ:ソフトウェア詳細設計(正解)
エ:ソフトウェア要件定義
🔒 解説は解答すると表示されます
流れ図(フローチャート)で表した処理はソフトウェア開発のどの段階か【ITパスポート 解説】
正解の理由
図は入力値 IN に対する具体的な条件判定(例:IN ≥ 1、IN ≥ 4 AND IN ≤ 9、IN ≤ 12)と、それに応じた出力表示(“上半期”“下半期”“エラー”)を細かく示しています。
このように「どの条件でどう振る舞うか」をステップ単位で決め、プログラマがそのまま実装できるレベルの論理(アルゴリズム)を示す作業は、ソフトウェアの実装に直結する設計工程です。したがって選ぶべきは ウ(ソフトウェア詳細設計)です。
このように「どの条件でどう振る舞うか」をステップ単位で決め、プログラマがそのまま実装できるレベルの論理(アルゴリズム)を示す作業は、ソフトウェアの実装に直結する設計工程です。したがって選ぶべきは ウ(ソフトウェア詳細設計)です。
(用語メモ)
- 流れ図(フローチャート):処理の順序や条件分岐を図で表したもの。プログラムの動きを視覚化します。
- ソフトウェア詳細設計:実装(プログラミング)に必要な具体的手順やデータ定義を決める工程。「どう実現するか」を細かく書く段階です。
解法ステップ
- 図の内容を見て「抽象的な要求か」「具体的な処理手順か」を判断する。
- 要求(何をするか)→ 要件定義の可能性。
- 手順(どうするか)→ 詳細設計の可能性。
- 図に含まれる情報の粒度を確認する。
- 値の比較や分岐・表示など、実装そのもののロジックなら詳細設計。
- 選択肢と工程の役割を照らし合わせる。
- システム的な構成や技術方針なら方式設計。
- ユーザーの要求や機能一覧なら要件定義。
- 今回は「具体的な条件分岐と表示」が書かれているので詳細設計(ウ)。
選択肢別の誤答解説
- ア: システム方式設計
- 誤り。方式設計(システム方式設計)はシステムをどのような構成(サーバ(サービスを提供するコンピュータ)、ネットワーク、ミドルウェア等)で実現するかを決める工程です。今回の図は処理の細かい流れであり、構成要素や技術選定ではありません。
- イ: システム要件定義
- 誤り。システム要件定義は全体として「何を実現するか」(機能・性能・制約)を決める段階です。図は処理手順の詳細で、要件レベルより具体的です。
- エ: ソフトウェア要件定義
- 誤り。ソフトウェア要件定義はソフトウェア単体として必要な機能や入出力、制約を記載しますが、アルゴリズムの細部(どの条件で何を出力するかを順序立てた流れ図)は通常、詳細設計で作成します。
よくある誤解
- 「図は何をするかを書いているから要件定義だ」
- 誤解です。要件定義は機能の列挙や期待動作の説明が中心で、条件値や処理順序まで細かく決めるのは詳細設計です。
- 「フローチャートはプログラム設計だからいつでも詳細設計扱い」
- 半分正しいですが、図の抽象度によります。概念的なフローチャート(大まかな流れ)なら上位設計寄りですが、今回のように具体的な数値比較や出力まで示すものは詳細設計です。
補足コラム
- 詳細設計の出力物例:フローチャート(流れ図)、疑似コード(アルゴリズム説明)、モジュール仕様書、データ定義書(変数やデータベース項目の型・意味)。
- 詳細設計はテスト設計(どの条件を試すか)にも直結します。図の各分岐がそのままテストケースになります(例:IN = 0、IN = 2、IN = 5、IN = 10、IN = 13 など)。
サンプル(図の動作を簡単に示す疑似コード):
def classify(IN):
if IN < 1:
return "エラー"
if 4 <= IN <= 9:
return "上半期"
if IN <= 12:
return "下半期"
return "エラー"
このように「具体的な条件」と「対応する出力」が書かれているのが詳細設計の特徴です。
FAQ
Q1. 要件定義と詳細設計は厳密に線引きされるのですか?
A1. プロジェクトや開発手法によって境界は前後しますが、基本は「何をするか(要件)」と「どう実現するか(設計)」で分かれます。流れ図に実装ルールや数値条件があれば詳細設計扱いになりやすいです。
A1. プロジェクトや開発手法によって境界は前後しますが、基本は「何をするか(要件)」と「どう実現するか(設計)」で分かれます。流れ図に実装ルールや数値条件があれば詳細設計扱いになりやすいです。
Q2. フローチャートはプログラムそのものですか?
A2. いいえ。フローチャートはプログラムの設計図です。プログラムはこの設計図をもとにコードとして書かれます。
A2. いいえ。フローチャートはプログラムの設計図です。プログラムはこの設計図をもとにコードとして書かれます。
Q3. 詳細設計書があるとプログラマは何をするのが楽になりますか?
A3. 実装すべき処理が明確になるため、コーディングの手戻りが減り、テスト計画も立てやすくなります。
A3. 実装すべき処理が明確になるため、コーディングの手戻りが減り、テスト計画も立てやすくなります。
関連キーワード: 流れ図、フローチャート、詳細設計、要件定義、設計工程、疑似コード、テスト設計

\ せっかくなら /
ITパスポートを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

