CFD法の流れ図の見つけ方

秋山浩一さんに教わったCFD法における流れ図の描き方を下記の例題で試してみる。

    1. 横浜ベイクォーター

1店舗3,000円(税込)以上のお買上げで1時間無料 ※駐車券を売場でご提示ください。 2店舗目以降も各店舗3,000円(税込)以上のお買上げで 1時間の駐車サービス券をお渡しします。

    1. そごう横浜店

2,000円(税込)以上のお買上げで1時間30分無料
※駐車券を売場でご提示ください。

cfd3

  1. 結果は何か

  2. 今回は駐車料金、特に「駐車料金がどれだけ無料になるか」を確認することが目的。1時間無料、1時間半無料、2時間無料、・・・、無料でないといった結果が考えられる。2時間無料以降は、N時間無料とした(Nは2以上の正数、以後も同じとする)。ということで、「N時間無料」「1時間半無料」「1時間無料」「無料でない」の4つの結果をお得な順序で上から配置した。

  3. 有効結果と無効結果を決める

  4. 4つ結果すべて有効結果ともみなせる(無料でない場合は、次にいくらになるかの処理に進むため)が、今回は「無料でない」は無効結果とした。drawCFDでは右クリックで有効結果・無効結果を切り替えられる。

  5. 横浜ベイクォーターでの買い物に関する同値図を描く

  6. 仕様ではまず、「横浜ベイクォーター」での買い物金額について言及しているので、この条件を(完全)同値分割する。

    この入力条件が引き起こす結果としては、「1時間無料券がN枚」「1時間無料券が1枚」「無料でない」の3つ。ということは同値分割も3つになりそうだ。ということで「N店舗で3000円以上買い物」「1店舗で3000円以上買い物」「どの店舗でも3000円未満の買い物」となる。文言は少し変えました。

  7. 横浜そごうでの買い物に関する同値図を描く

  8. 次に判定するのは、「横浜そごう」での買い物金額について。ここでの買い物が影響を及ぼす結果としては、「1時間半無料」「無料でない」の2種類。ということで、「2000円以上の買い物」「2000円未満の買い物」の(完全)同値分割を考えた。同じく、文言は少し変えました。

  9. 有効系同値クラス、無効系同値クラスを決める

  10. どれも有効系同値クラスとした。

  11. 流れを描く

  12. 流れ図は、結果から探していく。上に配置された結果からそこにつながる流れを以下の手順で見つけていった。


「N時間無料」の結果になるのは?

仕様から、横浜ベイクォーターでN店舗で3000円以上の買い物をした場合、とわかる。横浜そごうでの買い物は関係しないので、

IF ベイクォーター is N店舗3000円以上
THEN N時間無料

「N時間無料」の結果になるのは?

他の条件はない。ということで「N時間無料」に結ばれる流れはこれでおしまい。

「1時間半無料」の結果になるのは?

仕様から、横浜そごうで2000円以上の買い物をした場合、とわかる。では、そのひとつ前の「ベイクォーター」同値図のどこから結ばれるか?
「N店舗3000円以上」だと、結果が「N時間無料」となるので、ありえない。
「1店舗3000円以上」だと、ありえる。ということで、

IF ベイクォーター is 1店舗3000円以上 AND 横浜そごう is 2000円以上
THEN 1時間半無料

「1時間半無料」の結果になるのは?

仕様から、横浜そごうで2000円以上の買い物をした場合、とわかる。では、そのひとつ前の「ベイクォーター」同値図のどこから結ばれるか?
「N店舗3000円以上」だと、結果が「N時間無料」となるので、ありえない。
「1店舗3000円以上」だと、ありえる。でもさっき通った。
「3000円を超えない」だと、ありえる。ということで、

IF ベイクォーター is 3000円を超えない AND 横浜そごう is 2000円以上
THEN 1時間半無料

「1時間半無料」の結果になるのは?

他の条件はない。ということで「1時間半無料」に結ばれる流れはこれでおしまい。

「1時間無料」の結果になるのは?

横浜そごうで2000円以上の買い物をした場合、1時間無料ではなくなるので、「2000円を超えない」を通ることがわかる。では、そのひとつ前の「横浜ベイクォーター」同値図のどこから結ばれるのか?
「N店舗3000円以上」だと、結果がN時間無料」となるので、ありえない。
「1店舗3000円以上」だと、ありえる。ということで、

IF ベイクォーター is 1店舗3000円以上 AND 横浜そごう is 2000円を超えない
THEN 1時間無料

「1時間無料」の結果になるのは?

横浜そごうで2000円以上の買い物をした場合、1時間無料ではなくなるので、「2000円を超えない」を通ることがわかる。では、そのひとつ前の「横浜ベイクォーター」同値図のどこから結ばれるのか?
「N店舗3000円以上」だと、結果がN時間無料」となるので、ありえない。
「1店舗3000円以上」だと、ありえる。でもさっき通った。
「3000円を超えない」だと、ありえない。ということで、他の条件はない。

「無料でない」の結果になるのは?

横浜そごうで2000円以上の買い物をした場合、ありえないので、「2000円を超えない」を通ることがわかる。では、そのひとつ前の「横浜ベイクォーター」同値図のどこから結ばれるのか?
「N店舗3000円以上」だと、結果がN時間無料」となるので、ありえない。
「1店舗3000円以上」だと、結果が1時間無料」となるので、ありえない
「3000円を超えない」だと、ありえる。ということで、

IF ベイクォーター is 3000円を超えない AND 横浜そごう is 2000円を超えない
THEN 無料でない

「無料でない」の結果になるのは?

他に条件はない。ということで終了。

以上のような考え方で作成しました。

※この記事は こちら からの一部修正をした転載です。