create-specment 0.2.8 → 0.2.9
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/bin/generators/template-files.d.ts.map +1 -1
- package/bin/generators/template-files.js +110 -109
- package/bin/generators/template-files.js.map +1 -1
- package/package.json +1 -1
- package/templates/docs/01-overview/_assumptions-constraints.mdx +19 -0
- package/templates/docs/01-overview/_business-context.mdx +18 -0
- package/templates/docs/01-overview/_firm-proposal.mdx +52 -0
- package/templates/docs/01-overview/_gap-analysis.mdx +18 -0
- package/templates/docs/01-overview/_project/342/200/221charter.mdx +23 -0
- package/templates/docs/01-overview/_requirements-specification.mdx +77 -0
- package/templates/docs/01-overview/_risks.mdx +16 -0
- package/templates/docs/01-overview/_scope.mdx +24 -0
- package/templates/docs/01-overview/_stakeholders.mdx +24 -0
- package/templates/docs/01-overview/as-is.mdx +64 -0
- package/templates/docs/01-overview/glossary.mdx +41 -0
- package/templates/docs/01-overview/index.mdx +41 -0
- package/templates/docs/01-overview/odsc.mdx +72 -0
- package/templates/docs/01-overview/roadmap.mdx +27 -0
- package/templates/docs/01-overview/system-context.mdx +22 -0
- package/templates/docs/01-overview/to-be.mdx +102 -0
- package/templates/docs/02-requirements/_category_.yaml +2 -0
- package/templates/docs/02-requirements/functional/_category_.json +8 -0
- package/templates/docs/02-requirements/functional/_req-template.mdx +49 -0
- package/templates/docs/02-requirements/functional/req-001.mdx +56 -0
- package/templates/docs/02-requirements/index.mdx +14 -0
- package/templates/docs/02-requirements/non-functional/_category_.json +8 -0
- package/templates/docs/02-requirements/non-functional/_nfr-template.mdx +45 -0
- package/templates/docs/02-requirements/non-functional/nfr-001.mdx +60 -0
- package/templates/docs/02-requirements/non-functional/nfr-002.mdx +60 -0
- package/templates/docs/03-external/business-model.mdx +14 -0
- package/templates/docs/03-external/img/business-model-by-claude.xml +107 -0
- package/templates/docs/03-external/img/business-model.xml +84 -0
- package/templates/docs/03-external/img/docsVersionDropdown.png +0 -0
- package/templates/docs/03-external/img/gantt.xml +1 -0
- package/templates/docs/03-external/img/localeDropdown.png +0 -0
- package/templates/docs/03-external/index.mdx +46 -0
- package/templates/docs/04-internal/batches/_category_.yaml +2 -0
- package/templates/docs/04-internal/batches/import-products.mdx +68 -0
- package/templates/docs/04-internal/batches/index.mdx +25 -0
- package/templates/docs/04-internal/index.mdx +32 -0
- package/templates/docs/04-internal/policies/_category_.yaml +2 -0
- package/templates/docs/04-internal/policies/branch-naming-rules.mdx +110 -0
- package/templates/docs/04-internal/policies/github.mdx +100 -0
- package/templates/docs/04-internal/policies/pull-request-operation-flow.mdx +118 -0
- package/templates/docs/04-internal/rules/_category_.yaml +2 -0
- package/templates/docs/04-internal/rules/database.mdx +139 -0
- package/templates/docs/04-internal/rules/document-creation-rules.mdx +39 -0
- package/templates/docs/04-internal/rules/index.mdx +10 -0
- package/templates/docs/04-internal/rules/markdown.mdx +148 -0
- package/templates/docs/04-internal/rules/review-process.mdx +32 -0
- package/templates/docs/04-internal/screens/_category_.yaml +2 -0
- package/templates/docs/04-internal/screens/dashboard.mdx +17 -0
- package/templates/docs/04-internal/screens/index.mdx +20 -0
- package/templates/docs/04-internal/screens/login.mdx +18 -0
- package/templates/docs/04-internal/screens/menu.mdx +17 -0
- package/templates/docs/04-internal/tables/_category_.yaml +2 -0
- package/templates/docs/04-internal/tables/customer_details.mdx +35 -0
- package/templates/docs/04-internal/tables/customers.mdx +35 -0
- package/templates/docs/04-internal/tables/index.mdx +11 -0
- package/templates/docs/example.drawio.svg +57 -0
- package/templates/docs/intro.md +47 -0
- package/templates/docs/introduction/document-editing/_category_.yml +2 -0
- package/templates/docs/introduction/document-editing/how-to.mdx +31 -0
- package/templates/docs/introduction/index.mdx +35 -0
- package/templates/docs/introduction/operational-policies/_category_.yaml +2 -0
- package/templates/docs/introduction/operational-policies/github.mdx +33 -0
- package/templates/docs/introduction/operational-policies/img/branch-naming-rules.svg +73 -0
- package/templates/docs/introduction/operational-policies/sharepoint.mdx +28 -0
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
---
|
|
2
|
+
sidebar_position: 99
|
|
3
|
+
tags:
|
|
4
|
+
- Glossary
|
|
5
|
+
---
|
|
6
|
+
import { TBD } from '@site/src/components/TBD';
|
|
7
|
+
|
|
8
|
+
# Glossary - 用語集
|
|
9
|
+
|
|
10
|
+
<!--
|
|
11
|
+
TBDの使い方
|
|
12
|
+
<TBD/> コンポーネントは未確定項目を可視化するための占位マークです
|
|
13
|
+
執筆完了後はimport文といっしょにこのコメントも必ず削除すること
|
|
14
|
+
-->
|
|
15
|
+
|
|
16
|
+
## 使い方ガイド {#how-to-use}
|
|
17
|
+
1. 用語は **アルファベット順 → かな順 → その他** の順番で並べる
|
|
18
|
+
1. 別名・略語は `(別名: xxx)` と括弧書きで追記
|
|
19
|
+
|
|
20
|
+
## 用語一覧 {#glossary-list}
|
|
21
|
+
|
|
22
|
+
:::tip TIP
|
|
23
|
+
1. 以下は記述例
|
|
24
|
+
1. すべての記述例を削除、もしくは編集したらこのTIPも削除する
|
|
25
|
+
:::
|
|
26
|
+
|
|
27
|
+
### API
|
|
28
|
+
1. Application Programming Interface の略。ソフトウェア間の通信仕様
|
|
29
|
+
1. REST, gRPC など
|
|
30
|
+
|
|
31
|
+
### Availability
|
|
32
|
+
1. システムの稼働率を示す指標
|
|
33
|
+
1. 「可用性」とも呼ぶ
|
|
34
|
+
|
|
35
|
+
### BPMN
|
|
36
|
+
1. Business Process Model and Notation。業務プロセス図の標準表記
|
|
37
|
+
1. PlantUML 等で描画可能
|
|
38
|
+
|
|
39
|
+
### キャパシティプランニング {#capacity-planning}
|
|
40
|
+
1. 将来の負荷増加を見越した資源計画
|
|
41
|
+
1. CPU / メモリ / IOPS など
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: index
|
|
3
|
+
sidebar_position: 1
|
|
4
|
+
tags:
|
|
5
|
+
- Overview
|
|
6
|
+
---
|
|
7
|
+
# プロジェクト概要・分析
|
|
8
|
+
|
|
9
|
+
1. プロジェクト上流工程に必要なドキュメントです
|
|
10
|
+
1. 上から順に読み進めることで全体像を把握できます
|
|
11
|
+
|
|
12
|
+
## フォルダー構成と役割 {#structure}
|
|
13
|
+
|
|
14
|
+
:::tip TIP
|
|
15
|
+
1. ファイル名に接頭辞 `_` を付けているテンプレートは、執筆開始時に接頭辞を外して本運用ファイルへリネームする
|
|
16
|
+
1. 使用しないテンプレがあれば削除し、以下の一覧からも解除する
|
|
17
|
+
:::
|
|
18
|
+
|
|
19
|
+
```text
|
|
20
|
+
01-overview/
|
|
21
|
+
├ index.mdx ← このファイル
|
|
22
|
+
├ project-charter.mdx ← 上位ビジョン・非ゴール
|
|
23
|
+
├ odsc.mdx ← 目的(o)・成果物(d)・成功基準(sc)
|
|
24
|
+
├ as-is.mdx ← 現状分析
|
|
25
|
+
├ to-be.mdx ← 目指すべき姿
|
|
26
|
+
├ scope.mdx ← 機能・非機能スコープ
|
|
27
|
+
├ business-context.mdx ← 市場・ユーザ・背景
|
|
28
|
+
├ stakeholders.mdx ← 役割責任表・RACI
|
|
29
|
+
├ assumptions-constraints.mdx ← 前提条件・制約
|
|
30
|
+
├ gap-analysis.mdx ← ギャップ分析
|
|
31
|
+
├ risks.mdx ← リスク登録簿
|
|
32
|
+
├ roadmap.mdx ← ロードマップ
|
|
33
|
+
├ system-context.mdx ← システムコンテキスト
|
|
34
|
+
└ glossary.mdx ← 用語集
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## ドキュメント作成ルール {#rules}
|
|
38
|
+
1. 各ドキュメントは **章立て・箇条書き・コードブロック** の記法ルールに従う
|
|
39
|
+
1. 未確定箇所には `<TBD/>` コンポーネントを置き、確定後に削除する
|
|
40
|
+
1. 章タイトルのひとつ上の行に空行を入れる。ただし直前行が章タイトルの場合は不要
|
|
41
|
+
1. プロジェクトで使用する用語は **アルファベット順 → かな順 → その他** で管理し、差分比較しやすいように番号付きリストを用いる → [Glossary - 用語集](./glossary.mdx) を参照
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
---
|
|
2
|
+
sidebar_position: 3
|
|
3
|
+
tags:
|
|
4
|
+
- ODSC
|
|
5
|
+
---
|
|
6
|
+
import { TBD } from '@site/src/components/TBD';
|
|
7
|
+
|
|
8
|
+
# ODSC
|
|
9
|
+
|
|
10
|
+
<!--
|
|
11
|
+
TBDの使い方
|
|
12
|
+
<TBD/> コンポーネントは未確定項目を可視化するための占位マークです
|
|
13
|
+
執筆完了後はimport文といっしょにこのコメントも必ず削除すること
|
|
14
|
+
-->
|
|
15
|
+
|
|
16
|
+
## ODSCとは? {#what-is-odsc}
|
|
17
|
+
1. 目的(O)、成果物(D)、成功基準(SC)のこと
|
|
18
|
+
1. 目的と手段(システム)を分け、開発対象を明確化する
|
|
19
|
+
1. プロジェクトを進めていく中で完了までに目標にブレをなくすのが目的
|
|
20
|
+
|
|
21
|
+
## 目的 - Objectives {#objectives}
|
|
22
|
+
|
|
23
|
+
:::tip TIP
|
|
24
|
+
1. このプロジェクトが完了した時に達成したい目標を定量的に記述する
|
|
25
|
+
1. ビジネスとしての目標とシステムとしての目標を書く
|
|
26
|
+
1. ビジネス目標
|
|
27
|
+
1. システムを含む全体像としてお客様や解決したい問題・課題を明記する
|
|
28
|
+
1. システムはこの目標を達成するための手段なので、明記することでブレをなくす
|
|
29
|
+
1. システムの目標
|
|
30
|
+
1. ソリューションの中でこのシステムが担う部分、システム化することで達成したい目標を明記する
|
|
31
|
+
1. 記載できたらこのtipブロックを削除する
|
|
32
|
+
:::
|
|
33
|
+
|
|
34
|
+
1. ビジネス目標
|
|
35
|
+
1. <TBD/>
|
|
36
|
+
1. システム目標
|
|
37
|
+
1. <TBD/>
|
|
38
|
+
|
|
39
|
+
### 非ゴール - Out of Scope {#out-of-scope}
|
|
40
|
+
1. 例: モバイルネイティブアプリの UI 実装
|
|
41
|
+
1. 例: 店舗在庫とのリアルタイム同期
|
|
42
|
+
|
|
43
|
+
## 成果物 - Deliverables {#deliverables}
|
|
44
|
+
|
|
45
|
+
:::tip TIP
|
|
46
|
+
1. 基本はシステムそのもの、そのマニュアルなど。プロジェクト完了後にお客様へ提供するもの
|
|
47
|
+
1. 設計書を要求された場合、その意図を明確にする
|
|
48
|
+
1. 他社開発ベンダーへの引き継ぎの場合 -> このドキュメント含めたrepositoryで済む
|
|
49
|
+
1. Officeドキュメント、pdfを要求された場合の対応を考慮しておく
|
|
50
|
+
1. 反対にシステム化しないことも明記する
|
|
51
|
+
1. その理由も明記し、プロジェクト途中でタスク追加されるリスクを減らす
|
|
52
|
+
1. 記載できたらこのtipブロックを削除する
|
|
53
|
+
:::
|
|
54
|
+
|
|
55
|
+
1. <TBD/> 参照
|
|
56
|
+
|
|
57
|
+
## 成功基準 - Success Criteria {#success-criteria}
|
|
58
|
+
|
|
59
|
+
:::tip TIP
|
|
60
|
+
1. 定量目標。数値による結果で判定できるようにすることで評価できるようにする
|
|
61
|
+
1. 例
|
|
62
|
+
1. ピーク時のスケールサーバー数がx台以下、利用額がxxxドル以下、など
|
|
63
|
+
1. リリース後1ヶ月以内にサーバーエラーによるシステム断時間がx時間以下
|
|
64
|
+
1. プロジェクト中盤で達成が難しいと分かった場合はその時点で再定義し、お客様と合意を得る
|
|
65
|
+
1. 記載できたらこのtipブロックを削除する
|
|
66
|
+
:::
|
|
67
|
+
|
|
68
|
+
| # | 指標 | 目標値 | 期限 | 測定方法 |
|
|
69
|
+
| - | ---- | ------ | ---- | -------- |
|
|
70
|
+
| SC-01 | 例: 決済成功率 | 95 %以上 | GA +1 か月 | Datadog APM |
|
|
71
|
+
| SC-02 | 例: 平均応答時間 | 200 ms 以下 | ベータ期間 | k6 & Grafana |
|
|
72
|
+
| SC-03 | 例: NPS | +15 | GA +3 か月 | アンケート |
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
---
|
|
2
|
+
sidebar_position: 12
|
|
3
|
+
tags:
|
|
4
|
+
- Overview
|
|
5
|
+
- Roadmap
|
|
6
|
+
---
|
|
7
|
+
# ロードマップ {#roadmap}
|
|
8
|
+
|
|
9
|
+
import Gantt from '@site/static/img/gantt.drawio.svg';
|
|
10
|
+
|
|
11
|
+
## マスタースケジュール {#master-schedule}
|
|
12
|
+
<Gantt aria-label='マスタースケジュール' width='100%' height='auto' role='img' />
|
|
13
|
+
|
|
14
|
+
## マイルストーン {#milestones}
|
|
15
|
+
|
|
16
|
+
| フェーズ | 期間 | 主な成果物 |
|
|
17
|
+
| ------- | ---- | ---------- |
|
|
18
|
+
| 準備 | 2025-05 | 要件定義完了 |
|
|
19
|
+
| 開発 | 2025-06 〜 2025-09 | Betaリリース |
|
|
20
|
+
|
|
21
|
+
## リリース計画 {#release-plan}
|
|
22
|
+
1. Alpha: 2025-07
|
|
23
|
+
1. Beta: 2025-09
|
|
24
|
+
1. GA: 2025-12
|
|
25
|
+
|
|
26
|
+
## 依存関係 {#dependencies}
|
|
27
|
+
1. 決済ゲートウェイv2公開
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
sidebar_position: 13
|
|
3
|
+
tags:
|
|
4
|
+
- Overview
|
|
5
|
+
- Architecture
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# システムコンテキスト {#system-context}
|
|
9
|
+
|
|
10
|
+
## コンテキスト図 {#context-diagram}
|
|
11
|
+
```pumld
|
|
12
|
+
@startuml
|
|
13
|
+
!include <C4/C4_Container>
|
|
14
|
+
System_Boundary(ec, "EC System") {
|
|
15
|
+
Container(web, "Web Frontend")
|
|
16
|
+
Container(api, "API Server")
|
|
17
|
+
}
|
|
18
|
+
System(billing, "Payment Gateway")
|
|
19
|
+
Rel(web, api, "HTTPS/JSON")
|
|
20
|
+
Rel(api, billing, "REST")
|
|
21
|
+
@enduml
|
|
22
|
+
```
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
---
|
|
2
|
+
sidebar_position: 5
|
|
3
|
+
tags:
|
|
4
|
+
- To-Be
|
|
5
|
+
---
|
|
6
|
+
import { TBD } from '@site/src/components/TBD';
|
|
7
|
+
|
|
8
|
+
# To‑Be - 目指すべき姿
|
|
9
|
+
|
|
10
|
+
<!--
|
|
11
|
+
TBDの使い方
|
|
12
|
+
<TBD/> コンポーネントは未確定項目を可視化するための占位マークです
|
|
13
|
+
執筆完了後はimport文といっしょにこのコメントも必ず削除すること
|
|
14
|
+
-->
|
|
15
|
+
|
|
16
|
+
## 概要 {#target-overview}
|
|
17
|
+
1. 本章で示す「理想状態」と As‑Is との差分を概観する
|
|
18
|
+
1. ビジネス価値・ユーザ価値・システム観点を 1‒2 文でまとめる
|
|
19
|
+
|
|
20
|
+
## 改善後業務フロー {#business-flow}
|
|
21
|
+
|
|
22
|
+
:::tip
|
|
23
|
+
1. BPMN やスイムレーン図で将来の業務プロセスを可視化
|
|
24
|
+
1. PlantUML を直接埋め込むか、drawio・外部リンクでも可
|
|
25
|
+
:::
|
|
26
|
+
|
|
27
|
+
```pumld
|
|
28
|
+
@startuml
|
|
29
|
+
skinparam ParticipantPadding 20
|
|
30
|
+
skinparam Shadowing false
|
|
31
|
+
|
|
32
|
+
|顧客|
|
|
33
|
+
start
|
|
34
|
+
:商品閲覧;
|
|
35
|
+
:ワンクリック購入;
|
|
36
|
+
|ECシステム|
|
|
37
|
+
:在庫自動確保;
|
|
38
|
+
:決済トークン発行;
|
|
39
|
+
|決済ゲートウェイ|
|
|
40
|
+
:即時決済承認;
|
|
41
|
+
|ECシステム|
|
|
42
|
+
:出荷指示;
|
|
43
|
+
|倉庫WMS|
|
|
44
|
+
:自動ピッキング;
|
|
45
|
+
|顧客|
|
|
46
|
+
stop
|
|
47
|
+
@enduml
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## システム全体像 {#system-architecture}
|
|
51
|
+
|
|
52
|
+
```pumld
|
|
53
|
+
@startuml
|
|
54
|
+
!include <C4/C4_Container>
|
|
55
|
+
|
|
56
|
+
System_Boundary(ec, "EC System") {
|
|
57
|
+
Container(web, "Next.js Frontend", "TypeScript/React")
|
|
58
|
+
Container(api, "API Server", "Go + gRPC")
|
|
59
|
+
ContainerDb(db, "PostgreSQL", "Cloud SQL", "商品・注文DB")
|
|
60
|
+
}
|
|
61
|
+
System_Ext(billing, "Payment Gateway")
|
|
62
|
+
System_Ext(cd, "CDN")
|
|
63
|
+
|
|
64
|
+
Rel(web, api, "gRPC+JSON")
|
|
65
|
+
Rel(api, db, "JDBC")
|
|
66
|
+
Rel(api, billing, "REST")
|
|
67
|
+
Rel(web, cd, "HTTPS (static assets)")
|
|
68
|
+
@enduml
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
1. <TBD/> (詳細なサブシステム図や構成表を追加)
|
|
72
|
+
|
|
73
|
+
## 主要機能一覧 {#features}
|
|
74
|
+
|
|
75
|
+
| # | 機能 | 概要 | 優先度 |
|
|
76
|
+
| - | ---- | ---- | ------ |
|
|
77
|
+
| F‑01 | リアルタイム在庫同期 | ERP から Webhook で在庫更新 | High |
|
|
78
|
+
| F‑02 | ワンクリック購入 | 顧客の決済トークンを再利用 | High |
|
|
79
|
+
| F‑03 | レコメンド | 行動ログを用いた個別提案 | Medium |
|
|
80
|
+
|
|
81
|
+
## 非機能要求サマリ {#non-functional-requirements}
|
|
82
|
+
|
|
83
|
+
| 項目 | 目標値 | 備考 |
|
|
84
|
+
| ---- | ------ | ---- |
|
|
85
|
+
| 可用性 | 99.9 %以上 | マルチ AZ |
|
|
86
|
+
| 性能 | 平均応答 200 ms 以下 | Peak 500 ms 以下 |
|
|
87
|
+
| セキュリティ | OWASP Top‑10 準拠 | WAF / CSP |
|
|
88
|
+
|
|
89
|
+
## 移行方針・ロードマップ {#migration-strategy}
|
|
90
|
+
|
|
91
|
+
1. **フェーズ1: MVP**
|
|
92
|
+
1. カタログ閲覧 + 決済 (限定 SKU)
|
|
93
|
+
1. **フェーズ2: Full Launch**
|
|
94
|
+
1. 全 SKU 移行・レコメンド ON
|
|
95
|
+
1. **フェーズ3: Continuous Improvement**
|
|
96
|
+
1. A/B テスト・パフォーマンス最適化
|
|
97
|
+
|
|
98
|
+
## 期待効果・成功要因 {#expected-effects}
|
|
99
|
+
|
|
100
|
+
1. 売上 +20 %、離脱率 15 % → 8 %
|
|
101
|
+
1. 運用工数 月 40 h 削減
|
|
102
|
+
1. ユーザ満足度 (NPS) +15
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: req-001
|
|
3
|
+
title: 要求タイトル
|
|
4
|
+
sidebar_label: REQ-001:要求タイトル
|
|
5
|
+
description: 要求の簡単な説明
|
|
6
|
+
tags: [タグ1, タグ2]
|
|
7
|
+
urgency: 5
|
|
8
|
+
importance: 5
|
|
9
|
+
draft: true
|
|
10
|
+
---
|
|
11
|
+
import { PriorityMatrix } from '@site/src/components/PriorityMatrix';
|
|
12
|
+
import { TagList } from '@site/src/components/Tag';
|
|
13
|
+
|
|
14
|
+
<TagList tags={frontMatter.tags} />
|
|
15
|
+
|
|
16
|
+
<!-- <div style={{ marginBottom: "1rem" }}>
|
|
17
|
+
{frontMatter.tags.map((tag) => (
|
|
18
|
+
<Tag key={tag} name={tag} />
|
|
19
|
+
))}
|
|
20
|
+
</div> -->
|
|
21
|
+
|
|
22
|
+
## 概要
|
|
23
|
+
<!-- 1-2文で要求の概要を記述 -->
|
|
24
|
+
|
|
25
|
+
## 詳細要件
|
|
26
|
+
<!-- 箇条書きで具体的な要件を記述 -->
|
|
27
|
+
- 要件1
|
|
28
|
+
- 要件2
|
|
29
|
+
- 要件3
|
|
30
|
+
|
|
31
|
+
## 受け入れ基準
|
|
32
|
+
<!-- この要求が満たされたと判断できる基準を記述 -->
|
|
33
|
+
- [ ] 基準1
|
|
34
|
+
- [ ] 基準2
|
|
35
|
+
|
|
36
|
+
## 関連する非機能要件
|
|
37
|
+
<!-- 関連するNFRへのリンク -->
|
|
38
|
+
- [NFR-001:パフォーマンス要件](../non-functional/nfr-001.mdx)
|
|
39
|
+
|
|
40
|
+
## 参考情報
|
|
41
|
+
<!-- 追加の情報、図表、リンクなど -->
|
|
42
|
+
|
|
43
|
+
export const changes = [
|
|
44
|
+
{
|
|
45
|
+
date: "2025-01-02",
|
|
46
|
+
author: "作成者名",
|
|
47
|
+
changes: "初版作成",
|
|
48
|
+
},
|
|
49
|
+
]
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: req-001
|
|
3
|
+
title: ユーザー認証機能
|
|
4
|
+
sidebar_label: REQ-001:ユーザー認証
|
|
5
|
+
description: システムへのアクセスを制御するための認証機能
|
|
6
|
+
tags: [認証, セキュリティ, ユーザー管理]
|
|
7
|
+
urgency: 7
|
|
8
|
+
importance: 8
|
|
9
|
+
---
|
|
10
|
+
import { PriorityMatrix } from '@site/src/components/PriorityMatrix';
|
|
11
|
+
import { TagList } from '@site/src/components/Tag';
|
|
12
|
+
// import { ChangeHistoryComponent } from '@site/src/components/ChangeHistory';
|
|
13
|
+
|
|
14
|
+
<TagList tags={frontMatter.tags} />
|
|
15
|
+
|
|
16
|
+
<PriorityMatrix urgency={frontMatter.urgency} importance={frontMatter.importance} />
|
|
17
|
+
|
|
18
|
+
<!-- <div style={{ marginBottom: "1rem" }}>
|
|
19
|
+
{frontMatter.tags.map((tag) => (
|
|
20
|
+
<Tag key={tag} name={tag} />
|
|
21
|
+
))}
|
|
22
|
+
</div> -->
|
|
23
|
+
|
|
24
|
+
## 概要
|
|
25
|
+
システムへのアクセスを制御するためのユーザー認証機能を提供する。
|
|
26
|
+
|
|
27
|
+
## 詳細要件
|
|
28
|
+
1. ユーザーはメールアドレスとパスワードでログインできること
|
|
29
|
+
1. パスワードは8文字以上であること
|
|
30
|
+
1. 2要素認証に対応すること
|
|
31
|
+
1. パスワードリセット機能を提供すること
|
|
32
|
+
|
|
33
|
+
## 受け入れ基準
|
|
34
|
+
- [ ] 正しい認証情報でログインできる
|
|
35
|
+
- [ ] 誤った認証情報ではログインできない
|
|
36
|
+
- [ ] パスワードリセットメールが送信される
|
|
37
|
+
- [ ] 2要素認証が正常に機能する
|
|
38
|
+
|
|
39
|
+
## 関連する非機能要件
|
|
40
|
+
1. [NFR-001:セキュリティ要件](../non-functional/nfr-001.mdx)
|
|
41
|
+
1. [NFR-002:パフォーマンス要件](../non-functional/nfr-002.mdx)
|
|
42
|
+
|
|
43
|
+
## 参考情報
|
|
44
|
+
- [OWASP認証のベストプラクティス](https://owasp.org/)
|
|
45
|
+
|
|
46
|
+
## 更新履歴
|
|
47
|
+
|
|
48
|
+
export const changes = [
|
|
49
|
+
{
|
|
50
|
+
date: "2025-01-02",
|
|
51
|
+
author: "作成者名",
|
|
52
|
+
changes: "初版作成",
|
|
53
|
+
},
|
|
54
|
+
]
|
|
55
|
+
|
|
56
|
+
{/* <ChangeHistoryComponent changes={changes} /> */}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: nfr-template
|
|
3
|
+
title: 非機能要件テンプレート
|
|
4
|
+
sidebar_label: NFR-XXX:タイトル
|
|
5
|
+
description: 非機能要件の説明
|
|
6
|
+
tags: [タグ1, タグ2]
|
|
7
|
+
draft: true
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
import { PriorityMatrix } from '@site/src/components/PriorityMatrix';
|
|
11
|
+
import { TagList } from '@site/src/components/Tag';
|
|
12
|
+
import { ChangeHistoryComponent } from '@site/src/components/ChangeHistory';
|
|
13
|
+
|
|
14
|
+
<TagList tags={frontMatter.tags} />
|
|
15
|
+
|
|
16
|
+
<PriorityMatrix urgency={frontMatter.urgency} importance={frontMatter.importance} />
|
|
17
|
+
|
|
18
|
+
## 概要
|
|
19
|
+
<!-- 非機能要件の概要を記述 -->
|
|
20
|
+
|
|
21
|
+
## 詳細要件
|
|
22
|
+
### カテゴリ1
|
|
23
|
+
<!-- 要件の詳細を記述 -->
|
|
24
|
+
|
|
25
|
+
### カテゴリ2
|
|
26
|
+
<!-- 要件の詳細を記述 -->
|
|
27
|
+
|
|
28
|
+
## 測定方法
|
|
29
|
+
<!-- 要件の達成を測定する方法を記述 -->
|
|
30
|
+
|
|
31
|
+
## 制約条件
|
|
32
|
+
<!-- 制約条件があれば記述 -->
|
|
33
|
+
|
|
34
|
+
## 関連する機能要件
|
|
35
|
+
<!-- 関連する機能要件へのリンク -->
|
|
36
|
+
|
|
37
|
+
export const changes = [
|
|
38
|
+
{
|
|
39
|
+
date: "2025-01-02",
|
|
40
|
+
author: "作成者名",
|
|
41
|
+
changes: "初版作成",
|
|
42
|
+
},
|
|
43
|
+
]
|
|
44
|
+
|
|
45
|
+
<ChangeHistoryComponent changes={changes} />
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: nfr-001
|
|
3
|
+
title: セキュリティ要件
|
|
4
|
+
sidebar_label: NFR-001:セキュリティ要件
|
|
5
|
+
description: システム全体のセキュリティに関する非機能要件
|
|
6
|
+
tags: [セキュリティ, SLA]
|
|
7
|
+
urgency: 9
|
|
8
|
+
importance: 9
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
import { PriorityMatrix } from '@site/src/components/PriorityMatrix';
|
|
12
|
+
import { TagList } from '@site/src/components/Tag';
|
|
13
|
+
|
|
14
|
+
<TagList tags={frontMatter.tags} />
|
|
15
|
+
|
|
16
|
+
<PriorityMatrix urgency={frontMatter.urgency} importance={frontMatter.importance} />
|
|
17
|
+
|
|
18
|
+
## 概要
|
|
19
|
+
システム全体のセキュリティに関する要件を定義する。
|
|
20
|
+
|
|
21
|
+
## 性能要件
|
|
22
|
+
### レスポンス時間
|
|
23
|
+
1. 画面表示:2秒以内
|
|
24
|
+
1. API応答:1秒以内
|
|
25
|
+
1. バッチ処理:指定された時間枠内で完了
|
|
26
|
+
|
|
27
|
+
### スループット
|
|
28
|
+
1. 同時接続ユーザー数:1000ユーザー
|
|
29
|
+
1. トランザクション処理:100 TPS
|
|
30
|
+
|
|
31
|
+
### リソース使用
|
|
32
|
+
1. CPU使用率:平常時80%以下
|
|
33
|
+
1. メモリ使用率:平常時70%以下
|
|
34
|
+
1. ストレージ使用率:80%以下
|
|
35
|
+
|
|
36
|
+
## 監視要件
|
|
37
|
+
1. APMツールによる常時監視
|
|
38
|
+
1. パフォーマンスメトリクスの収集
|
|
39
|
+
1. アラート閾値の設定
|
|
40
|
+
|
|
41
|
+
## 測定方法
|
|
42
|
+
1. 負荷テストツール:JMeter
|
|
43
|
+
1. 監視ツール:Datadog
|
|
44
|
+
1. 測定間隔:5分
|
|
45
|
+
|
|
46
|
+
## 関連する機能要件
|
|
47
|
+
1. [REQ-001:ユーザー認証](../functional/req-001.mdx)
|
|
48
|
+
|
|
49
|
+
export const changes = [
|
|
50
|
+
{
|
|
51
|
+
date: "2024-01-15",
|
|
52
|
+
author: "鈴木次郎",
|
|
53
|
+
changes: "監視要件の追加",
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
date: "2024-01-01",
|
|
57
|
+
author: "山田太郎",
|
|
58
|
+
changes: "初版作成",
|
|
59
|
+
},
|
|
60
|
+
]
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: nfr-002
|
|
3
|
+
title: システムパフォーマンス要件
|
|
4
|
+
sidebar_label: NFR-002:パフォーマンス
|
|
5
|
+
description: システム全体のパフォーマンスに関する非機能要件
|
|
6
|
+
tags: [パフォーマンス, SLA]
|
|
7
|
+
urgency: 4
|
|
8
|
+
importance: 8
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
import { PriorityMatrix } from '@site/src/components/PriorityMatrix';
|
|
12
|
+
import { TagList } from '@site/src/components/Tag';
|
|
13
|
+
|
|
14
|
+
<TagList tags={frontMatter.tags} />
|
|
15
|
+
|
|
16
|
+
<PriorityMatrix urgency={frontMatter.urgency} importance={frontMatter.importance} />
|
|
17
|
+
|
|
18
|
+
## 概要
|
|
19
|
+
システム全体のパフォーマンスに関する要件を定義する。
|
|
20
|
+
|
|
21
|
+
## 性能要件
|
|
22
|
+
### レスポンス時間
|
|
23
|
+
1. 画面表示:2秒以内
|
|
24
|
+
1. API応答:1秒以内
|
|
25
|
+
1. バッチ処理:指定された時間枠内で完了
|
|
26
|
+
|
|
27
|
+
### スループット
|
|
28
|
+
1. 同時接続ユーザー数:1000ユーザー
|
|
29
|
+
1. トランザクション処理:100 TPS
|
|
30
|
+
|
|
31
|
+
### リソース使用
|
|
32
|
+
1. CPU使用率:平常時80%以下
|
|
33
|
+
1. メモリ使用率:平常時70%以下
|
|
34
|
+
1. ストレージ使用率:80%以下
|
|
35
|
+
|
|
36
|
+
## 監視要件
|
|
37
|
+
1. APMツールによる常時監視
|
|
38
|
+
1. パフォーマンスメトリクスの収集
|
|
39
|
+
1. アラート閾値の設定
|
|
40
|
+
|
|
41
|
+
## 測定方法
|
|
42
|
+
1. 負荷テストツール:JMeter
|
|
43
|
+
1. 監視ツール:Datadog
|
|
44
|
+
1. 測定間隔:5分
|
|
45
|
+
|
|
46
|
+
## 関連する機能要件
|
|
47
|
+
1. [REQ-001:ユーザー認証](../functional/req-001.mdx)
|
|
48
|
+
|
|
49
|
+
export const changes = [
|
|
50
|
+
{
|
|
51
|
+
date: "2024-01-15",
|
|
52
|
+
author: "鈴木次郎",
|
|
53
|
+
changes: "監視要件の追加",
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
date: "2024-01-01",
|
|
57
|
+
author: "山田太郎",
|
|
58
|
+
changes: "初版作成",
|
|
59
|
+
},
|
|
60
|
+
]
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
sidebar_position: 2
|
|
3
|
+
hide_table_of_contents: true
|
|
4
|
+
---
|
|
5
|
+
# ビジネスモデル図
|
|
6
|
+
|
|
7
|
+
import BusinessModel from '@site/static/img/business-model.drawio.svg';
|
|
8
|
+
|
|
9
|
+
<BusinessModel aria-label='ビジネスモデル' width='100%' height='auto' role='img' />
|
|
10
|
+
|
|
11
|
+
1. 参考
|
|
12
|
+
1. https://drawio-app.com/blog/business-model-canvas/
|
|
13
|
+
1. note: 『ビジネスの仕組みがわかる 図解のつくりかた』全文公開
|
|
14
|
+
1. https://note.com/bizgram/n/n3dbed12f95ea
|