【ネットワークスペシャリスト試験 令和6年度 春期 午前Ⅱ 問24】
ネットワークスペシャリスト試験 令和6年度 春期 午前Ⅱ 問24
【出典:ネットワークスペシャリスト試験 令和6年度 春期 午前Ⅱ(一部、加工あり)】
安全性と信頼性について、次の方針でプログラム設計を行う場合、その方針を表す用語はどれか。
[方針]
不特定多数の人が使用するプログラムには、自分だけが使用するプログラムに比べて、より多く、データチェックの機能を組み込む。プログラムが処理できるデータの前提条件を文書に書いておくだけでなく、プログラムについては前提条件を満たしていないデータが入力されたときは、エラーメッセージを表示して再入力を促すものとする。
ア フールプルーフ
イ フェールセーフ
ウ フェールソフト
エ フォールトトレランス
安全性と信頼性の確保のための設計方針(設計理念)
安全性と信頼性の確保のための設計方針には、本質安全設計、フェールセーフ、フォールトアボイダンス、フォールトトレランスに加え、フールプルーフ(ミスをできなくする設計)とフェールソフト(一部障害時でも全体停止せず最低限の機能を維持する設計)が重要な役割を果たします。
これらを適切に組み合わせることで、事故や障害の発生を未然に防ぎ、発生時も被害を最小限に抑え、業務やサービスの継続性を確保することができます。
- 本質安全設計
危険源を根本から除去・低減する設計。例:鋭利な部分をなくす、過負荷がかからない構造。 - フェールセーフ(Fail Safe)
故障や誤操作が発生しても、人命やシステム全体の安全を守り、被害を最小限に抑える設計。例:自動ドアが人や物に接触しそうになったら止まる、停電時に閉まる踏切。 - フォールトアボイダンス(Fault Avoidance)
高品質部品や冗長設計などで、そもそも故障や障害が発生しないようにする考え方。 - フォールトトレランス(Fault Tolerance)
故障が起きてもシステム全体が停止せず、機能を維持できるようにする設計。
フールプルーフ(Fool Proof)
- 定義
「人がミスをしようとしてもできないようにする工夫」「誰が操作しても間違えようがないようにする設計思想」。 - 特徴と例
- 電子レンジ:ドアが開いていると作動しない
- 洗濯機:蓋が開いていると脱水が始まらない
- 自動車:シフトがパーキングでないとエンジンがかからない
- プラグ:形状が異なり、誤挿入できない
- 目的
うっかりミスや不注意による事故や不良品の発生を未然に防ぐ。 - フェールセーフとの違い
フールプルーフは「そもそもミスをできなくする」設計、フェールセーフは「ミスや故障が起きても安全を守る」設計。
フェールソフト(Fail Soft)
- 定義
システムや機器で障害や異常が発生した際、問題の個所を切り離すなどして被害の拡大を防ぎ、全体を止めずに最低限必要な機能やサービスを維持し続ける設計思想。 - 特徴と例
- ECサイトで在庫システムが障害でも、受注受付は継続
- POSレジでネット接続が切れてもローカルで販売処理が続く
- 出荷システムで一部帳票出力が停止しても、他の出荷業務は継続
- 設計のポイント
- 機能ごとに依存範囲や優先度を整理し、段階的にダウングレード
- 一部機能停止・限定運用モードの実装
- 障害時にユーザーへ明示し、手動/自動で限定モード切替
- ローカル保存やキャッシュで業務継続
- バックグラウンド処理や遅延許容設計
- 目的
障害時でも「全部止める」のではなく「できるところまで動かし続ける」ことで、業務やサービスの継続性を高める。
ア フールプルーフ
問題文の要点
- 不特定多数の人が使うプログラムは、
→ 自分だけが使うものよりもデータチェック機能を強化する - 前提条件を満たさないデータが入力された場合はエラーを出し、再入力を促す
つまり、ユーザの誤操作や不正確な入力に備えて、安全に処理を止め、ユーザに気づかせる設計をしています。
フールプルーフは、「誤操作しても危険や故障が起きないように設計する」です。
ユーザが操作ミスをしても、システムが安全に動作し続ける、あるいはエラーを明示的に示して正しい操作に導きます。
本問のように「前提条件を満たしていない入力にはエラーを表示し、再入力を促す」という対応は、フールプルーフに該当します。
イ フェールセーフ
- 意味:障害が起きたとき、安全側に動作する設計
- 例:火災報知器が故障した場合、警報を鳴らす状態にしておく
- プログラム内部のハードウェア的・システム的な故障への対応が主な対象
→ 本問は入力ミス対応が主題なので、該当しない。
ウ フェールソフト
- 意味:一部に障害が起きても、機能の低下で済ませて、全体のサービスは継続する
- 例:検索機能の一部が使えなくても、基本機能は動作し続ける
→ 本問は「誤入力時に機能を低下させて動作し続ける」とは違う。
エ フォールトトレランス
- 意味:障害が起きても、予備系で継続動作できるようにする設計
- ハードウェアの冗長化(RAID、二重化など)によく使われる
→ 本問はユーザ入力への対応であり、これも該当しない。