Systemを理解する3種の神器
Systemを理解する3種の神器。
table:System, Operation flowを表現する手法
TableのRelationの表現 ◎ ◯
flow(時系列)の表現 ◎ ◯
ゆえに、テーブル変更・運用変更の影響を受けにくい
一方で…「詳細部分は別でキャッチアップ」しないといけない
実体関連モデル(じったいかんれんモデル、(英: entity-relationship Model、ERM)は、概念的データモデルの高レベルな記述を可能とするモデルの一種である。
https://gyazo.com/cb49d0249133231c25ddaca0737c6d3c
もっとも詳細・わかりやすく「Table(Data)同士の関係性」を表現できる
どのTableが「一番大事か」も視覚的に判断できる
一方で、「時系列」は表現されない
「どのTable(のRecord)が、どのTimingで更新されるか?」は表現されない
「それぞれのColumnが、どのtimingで決まるか?」も表現されない
systemで最も重要なのは「Data」は理解できるが「業務フロー」は理解できないので、systemを理解するには他の図も必要
プロセスの各ステップを箱で表し、流れをそれらの箱の間の矢印で表すことで、アルゴリズムやプロセスを表現する図である。アルゴリズムやプロセスについて、単にその順序だけを示すものであり、全体から詳細へというような「段階的」な説明ではない(ないし、記述者が意識してそのような階層を作る必要がある)。また、データフロー図と対比すると、より重要である、データの流れをフローチャートは表すことがなく、操作を順に示すことでデータの流れを暗示する。
https://gyazo.com/af93101f43a3e3ce11b5e3a5ed94d89c
「業務フロー」がわかりやすく表現される。
一般的には「User(作業者/system)」と「時間」の2軸で整理できるため
「誰が、いつ関わるのか」がわかりやすい
一方で、「System」のことはわかりにくい
どのDatabaseのどのTableのどのcolumnが更新されるか?はわからない
DFDはシステムの入力と出力がどんな情報なのかを示し、データがどこから来てどこに行くのか、どこに格納されるのかを示す。処理のタイミングや逐次的な処理を示すものではない(その用途にはフローチャートなどがある)。一方で、データフローの図というのは依存関係を示すものであるから、互いに影響するような関係にない処理は並列に行えるというような、並行性は表現される。
https://gyazo.com/098afbc2cece5e3fc3a459ded7b08335
業務フローもSystem(Data)も両方とも表現される
分断されやすい「Data」と「Flow」の関係性が表示されるのはこのフロー図のみ。
が…いいとこ取りの器用貧乏なところもある
器用貧乏なところ
「時系列」の表示が不十分
左から右に時間が流れていく…とは限らない
Dataの流れは「循環」もあるので、決まった方向に流れていくようには描きづらい
状態遷移図は「ある一つの変数・Data record」に焦点を当てて、そのモノの「状態の移り変わり」を表現する
一方、DFDでは変数・Data recordが多種多様であり、(複雑な表現になるけど)System全体を表現できる
Dataの表示も不十分
もちろん、どの「Database, Table,column」が関わるか?は明記される
一方で、Table間のRelation(主キー・外部キーのつながり)は明記されない