異常系を考え始めるとキリがありません。そこで、正常系以外は、全て異常としてプログラムを停止することが最も簡単です。例えば、たこ焼きが故障した場合は、即出店停止とすることで、代替え機の手配などを考える必要がなくなります。ただし、「飛行中の旅客機のエンジンが1基、停止した」のように、生命、財産に影響するシステムや、ライフラインの制御系の異常事態は、しっかり対応しなければなりません。
異常系を認識できていても、簡単に実現できない場合は、「運用でカバー」する方法も検討しましょう。例えば、釣銭切れの場合の異常処理は対策せず、その場合は、ユーザー側に対応を委ねます。
運用でカバーする方法を採用することは、実際の開発でも多くあります。例えば、スーパーのセルフレジで「万引きが発生した場合」をイメージしてください。この場合、「レジに監視カメラを付ける」「会計していない商品を自動検知する」のように対処できます。しかし、大半のスーパーは、コストと人員を考え、店員を1人配置して監視する方式で運用していますね。
「対応する/諦める」を考える指標としては、「影響度」「対策費用」「発生確率」から考えます。
影響度とは、事象発生時の影響度合いのことです。例えば、軽い火傷のように、発生しても大きな影響がないものから、食中毒のような一発で営業中止になり、Yahooニュースに載りかねない事故まで、さまざまな異常系が考えられます。影響度はこの度合いです。
影響度の度合いの測り方としては、下記を使用します。細かくするとやはりキリがないので、以下のように3つに分類するといいでしょう。
発生確率とは、異常系が発生する確率のことです。異常系と言っても、隕石が落ちるような発生確率がほぼゼロから、釣銭切れのように高確率なものまであります。よって、「発生確率が高いので対応する」「発生確率が低いので対応せず、運用でカバーする」と考えることができます。発生確率は、過去の類似状況でのデータから予測することが多く、例えば、10年間の学園祭の全模擬店で発生したトラブルの種類と、件数から大ざっぱに計算するといいでしょう。
釣銭切れを題材として、計算例を下記に示します。
⇒結果:対策費用としての被害はないが、商品を販売できないため、対策する
このように、影響度、対策費用、発生確率の3つを使って、対応可否を考えるとよいでしょう。
今回のお題を下記に示します。
前回作成した各異常系から、自分に関心のある項目を選び、異常系への対策についての考察を行うこと。
小項目 | 影響度 | 対策費用(コスト) | 発生確率 | 対応 |
---|---|---|---|---|
機材/食材/備品がない | 大 | 150円 (3000円) |
0.05 | 1.予算が余っていれば下記を検討する 1.1 機材・備品がない場合は、スーパー、ホームセンター、部員の持ち物、別の模擬店から調達する 1.2 たこ焼きが提供できる食材がない場合は、下記の提供品にできないか検討する 1.2.1 お好み焼き 1.2.2 ベビーカステラ 2.上記から出店が困難と判断した場合は、出店を取りやめる |
表1 異常系への対策の作成例 |
Copyright © ITmedia, Inc. All Rights Reserved.