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