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

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

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

2009-08-21 17:18:12 | Weblog

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

 現在「いろんなダイアグラムをRDBにいれよう!」化計画、
 をやっていて、前回、DFDを入れました。

 今回は、そのDFDのエラーチェック方法です

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

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





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

 そもそも、このシリーズの表題が、「UML等各種ダイアグラムのエラーチェック体系化」なのに、
エラーチェックについて何も書いていないので、今回はそれについて書きます。

エラーチェックには、
・2つ以上のダイアグラム間のエラーチェック
・あるダイアグラムの詳細・概要間、あるいは1枚のシート内のエラーチェック
と分けられると思います。

 はじめの「2つ以上のダイアグラム間のエラーチェック」については、ある程度ダイアグラムのDB化が進んでから説明しようと思います。後者の「あるダイアグラムの詳細・概要間」については、それぞれのダイアグラムを紹介した後にやろうと思ってます(今まで書いたER図、クラス図はチェック項目がないので、書かなかった)。

 で、今回は、DFDのエラーチェック方法ですが、それは、ここ

平成17年度
 会計検査院法第30条の3の規定に基づく報告書
  「各府省等におけるコンピュータシステムに関する会計検査の結果について」
http://report.jbaudit.go.jp/org/h17/yousei5/2005-h17-8092-0.htm


にあるように、

・DFD中に書かれたプロセスについて、それを詳細化したDFDが記述されるが
・そのとき、概略を書いたDFDのプロセスに対する入出力のデータソース、データストアは
・詳細化して書かれたDFDのどれかのプロセス(複数あってもよい)の入出力のデータソース、データストアに

なっていないといけない
というおきてがあります。




■具体的には

前回の図
http://itpro.nikkeibp.co.jp/article/COLUMN/20080619/308620/zu3s.jpg

を例にとっていうと、たとえば「自動発注」には、在庫データ、受注データ、メーカーのデータストアまたはデータ発生・吸収があります。
 ということは、もし「自動発注」の詳細DFDを考えたとして、そのときのプロセスを「発注量算定」「発注データ作成」「発注実行」とすると、それら3つのプロセスのどれかが、在庫データ、受注データ、メーカーに「必ず」アクセスするということです(もちろん、2つ以上アクセスしてもOKです)

 そして、これ以外のデータ、たとえば「発注データ」というのを「発注データ作成」と「発注実行」でアクセスしていたとすると、このデータは、親プロセス「自動発注」以外の、他の親プロセス(内のプロセス)からアクセスされることはないということです。
(「発注量算定」は「発注データ」にアクセスするかもしれないが、他親プロセスの「注文入力」がアクセスすることはない。




■これをRDBで表現するには

まず、プロセステーブルに親プロセスIDというのを持ちます。

プロセステーブル:プロセスID,プロセス名,親プロセスID

先ほどの例でいうと、
「発注量算定」「発注データ作成」「発注実行」の親プロセスが「自動発注」になります。
なので、データはこんな感じ

プロセスID,プロセス名,親プロセスID
     :
3,自動発注,0
     :
28,発注量算定,3
29,発注データ作成,3
30,発注実行,3

このとき、データフローテーブルが
10010,3,3003,メーカー
10011,6001,3,注残データ
10011,6002,3,在庫情報

とあったら、

XXXXX,○,3003,******
XXXXX,6001,○,******
XXXXX,6002,○,******

○は、3の自動発注の子である、28,29,30のいずれか
(XXXXX,*****は任意)
となる3種類のレコードが、データフローテーブルにかならず1件は存在する
(1種類1件、最低3種類3件)存在するということになります。

このエラーチェックが出来ます。




ただし、これ、若干の問題があります。
それについては、次回に書きます。


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

Wikipediaのデザインパターンの説明なんだけど・・・

2009-08-21 15:43:34 | Weblog

デザインパターンについて書こうと思って気がついたんだけど、

Wikipediaのデザインパターン (ソフトウェア)

について、Proxy パターンの説明で
(以下斜体は上記リンク先、Wikipediaのデザインパターンより引用:2009/8/21 15:30現在)


Proxy パターン
共通のインタフェースをもつインスタンスを内包し、利用者からのアクセスを代理する。Wrapperとも呼ばれる。


って書いてあるんだけど、Wrapper(ラッパー)は、普通、Adapterパターンに対していう言葉でないかい?

第3回:AdapterパターンとFactory Methodパターンの事例
http://thinkit.jp/article/933/1/


など・・・

そうでないの??



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