LiveSource機能を使った UMLモデリング

Delphi 2006の新機能のうちの一つである、LiveSource機能を使ってみます。  Win32アプリケーションを新規作成します。
LiveSource機能を使った UMLモデリング:画像1
新規作成でユニットを一つ追加します。
LiveSource機能を使った UMLモデリング:画像2
ユニットに名前をつけて保存します。ここでは、フォームのユニット名をUnit_main.pas に 新しく追加した空のユニットの名前を unit_calc.pas にして保存しました。この時の状態が下の図です。
LiveSource機能を使った UMLモデリング:画像3

プロジェクトマネージャーのタブの右側にある、モデルビュータブをクリックします。このとき、モデリング用に設定されていないため、モデリングサポートを適用するか問い合わせるダイアログが表示されます(下図)。「はい」をクリックしてモデリングをサポートさせます。
LiveSource機能を使った UMLモデリング:画像4
 モデルビューが構築されます。モデルビューのツリー構造をたどって Unit_calcのノードを選択し、ダブルクリックします。
LiveSource機能を使った UMLモデリング:画像5
 Unit_calcのモデルビューが開きます。空のユニットのため、Globalsしかありません。
LiveSource機能を使った UMLモデリング:画像6
[やりたいこと] LiveSource機能を用いて、UMLからプログラムを設計してみます。ここでは、Input1 Input2 の2つのプロパティに入力された値を足し、Resultプロパティに代入するクラスを作成します。計算は、Calcメソッドが呼び出された時点で実行される仕様にします。

 まず、クラスを作成してみましょう、右下のツールパレットから「クラス」を選択します。
LiveSource機能を使った UMLモデリング:画像7
 モデル図の部分にドラッグして、クラスを作成します。
LiveSource機能を使った UMLモデリング:画像8
作成したクラスを左クリックで選択し、右クリックを押しポップアップメニューを表示させます。次に、ポップアップメニューの「追加」「フィールド」をクリックします。
LiveSource機能を使った UMLモデリング:画像9

クラスの中にフィールドが追加されました。フィールドはいわゆる変数ですので、名前と型を設定する必要があります。ここではValue1:integer としました。

LiveSource機能を使った UMLモデリング:画像10
 同じ手順で Value2 も作成します。
LiveSource機能を使った UMLモデリング:画像11
 更に同じ手順で、計算結果を格納する ResultValueフィールドも作成しました。
LiveSource機能を使った UMLモデリング:画像12
 次に、メソッドを作成してみましょう。クラスを選択し、ポップアップメニューの「追加」「手続き」をクリックします。
LiveSource機能を使った UMLモデリング:画像13
 メソッドが追加されました。メソッド名をCalcにします。
LiveSource機能を使った UMLモデリング:画像14

 クラス名がClass1のままですので、クラス名も変更します。Class1の文字の部分で左クリックすると編集できるようになります。クラス名を TSimpleCalcに変えました。このときの状態が下の図です。
LiveSource機能を使った UMLモデリング:画像15
 続いてプロパティを作成します。ポップアップメニューの「追加」「プロパティ」をクリックします。
LiveSource機能を使った UMLモデリング:画像16
 Input1 Input2 Result プロパティを作成しました。
LiveSource機能を使った UMLモデリング:画像17
 Calcメソッドに説明をつけてみましょう。Calcメソッドを選択して、オブジェクトインスペクタのプロパティの「意味」の欄に説明を書いてみました。
LiveSource機能を使った UMLモデリング:画像18
 では、コード画面に移ってみましょう。Unit_Calcのコードを開きます。UMLのクラス図のとおりにコードが出来上がっています。また、Calcメソッドには、先ほど書き足した説明がコメントとして挿入されていることも確認できます。
LiveSource機能を使った UMLモデリング:画像19
 あとはメソッド内部を実装するだけです。Calcメソッドを実装します。
LiveSource機能を使った UMLモデリング:画像20
 各プロパティのGet Setメソッドを実装します。
LiveSource機能を使った UMLモデリング:画像21
 Resultプロパティは読み込み専用プロパティにしたいので、Setメソッドは取ってしまいます。
LiveSource機能を使った UMLモデリング:画像22
 Property 宣言側も修正します。
LiveSource機能を使った UMLモデリング:画像23
 以上でクラスが完成しました。モデル図は下図のとおりになります。
LiveSource機能を使った UMLモデリング:画像24
 メインフォーム側で、今作成したTSimpleCalcを呼び出すコードを書いてみます。
LiveSource機能を使った UMLモデリング:画像25
 アプリケーションを実行して、実際に動くか確認してみます。良いようです。
LiveSource機能を使った UMLモデリング:画像26
 簡単なクラス作成を例にしてLiveSource機能を使ってみましたが、よくできていると思いました。読み込み専用プロパティの設定がUML図側からできないことや、プロパティが常にGet Setメソッドを持ってしまうといった仕様はありますが、面白いように図とコードが連動してくれます。"先に設計をまとめてしてしまい、後から実装部分をコーディングする"といった場合や"クラス設計図だけ書いて実装を丸投げしたい"という場合には、かなり役に立つのではないでしょうか。

AuthorPortraitAlt
著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用
作成日: 2006-01-01
Copyright © 1995–2025 iPentec all rights reserverd.