状態設計

組み込み系や制御系では、状態遷移図や表で状態を設計することは不可欠である。しかし、ビジネス系では状態の設計はあまり行われない。これはなぜなんだろう。

ビジネス系のオブジェクトの状態設計が制御系に比べて単純になりやすいから?
でもビジネス系の状態でも複雑なものも多く、場合によっては非常に複雑なルールを適用また多くのオブジェクトに依存して状態を導出する。状態遷移ももちろん複雑になる。逆に、ビジネス系では複雑すぎて(個別の)オブジェクトの状態設計としては手に負えないから設計しないのかも。このため、ビジネス系ではアクティビティ図などを利用してよりコンテキストの大きいレベルで状態設計を行うのかもしれない。

ではなんでだろう。
状態の質が違うからかな。制御系で識別される状態は物理的な状態を表していることが多いのに対して、ビジネス系で識別される状態はビジネスルールで表現されるものが多い。これは、制御系の状態が、個々のオブジェクトの本質的な状態をあらわしおり、状態制御が自己完結しやすい特性をもっていると考えることができる。自己完結する状態であれば状態遷移図や表が有効になるのは理解できる。