3.7 KiB
3.7 KiB
設計
アーキテクチャ概要
システムアーキテクチャの高レベルな概要を提供してください。
graph TD
A[コンポーネントA] --> B[コンポーネントB]
B --> C[コンポーネントC]
A --> D[コンポーネントD]
コンポーネント
コンポーネント1: [名前]
目的: このコンポーネントの役割
責務:
- 責務1
- 責務2
インターフェース:
- API/メソッド1
- API/メソッド2
コンポーネント2: [名前]
目的: このコンポーネントの役割
責務:
- 責務1
- 責務2
データフロー
シーケンス: [プロセス名]
sequenceDiagram
participant ユーザー
participant システム
participant データベース
ユーザー->>システム: リクエスト
システム->>データベース: クエリ
データベース-->>システム: レスポンス
システム-->>ユーザー: 結果
API設計
エンドポイント: [/api/resource]
メソッド: GET/POST/PUT/DELETE
目的: このエンドポイントの機能
リクエスト:
{
"field1": "value1",
"field2": "value2"
}
レスポンス:
{
"status": "success",
"data": {}
}
データベーススキーマ
テーブル: [table_name]
| カラム | 型 | 制約 | 説明 |
|---|---|---|---|
| id | UUID | PRIMARY KEY | 一意識別子 |
| created_at | TIMESTAMP | NOT NULL | 作成日時 |
| updated_at | TIMESTAMP | NOT NULL | 更新日時 |
技術的決定事項
決定1: [技術/アプローチの選択]
検討した選択肢:
- 選択肢A - メリット/デメリット
- 選択肢B - メリット/デメリット
決定: 選択肢A
根拠: この選択肢を選んだ理由
セキュリティ考慮事項
セキュリティ対策と考慮事項を記述してください。
パフォーマンス考慮事項
パフォーマンス最適化と考慮事項を記述してください。
エラー処理
エラー処理戦略と復旧メカニズムを記述してください。
設計書作成のガイド
アーキテクチャ図の種類
- コンポーネント図: システムの主要な部品と関係性
- シーケンス図: 処理の流れと相互作用
- データフロー図: データの移動と変換
- 配置図: 物理的な構成とネットワーク
Mermaid図の基本構文
グラフ(フローチャート)
graph TD
A[開始] --> B{判定}
B -->|Yes| C[処理1]
B -->|No| D[処理2]
C --> E[終了]
D --> E
シーケンス図
sequenceDiagram
participant A as クライアント
participant B as サーバー
participant C as DB
A->>B: リクエスト送信
B->>C: データ取得
C-->>B: データ返却
B-->>A: レスポンス返却
コンポーネント設計のポイント
- 単一責任の原則: 各コンポーネントは1つの明確な目的を持つ
- 疎結合: コンポーネント間の依存関係を最小限に
- 高凝集: 関連する機能を同じコンポーネントに
- インターフェース定義: 明確な入出力を定義
API設計のベストプラクティス
- RESTful原則に従う
- 適切なHTTPステータスコードを使用
- バージョニング戦略を定義
- エラーレスポンスの一貫性
- ペイロードの検証とサニタイゼーション
データベース設計の考慮点
- 正規化と非正規化のバランス
- インデックス戦略
- トランザクション境界
- バックアップとリカバリ計画