【ネットワークスペシャリスト試験 令和6年度 春期 午前Ⅱ 問24】

ネットワークスペシャリスト試験 令和6年度 春期 午前Ⅱ 問24

【出典:ネットワークスペシャリスト試験 令和6年度 春期 午前Ⅱ(一部、加工あり)】

 安全性と信頼性について、次の方針でプログラム設計を行う場合、その方針を表す用語はどれか。

[方針]
不特定多数の人が使用するプログラムには、自分だけが使用するプログラムに比べて、より多く、データチェックの機能を組み込む。プログラムが処理できるデータの前提条件を文書に書いておくだけでなく、プログラムについては前提条件を満たしていないデータが入力されたときは、エラーメッセージを表示して再入力を促すものとする。

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

安全性と信頼性の確保のための設計方針(設計理念)

 安全性と信頼性の確保のための設計方針には、本質安全設計、フェールセーフ、フォールトアボイダンス、フォールトトレランスに加え、フールプルーフ(ミスをできなくする設計)とフェールソフト(一部障害時でも全体停止せず最低限の機能を維持する設計)が重要な役割を果たします。
 これらを適切に組み合わせることで、事故や障害の発生を未然に防ぎ、発生時も被害を最小限に抑え、業務やサービスの継続性を確保することができます。

  • 本質安全設計
    危険源を根本から除去・低減する設計。例:鋭利な部分をなくす、過負荷がかからない構造。
  • フェールセーフ(Fail Safe)
    故障や誤操作が発生しても、人命やシステム全体の安全を守り、被害を最小限に抑える設計。例:自動ドアが人や物に接触しそうになったら止まる、停電時に閉まる踏切。
  • フォールトアボイダンス(Fault Avoidance)
    高品質部品や冗長設計などで、そもそも故障や障害が発生しないようにする考え方。
  • フォールトトレランス(Fault Tolerance)
    故障が起きてもシステム全体が停止せず、機能を維持できるようにする設計。
フールプルーフ(Fool Proof)
  • 定義
    「人がミスをしようとしてもできないようにする工夫」「誰が操作しても間違えようがないようにする設計思想」。
  • 特徴と例
    • 電子レンジ:ドアが開いていると作動しない
    • 洗濯機:蓋が開いていると脱水が始まらない
    • 自動車:シフトがパーキングでないとエンジンがかからない
    • プラグ:形状が異なり、誤挿入できない
  • 目的
    うっかりミスや不注意による事故や不良品の発生を未然に防ぐ。
  • フェールセーフとの違い
    フールプルーフは「そもそもミスをできなくする」設計、フェールセーフは「ミスや故障が起きても安全を守る」設計。
フェールソフト(Fail Soft)
  • 定義
    システムや機器で障害や異常が発生した際、問題の個所を切り離すなどして被害の拡大を防ぎ、全体を止めずに最低限必要な機能やサービスを維持し続ける設計思想。
  • 特徴と例
    • ECサイトで在庫システムが障害でも、受注受付は継続
    • POSレジでネット接続が切れてもローカルで販売処理が続く
    • 出荷システムで一部帳票出力が停止しても、他の出荷業務は継続
  • 設計のポイント
    • 機能ごとに依存範囲や優先度を整理し、段階的にダウングレード
    • 一部機能停止・限定運用モードの実装
    • 障害時にユーザーへ明示し、手動/自動で限定モード切替
    • ローカル保存やキャッシュで業務継続
    • バックグラウンド処理や遅延許容設計
  • 目的
    障害時でも「全部止める」のではなく「できるところまで動かし続ける」ことで、業務やサービスの継続性を高める。

ア フールプルーフ

問題文の要点
  • 不特定多数の人が使うプログラムは、
     → 自分だけが使うものよりもデータチェック機能を強化する
  • 前提条件を満たさないデータが入力された場合はエラーを出し、再入力を促す

 つまり、ユーザの誤操作や不正確な入力に備えて安全に処理を止め、ユーザに気づかせる設計をしています。
 フールプルーフは、「誤操作しても危険や故障が起きないように設計する」です。
 ユーザが操作ミスをしても、システムが安全に動作し続ける、あるいはエラーを明示的に示して正しい操作に導きます。
 本問のように「前提条件を満たしていない入力にはエラーを表示し、再入力を促す」という対応は、フールプルーフに該当します。

イ フェールセーフ

  • 意味:障害が起きたとき、安全側に動作する設計
  • 例:火災報知器が故障した場合、警報を鳴らす状態にしておく
  • プログラム内部のハードウェア的・システム的な故障への対応が主な対象

→ 本問は入力ミス対応が主題なので、該当しない。

ウ フェールソフト

  • 意味:一部に障害が起きても、機能の低下で済ませて、全体のサービスは継続する
  • 例:検索機能の一部が使えなくても、基本機能は動作し続ける

→ 本問は「誤入力時に機能を低下させて動作し続ける」とは違う。

エ フォールトトレランス

  • 意味:障害が起きても、予備系で継続動作できるようにする設計
  • ハードウェアの冗長化(RAID、二重化など)によく使われる

→ 本問はユーザ入力への対応であり、これも該当しない。