makotan _at_ gmail dot com

情報と状態と仕事の流れ

重要なところ
だいぶ長い間時間が空いたけど・・・
「情報の追加更新と状態の遷移」ができれば業務システムのエントリー系はできるってのが前回の話。


情報とは?
業務システムで扱いたい情報。
この一連の流れで情報って言うときはテーブルとか単一のファイルじゃなく「ユーザが扱いたいと望んでいる情報の固まり」のこと。
そこから適切な手順を踏めばテーブルにもなるもの


情報の状態とは?
情報そのもののパラメータとは別に情報の置かれている状態を表す。
たとえば、注文を受け付けたときは「注文」を「受注した」状態になるし、注文を処理したときは「注文」を「処理した」状態になる。


仕事の流れ
企業が利益を上げるために仕事をするときの流れ
業務システムに関係しつつ業務システムには入れない情報もあるので、その折り合いをつけたりするのがちょっと大変
仕事の流れが元々柔軟すぎる時は状態遷移を作ることにこだわらず、状態管理をきちんとすることに注力する


情報の状態遷移?
仕事の流れに近いものになる。
業務システムで作るとユーザのイメージより細かくなるパターンが多い気がするけど、よく似たもの
状態遷移をすると同時に何かの処理をしたり、状態遷移をすること自体に制限があったりする


ここから重要
基本的には仕事の流れを情報の状態遷移にするのがスタート地点
なんだけど、何も考えずにやると間違いなく状態遷移が混乱するので情報を基準にして仕事の流れを切り刻む(正規化する)ことできれいで小さくて制御しやすい流れができる。
必要なら情報そのものを小さく分けたりする
あとはそれをまたぐ形のフロー間制御を作れば、業務の流れとシステムの動きはかなり近いものになる
このフローの状態にしたとしてもユーザとの会話は普通にできるので大丈夫