第 8 章
- プロジェクト演習 8.1-
2011 年 12 月 3 日 ( 土 )
@豊橋市民センター カリオンビル
都築 将夫
• 劇場チケット予約システムに対して
– (a) 故障と致命度分類を定義しよう。
– (b) システム全体に対する故障率の目標 (MTT F) を提案しよう。また、その根拠を説明しよ – う。(c)H/W に対する MTTF が 6 か月間であり、 S/W
に対する MTTF が 2 か月だとする。システム全 体の MTTF はどのようになるだろうか? ( 上記 の S/W と H/W しか存在しないと仮定する )
– (d) 劇場チケット予約システムの操作プロ ファイルを定義しよう。
– (e) 上記の (c) を無視し、操作テストを行っ たら… ( 長いので次のページへ )
章末演習 8.1
• 劇場チケット予約システムに対して
– (e) 上記の (c) を無視し、操作テストを行っ たら、図に示すような、実行時間に基づくデ ータを得た。 900CPU 時間のテストの後に
、稼働させようとしている。最初の 200CPU 時間の実行では、欠陥数はどのくらい顧客か ら報告されると予測されるだろうか?その後
、次の 800 時間でどれくらいの欠陥が予測 されるだろうか?ここで、欠陥は見つかると 速やかに修正されると仮定する。
章末演習 8.1
100CPU 時間 1 2 3 4 5 6 7 8 9 発見された欠陥
数 13 36 22 48 50 45 41 35 32
• 劇場チケット予約システムに対して
– (a) 故障と致命度分類を定義しよう。
章末演習 8.1
致命度 定義:「顧客が被る経済的 / 精神的ダメージ」
Lv.5 誰もチケットの予約ができない。
「チケット予約するというレベルじゃないぞ!!」 Lv.4 1000 人中 1 人が予約ができる程度。
「チケット予約だめかも…」
Lv.3 1000 人中 10 人がチケット予約できる程度。
「チケット予約が困難だー」
Lv.2 1000 人中 100 人がチケット予約できる程度。
「 F5 攻撃並みにアクセスすれば、何とかチケット予約がで きそう。」
Lv.1 1000 人中 995 人がチケット予約できる程度。
「チケット予約だん。あとは、上司に休暇交渉するべ。」
• 劇場チケット予約システムに対して
– (b) システム全体に対する故障率の目標
(MTTF) を提案しよう。 また
、その根拠を説明しよう。
• 劇場チケット予約開始の初日~ 3 日目は、 1 日で 1000 人規模で集中的にアクセスすると 予想 され、 4 日目以降は 100 人規模のアクセスに留ま ると思われる。過去の売れ方を見ると、 予約開 始から 8 日目に入ると、 1 日で 3 人程度の アク セスで下火になるようです。
なので、予約受付期間が 30 日間としたとき、 8 日目以降に 5 日間隔 (※8,13,18,23,28 日目に 故 障 ) で故障しても、売上に対する影響が小さい こ とから、
MTTF=5 日間とした。
章末演習 8.1
• 劇場チケット予約システムに対して
– (c)H/W に対する MTTF が 6 か月間であり、 S/W に対する MTTF が 2 か月だとする。 シス テム全体の MTTF はどのようになるだろうか? ( 上記の S/W と H/W しか存在しないと仮定す る )
• H/W 瞬間故障率 λH/W = 1/MTTFH/W = 1/6
• S/W 瞬間故障率 λS/W = 1/MTTFS/W = 1/2
• H/W 故障率 R(t)H/W = e-λtH/W = e-t/6H/W
• S/W 故障率 R(t)S/W = e-λtS/W = e-t/2S/W
• システム全体の故障率 R(t)sys
R(t)sys=(1-R(t)H/W) ・ (1-R(t)S/W) =1-e(t2/6-2t/3)
ただし、 t は、 1 ヶ月 = 1 とする。
章末演習 8.1
• 劇場チケット予約システムに対して
– (d) 劇場チケット予約システムの操作プロフ ァイルを定義しよう。
• ユースケース図を ( 妄想で ) 書いてみた。
章末演習 8.1
• 劇場チケット予約システムに対して
– (d) 劇場チケット予約システムの操作プロフ ァイルを定義しよう。
• ユースケース図を ( 妄想で ) 書いてみた。
章末演習 8.1
• 劇場チケット予約システムに対して
– (d) 劇場チケット予約システムの操作プロフ ァイルを定義しよう。
• ユースケース図から、操作プロファイルをまとめ ると…
章末演習 8.1
No. ユースケース
1 会員登録する
2 チケット予約システムにログインする
3 チケット名 & 枚数を指定し、予約内容を確認する。 4 決済方法をクレジットカード / 代引き指定する。
→ クレジットカード決済の場合は、カード No. と有効期限を 入力する。
5 チケット郵送の配達時間を指定する。
• 劇場チケット予約システムに対して
– (e) 上記の (c) を無視し、操作テストを行っ たら、図に示すような、実行時間に基づくデ ータを得た。 900CPU 時間のテストの後に
、稼働させようとしている。最初の 200CPU 時間の実行では、欠陥数はどのくらい顧客か ら報告されると予測されるだろうか?その後
、次の 800 時間でどれくらいの欠陥が予測 されるだろうか?ここで、欠陥は見つかると 速やかに修正されると仮定する。
章末演習 8.1
100CPU 時間 1 2 3 4 5 6 7 8 9 発見された欠陥
数 13 36 22 48 50 45 41 35 32
• 劇場チケット予約システムに対して
– (e)
• 初期故障率 λ0 = RI・ K ・ W / I
• 欠陥数 W = 322(※ 表から )
• 命令数 I = 3.0*103(※ オブジェクトコード )
• 処理速度 RI = 2.963*1010[ 命令数 / 秒 ]
• K = 4.2*10-7(※ 実行される欠陥あたりの故障数 ) λ0 = RI ・ K ・ W / I = 1.34*103 [ 故障 /CPU 秒 ]
= 4.81*106 [ 故障 /CPU 時 間 ]
• 初期 MTTF = 1/λ0 = 2.08*10-7[CPU 時間 ]
• 初期信頼度の式 R(t)= e-λ0t = e-0.000000208t
[t : CPU 時間 ( 秒 )]
章末演習 8.1
100CPU 時間 1 2 3 4 5 6 7 8 9 発見された欠陥 1 3 2 4 5 4 4 3 3
• 劇場チケット予約システムに対して
– (e) 最初の 200CPU 時間の実行では、欠陥数 はどのくらい顧客から報告されると予測され るだろうか?
• 初期信頼度の式 R(200) = e-0.000000208*200
= 1.000041601
≒ 1 件
章末演習 8.1
• 劇場チケット予約システムに対して
– (e) その後、次の 800 時間でどれくらいの欠 陥が予測されるだろうか?
• 初期信頼度の式 R(200+800) = e-0.000000208*1000
= 1.000208022 ≒ 1 件
章末演習 8.1
800CPU 時間と考えた
14/13
• 劇場チケット予約システムに対して
– (e) その後、次の 800 時間でどれくらいの欠 陥が予測されるだろうか?
• と思ったが、 800 時間が物理時間とすれば、 CPU 時間は、
800*3600=2.88*104 [CPU 時間 ] なので、
• R(200+2.88*104) = e-2880200
≒ 0 件
章末演習 8.1
バグは、収束しちゃった… ?!