目次
問題文
安全性や信頼性について,次の方針でプログラム設計を行う場合,その方針を表す用語はどれか。
〔方針〕
不特定多数の人が使用するプログラムには,自分だけが使用するプログラムに比べて,より多く,データチェックの機能を組み込む。プログラムが処理できるデータの前提条件を文書に書いておくだけでなく,プログラムについては前提条件を満たしていないデータが入力されたときは,エラーメッセージを表示して再入力を促すものとする。
ア フールプルーフ
イ フェールセーフ
ウ フェールソフト
エ フォールトトレランス
解説
解答
ア

用語の意味を確認していきましょう。
フールプルーフ(Foolproof)
「愚か者(fool)でも間違えない」ようにする設計思想です。
ユーザーが誤操作や不正確な入力をしても、事故や不具合にならないようにします。
予防型の安全設計です。
例
- 入力フォームで数値以外が入力されたらエラー表示
- 車のギアをPにしないとエンジンがかからない
- 電源ケーブルの差込形状を逆差しできない形にする
フェールセーフ(Fail-safe)
故障や異常が発生した場合でも、安全な状態になるように設計するやり方です。
被害最小化型の安全設計です。
例
- 信号機が故障したら全方向が赤になる
- 電車のブレーキ系統が異常時に自動的に停止する
フェールソフト(Fail-soft)
システムの一部に障害が起きても、性能を落として動作を継続します。
例
- サーバの1台が落ちても他のサーバで処理を継続する
- データベースが一部壊れても残りのデータで動作
フォールトトレランス(Fault tolerance)
故障や異常が起きても正常動作を継続できる能力です。
冗長構成や二重化で実現します。
例
- 飛行機の制御システムの二重化・三重化
- RAIDでのディスク冗長化



今回のケースではどうでしょうか?
問題文の方針は「入力されたデータが正しいか事前にチェックし、異常があればエラーメッセージを表示して再入力させる」ことです。
これは異常を未然に防ぐ仕組みなので、フールプルーフが該当します。
用語 | 意味 | 目的 | 具体例 |
---|---|---|---|
フールプルーフ (Foolproof) | ユーザーの誤操作や誤入力を未然に防ぐ設計 | 事故や誤動作の予防 | 数値以外が入力されたらエラー表示、逆差しできないコンセント |
フェールセーフ (Fail-safe) | 故障や異常時に安全な状態に移行する設計 | 被害の最小化 | 信号機が故障したら全方向赤、電車が異常時に自動停止 |
フェールソフト (Fail-soft) | 障害発生時に性能を落として動作を継続 | サービスの継続 | サーバ1台故障時も残りで処理続行、データ一部欠損でも稼働 |
フォールトトレランス (Fault tolerance) | 故障や異常があっても正常動作を継続できる設計 | 機能の完全維持 | 飛行機の制御系二重化、RAIDによるディスク冗長化 |