こんにちは!
キッズプログラミング教室「イフキッズアカデミー」の
池ちゃん先生です。
フールプルーフ
フェイルセーフ
フェイルソフト
フォールトトレランス
フォールトアボイダンス・・・。
え? なに、呪文?
と思われたかもしれません。
ドラクエに敵の賢さを下げる「フール」って恐ろしい呪文もありましたが・・・。
出た~!キモオタ!!!
って言ったでしょう、今・・・。
と、冗談はさておき。
実はこれ、呪文ではなく、プログラムを作るうえで心得ておくべき
「信頼性設計」の基本概念なんです。
信頼性設計とは??
システムやプログラムが故障したり、
誤った使い方をしたとき、
使用者に不安や不便さを与えないように
事前に対策を講じてなされた設計。
わかりやすくするために、冒頭でご紹介した呪文…、
いや信頼性設計のいくつかの概念を具体例を交えてご説明します!
■【フールプルーフ】
これは人的ミスを防ぐことで不具合を起こさないようにする考え方。
ネット通販の申し込み画面などで、メールアドレスを入力しようとしたとき、
半角英数しか入らないように設定されていますよね?
ああいう形で不具合を防ぐのがフールプルーフの概念です。
■【フェイルセーフ】
これは使用者の安全を第一に考えると言う概念。
つまり、なにか故障が起きたとき、動き続けたらかえって危ない!ってときに
機能を止めることで、使用者の安全を守る考え方。
具体的に言うと、踏切の遮断機がこの考え方で作られてます。
なんらかの事故が起きたとき、踏切に入れないよう遮断機が下りっぱなしになりますね、これはアクシデント発生のときは、動き続けることより使用者の安全を守る、という方針から設計されているためです。
■【フェイルソフト】
フェイルセーフ同様、使用者の安全も考えますが、
システムを止めてしまうのではなく縮小する、という概念。
たとえば、飛行機のエンジン。飛行機のエンジンは複数ありますが、一つに故障が起こった場合、その一つを停止し、残りのエンジンだけで飛行を続けられるように作られています。
完璧な状態ではないけれど、動ける状態にする、ということ。
フェイルセーフのように全部止めちゃうと飛行機が飛べなくなってしまいますからね・・・。想像しただけで恐ろしい・・・。
■【フォールトトレランス】
フェイルソフトと近いですが、フォールトトレランスは
何らかのアクシデントがあっても機能を縮小せず、
そのまま完全な状態で使えるようにする概念。
よくドラマでありますよね。手術をしていた最中に電源が落ちて
「大丈夫! すぐ予備電源に切り替わる!」って言うシーン。
まさにあれですね。
■【フォールトアボイダンス】
先の四つとはちょっと毛色の違うのがこれ。
そもそもアクシデントを起こさないようにしよう、という概念。
いろいろな状況を想定して綿密にテストを行ってアクシデントに備えることが例としてあげられます。
そういう意味ではすべてのプログラムはテストしますから、全部に適用する考え方です。
遮断機にしろ、飛行機にしろ、通販の入力画面にしろ、
それらを制御しているのはプログラムです。
絶対に壊れないものは世の中存在しません。
なのにプログラムがアクシデントに対してなんの策も講じられていなかったら、私たちの生活は大変なことになります。
だから、私たちプログラムを作る人間は、
常にリスクを想定することが絶対必要なのです。
先々のことを考えてプログラムを作ること。
それが「信頼性設計」というわけです。
イフキッズでは、
クリエイティブコース、ロジカルコース、アドバンスコースでは、
バグを気にせず、いろいろと試してもらっています。
バグを気にして試すことを止めてしまわないためです。
ですが、プロフェッショナルコースでは
お子さんにプログラムを作ってもらう際には、
「こんな操作をしたらどうなるだろう?」
「ここにエラーが出ると全部止まっちゃうことになるかも。
そうならないようにするには?」
など
先々のことを考えてプログラムを作るように指導しています。
また、そうやってプログラムを作っていると、
自然と日常生活でも先のことを考えて行動できるようになっていくんです。
プログラムだけでなく、
実生活においても「リスク管理をする」という考え方も身につきますよ!!
無料体験授業実施中!
LINE@にお友だち登録すると、特典いっぱい!!