コアコンセプト
このページでは、Archyl を使用する際に出会う主要な概念について説明します。
プロジェクト
プロジェクト は、アーキテクチャドキュメントのトップレベルのコンテナです。各プロジェクトは、ドキュメント化したいソフトウェアシステムまたは製品を表します。
プロジェクトには以下が含まれます:
- アーキテクチャダイアグラム(システム、コンテナ、コンポーネント、コード)
- 要素間の関係
- ドキュメントと ADR
- ユーザーフロー
- 設定とチームアクセス
要素
要素はアーキテクチャダイアグラムの構成要素です:
システム
システム はソフトウェアシステムを表します — 最高レベルの抽象です。C4 モデルでは、これがドキュメント化する対象です。
- 内部システム:自社で所有し保守するシステム
- 外部システム:連携するサードパーティのシステム(API、SaaS 製品)
コンテナ
コンテナ は、コードを実行したりデータを保存したりする、個別にデプロイ/実行可能なユニットです:
- Web アプリケーション
- モバイルアプリ
- API サーバー
- データベース
- メッセージキュー
- ファイルシステム
コンポーネント
コンポーネント は、コンテナ内の関連する機能のグループです:
- コントローラー
- サービス
- リポジトリ
- モジュール
コード要素
コード は最低レベルを表します — 実際のコード構成要素です:
- クラス
- インターフェース
- 関数
- モジュール
関係
関係 は、要素がどのように通信したり依存したりするかを示します。以下を含みます:
- インタラクションを説明する ラベル(例:「読み取り元」、「イベントを送信」)
- オプションの テクノロジー 情報(例:「REST/HTTPS」、「gRPC」、「AMQP」)
- フローを示す 方向
オーバーレイ
オーバーレイ は、基盤となる構造を変更せずにダイアグラムを整理するための視覚的なグループです。用途:
- 関連する要素のグループ化
- 特定のエリアの強調表示
- 視覚的な境界の作成
レベル
Archyl は C4 モデルの 4 つの抽象レベルを使用します:
| レベル | 表示内容 | 対象者 |
|---|---|---|
| システムコンテキスト | 環境内のシステム | 全員 |
| コンテナ | 高レベルの技術的構成要素 | 技術者 |
| コンポーネント | コンテナ内のコンポーネント構造 | 開発者 |
| コード | コードレベルの詳細 | 開発者 |
組織とチーム
組織
組織 はアカウントのワークスペースです。以下を含みます:
- すべてのプロジェクト
- チームメンバー
- 請求情報
- 設定
チーム
チーム はプロジェクトへのアクセスを組織化するのに役立ちます:
- 部門、プロジェクト、または責任ごとにチームメンバーをグループ化
- 特定のプロジェクトへのアクセスを制御
- チームレベルでの権限管理
ロール
Archyl には 3 つのロールがあります:
| ロール | 閲覧可能 | 編集可能 | 管理可能 |
|---|---|---|---|
| 閲覧者 | はい | いいえ | いいえ |
| 編集者 | はい | はい | いいえ |
| 管理者 | はい | はい | はい |
AI ディスカバリー
AI ディスカバリー は、コードベースを自動的に分析してアーキテクチャ要素を発見するプロセスです:
- Git リポジトリに接続
- コード構造とパターンを分析
- システム、コンテナ、コンポーネントを特定
- 要素間の関係を作成
- ドキュメントの提案を生成
ADR
アーキテクチャ決定記録 (ADR) は、重要なアーキテクチャ上の決定を記録します:
- 何が決定されたか
- なぜ決定されたか
- どのような代替案が検討されたか
- どのような結果があるか
フロー
ユーザーフロー は、ユーザーやデータがシステム内をどのように移動するかを記録します:
- ステップバイステップのシーケンス
- アーキテクチャ要素へのリンク
- ビジュアルフローダイアグラム