pulpul 日本の試験

プロジェクトマネージャ 概念書 · システム開発・アーキテクチャ

障害に備えた設計と稼働率

信頼性設計とは、システムが故障する前提に立ち、故障の発生を防ぎ、故障が起きたときの影響を抑え、必要な機能を継続させるための設計である。代表的な考え方として、フォールトアボイダンス、フェールセーフ、フェールソフト、フォールトトレランス、フールプルーフがあり、それぞれ故障や誤りに対する態度が異なる。試験では、場面を示されてどの考え方に当たるかを判別させる形式が多い。

故障や誤りを防ぐ考え方

フォールトアボイダンスは、信頼性の高い部品の選定や設計・製造品質の向上などによって、故障そのものが発生しないようにする考え方である。 フールプルーフは、利用者の誤操作や不適切な入力を前提に、誤りを未然に防いだり気付かせたりする設計である。前提条件を満たさない入力をプログラムで検出し、エラーメッセージを表示して再入力を促す方針が典型例である。

故障時の振る舞いを定める考え方

フェールセーフは、故障や異常が起きたとき、あらかじめ定めた安全な状態へ移行させる設計である。交通管制システムの故障時に信号機を赤色にする例が代表的で、機能の継続よりも安全を優先する。

フェールソフトは、一部に障害が起きた場合に、性能や構成を縮小しながら運転を続ける設計である。ハードウェア障害時に構成を縮小して運転を継続する例が典型で、完全な停止は避けるが、機能や性能は一部低下する点に特徴がある。

フォールトトレランスは、冗長化などによって故障が発生しても必要な機能やサービスを継続させる設計である。コントローラを二重化し、片方が故障しても運用を続ける例がこれに当たる。安全側へ移行するフェールセーフとは異なり、機能を維持し続ける点が特徴である。

稼働率の計算と冗長化の効果

稼働率とは、システムや装置が稼働している時間の割合であり、構成要素の稼働率から全体の稼働率を求めることができる。直列に接続された装置は全てが稼働している必要があるため、全体の稼働率は個々の稼働率の積となり、構成要素が増えるほど低下する。並列に冗長化された装置は、少なくとも一台が稼働していればよいため、全体の稼働率は個々の不稼働率の積を1から引いた値として高まる。

この節の続き

ここまでが冒頭部分です。ログインすると、無料でも1日2節まで全文をお読みいただけます。

アプリでこの節を読む