ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

UML等各種ダイアグラムのエラーチェック体系化(その20:DFD その3)

2009-08-24 15:47:16 | Weblog

 シリーズ「UML等各種ダイアグラムのエラーチェック体系化」です。

 現在「いろんなダイアグラムをRDBにいれよう!」化計画、
 をやっていて、前回、DFDのエラーチェックをやりました。
 今回は、そのDFDのエラーチェックの問題点です。

 なお、ここで書いたとおり、いままでのまとめは

こちら
システム開発における「最小単位」とその連結法
http://www.geocities.jp/xmldtp/index_system.htm

(最新のものになおしました)




■前回のDFDエラーチェック方法

前回のDFDエラーチェック方法は、

親と子のDFDがあったとき、
 親プロセスと結びついているデータ吸収・発生、データストアは、
 子プロセス中のどれかのプロセスとも、結びついていないといけない

という性質を利用してチェックしました。

で、今回は、このとき、問題があると書いたことについてです。




■同じものは、同じ名前になっているか?

 ここで、問題なのは、

  すべての部署で、同じ名前=同じモノか?

 という問題が起こります。
 つまり、ある部署では、まったく名称なのに、同じものをさしていたり、
 逆に、同じ名称なのに、違うものということはないか?

 ということです。

 まず先ほどのチェックをする際には、同じものが、同じIDになっていないと、いけません
(そうしないと、IDから、同じものをさしているかどうか判断できない)
 なので、同じものをあつめてくる、つまり名寄せするわけですが、
 この際、同じ名前のものは、同じものと考えます。

 だから、すべての部署で、同じ名前=同じモノになってくれていないと困ります。




■モノにおける親子関係

 しかし、おおまかなDFDと詳細DFDでは、
 データストアなどの名称が、

 おおまかなもの→詳細なもの

 へ変わっていくのが普通です。
 そうすると、「おおまかなもの」を親、詳細のものを子として、親子関係をもたせるということになります。
 結果として

プロセステーブル:プロセスID,プロセス名、親プロセスID
データ発生・吸収テーブル:発生吸収ID,元名、親発生吸収ID
データストアテーブル:データストアID,データストア名、親データストアID
データフロー:データフローID、元データID,先データID、フロー情報内容

となります。親のIDが0のものは、これがトップということです。

そして、検索は、

親と子のDFDがあったとき、
 親プロセスと結びついているデータ吸収・発生、データストア
    自身あるいはその子孫が、
 子プロセス中のどれかのプロセスと、結びついていないといけない

ということになります




■ただし・・・

 データ吸収・発生をものすごく大雑把にとってしまい、
 子、孫をどこまでも調べていって、結びつきを確認してしまうと、
 実は違うものをさしていたのに、親が一緒になってしまいOKってこともありえます。

 たとえば、親を従業員として取ってしまうと、
 社員用のプロセスをアルバイトと間違えて書いても、どっちも従業員なので、エラーが取れない
といったケースです。

 そこで、
 親プロセスと結びついているデータ吸収・発生、データストア
    自身あるいはそのが、
 子プロセス中のどれかのプロセスと、結びついていないといけない

 のように、プロセスの親子1段階に対してデータのほうも、親子1段階しか対象にしない
といった方法が考えられます。

 なお、このように、DFDのチェックをするためには、
名寄せや親子関係の作業がいることになりますが、
むしろ、この作業のほうが、間違いを直すには有効かもしれません・・・




DFDは、とりあえずここまで。
次は違う図を扱います。



  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする