イチから全部作ってみよう(13)異常系への対策は「諦める」ことも肝要山浦恒央の“くみこみ”な話(182)(2/3 ページ)

» 2024年10月22日 08時00分 公開

4.異常系を考えるポイント(前回の続き)

4.1 シンプルにするならば異常系はなるべく救わない

 異常系を考え始めるとキリがありません。そこで、正常系以外は、全て異常としてプログラムを停止することが最も簡単です。例えば、たこ焼きが故障した場合は、即出店停止とすることで、代替え機の手配などを考える必要がなくなります。ただし、「飛行中の旅客機のエンジンが1基、停止した」のように、生命、財産に影響するシステムや、ライフラインの制御系の異常事態は、しっかり対応しなければなりません。

4.2 運用でカバーする

 異常系を認識できていても、簡単に実現できない場合は、「運用でカバー」する方法も検討しましょう。例えば、釣銭切れの場合の異常処理は対策せず、その場合は、ユーザー側に対応を委ねます。

 運用でカバーする方法を採用することは、実際の開発でも多くあります。例えば、スーパーのセルフレジで「万引きが発生した場合」をイメージしてください。この場合、「レジに監視カメラを付ける」「会計していない商品を自動検知する」のように対処できます。しかし、大半のスーパーは、コストと人員を考え、店員を1人配置して監視する方式で運用していますね。

4.3 重要度とコストから考える

 「対応する/諦める」を考える指標としては、「影響度」「対策費用」「発生確率」から考えます。

  • 影響度=大、中、小の3段階
  • 対策費用=発生確率(%)×コスト(円)

4.3.1 影響度

 影響度とは、事象発生時の影響度合いのことです。例えば、軽い火傷のように、発生しても大きな影響がないものから、食中毒のような一発で営業中止になり、Yahooニュースに載りかねない事故まで、さまざまな異常系が考えられます。影響度はこの度合いです。

 影響度の度合いの測り方としては、下記を使用します。細かくするとやはりキリがないので、以下のように3つに分類するといいでしょう。

  • 大:即出店中止
  • 中:出店には影響がない
  • 小:ほぼ影響がない

4.3.2 発生確率

 発生確率とは、異常系が発生する確率のことです。異常系と言っても、隕石が落ちるような発生確率がほぼゼロから、釣銭切れのように高確率なものまであります。よって、「発生確率が高いので対応する」「発生確率が低いので対応せず、運用でカバーする」と考えることができます。発生確率は、過去の類似状況でのデータから予測することが多く、例えば、10年間の学園祭の全模擬店で発生したトラブルの種類と、件数から大ざっぱに計算するといいでしょう。

4.3.3 影響度と対策費用の計算例

 釣銭切れを題材として、計算例を下記に示します。

  • 釣銭切れの影響度=中(理由:釣銭切れを起こした場合、商品を販売できない可能性があるため)
  • 釣銭切れの対策費用=発生確率×コスト=0.3(30%)×0円=0円

⇒結果:対策費用としての被害はないが、商品を販売できないため、対策する

 このように、影響度、対策費用、発生確率の3つを使って、対応可否を考えるとよいでしょう。

5.今回のお題

 今回のお題を下記に示します。

お題

 前回作成した各異常系から、自分に関心のある項目を選び、異常系への対策についての考察を行うこと。

前提

  • 学生は文化祭に思い入れは全くないが、部の存続に関わるイベントであるため、なるべく出店をしたい
  • 予算は、文化祭実行委委員からもらったお金で対処する

作成のヒント

  • 考え始めると時間がかかるため、自分の興味があるところだけ考えるだけでよい
  • 下記の表1を参考として考えてもよい
小項目 影響度 対策費用(コスト) 発生確率 対応
機材/食材/備品がない 150円
(3000円)
0.05 1.予算が余っていれば下記を検討する
1.1 機材・備品がない場合は、スーパー、ホームセンター、部員の持ち物、別の模擬店から調達する
1.2 たこ焼きが提供できる食材がない場合は、下記の提供品にできないか検討する
1.2.1 お好み焼き
1.2.2 ベビーカステラ
2.上記から出店が困難と判断した場合は、出店を取りやめる
表1 異常系への対策の作成例

Copyright © ITmedia, Inc. All Rights Reserved.