kotonoha 0.1.1 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +42 -0
- package/README.md +99 -20
- package/bin/kotonoha.js +81 -13
- package/package.json +7 -3
- package/skills/presentation-planner/SKILL.md +243 -0
- package/skills/presentation-planner/assets/design-templates/data-report.yaml +97 -0
- package/skills/presentation-planner/assets/design-templates/executive-proposal.yaml +92 -0
- package/skills/presentation-planner/assets/design-templates/technical-briefing.yaml +96 -0
- package/skills/presentation-planner/assets/scenario-templates/data-report.md +47 -0
- package/skills/presentation-planner/assets/scenario-templates/executive-decision.md +43 -0
- package/skills/presentation-planner/assets/scenario-templates/technical-briefing.md +45 -0
- package/skills/presentation-planner/references/customizing-design-templates.md +160 -0
- package/skills/presentation-planner/references/design-spec-schema.md +72 -0
- package/skills/presentation-planner/references/handoff-contract.md +49 -0
- package/skills/presentation-planner/references/responsibility-boundary.md +32 -0
- package/skills/presentation-planner/references/scenario-templates.md +55 -0
- package/skills/tech-writer/SKILL.md +108 -20
- package/skills/tech-writer/assets/templates/migration-plan.md +173 -0
- package/skills/tech-writer/assets/templates/operations-runbook.md +202 -0
- package/skills/tech-writer/assets/templates/requirements-definition.md +170 -0
- package/skills/tech-writer/assets/templates/rfi.md +113 -0
- package/skills/tech-writer/assets/templates/rfp.md +180 -0
- package/skills/tech-writer/assets/templates/security-design.md +167 -0
- package/skills/tech-writer/assets/templates/system-design.md +220 -0
- package/skills/tech-writer/assets/templates/technical-proposal.md +112 -0
- package/skills/tech-writer/assets/templates/test-plan.md +153 -0
- package/skills/tech-writer/references/doctypes/migration-plan.md +63 -0
- package/skills/tech-writer/references/doctypes/operations-runbook.md +63 -0
- package/skills/tech-writer/references/doctypes/requirements-definition.md +61 -0
- package/skills/tech-writer/references/doctypes/rfi.md +43 -0
- package/skills/tech-writer/references/doctypes/rfp.md +46 -0
- package/skills/tech-writer/references/doctypes/security-design.md +71 -0
- package/skills/tech-writer/references/doctypes/system-design.md +74 -0
- package/skills/tech-writer/references/doctypes/technical-proposal.md +49 -0
- package/skills/tech-writer/references/doctypes/test-plan.md +67 -0
- package/skills/tech-writer/references/style-constitution.md +7 -6
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
# <システム名> セキュリティ設計書・脅威モデル
|
|
2
|
+
|
|
3
|
+
<保護する資産、主要な脅威、採用するセキュリティ制御、受容する残余リスクを3文以内で要約する。>
|
|
4
|
+
|
|
5
|
+
- 文書版: <例: 1.0>
|
|
6
|
+
- 作成日: <YYYY-MM-DD>
|
|
7
|
+
- 最終更新日: <YYYY-MM-DD>
|
|
8
|
+
- 作成者: <氏名・チーム>
|
|
9
|
+
- セキュリティレビュー担当: <氏名・チーム>
|
|
10
|
+
- リスク受容者: <氏名・役職>
|
|
11
|
+
- ステータス: Draft / In Review / Approved
|
|
12
|
+
- 対象リリース: <バージョン・時期>
|
|
13
|
+
- 関連要件・設計: <文書名・版・URL>
|
|
14
|
+
|
|
15
|
+
## このセキュリティ設計で合意する事項
|
|
16
|
+
|
|
17
|
+
- 対象範囲と信頼境界: <対象システム・データ・利用者>
|
|
18
|
+
- 主要な脅威と制御: <要約>
|
|
19
|
+
- 残余リスク: <受容・追加対策が必要な事項>
|
|
20
|
+
- 承認を求める事項: <設計、例外、リスク受容>
|
|
21
|
+
|
|
22
|
+
## 対象範囲と対象外
|
|
23
|
+
|
|
24
|
+
### 対象範囲
|
|
25
|
+
|
|
26
|
+
- <アプリケーション、基盤、データ、外部接続、運用>
|
|
27
|
+
|
|
28
|
+
### 対象外
|
|
29
|
+
|
|
30
|
+
- <別チーム・別文書が管理する範囲>
|
|
31
|
+
|
|
32
|
+
## セキュリティ要件と準拠基準
|
|
33
|
+
|
|
34
|
+
| 要件ID | 要件・基準 | 適用範囲 | 設計上の対応 | 検証方法 |
|
|
35
|
+
|---|---|---|---|---|
|
|
36
|
+
| SEC-REQ-001 | <社内規程・法令・NFR> | <対象> | <制御> | <試験・監査> |
|
|
37
|
+
|
|
38
|
+
## 資産とデータ分類
|
|
39
|
+
|
|
40
|
+
| 資産ID | 資産・データ | 所有者 | 機密性 | 完全性 | 可用性 | 保存場所 | 保持・削除 |
|
|
41
|
+
|---|---|---|---|---|---|---|---|
|
|
42
|
+
| AST-001 | <資産> | <所有者> | High / Medium / Low | High / Medium / Low | High / Medium / Low | <場所> | <期間・方法> |
|
|
43
|
+
|
|
44
|
+
## アーキテクチャと信頼境界
|
|
45
|
+
|
|
46
|
+
```mermaid
|
|
47
|
+
flowchart LR
|
|
48
|
+
U[<利用者>] -->|<認証済み通信>| E[<公開境界>]
|
|
49
|
+
subgraph TrustZoneA[<信頼ゾーンA>]
|
|
50
|
+
E --> A[<アプリケーション>]
|
|
51
|
+
A --> D[(<データストア>)]
|
|
52
|
+
end
|
|
53
|
+
A --> X[<外部サービス>]
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
| 境界ID | 境界 | 越境するデータ | 通信方式 | 認証・認可 | 保護制御 |
|
|
57
|
+
|---|---|---|---|---|---|
|
|
58
|
+
| TB-001 | <境界> | <データ> | <TLS・Private Linkなど> | <方式> | <検証・制限> |
|
|
59
|
+
|
|
60
|
+
## ID・認証・認可
|
|
61
|
+
|
|
62
|
+
| 主体 | ID基盤 | 認証方式 | 認可モデル | 最小権限 | 有効期限・棚卸し |
|
|
63
|
+
|---|---|---|---|---|---|
|
|
64
|
+
| 利用者 / サービス / 管理者 | <基盤> | <MFA・証明書など> | RBAC / ABAC | <制御> | <期限・頻度> |
|
|
65
|
+
|
|
66
|
+
- 特権アクセス: <申請、承認、Just-In-Time、記録>
|
|
67
|
+
- サービス間認証: <Managed Identity、証明書など>
|
|
68
|
+
- セッション管理: <有効期限、失効、Cookie属性>
|
|
69
|
+
- アカウント回復: <本人確認、監査、通知>
|
|
70
|
+
|
|
71
|
+
## 脅威モデル
|
|
72
|
+
|
|
73
|
+
脅威分類にはSTRIDEなどを使用し、資産・境界・データフローごとに分析する。
|
|
74
|
+
|
|
75
|
+
| 脅威ID | 分類 | 対象資産・境界 | 攻撃シナリオ | 前提 | 影響 | 可能性 | リスク |
|
|
76
|
+
|---|---|---|---|---|---|---|---|
|
|
77
|
+
| THR-001 | Spoofing / Tampering / Repudiation / Information Disclosure / DoS / Elevation | AST-001 / TB-001 | <シナリオ> | <条件> | High / Medium / Low | High / Medium / Low | <評価> |
|
|
78
|
+
|
|
79
|
+
## セキュリティ制御と脅威対応
|
|
80
|
+
|
|
81
|
+
| 制御ID | 対応脅威ID | 予防・検知・対応 | 制御内容 | 所有者 | 実装箇所 | 検証方法 |
|
|
82
|
+
|---|---|---|---|---|---|---|
|
|
83
|
+
| CTRL-001 | THR-001 | Prevent / Detect / Respond | <制御> | <担当> | <構成・コード> | <試験・監査> |
|
|
84
|
+
|
|
85
|
+
## データ保護
|
|
86
|
+
|
|
87
|
+
- 転送時暗号化: <プロトコル、最小バージョン、証明書管理>
|
|
88
|
+
- 保存時暗号化: <方式、鍵、適用対象>
|
|
89
|
+
- フィールド暗号化・トークン化: <対象・方式>
|
|
90
|
+
- データマスキング: <画面、ログ、非本番環境>
|
|
91
|
+
- データ所在地: <リージョン・越境条件>
|
|
92
|
+
- 保持と削除: <期間、論理・物理削除、証跡>
|
|
93
|
+
|
|
94
|
+
## シークレット・鍵・証明書管理
|
|
95
|
+
|
|
96
|
+
| 対象 | 保管場所 | 利用主体 | 配布方法 | ローテーション | 失効 | 監視 |
|
|
97
|
+
|---|---|---|---|---|---|---|
|
|
98
|
+
| <シークレット・鍵> | <Vault・HSM> | <主体> | <Managed Identityなど> | <頻度・自動化> | <手順> | <期限通知> |
|
|
99
|
+
|
|
100
|
+
- ソースコード・イメージ・ログへの混入防止: <スキャン・マスキング>
|
|
101
|
+
- 緊急ローテーション: <判断者・手順・所要時間>
|
|
102
|
+
|
|
103
|
+
## 入力・出力・APIの保護
|
|
104
|
+
|
|
105
|
+
| 対象 | 脅威 | 制御 | 制限値 | エラー時の扱い |
|
|
106
|
+
|---|---|---|---|---|
|
|
107
|
+
| 入力 | Injection / 不正形式 | <検証・エスケープ> | <サイズ・件数> | <拒否・記録> |
|
|
108
|
+
| API | Abuse / Replay | <認可・レート制限・冪等性> | <値> | <応答・遮断> |
|
|
109
|
+
| 出力 | 情報漏えい | <最小化・エンコード> | <条件> | <マスキング> |
|
|
110
|
+
|
|
111
|
+
## ログ・監査・検知
|
|
112
|
+
|
|
113
|
+
| イベント | 記録内容 | 記録しない情報 | 保存期間 | 検知ルール | 通知先 |
|
|
114
|
+
|---|---|---|---|---|---|
|
|
115
|
+
| 認証・権限変更・データ操作 | <主体、時刻、結果、相関ID> | <パスワード・秘密値> | <期間> | <異常条件> | <SOC・担当> |
|
|
116
|
+
|
|
117
|
+
- ログ改ざん防止: <アクセス制御・WORMなど>
|
|
118
|
+
- 時刻同期: <方式>
|
|
119
|
+
- 相関・追跡: <Trace ID・User ID>
|
|
120
|
+
- 検知ルールの試験: <頻度・方法>
|
|
121
|
+
|
|
122
|
+
## 脆弱性とサプライチェーン管理
|
|
123
|
+
|
|
124
|
+
- 依存関係スキャン: <ツール・頻度・修正期限>
|
|
125
|
+
- SAST / DAST / IaCスキャン: <対象・実行時点>
|
|
126
|
+
- コンテナ・成果物署名: <方式・検証>
|
|
127
|
+
- SBOM: <生成・保存・提供方法>
|
|
128
|
+
- パッチ管理: <重大度別期限・例外承認>
|
|
129
|
+
- 外部サービス・OSS: <評価・ライセンス・終了時対応>
|
|
130
|
+
|
|
131
|
+
## セキュリティ試験
|
|
132
|
+
|
|
133
|
+
| 試験ID | 対応要件・脅威・制御 | 試験意図 | 想定環境 | 合格基準 | 必要な証跡種別 |
|
|
134
|
+
|---|---|---|---|---|---|
|
|
135
|
+
| SEC-TC-001 | SEC-REQ-001 / THR-001 / CTRL-001 | <認可・侵入・設定試験> | <環境条件> | <基準> | <ログ・報告書など> |
|
|
136
|
+
|
|
137
|
+
## セキュリティインシデント対応
|
|
138
|
+
|
|
139
|
+
- 検知と一次対応: <監視、隔離、連絡>
|
|
140
|
+
- 証拠保全: <ログ、スナップショット、Chain of Custody>
|
|
141
|
+
- 封じ込め・根絶・復旧: <責任者・手順>
|
|
142
|
+
- 法務・規制・顧客通知: <条件・期限・承認者>
|
|
143
|
+
- 事後レビュー: <期限・再発防止管理>
|
|
144
|
+
|
|
145
|
+
## 残余リスクと例外
|
|
146
|
+
|
|
147
|
+
| リスクID | 対応脅威 | 残余リスク | 受容理由・代替制御 | 有効期限 | 受容者 | 見直し条件 |
|
|
148
|
+
|---|---|---|---|---|---|---|
|
|
149
|
+
| SEC-RSK-001 | THR-001 | <残るリスク> | <理由・補完策> | <日付> | <役職・氏名> | <条件> |
|
|
150
|
+
|
|
151
|
+
## セキュリティトレーサビリティ
|
|
152
|
+
|
|
153
|
+
| 要件ID | 資産ID | 脅威ID | 制御ID | 試験ID | 実装・設定先 |
|
|
154
|
+
|---|---|---|---|---|---|
|
|
155
|
+
| SEC-REQ-001 | AST-001 | THR-001 | CTRL-001 | SEC-TC-001 | <コード・IaC・ポリシー> |
|
|
156
|
+
|
|
157
|
+
## レビューと承認記録
|
|
158
|
+
|
|
159
|
+
| 版 | 日付 | レビュー・承認者 | 判断 | 条件・残余リスク |
|
|
160
|
+
|---|---|---|---|---|
|
|
161
|
+
| <版> | <YYYY-MM-DD> | <氏名・会議体> | Approved / Rejected / Deferred | <条件> |
|
|
162
|
+
|
|
163
|
+
## 変更履歴
|
|
164
|
+
|
|
165
|
+
| 版 | 日付 | 変更内容 | 変更理由 | 作成者 |
|
|
166
|
+
|---|---|---|---|---|
|
|
167
|
+
| 0.1 | <YYYY-MM-DD> | 初版 | <理由> | <氏名> |
|
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
# <システム名> システム設計書
|
|
2
|
+
|
|
3
|
+
<承認済み要件をどの構成と方式で実現するか、設計の要点と主要な判断を3文以内で要約する。>
|
|
4
|
+
|
|
5
|
+
- 文書版: <例: 1.0>
|
|
6
|
+
- 作成日: <YYYY-MM-DD>
|
|
7
|
+
- 最終更新日: <YYYY-MM-DD>
|
|
8
|
+
- 作成者: <氏名・チーム>
|
|
9
|
+
- レビュー担当: <アーキテクト・開発・運用・セキュリティ担当>
|
|
10
|
+
- ステータス: Draft / In Review / Approved
|
|
11
|
+
- 対象リリース: <バージョン・時期>
|
|
12
|
+
- 対応する要件定義書: <文書名・版・URL>
|
|
13
|
+
|
|
14
|
+
## この設計で合意する事項
|
|
15
|
+
|
|
16
|
+
- 設計対象: <システム・サブシステム・機能>
|
|
17
|
+
- 主要な設計判断: <採用する方式>
|
|
18
|
+
- レビューで確認する事項: <構成、品質属性、運用可能性など>
|
|
19
|
+
|
|
20
|
+
## 設計の前提と対象範囲
|
|
21
|
+
|
|
22
|
+
### 対象範囲
|
|
23
|
+
|
|
24
|
+
- <設計対象のコンポーネント・データ・インターフェース>
|
|
25
|
+
|
|
26
|
+
### 対象外
|
|
27
|
+
|
|
28
|
+
- <別文書・別フェーズで設計する事項>
|
|
29
|
+
|
|
30
|
+
### 前提条件と制約
|
|
31
|
+
|
|
32
|
+
| ID | 区分 | 内容 | 設計への影響 |
|
|
33
|
+
|---|---|---|---|
|
|
34
|
+
| DC-001 | 要件 / 技術 / 予算 / 納期 / 法令 | <条件> | <影響> |
|
|
35
|
+
|
|
36
|
+
## 設計ドライバーと対応要件
|
|
37
|
+
|
|
38
|
+
| 設計ドライバー | 対応要件ID | 優先順位 | 設計上の対応 |
|
|
39
|
+
|---|---|---:|---|
|
|
40
|
+
| <性能・可用性・セキュリティなど> | NFR-001 | 1 | <方式> |
|
|
41
|
+
|
|
42
|
+
## システム全体構成
|
|
43
|
+
|
|
44
|
+
### システムコンテキスト
|
|
45
|
+
|
|
46
|
+
```mermaid
|
|
47
|
+
flowchart LR
|
|
48
|
+
U[<利用者>] --> S[<対象システム>]
|
|
49
|
+
S --> E[<外部システム>]
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### コンテナ・実行単位
|
|
53
|
+
|
|
54
|
+
```mermaid
|
|
55
|
+
flowchart LR
|
|
56
|
+
UI[<フロントエンド>] --> API[<API・サービス>]
|
|
57
|
+
API --> DB[(<データストア>)]
|
|
58
|
+
API --> EXT[<外部サービス>]
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
| コンポーネント | 責務 | 採用技術 | 実行環境 | 依存先 | 対応要件ID |
|
|
62
|
+
|---|---|---|---|---|---|
|
|
63
|
+
| <名称> | <単一の責務> | <製品・フレームワーク> | <環境> | <依存先> | FR-001 |
|
|
64
|
+
|
|
65
|
+
## コンポーネント設計
|
|
66
|
+
|
|
67
|
+
### <コンポーネント名>
|
|
68
|
+
|
|
69
|
+
- 責務: <担当する処理>
|
|
70
|
+
- 公開インターフェース: <API・イベント・画面>
|
|
71
|
+
- 依存関係: <他コンポーネント・外部サービス>
|
|
72
|
+
- 状態管理: <保持する状態・整合性>
|
|
73
|
+
- エラー処理: <失敗の通知・再試行・補償>
|
|
74
|
+
- 対応要件ID: <FR-001, NFR-001>
|
|
75
|
+
|
|
76
|
+
## 主要な処理フロー
|
|
77
|
+
|
|
78
|
+
### <ユースケース・処理名>
|
|
79
|
+
|
|
80
|
+
```mermaid
|
|
81
|
+
sequenceDiagram
|
|
82
|
+
actor User as <利用者>
|
|
83
|
+
participant App as <アプリケーション>
|
|
84
|
+
participant Store as <データストア>
|
|
85
|
+
User->>App: <要求>
|
|
86
|
+
App->>Store: <読み書き>
|
|
87
|
+
Store-->>App: <結果>
|
|
88
|
+
App-->>User: <応答>
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
| ステップ | 処理 | 入出力 | 失敗時の動作 | 対応要件ID |
|
|
92
|
+
|---:|---|---|---|---|
|
|
93
|
+
| 1 | <処理> | <入出力> | <再試行・中断・補償> | FR-001 |
|
|
94
|
+
|
|
95
|
+
## データ設計
|
|
96
|
+
|
|
97
|
+
### データモデル
|
|
98
|
+
|
|
99
|
+
```mermaid
|
|
100
|
+
erDiagram
|
|
101
|
+
ENTITY_A ||--o{ ENTITY_B : has
|
|
102
|
+
ENTITY_A {
|
|
103
|
+
string id PK
|
|
104
|
+
datetime created_at
|
|
105
|
+
}
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
| エンティティ・データ | 用途 | 主キー | 整合性ルール | 機密区分 | 保持・削除 | 対応要件ID |
|
|
109
|
+
|---|---|---|---|---|---|---|
|
|
110
|
+
| <名称> | <用途> | <キー> | <制約> | <区分> | <期間・方法> | DATA-001 |
|
|
111
|
+
|
|
112
|
+
### トランザクションと整合性
|
|
113
|
+
|
|
114
|
+
- トランザクション境界: <開始・確定・取消の単位>
|
|
115
|
+
- 同時実行制御: <ロック・楽観制御・冪等性>
|
|
116
|
+
- 結果整合性: <許容する不整合時間・補正方法>
|
|
117
|
+
|
|
118
|
+
## インターフェース設計
|
|
119
|
+
|
|
120
|
+
| IF-ID | 提供側 / 利用側 | 方式 | エンドポイント・イベント | 入出力 | 認証・認可 | タイムアウト・再試行 | バージョニング |
|
|
121
|
+
|---|---|---|---|---|---|---|---|
|
|
122
|
+
| IF-001 | <提供 / 利用> | REST / Event / File | <名称> | <スキーマ参照> | <方式> | <値・条件> | <方針> |
|
|
123
|
+
|
|
124
|
+
### エラー契約
|
|
125
|
+
|
|
126
|
+
| エラーコード | 発生条件 | 呼び出し元への応答 | 再試行可否 | 運用通知 |
|
|
127
|
+
|---|---|---|---|---|
|
|
128
|
+
| <コード> | <条件> | <ステータス・メッセージ> | Yes / No | <通知条件> |
|
|
129
|
+
|
|
130
|
+
## セキュリティ設計
|
|
131
|
+
|
|
132
|
+
| 項目 | 設計 | 対応する脅威・要件 | 検証方法 |
|
|
133
|
+
|---|---|---|---|
|
|
134
|
+
| 認証 | <方式> | <脅威・NFR-ID> | <試験・監査> |
|
|
135
|
+
| 認可 | <ロール・権限モデル> | <脅威・NFR-ID> | <試験・監査> |
|
|
136
|
+
| データ保護 | <転送時・保存時暗号化、鍵管理> | <データ区分・NFR-ID> | <確認方法> |
|
|
137
|
+
| シークレット管理 | <保管、配布、ローテーション、失効> | <脅威・NFR-ID> | <確認方法> |
|
|
138
|
+
| 監査 | <記録対象、保存期間、改ざん対策> | <規程・NFR-ID> | <確認方法> |
|
|
139
|
+
|
|
140
|
+
## 性能と容量の設計
|
|
141
|
+
|
|
142
|
+
| 指標 | 想定負荷 | 設計目標 | 実現方式 | 限界・スケール条件 | 検証方法 |
|
|
143
|
+
|---|---:|---:|---|---|---|
|
|
144
|
+
| <応答時間・TPSなど> | <値> | <値> | <キャッシュ・並列化など> | <閾値> | <負荷試験> |
|
|
145
|
+
|
|
146
|
+
## 可用性と信頼性の設計
|
|
147
|
+
|
|
148
|
+
- 可用性目標: <SLO・対象時間帯>
|
|
149
|
+
- 障害分離: <冗長化・障害ドメイン>
|
|
150
|
+
- タイムアウトと再試行: <値・バックオフ・上限>
|
|
151
|
+
- 冪等性と重複排除: <方式>
|
|
152
|
+
- RTO / RPO: <値>
|
|
153
|
+
- バックアップ: <対象・頻度・保持期間・復元試験>
|
|
154
|
+
- 災害復旧: <切替方式・責任者・訓練頻度>
|
|
155
|
+
|
|
156
|
+
## 配置とネットワーク設計
|
|
157
|
+
|
|
158
|
+
```mermaid
|
|
159
|
+
flowchart TB
|
|
160
|
+
Client[<クライアント>] --> Edge[<入口・LB・Gateway>]
|
|
161
|
+
Edge --> App[<アプリケーション実行環境>]
|
|
162
|
+
App --> Data[(<データストア>)]
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
| 環境 | リージョン・場所 | ネットワーク境界 | 配置物 | スケール方式 | 構成管理 |
|
|
166
|
+
|---|---|---|---|---|---|
|
|
167
|
+
| Development / Staging / Production | <場所> | <VNet・Subnet・FW> | <構成> | <方式> | <IaC・設定管理> |
|
|
168
|
+
|
|
169
|
+
## 監視と運用の設計
|
|
170
|
+
|
|
171
|
+
| 種別 | 対象 | シグナル | 閾値・条件 | 通知先 | 初動手順 |
|
|
172
|
+
|---|---|---|---|---|---|
|
|
173
|
+
| メトリクス / ログ / トレース | <対象> | <指標> | <条件> | <担当> | <Runbook> |
|
|
174
|
+
|
|
175
|
+
- SLI / SLO: <測定式・目標>
|
|
176
|
+
- ログ方針: <構造、機密情報のマスキング、保持期間>
|
|
177
|
+
- リリース方式: <段階展開、Feature Flag、承認>
|
|
178
|
+
- 定常作業: <バックアップ確認、パッチ、証明書更新>
|
|
179
|
+
- 障害対応: <検知、切り分け、連絡、事後レビュー>
|
|
180
|
+
|
|
181
|
+
## 移行・リリース・ロールバック設計
|
|
182
|
+
|
|
183
|
+
| フェーズ | 作業 | 入力 | 完了条件 | 検証 | ロールバック条件 |
|
|
184
|
+
|---|---|---|---|---|---|
|
|
185
|
+
| <フェーズ> | <作業> | <データ・成果物> | <判定可能な条件> | <方法> | <条件> |
|
|
186
|
+
|
|
187
|
+
- データ移行方式: <全件・差分・二重書きなど>
|
|
188
|
+
- 互換性維持: <API・スキーマ・クライアント>
|
|
189
|
+
- 切替手順: <順序・責任者・所要時間>
|
|
190
|
+
- ロールバック手順: <復旧先・データ整合性の扱い>
|
|
191
|
+
|
|
192
|
+
## テスト方針と要件トレーサビリティ
|
|
193
|
+
|
|
194
|
+
| 要件ID | 設計箇所 | テストレベル | テスト内容 | 合格基準 | 証跡 |
|
|
195
|
+
|---|---|---|---|---|---|
|
|
196
|
+
| FR-001 | <節・コンポーネント> | Unit / Integration / System / Acceptance | <内容> | <基準> | <成果物> |
|
|
197
|
+
|
|
198
|
+
## 採用しなかった方式とトレードオフ
|
|
199
|
+
|
|
200
|
+
| 選択肢 | 評価軸 | 採否 | 理由 | 受け入れる影響 |
|
|
201
|
+
|---|---|---|---|---|
|
|
202
|
+
| <方式> | コスト / 性能 / 運用性 / リスク | 採用 / 不採用 | <理由> | <制約・負債> |
|
|
203
|
+
|
|
204
|
+
## リスクと未解決事項
|
|
205
|
+
|
|
206
|
+
| ID | 区分 | 内容 | 影響 | 対応・決定期限 | 所有者 | ステータス |
|
|
207
|
+
|---|---|---|---|---|---|---|
|
|
208
|
+
| RSK-001 | リスク / 未解決事項 | <内容> | <影響> | <対応・期限> | <担当> | Open |
|
|
209
|
+
|
|
210
|
+
## レビューと承認記録
|
|
211
|
+
|
|
212
|
+
| 版 | レビュー・承認日 | 担当 | 判断 | 条件・コメント |
|
|
213
|
+
|---|---|---|---|---|
|
|
214
|
+
| <版> | <YYYY-MM-DD> | <氏名・会議体> | Approved / Rejected / Deferred | <条件> |
|
|
215
|
+
|
|
216
|
+
## 変更履歴
|
|
217
|
+
|
|
218
|
+
| 版 | 日付 | 変更内容 | 変更理由 | 作成者 |
|
|
219
|
+
|---|---|---|---|---|
|
|
220
|
+
| 0.1 | <YYYY-MM-DD> | 初版 | <理由> | <氏名> |
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
# <提案名>
|
|
2
|
+
|
|
3
|
+
<解決する課題、提案内容、期待する成果を3文以内で要約する。>
|
|
4
|
+
|
|
5
|
+
- 提案者: <氏名・チーム>
|
|
6
|
+
- 提案日: <YYYY-MM-DD>
|
|
7
|
+
- 対象読者: <意思決定者・レビュー担当者>
|
|
8
|
+
- ステータス: Draft / In Review / Approved / Rejected
|
|
9
|
+
- 承認を求める事項: <承認・却下してほしい判断>
|
|
10
|
+
|
|
11
|
+
## <この提案が必要な背景>
|
|
12
|
+
|
|
13
|
+
<現在の状況、観測された問題、今対応する理由を事実ベースで記載する。>
|
|
14
|
+
|
|
15
|
+
## 達成する目標と対象外
|
|
16
|
+
|
|
17
|
+
### 目標
|
|
18
|
+
|
|
19
|
+
- <測定可能な目標>
|
|
20
|
+
- <利用者または事業にもたらす成果>
|
|
21
|
+
|
|
22
|
+
### 対象外
|
|
23
|
+
|
|
24
|
+
- <今回の提案では扱わない事項>
|
|
25
|
+
|
|
26
|
+
## 提案する技術的アプローチ
|
|
27
|
+
|
|
28
|
+
<採用する方式を最初の1文で明示し、その後に構成と処理の流れを説明する。>
|
|
29
|
+
|
|
30
|
+
```mermaid
|
|
31
|
+
flowchart LR
|
|
32
|
+
A[<入力>] --> B[<主要コンポーネント>]
|
|
33
|
+
B --> C[<出力>]
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### 主要コンポーネント
|
|
37
|
+
|
|
38
|
+
| コンポーネント | 役割 | 採用技術 | 選定理由 |
|
|
39
|
+
|---|---|---|---|
|
|
40
|
+
| <名称> | <役割> | <製品・サービス> | <理由> |
|
|
41
|
+
|
|
42
|
+
### データとインターフェース
|
|
43
|
+
|
|
44
|
+
- 入力データ: <形式・取得元>
|
|
45
|
+
- 出力データ: <形式・保存先>
|
|
46
|
+
- 外部連携: <API・プロトコル・認証方式>
|
|
47
|
+
|
|
48
|
+
## セキュリティとコンプライアンス
|
|
49
|
+
|
|
50
|
+
- 認証・認可: <方式と権限モデル>
|
|
51
|
+
- データ保護: <暗号化・保持期間・削除方法>
|
|
52
|
+
- 監査: <ログ・追跡方法>
|
|
53
|
+
- 適用基準: <法令・社内規程・認証>
|
|
54
|
+
|
|
55
|
+
## 実施計画
|
|
56
|
+
|
|
57
|
+
| フェーズ | 作業 | 成果物 | 完了条件 | 期間 |
|
|
58
|
+
|---|---|---|---|---|
|
|
59
|
+
| <フェーズ名> | <作業内容> | <成果物> | <確認可能な条件> | <期間> |
|
|
60
|
+
|
|
61
|
+
### ロールアウトとロールバック
|
|
62
|
+
|
|
63
|
+
- ロールアウト: <段階導入・移行方法>
|
|
64
|
+
- ロールバック条件: <中止を判断する指標>
|
|
65
|
+
- ロールバック手順: <元の状態へ戻す方法>
|
|
66
|
+
|
|
67
|
+
## 必要な費用と体制
|
|
68
|
+
|
|
69
|
+
- TCO評価期間: <例: 導入から5年間>
|
|
70
|
+
- 通貨・税区分: <通貨・税込/税別>
|
|
71
|
+
|
|
72
|
+
| 項目 | 初期費用 | 年間継続費用 | 評価期間TCO | 前提条件 | 必要な担当・工数 |
|
|
73
|
+
|---|---:|---:|---:|---|---|
|
|
74
|
+
| <項目> | <金額> | <年額> | <金額> | <条件> | <役割・人日> |
|
|
75
|
+
| **合計** | **<合計>** | **<合計>** | **<初期費用+評価期間の継続費用>** | | |
|
|
76
|
+
|
|
77
|
+
## 共通の評価軸で代替案を比較する
|
|
78
|
+
|
|
79
|
+
| 選択肢 | 評価期間TCO | 導入期間 | 実装・運用工数 | リスク | 採否と理由 |
|
|
80
|
+
|---|---:|---|---|---|---|
|
|
81
|
+
| 現状維持 | <金額> | なし | <工数> | <継続する課題> | 不採用 / 採用: <理由> |
|
|
82
|
+
| 提案方式 | <金額> | <期間> | <工数> | <リスク> | 採用 / 不採用: <理由> |
|
|
83
|
+
| <代替案> | <金額> | <期間> | <工数> | <リスク> | 採用 / 不採用: <理由> |
|
|
84
|
+
|
|
85
|
+
## リスクと対策
|
|
86
|
+
|
|
87
|
+
| リスク | 影響 | 発生可能性 | 対策 | 所有者 |
|
|
88
|
+
|---|---|---|---|---|
|
|
89
|
+
| <リスク> | High / Medium / Low | High / Medium / Low | <予防・軽減策> | <担当> |
|
|
90
|
+
|
|
91
|
+
## 成功を判断する指標
|
|
92
|
+
|
|
93
|
+
| 指標 | 現状値 | 目標値 | 測定方法 | 判定時期 | 未達時の対応 |
|
|
94
|
+
|---|---:|---:|---|---|---|
|
|
95
|
+
| <指標> | <値> | <値> | <方法> | <日付・時点> | <改善・縮小・撤退判断> |
|
|
96
|
+
|
|
97
|
+
## 意思決定事項と未解決事項
|
|
98
|
+
|
|
99
|
+
### 承認条件の補足
|
|
100
|
+
|
|
101
|
+
<ヘッダーの「承認を求める事項」は繰り返さず、条件付き承認に必要な補足だけを記載する。>
|
|
102
|
+
|
|
103
|
+
### 未解決事項
|
|
104
|
+
|
|
105
|
+
- <追加調査または合意が必要な事項>
|
|
106
|
+
|
|
107
|
+
### 決定記録
|
|
108
|
+
|
|
109
|
+
- 決定: Approved / Rejected / Deferred
|
|
110
|
+
- 決定者: <氏名・会議体>
|
|
111
|
+
- 決定日: <YYYY-MM-DD>
|
|
112
|
+
- 条件・コメント: <承認条件または却下理由>
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
# <システム・プロジェクト名> テスト計画書
|
|
2
|
+
|
|
3
|
+
<何を、どの品質リスクに対して、どの基準で検証する計画かを3文以内で要約する。>
|
|
4
|
+
|
|
5
|
+
- 文書版: <例: 1.0>
|
|
6
|
+
- 作成日: <YYYY-MM-DD>
|
|
7
|
+
- 最終更新日: <YYYY-MM-DD>
|
|
8
|
+
- 作成者: <氏名・チーム>
|
|
9
|
+
- 承認者: <氏名・会議体>
|
|
10
|
+
- ステータス: Draft / In Review / Approved
|
|
11
|
+
- 対象リリース: <バージョン・時期>
|
|
12
|
+
- 要件ベースライン: <要件定義書の文書名・版・URL>
|
|
13
|
+
- 設計ベースライン: <設計書の文書名・版・URL>
|
|
14
|
+
- セキュリティ設計ベースライン: <セキュリティ設計書の文書名・版・URL / N/A>
|
|
15
|
+
|
|
16
|
+
## このテスト計画で合意する事項
|
|
17
|
+
|
|
18
|
+
- テスト対象と対象外: <システム・機能・品質特性>
|
|
19
|
+
- 合否判定基準: <リリース可否を決める基準>
|
|
20
|
+
- 承認を求める事項: <範囲、環境、日程、体制、残余リスク>
|
|
21
|
+
|
|
22
|
+
## テストの目的と品質目標
|
|
23
|
+
|
|
24
|
+
| 目的ID | 品質目標 | 対応要件ID | 測定指標 | 合格値 |
|
|
25
|
+
|---|---|---|---|---:|
|
|
26
|
+
| T-OBJ-001 | <検証する品質> | FR-001 / NFR-001 | <指標> | <値> |
|
|
27
|
+
|
|
28
|
+
## 対象範囲と対象外
|
|
29
|
+
|
|
30
|
+
### 対象範囲
|
|
31
|
+
|
|
32
|
+
- <対象機能・コンポーネント・インターフェース>
|
|
33
|
+
- <対象ブラウザー・端末・OS・環境>
|
|
34
|
+
|
|
35
|
+
### 対象外
|
|
36
|
+
|
|
37
|
+
- <今回実施しない試験>
|
|
38
|
+
- <別チーム・別フェーズが担当する試験>
|
|
39
|
+
|
|
40
|
+
## 品質リスク
|
|
41
|
+
|
|
42
|
+
| リスクID | 想定する障害・品質リスク | 影響 | 発生可能性 | 検出するテスト | 優先度 |
|
|
43
|
+
|---|---|---|---|---|---|
|
|
44
|
+
| QR-001 | <リスク> | High / Medium / Low | High / Medium / Low | <テスト種別> | <順位> |
|
|
45
|
+
|
|
46
|
+
## テスト戦略
|
|
47
|
+
|
|
48
|
+
| テストレベル・種別 | 目的 | 対象 | 実施者 | 自動化方針 | 完了条件 |
|
|
49
|
+
|---|---|---|---|---|---|
|
|
50
|
+
| 単体テスト | <目的> | <対象> | <担当> | <範囲・ツール> | <条件> |
|
|
51
|
+
| 結合テスト | <目的> | <対象> | <担当> | <範囲・ツール> | <条件> |
|
|
52
|
+
| システムテスト | <目的> | <対象> | <担当> | <範囲・ツール> | <条件> |
|
|
53
|
+
| 受入テスト | <目的> | <対象> | <判定者> | <範囲・ツール> | <条件> |
|
|
54
|
+
|
|
55
|
+
### 非機能テスト
|
|
56
|
+
|
|
57
|
+
| 種別 | 対応要件ID | 条件・負荷 | 測定項目 | 合格基準 | 実施方法 |
|
|
58
|
+
|---|---|---|---|---|---|
|
|
59
|
+
| 性能・容量 | NFR-001 | <同時数・データ量> | <応答時間・TPS> | <値> | <方法・ツール> |
|
|
60
|
+
| 可用性・復旧 | NFR-002 | <障害条件> | <RTO・RPO> | <値> | <方法> |
|
|
61
|
+
| セキュリティ | NFR-003 | <脅威・権限> | <検証項目> | <基準> | <診断・試験> |
|
|
62
|
+
|
|
63
|
+
## テスト環境
|
|
64
|
+
|
|
65
|
+
| 環境 | 用途 | 構成 | 本番との差分 | 利用期間 | 管理者 |
|
|
66
|
+
|---|---|---|---|---|---|
|
|
67
|
+
| <環境名> | <用途> | <アプリ・基盤・外部接続> | <差分と影響> | <期間> | <担当> |
|
|
68
|
+
|
|
69
|
+
### 環境の準備条件
|
|
70
|
+
|
|
71
|
+
- ビルド・構成版: <バージョン・コミット>
|
|
72
|
+
- 外部サービス: <実接続 / Stub / Mock>
|
|
73
|
+
- 監視・ログ: <取得方法・保存先>
|
|
74
|
+
- リセット方法: <初期化・再作成手順>
|
|
75
|
+
|
|
76
|
+
## テストデータ
|
|
77
|
+
|
|
78
|
+
| データセット | 用途 | 作成・取得方法 | 機密区分 | マスキング | 初期化・削除 |
|
|
79
|
+
|---|---|---|---|---|---|
|
|
80
|
+
| <名称> | <テスト目的> | <生成・複製> | <区分> | <方法> | <方法> |
|
|
81
|
+
|
|
82
|
+
## 開始条件と終了条件
|
|
83
|
+
|
|
84
|
+
### 開始条件
|
|
85
|
+
|
|
86
|
+
- <対象ビルドが配置済み>
|
|
87
|
+
- <環境・データ・アカウントが準備済み>
|
|
88
|
+
- <重大な前工程不具合が解消済み>
|
|
89
|
+
|
|
90
|
+
### 終了条件
|
|
91
|
+
|
|
92
|
+
| 判定項目 | 合格条件 | 証跡 | 判定者 |
|
|
93
|
+
|---|---|---|---|
|
|
94
|
+
| テスト実行 | <必須ケース実行率など> | <レポート> | <役割> |
|
|
95
|
+
| 不具合 | <重大度別の残存許容数> | <一覧> | <役割> |
|
|
96
|
+
| 要件網羅 | <Must要件100%など> | <トレーサビリティ表> | <役割> |
|
|
97
|
+
| 残余リスク | <受容条件> | <承認記録> | <役割> |
|
|
98
|
+
|
|
99
|
+
### 中断条件と再開条件
|
|
100
|
+
|
|
101
|
+
| 中断条件 | 判断者 | 必要な対応 | 再開条件 | 再開承認者 |
|
|
102
|
+
|---|---|---|---|---|
|
|
103
|
+
| <環境障害、重大不具合、前提崩れなど> | <役割> | <修正・再構築・影響分析> | <環境確認、修正版配置、再テスト範囲の合意> | <役割> |
|
|
104
|
+
|
|
105
|
+
## テストケースと要件トレーサビリティ
|
|
106
|
+
|
|
107
|
+
| テストID | 対応要件ID | 対応セキュリティ試験ID | 対応脅威ID | 対応制御ID | シナリオ | 事前条件 | 操作・入力 | 期待結果 | 優先度 | 自動化 |
|
|
108
|
+
|---|---|---|---|---|---|---|---|---|---|---|
|
|
109
|
+
| TC-001 | FR-001 / AC-001 | SEC-TC-001 / N/A | THR-001 / N/A | CTRL-001 / N/A | <シナリオ> | <条件> | <操作> | <観測可能な結果> | Must | Yes / No |
|
|
110
|
+
|
|
111
|
+
## 不具合管理
|
|
112
|
+
|
|
113
|
+
| 重大度 | 定義 | 初動期限 | 修正・判断期限 | リリース判定 |
|
|
114
|
+
|---|---|---|---|---|
|
|
115
|
+
| Critical | <サービス停止・情報漏えいなど> | <時間> | <期限> | 原則不可 |
|
|
116
|
+
| High | <主要機能が利用不能など> | <時間> | <期限> | <例外承認条件> |
|
|
117
|
+
| Medium / Low | <影響> | <時間> | <期限> | <許容条件> |
|
|
118
|
+
|
|
119
|
+
- 登録先: <Issue tracker>
|
|
120
|
+
- 必須情報: <再現手順、期待結果、実結果、環境、証跡>
|
|
121
|
+
- 再テスト: <修正確認と回帰テストの範囲>
|
|
122
|
+
- 重複・却下・延期: <判断権限と記録方法>
|
|
123
|
+
|
|
124
|
+
## スケジュールと体制
|
|
125
|
+
|
|
126
|
+
| フェーズ | 作業 | 期間 | 担当 | 入力 | 成果物 |
|
|
127
|
+
|---|---|---|---|---|---|
|
|
128
|
+
| <フェーズ> | <作業> | <期間> | <担当> | <入力> | <レポート・証跡> |
|
|
129
|
+
|
|
130
|
+
## テスト結果と証跡
|
|
131
|
+
|
|
132
|
+
- 実行結果の保存先: <URL・リポジトリ>
|
|
133
|
+
- ログ・画面・計測値の保存方法: <方法>
|
|
134
|
+
- テストサマリーの更新頻度: <日次・フェーズ終了時>
|
|
135
|
+
- 最終報告の内容: <実行数、成功率、不具合、残余リスク>
|
|
136
|
+
|
|
137
|
+
## リスクと未解決事項
|
|
138
|
+
|
|
139
|
+
| ID | 内容 | 影響 | 対応・期限 | 所有者 | ステータス |
|
|
140
|
+
|---|---|---|---|---|---|
|
|
141
|
+
| T-RSK-001 | <環境遅延・データ不足など> | <影響> | <対応> | <担当> | Open |
|
|
142
|
+
|
|
143
|
+
## 承認記録
|
|
144
|
+
|
|
145
|
+
| 版 | 承認日 | 承認者 | 判断 | 残余リスク・条件 |
|
|
146
|
+
|---|---|---|---|---|
|
|
147
|
+
| <版> | <YYYY-MM-DD> | <氏名・会議体> | Approved / Rejected / Deferred | <条件> |
|
|
148
|
+
|
|
149
|
+
## 変更履歴
|
|
150
|
+
|
|
151
|
+
| 版 | 日付 | 変更内容 | 変更理由 | 作成者 |
|
|
152
|
+
|---|---|---|---|---|
|
|
153
|
+
| 0.1 | <YYYY-MM-DD> | 初版 | <理由> | <氏名> |
|