DFD(Data Flow Diagram)はデータの流れに注目してモデリングを行うモデル図です。図10にDFDで使うモデル要素を示します。フローチャートが処理の流れに注目したモデリングであるのに対して、このDFDでは視点を変えて、データの流れに注目します。つまり処理よりもデータの流れが重要なシステムでは、このモデリングを用います。
フローチャートよりもオブジェクト指向モデリングと相性がいいので、オブジェクト指向モデリングへパラダイムシフトするときの橋渡しとしても使われていました(今はそんなことをせずに最初からオブジェクト指向モデリングをしますが)。
このDFDを描くコツは、データとデータフローの抽出を上手に行うことです。対象のシステムからDFDで記述するデータをどのように抽出し、どのデータフローに注目してDFDを記述するか、です。これを上手にやらないと、重要性の低い、つまらないデータを追いかけるようになってしまいます。
フローチャートの対象である処理は明示的になっていることが多いのですが、データとそのフローは暗黙的になっていることが多く、より発見的な手法が必要になります。同様なことがオブジェクト指向モデリングでもクラスとその関係の抽出で言えますので、この連載ではモデリングのコツとして、オブジェクト指向モデリングでのクラスやその関係の抽出をみていくことにします。
E-R図は「Entity-Relationship Diagram」で、「Entity」(実体)と「Relationship」(関連)そして「Attribute」(属性)を対応づけた図です。なお、E-R図のRをRelationship(関連)と命名しているのは、関係データベース(Relation Database)でRelation(関係)という単語を使ってしまったので、それと区別するためにRelationship(関連)のように英語と日本語を別のものにしています。またUMLのクラス図で出てくる「association」(関連) と混同しないようにしてください。
このE-R図は関係データベース設計のときに多く使われますが、汎用的なデータモデリング手法の1つでもあります。しかしメモリ中のデータモデルをオブジェクト指向モデリングでは、概念レベルのものから実装レベルのものまで、UMLのクラス図やオブジェクト図で表現することが多く、E-R図はデータベース上のデータモデルとして使われることが多くなっています。
データモデリングをするとき、クラス図一辺倒の方は、このE-R図も検討の1つに入れてみてください。この連載ではモデリング手法は適材適所ということを紹介する予定ですが、このE-R図の選択もその1つになります。
Copyright © ITmedia, Inc. All Rights Reserved.