C4モデルやシーケンスタイムラインなどの特定のアーキテクチャレイアウトに取り組む前に、図の構成を規定する基盤となるルールを理解することが不可欠ですPlantUMLプレイブックPlantUMLは、明快で直感的なテキスト表記システムに依存しています。エンジンがドキュメントを開き、構造的要素に名前を付け、接続線をルーティングする方法を理解すれば、どんな複雑なシステムレイアウトもまったく自然に書けるようになります。
この簡単な導入では、VPasCodeワークスペース内のほぼすべてのPlantUML図タイプに適用される、グローバルな構造的構文メカニズムをカバーしています。
1. 必須のドキュメントラッパー
PlantUMLコードのすべてのブロックは、明示的なフレームワークタグで開始および終了しなければなりません。これらのタグは、VPasCodeパーサーにプレビューキャンバスで正しいレンダリングエンジンを起動するように指示します:
@startuml— この正確な行は、スクリプトの絶対的な先頭に配置しなければなりません。これより前に何もないようにしてください。@enduml— この正確な行は、スクリプトの絶対的な末尾に配置しなければなりません。これで図データブロックの終了が示されます。
これらの2つのマーカーの外に書かれたコードは、コンパイラによって安全に無視されます。あるいは、ワークスペースの診断パネルで構文検証の警告が発生する可能性があります。
2. 要素の宣言:IDと表示ラベル
ソフトウェアシステムをモデル化する際、コンポーネント、データベース、アクター、またはマイクロサービスなどのさまざまな構造的要素を作成します。PlantUMLでは、要素のタイプ、内部用の短縮ID、および引用符で囲まれたユーザー向けの表示名を定義することで、要素を明示的に宣言できます:
component microservice_id as "決済処理API"
database db_id as "ユーザー取引SQL"
なぜこれがベストプラクティスなのか:短く明快な内部ID(例:microservice_id)を使うと、後で関係線を描く際にずっと速くなります。もし「決済処理API」から「グローバルチェックアウトサービス」に顧客向けラベルを変更する必要が生じたとしても、スクリプト全体で数十行を更新するのではなく、1行だけ編集すれば済みます。
3. 関係矢印と方向性ルーティングの習得
システムノード間の接続は、ダッシュ(-)と矢印カッコ(>)の組み合わせで描かれます。ダッシュの長さや方向性キーワードの使用により、自動レイアウトエンジンが図をどのようにスケーリングするかを、暗黙的に制御できます:
- 基本的な接続:
A --> Bこれは、要素Aから要素Bへと直線的に向かう標準的な方向性矢印を描きます。 - 点線の依存関係線:ダッシュをピリオドに置き換えると点線が作成され、これは非同期依存関係やネットワーク呼び出しを示す業界標準です:
A ..> B. - レイアウトの向きを強制する: レイアウトエンジンがボックスを自動的に配置する一方で、矢印文字列内に方向キーワードを直接挿入することで、明示的に向きを制御できます:
A -up-> B(BをAの上に描画するよう強制)A -down-> B(BをAの下に描画するよう強制)A -left-> B(BをAの左に描画するよう強制)A -right-> B(BをAの右に描画するよう強制)
4. コンテキストをインラインで追加する:ラベルとコードコメント
明確なドキュメントは、視覚的なラインやテキストスクリプトの周囲に適切なコンテキストを配置することに大きく依存します:
接続ラインにラベルを付ける
関係を示すマッピングの後にコロン (“:) を追加することで、任意の接続ラインに説明テキストを直接追加できます:
client_id --> api_id : "HTTPS POST /v1/checkout"
コードコメントを書く
スクリプトファイル内に管理用のメモ、デザインのクレジット、またはアーキテクチャの説明を残したいが、キャンバス上に視覚的なボックスを描画したくない場合は、シングルクォート文字 (“') を使用してください。これによりエンジンはその行を完全に解析しないように指示されます:
' TODO: DevOps移行が完了したら、この境界ボックスを更新する必要がある
[レガシーモノリス] --> [新しいマイクロサービス]
PlantUMLのグローバル構文ラッパー、コンポーネント宣言、方向性矢印パラメータに慣れたら、高度なシステム形状の構築を開始する準備が整いました。次のページに進んで、私たちの「アーキテクチャ&ハイレベル設計図!