goo blog サービス終了のお知らせ 

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

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

DMM(機能構成図=機能分析表)とドメインとパッケージ

2009-11-26 16:30:10 | Weblog

「RFPからプログラミングまで、シームレスに開発する方法」というのを書くといって、現在以下の図


の①、④、⑤は書いたので、今日は②のDMM(機能構成図=機能分析表)について




■ドメインを詳細化していくわけだけど・・・

 システム開発をするとき、ある程度の規模になると、システムの成果物(帳票、出力画面、DBのデータ)だけでも膨大になるため、適当な範囲を決めて、システムを分けていく。

 こうして、システムをサブシステムにわけて、サブシステムをサブサブシステムにわけて、サブサブシステムをサブ3システムにわけて・・・と詳細化していくことを、まずはじめにやる。
 この様子を書いたのが、DMM(機能構成図=機能分析表)っていうことになる。

 これは、ドメインの詳細化ともいえるけど、そー厳密な話じゃない。

 もちろん基本的には、複数の成果物があれば、その成果物ごとに分けるというのも1つの手だし、ここの例のように、登録・変更・削除・閲覧・・・みたいなかんじに機能で割っていくのもひとつの手。

 ただ、どっちにしろ、けっこういい加減であり、視点が定まっていて(業務に着目し詳細化、成果物に着目し詳細化など)漏れがなければ、まあ、いいかなという感じ。

 なので、詳細化といっても、ドメイン全体を定義し(おおまかな機能とデータについて認識し)、それを詳細化するほどの厳密さはいらないし、そもそも、それを求めてもできない。




■っていうか、情報を入れるフォルダを作っているかんじ。

 ここでの作業はむしろ、フォルダを作っていっているかんじ。
 これは、電子的に、パソコンのファイルを入れるフォルダ(ディレクトリ)をイメージしてもらってもいいし、紙文書をいれる、フォルダをイメージしてもらってもいい。

 そこのフォルダをつくって、これから、DFDなり、いろんなドキュメントをつっこみますよ、そのフォルダの階層を作りますよ・・・っていうイメージ。
 自分のパソコンでフォルダを作るのに、そうそう悩まない?とおもうけど、そんなかんじでも、いい気がする。

 問題は、漏れなく情報をフォルダにいれて、必要なときに確実に引き出せること。
 なので、どー言う観点でフォルダを作ったか・・・つまり、DMMにおいて、どーいう観点で階層を分けたかは重要だけど、それ以外は。。。




■フォルダってことは・・・パッケージ?

 Javaなどの場合、フォルダっていうと、パッケージに相当するわけで、
 ってことは、DMMをパッケージ割りというふうに捕らえることも出来る。
 そして、適当な大きさになると、そこでDFDなり、業務流れ図がかかれ、そうすると、前に書いたように、そこからクラスが書ける。
 それらクラスは、プロセスとか、機能は、そのパッケージに属することになる

(データ部分のエンティティは、この中に入れないほうがいい。共有化されるので)




■ということは・・・

 DMMとDFD、業務流れ図には、関連がある。というか、関連を持たせたほうがいい。
 DMMで書かれている機能を、DFDや業務流れ図で記入するようなかんじ。

 もし、DMMレベルでフォルダを切るなら、DFD、業務流れ図のドキュメントは、対応するDMMのところにおいておいたほうがいいのかもしれない。




■で、今気づいたんだけど・・・

川崎市の事例で、

このページ
トップページ > 導入編「自治体EAの導入方法」 > 2.業務参照モデル(総務省標準第一版)
http://www.soumu.go.jp/denshijiti/system_tebiki/model/content02.html


に載っているDFDと

このページ
トップページ > IV.資料編3:事例集 > 新規事例:川口市 > 業務分析(1) > 基幹:住民基本台帳
http://www.soumu.go.jp/denshijiti/system_tebiki/jirei/kawaguchi/gyomu01/nisshi-KJ01.html


に載っている、DFDの「書き方」が違いすぎるんだけど・・・
(内容が違うのはいいのだが、書き方は同じになるはず・・)

 いままでの説明で書いてきたとおり、DMMっていうのは、ドメインを詳細化していくものだから、それとドメインのデータフローを記述するDFDは、関係があるのが普通。

 前者に書かれているように、一般にはDMMの各機能が、DFDのプロセスになっているのが美しい。

 ところが、後者は、DMMとDFDの関連がまったくわからない。

 これでは、開発はできない。

 これを、事例としちゃうと、まずいんじゃないか?


この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« ビッグサイトでロボット展と... | トップ | 54行で分散KVSを実装するとか... »
最新の画像もっと見る

Weblog」カテゴリの最新記事