プロジェクトマネージャ 2015年 午前2 問16
問題文
安全性と信頼性について、次の方針でプログラム設計を行う場合、その方針を表す用語はどれか。
〔方針〕
不特定多数の人が使用するプログラムには、自分だけが使用するプログラムに比べて、より多くのデータチェックの機能を組み込む。プログラムが処理できるデータの前提条件を文書に書いておくだけでなく、その前提条件を満たしていないデータが実際に入力されたときは、エラーメッセージを表示して再入力を促すようにプログラムを作る。
選択肢
ア:フールプルーフ(正解)
イ:フェールセーフ
ウ:フェールソフト
エ:フォールトトレラント
🔒 解説は解答すると表示されます
フールプルーフ設計【午前2解説】
正解の理由
正解はアのフールプルーフです。フールプルーフとは、利用者が誤った操作や入力をしても、誤りが重大な問題につながらないように、あらかじめ設計上の対策を施す考え方です。
この問題では、入力データが前提条件を満たしていない場合に、エラーメッセージを表示して再入力を促すようにしています。誤った入力をそのまま処理せず、利用者に修正を求める仕組みなので、フールプルーフに該当します。
解法ステップ
- 方針の中心が「利用者の誤りを防ぐこと」か「障害発生後の対応」かを見分けます。
- データの前提条件を確認し、条件に合わない入力を検出しています。
- エラーを知らせて再入力を促すため、誤操作・誤入力を防ぐ設計だと判断します。
- したがって、フールプルーフを選びます。
選択肢別の誤答解説
- ア フールプルーフ:誤操作や誤入力があっても、誤りを防いだり、問題が起きないようにしたりする設計です。この問題の方針に合致します。
- イ:フェールセーフ:故障や異常が発生したときに、安全な状態へ移行させる設計です。入力ミスを検出して再入力させることが主眼ではありません。
- ウ:フェールソフト:故障や異常が発生しても、機能を縮小するなどして、システムの動作を可能な範囲で継続させる設計です。
- エ:フォールトトレラント:一部に故障が発生しても、冗長化などによってシステム全体の機能を維持する設計です。
よくある誤解
- 異常を検出する設計は、すべてフェールセーフだと思う
フェールセーフは、故障などが発生した後に安全な状態へ移る考え方です。この問題のように利用者の入力ミスを予防する仕組みは、フールプルーフです。 - エラーメッセージを表示するだけで、必ずフールプルーフになると思う
用語の判断では、表示方法ではなく、誤った操作や入力を防ぐ目的の設計かどうかに注目します。 - フールプルーフは、利用者を責める考え方だと思う
利用者の誤りを前提に、誤りが起きにくく、起きても問題になりにくい仕組みを作る考え方です。
補足コラム
フールプルーフは、英語の “foolproof” に由来します。入力値の範囲チェック、必須項目の確認、削除前の確認画面などが例です。利用者が意図しない操作をしても、重大な結果につながる前に気付けるようにします。
一方、フェールセーフ・フェールソフト・フォールトトレラントは、主に故障や異常が起きた場合の対応を表します。用語を区別するときは、利用者の誤りを防ぐのか、故障後の安全や継続を図るのかに注目すると覚えやすいです。
FAQ
Q. 前提条件を文書に書くだけでは、フールプルーフといえませんか?
A. 文書で利用者に知らせることは有用ですが、この問題では条件に合わない入力を実際に検出し、再入力を促す仕組みまで設けています。誤入力を防ぐ実装がポイントです。
A. 文書で利用者に知らせることは有用ですが、この問題では条件に合わない入力を実際に検出し、再入力を促す仕組みまで設けています。誤入力を防ぐ実装がポイントです。
Q. フールプルーフとフェールセーフの違いは何ですか?
A. フールプルーフは、主に利用者の誤操作・誤入力を防ぐ設計です。フェールセーフは、故障や異常が発生したときに安全を確保する設計です。
A. フールプルーフは、主に利用者の誤操作・誤入力を防ぐ設計です。フェールセーフは、故障や異常が発生したときに安全を確保する設計です。
関連キーワード: フールプルーフ、フェールセーフ、フェールソフト、フォールトトレラント、入力チェック

\ せっかくなら /
プロジェクトマネージャを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

