C4model pluginの紹介

皆さん,こんにちは!

今日は,C4 modelというモデリングの方法論を支援するプラグインを紹介します。

C4 modelは,UMLがなかなか現場では使われていない,という反省から,UMLをベースに考え出されたもので,エンジニアのよりよいコミュニケーションを支援することに重点が置かれています。詳しくは,公式サイトや次の資料などを参照してください。

C4 modelは,ソフトウェアのアーキテクチャを(1) Software system,(2) Container,(3) Component,(4) Codeの4階層で理解します。Software systemにおいては,開発対象システムと利用者,また他のシステムとの依存関係を記述します。

それでは,プラグインを使ってC4 model のモデルを書いてみましょう。公式サイトの例題をとりあげます。はじめに,Software systemのモデルはプラグインを使うと次のように書くことができます。詳しい書き方は,githubreadmeを見てみてください。

C4model pluginを用いてastah*上で記述したC4 modelの例

ここで,図上のクラスは,拡張アイコン機能を使って,予め登録してあるSVGファイルによって表現されています。例えば,ステレオタイプ «Person» をもつクラスは,人型になったり,«Software System» のクラスは,青色や灰色の矩形を選択することができます。また,それらアイコン上に表示されている文字情報は,プラグインによって,図上の文字列として,表示されています。したがって,アイコンを図上で移動しても,それらの文字列はそのままでは移動しません。例えば,移動直後はつぎのような表示になります。

アイコンを移動直後

ただ,ここでC4 model pluginによって提供されている「Refresh(based on model)」ボタンを押すことによって次のように文字列の位置が修正されます。

「Refresh(based on model)」ボタンを押した後の画面

これは,プラグインによって,クラスの図要素とその上に配置された文字列が紐付いているからです。もちろん,記述してある情報はモデルの情報と紐付いています。例えば,各クラスの説明文は,モデルではdescriptionという属性の初期値を反映しています。

これまで見たように,使い勝手にすこし癖があるかもしれませんが,見た目はC4 modelの書き方が再現できることを見ていただけたと思います。アイコンの画像は,新しく用意したものも登録して利用することができます。また,C4 modelで重要な階層的なモデルの記述など,より高度な使い方は,githubreadmeを書いてあります。

一度試していただいて,フィードバックなどいただければと思います!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s