イチから全部作ってみよう(13)異常系への対策は「諦める」ことも肝要:山浦恒央の“くみこみ”な話(182)(2/3 ページ)
ECサイトを題材にソフトウェア開発の全工程を学ぶ新シリーズ「イチから全部作ってみよう」がスタート。シリーズ第13回は、たこ焼き屋模擬店の要求仕様書から洗い出した異常系にどのような対策を行うべきかを考察する。
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.