図から削除とモデルから削除の使い分け

こんにちは、astah*開発チームのりりぃです。

以前、astah* Communication Managerの上馬が、図から削除 vs モデルから削除という記事で、モデルの削除方法をご紹介しました。

皆さんは図から削除モデルから削除を使い分けできていますか?
今回はastah*で扱っている情報についての話を交えながらどのように使い分けたらいいか説明したいと思います。


モデル要素の情報と図要素の情報

普段は意識されないと思いますが、astah* のプロジェクトファイルに保存されている情報には、モデル要素の情報と図要素の情報があります。

image

モデル要素の情報は1のプロジェクトビューと呼ばれるモデル要素の情報を操作するパネルから確認することができます。
図上または構造ツリーの要素を選択すると、2のプロパティビューにモデルの詳細情報が表示されます。
例えば図上のクラス0を選択すると、属性や操作を始めとした色々な項目が表示されます。

図要素の情報は、astah*の表示上で意識することはありませんが、図要素の位置や大きさ、色、各ラベルの表示内容等の描画に関するものを持っています。

ダイアグラムエディタに表示されているクラス0はモデル要素の情報と図要素の情報を元に描画されています。


モデルと図要素の数

モデルには図要素を持たないものもあります。その場合は構造ツリーで対象のモデルを選択してモデルから削除できます。

astah*の内部ではアクティビティ図等、モデルと図要素を必ず1:1としている図もあります。
その場合は図から削除を行ってもモデルから削除するようになっています。

クラスのようにいろんな図を跨いで沢山登場するモデルの場合、モデルと図要素が1:nになっています。
この場合、モデルから削除を行うと各図要素に影響が出ます。


図から削除

下のクラス0を1つ図から削除してみます。

delete_from_diagram

削除したいクラス0のポップアップメニューから[図から削除]します。
図から削除した図要素の情報が削除されて描画されなくなりましたが、図上のもう一つのクラス0は残りました。
また、構造ツリーを見てもクラス0のモデル情報はキープされています。
構造ツリーからドラッグアンドドロップすれば、また図上にクラス0を作成することもできます。


モデルから削除

図から削除したのと同じプロジェクトファイルを元にモデルから削除をしてみます。

delete_from_model.gif

図上のクラス0のポップアップメニューから[モデルから削除]を実行します。
構造ツリーを見るとクラス0が消えているのがわかります。
図上でもクラス0は2つ存在しましたが、両方とも削除されました。


まとめ

モデルから削除は構造ツリーからも消え、再利用ができなくなります。
図から削除はプロジェクトファイルにモデル情報が残ります。

のちに再利用する可能性があるモデルを持つ図要素や、単に図上から非表示にしたいだけの図要素は図から削除、モデル情報ごと削除したい場合はモデルから削除を使いましょう。

それでは、より良いastah*ライフを!

コメントを残す