さっき、ある会議に出ていて気づいた。
状態遷移を説明するとき、その状態についての説明は、そんなにしてくれなくてもいい。
問題は、遷移するときの条件が大事。
たとえば、UMLなんかだと、状態遷移は、ステートチャート図で表現するけど、その場合、ガード条件が、どうなるのかが、知りたい。
あと、アクションやイベントを書くんだけど、このアクションやイベントを、抽象的に書くと、わけわかんない。
UMLを使わない、状態遷移図や、状態遷移表のときは要注意!この条件を明示しないと、どのタイミングで遷移するか、わかんなくなっちゃうよ!!
たとえば、イベントが、商品引当のとき、商品の在庫ステータスを、フリー在庫から、引当済みにするというとき、フリー在庫から、引当済みになる「条件」が一番知りたい(多分在庫数>予約数。でも、こんな簡単じゃないはず。倉庫間移動を行い、複数倉庫の在庫をひとつにまとめて引き当てるときがあるから)。
このとき、フリー在庫とは何かとか、引当済みとは何かの説明をいくら厳密に言われても、条件がわからないと、コーディングに入れない。また、商品引当というくらい、具体的ならいいんだけど、「予約」とか、けっこう幅広い範囲だと、「具体的に、どこでやるの?」ということになる。
当たり前の気がしてたけど、ちょっと、そうでもないみたいなんで、書いてみました。
状態遷移を説明するとき、その状態についての説明は、そんなにしてくれなくてもいい。
問題は、遷移するときの条件が大事。
たとえば、UMLなんかだと、状態遷移は、ステートチャート図で表現するけど、その場合、ガード条件が、どうなるのかが、知りたい。
あと、アクションやイベントを書くんだけど、このアクションやイベントを、抽象的に書くと、わけわかんない。
UMLを使わない、状態遷移図や、状態遷移表のときは要注意!この条件を明示しないと、どのタイミングで遷移するか、わかんなくなっちゃうよ!!
たとえば、イベントが、商品引当のとき、商品の在庫ステータスを、フリー在庫から、引当済みにするというとき、フリー在庫から、引当済みになる「条件」が一番知りたい(多分在庫数>予約数。でも、こんな簡単じゃないはず。倉庫間移動を行い、複数倉庫の在庫をひとつにまとめて引き当てるときがあるから)。
このとき、フリー在庫とは何かとか、引当済みとは何かの説明をいくら厳密に言われても、条件がわからないと、コーディングに入れない。また、商品引当というくらい、具体的ならいいんだけど、「予約」とか、けっこう幅広い範囲だと、「具体的に、どこでやるの?」ということになる。
当たり前の気がしてたけど、ちょっと、そうでもないみたいなんで、書いてみました。