TMD-Maker ドキュメント

概要

このドキュメントでは、TMD-Makerの説明とTMD-Makerを使ったTMD(T字形ER図)の作成方法を解説します。

※内容はTMD-Makerの進化と、私のTM(T字形ER手法)の理解の深化に伴い順次更新します。


目次

I. はじめに
1. TMD-Makerとは
2. TMD-Makerの特徴
3. TMD-Maker for RCPのインストール
4. TMD-Maker Pluginのインストール
5. TMダイアグラムの作成準備
II. TMD-Makerを使ってみよう
6. TMの5つの文法 1.個体の認知
7. TMの5つの文法 2.個体の性質・関係の性質
8. TMの5つの文法 3.関係の文法
9. TMの5つの文法 4.データの周延
10. TMの5つの文法 5.データの多値
11. みなし概念
12. ダイアグラムの検証
13. データベースの実装
III. その他情報
14. TMD-Maker for RCP 対応プラットフォーム
15. TMD-Maker 対応データベース一覧

表の一覧

14.1. TMD-Maker for RCP 対応プラットフォーム一覧
15.1. 対応データベース一覧

パート I. はじめに

このパートでは、TMD-Makerの紹介と、TMD-MakerでTMD(T字形ER図)の作成するための事前準備について説明します。

尚、TMD-Makerをバージョンアップする際はインストールの章を参照してください。

いずれは簡単にバージョンアップできるようにしたいと考えてはいますので。。。

第1章 TMD-Makerとは

私が初めてTM(当時はまだT字形ER手法と呼ばれていました)を知った時から今日まで、 TMを勉強したり実践するにあたり、TMD(T字形ER図)を既存のドローツールで作成することは大変面倒な作業でした。 あまりにも面倒なのでTMの勉強をやめてしまおうかと思うほどでした。 私と同じ理由でTMを勉強したり実践することをあきらめてしまった人もいるのではないでしょうか?

商用のツールを買うほどのお金や権限もない。でもTMがやりたい。 私は「TMDを作成できるフリーのツールはないかなぁ」と常々考えていました。

私と同じようなことを考えていた人は手を上げてください。

お待たせいたしました。それがTMD-Makerです。 「TMDを作るもの」という意味です。 無料で誰もが使えるツールです。 結局自分で作ってしまいました。

第2章 TMD-Makerの特徴

TMD-Makerの特徴と現時点で、TMD-Makerで出来ることと、できないことをまとめました。

TMD-Makerは日々バージョンアップしていますので、できないことについては「あくまでも」現時点でのことでありますが、残念ながら必ずしもTMD-Makerで将来実現を保証するものではありません。

TMD-Makerへ追加して欲しい機能があれば、新規チケットでリクエストをください。

特徴

  1. OS非依存!Javaが動作する環境で利用できます。Eclipseへインストールして動作するPlugin版と、スタンドアロンで動作するRCP版の2種類を用意しています。

  2. オープンソース!特定のベンダーに依存しません。ソースが公開されていますので自分で弄れます。

  3. 無料!何回使っても、何人で使ってもお金は一切掛かりません。でもカンパしてくれたらうれしいかも・・・

  4. 無保証!バグがあっても責任はとれません。が、バグ報告してくれたら修正されるかも。

出来ること

  1. TMの5つの文法によるTMD作成

  2. TM'(みなし概念)のモデル(みなしエンティティ、みなしスーパーセット)の作成

  3. ラピュタの作成

  4. ダイアグラムをイメージファイルで出力

  5. アトリビュートリストをHTML形式で出力

  6. 関係の検証表をHTML形式で出力

  7. キー定義書をHTML形式で出力

  8. 物理実装情報の登録とデータベースを指定したテーブルとインデックス作成DDLの出力

  9. さまざまな方法によるダイアグラムのレイアウト調整

(まだ?)出来ないこと

  1. Eclipseのアップデート機能を利用したTMD-Makerのバージョンアップ

  2. ダイアグラムからアプリケーションの雛形を作成

  3. 佐藤正美氏の頭脳のEclipseプラグイン化

第3章 TMD-Maker for RCPのインストール

TMD-Maker for RCPは、ほぼ全てのプラットフォームで動作可能なクライアントサイドの(Java)アプリケーションです。普段Eclipseを使用していない人や、命の危険に関わるので早急にTMを始めたい人にお勧めします。

動作環境

新規インストール

  1. Java 6 Runtimeのインストール

    Javaのサイトから各自の環境に対応するファイルをダウンロードする。

    ダウンロードしたファイルをダブルクリックして、あとは指示に従って進めればインストールできるでしょう。

    既にインストール済みの人は、さっさと先に進みましょう。

  2. TMD-Maker for RCPのインストール

    tmdmaker_rcpのダウンロードサイトで各自の環境に合ったファイルを選んでダウンロードしたら、ダウンロードしたファイルを解凍して任意の場所に置く。

  3. TMD-Maker for RCPの起動

    解凍したフォルダを開いて、tmdmaker.exeをダブルクリックする。

    画面が出たらおめでとう!インストールは完了です。

バージョンアップ

  1. TMD-Maker for RCPの再インストール

    TMD-Maker for RCPのインストール手順で最新のファイルを任意の場所に置く。

  2. TMD-Maker for RCPの起動

    解凍したフォルダ内の、tmdmaker.exeをダブルクリックする。

  3. TMDファイルの移動

    面倒ですが旧バージョンのプロジェクトフォルダ内のTMDファイルをコピー&ペーストで新バージョンのプロジェクトへ移動してください。移動後にF5キーを押すとプロジェクトエクスプローラに表示されます。

次はTMダイアグラムを作成する準備をしましょう。

第4章 TMD-Maker Pluginのインストール

TMD-Maker Pluginは、Eclipse Pluginです。普段Eclipseを使用している人や、説明不足のマニュアル作成者に文句を言わずに自分で道を切り開ける人にお勧めします。少々脅してしまいましたが、あまり身構えずに一度深呼吸してから始めましょう。

動作環境

  • 対応OS

    恐らくJava6が動作するOSなら動作します

  • Java 6 Runtime または Java 6 SDK

  • Eclipse 3.4 以上(3.6推奨)

    現在、Eclipse 3.6.1で開発しています。またPluginの動作確認では、バージョン3.4.2を使用していますので、多分バージョン3.5でも動作します。もしかしたらまだバージョン3.3でも動作するかも知れません。

  • GEF(Eclipse Graphical Editing Framework)

    Eclipseのバージョンに合わせる

新規インストール

  1. Java 6 Runtime or SDKのインストール

    Runtimeをインストールする場合は、こちらから各自の環境に対応するファイルをダウンロードする。

    SDKをインストールする場合は、こちら(の一番左)から各自の環境に対応するファイルをダウンロードする。

    ダウンロードしたファイルをダブルクリックして、あとは指示に従って進めればインストールできるでしょう。

    既にインストール済みの人は、さっさと先に進みましょう。

  2. Eclipseのインストール

    Eclipseのサイトからダウンロードする。どのエディションを選んでも良いです。

    ダウンロードしたファイルを解凍して任意の場所に置く。

    既にインストール済みの人は、さっさと先に進みましょう。

  3. GEFのインストール

    更新サイトからインストールするのが多分簡単です。

    Help->Install New Software から探してインストールしてください。

    既にインストール済みの人は、さっさと先に進みましょう。

  4. TMD-Maker Pluginのインストール

    tmdmaker_pluginのダウンロードサイトからtmdmaker_X.Y.Z.zip(X.Y.Zは任意のバージョン)をダウンロードする。

    ダウンロードしたファイルを解凍し、同梱されているtmdmaker_X.Y.Z.jar、tmdmaker.ddlgenerator_X.Y.Z.jar、 tmdmaker.htmlgenerator_X.Y.Z.jarの3つのjarファイルをeclipseのplugins(またはdropins)フォルダに置く。

    [ヒント]TMD-Maker Pluginのお勧めインストール方法

    tmdmaker_X.Y.Z.zipを解凍すると、tmdmaker_X.Y.Z → eclipse → plugins → tmdmaker~_X.Y.Z.jar というフォルダ構成になっています。

    このフォルダ構成のままdropinsフォルダに置けば、他のプラグインと混在することがないので、バージョンアップの際等にとても便利です。

  5. Eclipseの起動

    Eclipseをインストールしたフォルダ内の、eclipse.exeをダブルクリックする。

    Eclipseが起動したらインストールされているプラグインを見る。tmdmakerがリストにあれば、おめでとう!インストールは完了です。

バージョンアップ

  1. 旧バージョンのプラグインを削除

    eclipseのplugins(またはdropins)フォルダに置いたTMD-Makerのjarファイルを削除します。

  2. TMD-Maker Pluginの再インストール

    TMD-Maker Pluginのインストール手順で最新のファイルを新しいプラグインを上記方法でeclipseのplugins(またはdropins)フォルダに置く。

  3. Eclipseの再起動

    Eclipseを-cleanオプションを付けて再起動する。

次はTMダイアグラムを作成する準備をしましょう。

第5章 TMダイアグラムの作成準備

インストールが済んだらいよいよTMダイアグラムの作成です。でもまずその前にいくつか準備があります。

  1. プロジェクト作成

    プロジェクトとは簡単に言うとダイアグラムの保存先フォルダです。既にプロジェクトが作成済みの場合はダイアグラム作成へ進んでください。

    1. プロジェクトエクスプローラを右クリックして、New->Projectを選択します。

    2. ウィザードで、General->Projectを選択して、Nextボタンを押します。

    3. プロジェクト名に、任意の名前を入力して他の設定はとりあえず無視。そしてFinishボタンを押します。

    4. プロジェクトエクスプローラにプロジェクトが表示されます。

      ちなみにworkspaceフォルダの下にプロジェクトフォルダが作成されています。

  2. ダイアグラム作成

    それではプロジェクトの下にダイアグラムを作成します。ダイアグラムは複数作成できます。

    1. プロジェクトエクスプローラを右クリックして、New->Otherを選択します。

    2. ウィザードで、TMD->TM Diagramを選択して、Nextボタンを押します。

    3. ウィザードで、親フォルダに上で作成したプロジェクトを選択し、ファイル名を任意に付けて、Finishボタンを押します。

    4. 新しいダイアグラムが作成され、TMDエディタが開きます。プロジェクトエクスプローラで任意のファイルをダブルクリックすると選択したダイアグラムが開きます。

TMを理解している人は直感でどんどん進められるかもしれませんが、次パートで順序だててTMDを作っていきます。

パート II. TMD-Makerを使ってみよう

このパートでは、TMD-Makerを使ってTM(T字形ER手法)によるデータベース設計方法をTMの手順に沿って説明します。

TMによるデータベース設計では、ER図を作成しつつデータを解析し、最終的にエンティティをテーブルに実装します。

よくテーブルを作成してからER図を作成するケースをみかけますが、ER図は単なる表記方法ではありません。

TMD(T字形ER図)が如何にパワフルかご覧頂きましょう。

※このパートは、まだ執筆中です。当面はwikiページも参考にしてください。

第6章 TMの5つの文法 1.個体の認知

エンティティとは何か?データベース設計方法論数あれど、これに明確に答えている手法を知っていますか?「エンティティとは管理対象である。」とか説明している例もありますが、じゃあ何が管理対象なのでしょう?

TM(T字形ER手法)では、「エンティティとは個体指定子を付与されているもの」と定義しています。

個体指定子とは、○○番号とかXXコード、△△ID等、何かしらの番号体系が付与されたものです。

人が番号(個体指定子)を振ったものを個体(エンティティ)と認識します。これならエンティティの抽出に迷うこともありませんね。

人は管理したいものには番号を振る傾向があります。その習性を巧みに利用しているのです。

前置きが長すぎましたね。解析したい業務の画面や帳票は用意できていますか?それでは、TMD-Makerでエンティティを作成しましょう。

エンティティ作成方法

  1. パレットの「エンティティ」をクリックします。

  2. エディタ内でエンティティを配置したい任意の場所をクリックします。

  3. すると、「エンティティ新規作成」ダイアログが開きます。

  4. 解析対象からコード、番号、ID等を見つけたら個体指定子として名称を入力します。

    個体指定子の末尾から番号やコード体系を表す言葉と、レポート名を表す言葉を削除したものが自動的にエンティティ名になります。

    [ヒント]エンティティ名の命名ルール

    TMD-Makerでは、番号コード体系を表す言葉として"コード", "ID", "ID", "id", "id", "番号", "No"という単語を登録しています。

    またレポート名を表す言葉として"伝票", "報告書", "書", "レポート"という単語を登録しています。

    ※カスタマイズできた方が便利だと思う人はリクエストください。

    自動的に名付けられたエンティティ名に不満があるときは「個体指定子からエンティティ名を自動生成」のチェックを外すと自由に名付けられます。

    ちなみに個体指定子≠主キーです。

  5. OKボタンをクリックするとエンティティが作成され、エディタ上に表示されます。

類別のリストについては次で説明します。

第7章 TMの5つの文法 2.個体の性質・関係の性質

エンティティを作った後は、エンティティを2種類に分類します。

エンティティ名 + 日付を意味する項目がある場合はイベント、そのような項目がない場合はリソースに分類します。

ちなみにイベントの日付は取引日等のように、過去に起こった事実(過去日)を表す日付なので、将来や予定を表す日付等を持つエンティティはリソースに分類します。

TM(T字形ER手法)で勘違いされていそうなことなのですが、日付があれば何でもイベントに分類されるわけではないのでご注意を!

エンティティの分類方法

  1. エディタの「エンティティ」をダブルクリックすると、エンティティ編集ダイアログが表示されます。

  2. 類別のリストをクリックすると、リソースとイベントが選択できます。

  3. 現在リソースなっていますが、試しにイベントに変更してOKボタンをクリックします。

    するとエンティティの種類がイベントに変更されました。

    エンティティの種類は、エンティティ作成時の「エンティティ新規作成」ダイアログでも変更できます。

    新規作成時には、エンティティの種類がイベントの場合は「エンティティ名+日」、リソースの場合は「エンティティ名+名称」という名前でアトリビュートが作成されます。

    また、エンティティの種類に「不明」を選択した場合は、ラピュタ(帰属不明なアトリビュートを一時的に置いておく入れ物)が作成できます。ラピュタは個体指定子の入力は不要です。

  4. 最後にエンティティの種類に合わせてエンティティを並べ替えます。

    ポイントはイベント系エンティティです。エンティティの日付が発生する時系列に左から右へ並べます。リソース系エンティティは画面の上下に適当に並べておいてください。

    イベントは並びが重要なエンティティです。その理由は次回以降で明らかになるはずです。

ちなみにエンティティの種類の変更は、この後説明する関係の文法でリレーションシップを持つと変更できなくなります。

第8章 TMの5つの文法 3.関係の文法

エンティティを作って、エンティティを2種類に分類した後は、エンティティ間の関係を定義していきます。

以下、執筆中

    エンティティ間の関係は4つのパターンがあります。

    4つの関係文法

    1. リソースとリソース間

      対照表を作成します。対照表はリソース間の組合せを表す表(エンティティではないので注意)です。

      リソースの組であるため、TMの関係文法では対照表はリソースと同じ扱いをします。

      しかし、対照表の右側に日付(過去日)を付けた時に意味があれば、意味論上イベントとみなすことができます。

    2. リソースとイベント間

      リソースの個体指定子をイベントへ左側へコピーします。「リソースがイベントに関与する。」というそうです。見慣れたER図の依存リレーションシップと似ています。

    3. イベントとイベント間

      イベントの発生する時系列で早い方をfrom、遅い方をtoとした場合、先にマウスで選択した方がfromとなります。

      fromとtoが1:1または1:Nの場合は、個体指定子をイベントへ左側へコピーします。

      fromとtoがN:1の場合は、対応表を作成します。対応表はイベント間の対応を表す表(エンティティではありませn)。対応表は、他のエンティティや表と関係を持てません。

    4. 同一エンティティ間

      再帰表を作成します。

    ちなみに(R)は Referenceではなく、Re-usedと呼んでいます。

    第9章 TMの5つの文法 4.データの周延

    執筆中

    第10章 TMの5つの文法 5.データの多値

    執筆中

    第11章 みなし概念

    執筆中

    第12章 ダイアグラムの検証

    ダイアグラムをイメージ出力、アトリビュートリスト、関係の検証表

    執筆中

    第13章 データベースの実装

    執筆中

    パート III. その他情報

    第14章 TMD-Maker for RCP 対応プラットフォーム

    表14.1 TMD-Maker for RCP 対応プラットフォーム一覧
    ダウンロードファイル名対応OSウインドウマネージャープロセッサリリース動作確認
    未提供AIXmotifppc--
    未提供HP-UXmotifia64_32bit--
    未提供Linuxgtkppc--
    未提供Linuxgtkx86(32bit版)--
    未提供Linuxgtkx86_64bit--
    未提供linuxmotifx86--
    未提供Mac OS Xcarbonppc--
    未提供Mac OS Xcarbonx86--
    未提供Mac OS Xcocoappc--
    未提供Mac OS Xcocoax86(32bit版)--
    未提供Mac OS Xcocoax86_64bit--
    未提供solarisgtksparc--
    未提供solarisgtkx86--
    tmdmaker_for_rcp.win32.win32.x86.zipwindowswin32x86(32bit版)
    tmdmaker_for_rcp.win32.win32.x86_64.zipwindowswin32x86_64bit
    未提供windowswpfx86--

    第15章 TMD-Maker 対応データベース一覧

    TMD-Maker は、DdlUtilsを利用しています。

    表15.1 対応データベース一覧
    データベース名備考
    Axion
    Cloudscape
    DB2バージョン7
    DB2v8バージョン8以降
    Derby
    Firebird
    HsqlDb
    Interbase
    MaxDB
    McKoi
    MsSql
    MySQL5バージョン5以降
    MySQLバージョン4
    Oracleバージョン8
    Oracle9バージョン9
    Oracle10バージョン10以降
    PostgreSql
    SapDB
    Sybaseバージョン10.5以降
    SybaseASE15バージョン15以降
    SourceForge.JP