安全性、信頼性についてのプログラム設計方針

  • URLをコピーしました!
目次

問題文

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

ア フールプルーフ
イ フェールセーフ
ウ フェールソフト
エ フォールトトレランス

解説

解答

石田先生

用語の意味を確認していきましょう。

フールプルーフ(Foolproof)

「愚か者(fool)でも間違えない」ようにする設計思想です。

ユーザーが誤操作や不正確な入力をしても、事故や不具合にならないようにします。

予防型の安全設計です。

  • 入力フォームで数値以外が入力されたらエラー表示
  • 車のギアをPにしないとエンジンがかからない
  • 電源ケーブルの差込形状を逆差しできない形にする

フェールセーフ(Fail-safe)

故障や異常が発生した場合でも、安全な状態になるように設計するやり方です。

被害最小化型の安全設計です。

  • 信号機が故障したら全方向が赤になる
  • 電車のブレーキ系統が異常時に自動的に停止する

フェールソフト(Fail-soft)

システムの一部に障害が起きても、性能を落として動作を継続します。

  • サーバの1台が落ちても他のサーバで処理を継続する
  • データベースが一部壊れても残りのデータで動作

フォールトトレランス(Fault tolerance)

故障や異常が起きても正常動作を継続できる能力です。

冗長構成二重化で実現します。

  • 飛行機の制御システムの二重化・三重化
  • RAIDでのディスク冗長化

今回のケースではどうでしょうか?

問題文の方針は「入力されたデータが正しいか事前にチェックし、異常があればエラーメッセージを表示して再入力させる」ことです。

これは異常を未然に防ぐ仕組みなので、フールプルーフが該当します。

用語意味目的具体例
フールプルーフ (Foolproof)ユーザーの誤操作や誤入力を未然に防ぐ設計事故や誤動作の予防数値以外が入力されたらエラー表示、逆差しできないコンセント
フェールセーフ (Fail-safe)故障や異常時に安全な状態に移行する設計被害の最小化信号機が故障したら全方向赤、電車が異常時に自動停止
フェールソフト (Fail-soft)障害発生時に性能を落として動作を継続サービスの継続サーバ1台故障時も残りで処理続行、データ一部欠損でも稼働
フォールトトレランス (Fault tolerance)故障や異常があっても正常動作を継続できる設計機能の完全維持飛行機の制御系二重化、RAIDによるディスク冗長化
学びをSNSで共有しよう
  • URLをコピーしました!
目次