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.
Files changed (68) hide show
  1. package/bin/generators/template-files.d.ts.map +1 -1
  2. package/bin/generators/template-files.js +110 -109
  3. package/bin/generators/template-files.js.map +1 -1
  4. package/package.json +1 -1
  5. package/templates/docs/01-overview/_assumptions-constraints.mdx +19 -0
  6. package/templates/docs/01-overview/_business-context.mdx +18 -0
  7. package/templates/docs/01-overview/_firm-proposal.mdx +52 -0
  8. package/templates/docs/01-overview/_gap-analysis.mdx +18 -0
  9. package/templates/docs/01-overview/_project/342/200/221charter.mdx +23 -0
  10. package/templates/docs/01-overview/_requirements-specification.mdx +77 -0
  11. package/templates/docs/01-overview/_risks.mdx +16 -0
  12. package/templates/docs/01-overview/_scope.mdx +24 -0
  13. package/templates/docs/01-overview/_stakeholders.mdx +24 -0
  14. package/templates/docs/01-overview/as-is.mdx +64 -0
  15. package/templates/docs/01-overview/glossary.mdx +41 -0
  16. package/templates/docs/01-overview/index.mdx +41 -0
  17. package/templates/docs/01-overview/odsc.mdx +72 -0
  18. package/templates/docs/01-overview/roadmap.mdx +27 -0
  19. package/templates/docs/01-overview/system-context.mdx +22 -0
  20. package/templates/docs/01-overview/to-be.mdx +102 -0
  21. package/templates/docs/02-requirements/_category_.yaml +2 -0
  22. package/templates/docs/02-requirements/functional/_category_.json +8 -0
  23. package/templates/docs/02-requirements/functional/_req-template.mdx +49 -0
  24. package/templates/docs/02-requirements/functional/req-001.mdx +56 -0
  25. package/templates/docs/02-requirements/index.mdx +14 -0
  26. package/templates/docs/02-requirements/non-functional/_category_.json +8 -0
  27. package/templates/docs/02-requirements/non-functional/_nfr-template.mdx +45 -0
  28. package/templates/docs/02-requirements/non-functional/nfr-001.mdx +60 -0
  29. package/templates/docs/02-requirements/non-functional/nfr-002.mdx +60 -0
  30. package/templates/docs/03-external/business-model.mdx +14 -0
  31. package/templates/docs/03-external/img/business-model-by-claude.xml +107 -0
  32. package/templates/docs/03-external/img/business-model.xml +84 -0
  33. package/templates/docs/03-external/img/docsVersionDropdown.png +0 -0
  34. package/templates/docs/03-external/img/gantt.xml +1 -0
  35. package/templates/docs/03-external/img/localeDropdown.png +0 -0
  36. package/templates/docs/03-external/index.mdx +46 -0
  37. package/templates/docs/04-internal/batches/_category_.yaml +2 -0
  38. package/templates/docs/04-internal/batches/import-products.mdx +68 -0
  39. package/templates/docs/04-internal/batches/index.mdx +25 -0
  40. package/templates/docs/04-internal/index.mdx +32 -0
  41. package/templates/docs/04-internal/policies/_category_.yaml +2 -0
  42. package/templates/docs/04-internal/policies/branch-naming-rules.mdx +110 -0
  43. package/templates/docs/04-internal/policies/github.mdx +100 -0
  44. package/templates/docs/04-internal/policies/pull-request-operation-flow.mdx +118 -0
  45. package/templates/docs/04-internal/rules/_category_.yaml +2 -0
  46. package/templates/docs/04-internal/rules/database.mdx +139 -0
  47. package/templates/docs/04-internal/rules/document-creation-rules.mdx +39 -0
  48. package/templates/docs/04-internal/rules/index.mdx +10 -0
  49. package/templates/docs/04-internal/rules/markdown.mdx +148 -0
  50. package/templates/docs/04-internal/rules/review-process.mdx +32 -0
  51. package/templates/docs/04-internal/screens/_category_.yaml +2 -0
  52. package/templates/docs/04-internal/screens/dashboard.mdx +17 -0
  53. package/templates/docs/04-internal/screens/index.mdx +20 -0
  54. package/templates/docs/04-internal/screens/login.mdx +18 -0
  55. package/templates/docs/04-internal/screens/menu.mdx +17 -0
  56. package/templates/docs/04-internal/tables/_category_.yaml +2 -0
  57. package/templates/docs/04-internal/tables/customer_details.mdx +35 -0
  58. package/templates/docs/04-internal/tables/customers.mdx +35 -0
  59. package/templates/docs/04-internal/tables/index.mdx +11 -0
  60. package/templates/docs/example.drawio.svg +57 -0
  61. package/templates/docs/intro.md +47 -0
  62. package/templates/docs/introduction/document-editing/_category_.yml +2 -0
  63. package/templates/docs/introduction/document-editing/how-to.mdx +31 -0
  64. package/templates/docs/introduction/index.mdx +35 -0
  65. package/templates/docs/introduction/operational-policies/_category_.yaml +2 -0
  66. package/templates/docs/introduction/operational-policies/github.mdx +33 -0
  67. package/templates/docs/introduction/operational-policies/img/branch-naming-rules.svg +73 -0
  68. package/templates/docs/introduction/operational-policies/sharepoint.mdx +28 -0
@@ -1 +1 @@
1
- {"version":3,"file":"template-files.d.ts","sourceRoot":"","sources":["../../src/generators/template-files.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAIxD,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,cAAc,EAC1B,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CAmCf"}
1
+ {"version":3,"file":"template-files.d.ts","sourceRoot":"","sources":["../../src/generators/template-files.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AASxD,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,cAAc,EAC1B,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CAyDf"}
@@ -1,8 +1,13 @@
1
- import { mkdir, writeFile, access } from 'node:fs/promises';
2
- import { join, resolve } from 'node:path';
1
+ import { mkdir, writeFile, access, cp } from 'node:fs/promises';
2
+ import { join, resolve, dirname } from 'node:path';
3
3
  import { existsSync, constants } from 'node:fs';
4
+ import { fileURLToPath } from 'node:url';
4
5
  import { createTemplateProcessor } from '../utils/template-processor.js';
5
6
  import { getTemplateDefinition } from '../templates/template-definitions.js';
7
+ // プロジェクト内のテンプレートディレクトリのパス
8
+ const __filename = fileURLToPath(import.meta.url);
9
+ const __dirname = dirname(__filename);
10
+ const TEMPLATE_DOCS_PATH = resolve(__dirname, '../../templates/docs');
6
11
  export async function copyTemplateFiles(selections, projectPath) {
7
12
  const { templates, projectName } = selections;
8
13
  // プロジェクトパスの検証
@@ -29,6 +34,24 @@ export async function copyTemplateFiles(selections, projectPath) {
29
34
  }
30
35
  // 基本ファイルを生成(最初のテンプレートベース)
31
36
  await generateSidebarsConfig(projectPath, primaryTemplate.name, processor);
37
+ // 参考リポジトリから基本ファイルをコピー
38
+ await copyFromReferenceRepo(projectPath, ['introduction']);
39
+ // intro.mdもコピー
40
+ const introSourcePath = join(TEMPLATE_DOCS_PATH, 'intro.md');
41
+ const introTargetPath = join(projectPath, 'docs', 'intro.md');
42
+ if (existsSync(introSourcePath)) {
43
+ try {
44
+ await cp(introSourcePath, introTargetPath);
45
+ console.log('Copied intro.md from template');
46
+ }
47
+ catch (error) {
48
+ console.warn(`Failed to copy intro.md: ${error}`);
49
+ }
50
+ }
51
+ // 各テンプレートに対応するディレクトリをコピー
52
+ for (const template of templates) {
53
+ await copyTemplateDirectory(projectPath, template.name);
54
+ }
32
55
  await generateCustomCSS(projectPath);
33
56
  await generateStaticFiles(projectPath, processor);
34
57
  }
@@ -149,130 +172,59 @@ async function generateSampleContent(projectPath, sampleContent, processor) {
149
172
  }
150
173
  async function generateSidebarsConfig(projectPath, templateName, processor) {
151
174
  const sidebarConfigs = {
152
- 'classic-spec': `// @ts-check
153
-
154
- /** @type {import('@docusaurus/plugin-content-docs').SidebarsConfig} */
155
- const sidebars = {
156
- tutorialSidebar: [
157
- 'intro',
158
- {
159
- type: 'category',
160
- label: 'Documentation',
161
- items: ['getting-started', 'configuration']
162
- }
163
- ]
175
+ 'classic-spec': `import type { SidebarsConfig } from '@docusaurus/plugin-content-docs';
176
+
177
+ // https://docusaurus.io/docs/sidebar
178
+
179
+ const sidebars: SidebarsConfig = {
180
+ introduction: [{ type: 'autogenerated', dirName: 'introduction' }],
164
181
  };
165
182
 
166
- module.exports = sidebars;`,
167
- 'project-analysis': `// @ts-check
183
+ export default sidebars;`,
184
+ 'project-analysis': `import type { SidebarsConfig } from '@docusaurus/plugin-content-docs';
168
185
 
169
- /** @type {import('@docusaurus/plugin-content-docs').SidebarsConfig} */
170
- const sidebars = {
171
- analysisSidebar: [
172
- {
173
- type: 'category',
174
- label: 'プロジェクト分析',
175
- items: ['analysis/intro']
176
- }
177
- ],
178
- overviewSidebar: [
179
- {
180
- type: 'category',
181
- label: 'プロジェクト概要',
182
- items: ['overview/intro']
183
- }
184
- ]
186
+ // https://docusaurus.io/docs/sidebar
187
+
188
+ const sidebars: SidebarsConfig = {
189
+ introduction: [{ type: 'autogenerated', dirName: 'introduction' }],
190
+ businessAnalysis: [{ type: 'autogenerated', dirName: '01-overview' }],
185
191
  };
186
192
 
187
- module.exports = sidebars;`,
188
- requirements: `// @ts-check
193
+ export default sidebars;`,
194
+ requirements: `import type { SidebarsConfig } from '@docusaurus/plugin-content-docs';
189
195
 
190
- /** @type {import('@docusaurus/plugin-content-docs').SidebarsConfig} */
191
- const sidebars = {
192
- requirementsSidebar: [
193
- {
194
- type: 'category',
195
- label: '機能要件',
196
- items: ['functional/intro']
197
- }
198
- ],
199
- functionalSidebar: [
200
- {
201
- type: 'category',
202
- label: '機能要件詳細',
203
- items: ['functional/intro']
204
- }
205
- ],
206
- nonFunctionalSidebar: [
207
- {
208
- type: 'category',
209
- label: '非機能要件',
210
- items: ['non-functional/intro']
211
- }
212
- ]
196
+ // https://docusaurus.io/docs/sidebar
197
+
198
+ const sidebars: SidebarsConfig = {
199
+ introduction: [{ type: 'autogenerated', dirName: 'introduction' }],
200
+ requirements: [{ type: 'autogenerated', dirName: '02-requirements' }],
213
201
  };
214
202
 
215
- module.exports = sidebars;`,
216
- 'external-design': `// @ts-check
203
+ export default sidebars;`,
204
+ 'external-design': `import type { SidebarsConfig } from '@docusaurus/plugin-content-docs';
217
205
 
218
- /** @type {import('@docusaurus/plugin-content-docs').SidebarsConfig} */
219
- const sidebars = {
220
- architectureSidebar: [
221
- {
222
- type: 'category',
223
- label: 'システムアーキテクチャ',
224
- items: ['architecture/intro']
225
- }
226
- ],
227
- apiSidebar: [
228
- {
229
- type: 'category',
230
- label: 'API設計',
231
- items: ['api/intro']
232
- }
233
- ],
234
- uiSidebar: [
235
- {
236
- type: 'category',
237
- label: 'UI/UX設計',
238
- items: ['ui/intro']
239
- }
240
- ]
206
+ // https://docusaurus.io/docs/sidebar
207
+
208
+ const sidebars: SidebarsConfig = {
209
+ introduction: [{ type: 'autogenerated', dirName: 'introduction' }],
210
+ external: [{ type: 'autogenerated', dirName: '03-external' }],
241
211
  };
242
212
 
243
- module.exports = sidebars;`,
244
- 'internal-design': `// @ts-check
213
+ export default sidebars;`,
214
+ 'internal-design': `import type { SidebarsConfig } from '@docusaurus/plugin-content-docs';
245
215
 
246
- /** @type {import('@docusaurus/plugin-content-docs').SidebarsConfig} */
247
- const sidebars = {
248
- implementationSidebar: [
249
- {
250
- type: 'category',
251
- label: '実装詳細',
252
- items: ['implementation/intro']
253
- }
254
- ],
255
- databaseSidebar: [
256
- {
257
- type: 'category',
258
- label: 'データベース設計',
259
- items: ['database/intro']
260
- }
261
- ],
262
- algorithmSidebar: [
263
- {
264
- type: 'category',
265
- label: 'アルゴリズム',
266
- items: ['algorithms/intro']
267
- }
268
- ]
216
+ // https://docusaurus.io/docs/sidebar
217
+
218
+ const sidebars: SidebarsConfig = {
219
+ introduction: [{ type: 'autogenerated', dirName: 'introduction' }],
220
+ internal: [{ type: 'autogenerated', dirName: '04-internal' }],
269
221
  };
270
222
 
271
- module.exports = sidebars;`,
223
+ export default sidebars;`,
272
224
  };
273
225
  const sidebarContent = sidebarConfigs[templateName] || sidebarConfigs['classic-spec'];
274
226
  const processedContent = processor.processTemplate(sidebarContent);
275
- await writeFile(join(projectPath, 'sidebars.js'), processedContent);
227
+ await writeFile(join(projectPath, 'sidebars.ts'), processedContent);
276
228
  }
277
229
  async function generateCustomCSS(projectPath) {
278
230
  const cssContent = `/**
@@ -370,4 +322,53 @@ yarn-error.log*
370
322
  `;
371
323
  await writeFile(join(projectPath, '.gitignore'), gitignoreContent, 'utf8');
372
324
  }
325
+ // プロジェクト内のテンプレートから基本ディレクトリをコピー
326
+ async function copyFromReferenceRepo(projectPath, directories) {
327
+ const docsPath = join(projectPath, 'docs');
328
+ for (const dir of directories) {
329
+ const sourcePath = join(TEMPLATE_DOCS_PATH, dir);
330
+ const targetPath = join(docsPath, dir);
331
+ if (existsSync(sourcePath)) {
332
+ try {
333
+ await cp(sourcePath, targetPath, { recursive: true });
334
+ console.log(`Copied ${dir} from template`);
335
+ }
336
+ catch (error) {
337
+ console.warn(`Failed to copy ${dir}: ${error}`);
338
+ }
339
+ }
340
+ else {
341
+ console.warn(`Template directory not found: ${sourcePath}`);
342
+ }
343
+ }
344
+ }
345
+ // テンプレートに対応するディレクトリをコピー
346
+ async function copyTemplateDirectory(projectPath, templateName) {
347
+ const templateDirMap = {
348
+ 'classic-spec': 'introduction',
349
+ 'project-analysis': '01-overview',
350
+ 'requirements': '02-requirements',
351
+ 'external-design': '03-external',
352
+ 'internal-design': '04-internal',
353
+ };
354
+ const dirName = templateDirMap[templateName];
355
+ if (!dirName) {
356
+ console.warn(`No directory mapping found for template: ${templateName}`);
357
+ return;
358
+ }
359
+ const sourcePath = join(TEMPLATE_DOCS_PATH, dirName);
360
+ const targetPath = join(projectPath, 'docs', dirName);
361
+ if (existsSync(sourcePath)) {
362
+ try {
363
+ await cp(sourcePath, targetPath, { recursive: true });
364
+ console.log(`Copied ${dirName} directory for template: ${templateName}`);
365
+ }
366
+ catch (error) {
367
+ console.warn(`Failed to copy ${dirName}: ${error}`);
368
+ }
369
+ }
370
+ else {
371
+ console.warn(`Template directory not found: ${sourcePath}`);
372
+ }
373
+ }
373
374
  //# sourceMappingURL=template-files.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"template-files.js","sourceRoot":"","sources":["../../src/generators/template-files.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"template-files.js","sourceRoot":"","sources":["../../src/generators/template-files.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-specment",
3
- "version": "0.2.8",
3
+ "version": "0.2.9",
4
4
  "description": "Interactive CLI tool for creating Docusaurus-based specification documentation projects",
5
5
  "type": "module",
6
6
  "author": "Plenarc",
@@ -0,0 +1,19 @@
1
+ ---
2
+ sidebar_position: 9
3
+ tags:
4
+ - Overview
5
+ - Constraints
6
+ ---
7
+
8
+ # 前提条件と制約 {#assumptions-constraints}
9
+
10
+ ## 前提条件 (Assumptions) {#assumptions}
11
+ 1. CDNが利用可能
12
+ 1. チーム人数は最小5名確保
13
+
14
+ ## 制約条件 (Constraints) {#constraints}
15
+ 1. 既存基盤はPHP8.2固定
16
+ 1. ガイドライン遵守: PCI-DSS v4.0
17
+
18
+ ## 変更管理ポリシー {#change-policy}
19
+ 1. 重大変更は Change Request Form 提出必須
@@ -0,0 +1,18 @@
1
+ ---
2
+ sidebar_position: 7
3
+ tags:
4
+ - Overview
5
+ - Business
6
+ ---
7
+
8
+ # ビジネスコンテキスト {#business-context}
9
+
10
+ ## 問題定義 {#problem-statement}
11
+ 1. 例: 離脱率が25% → 業界平均の15%より高い
12
+
13
+ ## 市場・競合調査サマリ {#market}
14
+ 1. 競合A: UI/UX優位、配達24h以内
15
+ 1. 競合B: 価格競争力 …
16
+
17
+ ## ユーザ調査サマリ {#user-research}
18
+ 1. ペルソナごとの痛点一覧
@@ -0,0 +1,52 @@
1
+ ---
2
+ sidebar_position: 7
3
+ ---
4
+ # 提案依頼書(RFP)
5
+ ## プロジェクト概要
6
+ ### 背景
7
+ プロジェクトの背景について簡単に説明します。なぜこのプロジェクトが必要なのか、現在の状況や課題などを記載します
8
+
9
+ ### 目的
10
+ プロジェクトの目的や期待される成果を明確にします
11
+
12
+ ### スコープ
13
+ プロジェクトの範囲を明示します。含まれる内容と含まれない内容を具体的に記載します
14
+
15
+ ## 提案内容の要件
16
+ ### 提案内容
17
+ 提案者に求める具体的な内容や項目を記載します。例えば、技術的アプローチ、使用する技術、提供するサービスなど
18
+
19
+ ### 納期
20
+ プロジェクトの主要なマイルストーンや納期を記載します
21
+
22
+ ### 予算
23
+ 予算の範囲や費用の見積もりに関する情報を記載します
24
+
25
+ ### 提出物
26
+ 提案者に提出を求める書類や情報を記載します。例えば、技術仕様書、プロジェクト計画書、過去の実績など
27
+
28
+ ## 評価基準
29
+ ### 評価方法
30
+ 提案を評価する方法や基準について記載します。例えば、技術力、価格、実績など
31
+
32
+ ### 評価項目
33
+ 評価する具体的な項目を列挙します。例えば、提案の独自性、コストパフォーマンス、納期の順守など
34
+
35
+ ## スケジュール
36
+ ### 提案書提出期限
37
+ 提案書の提出期限を記載します
38
+
39
+ ### 質疑応答期間
40
+ 提案者からの質問を受け付ける期間を記載します
41
+
42
+ ### 選定スケジュール
43
+ 提案の評価・選定のスケジュールを記載します
44
+
45
+ ## 連絡先
46
+
47
+ ### 担当者情報
48
+ 提案依頼書に関する問い合わせ先の担当者情報を記載します
49
+ 1. 氏名
50
+ 1. 役職
51
+ 1. 会社名
52
+ 1. 連絡先(電話番号、メールアドレス)
@@ -0,0 +1,18 @@
1
+ ---
2
+ sidebar_position: 10
3
+ tags:
4
+ - Overview
5
+ - Gap
6
+ ---
7
+
8
+ # ギャップ分析 {#gap-analysis}
9
+
10
+ ## As-Is vs To-Be 一覧 {#gap-table}
11
+
12
+ | 項目 | As-Is | To-Be | ギャップ | 対応策 |
13
+ | ---- | ----- | ----- | -------- | ------ |
14
+ | 決済時間 | 平均8秒 | 平均2秒 | -6秒 | API高速化 |
15
+
16
+ ## 移行ロードマップ概要 {#migration-roadmap}
17
+ 1. フェーズ1: MVPリリース
18
+ 1. フェーズ2: フル機能移行
@@ -0,0 +1,23 @@
1
+ ---
2
+ sidebar_position: 2
3
+ tags:
4
+ - Overview
5
+ - Charter
6
+ ---
7
+
8
+ # プロジェクトチャーター {#project-charter}
9
+
10
+ ## ビジョン {#vision}
11
+ 1. 例: **2025年Q4までに新EC基盤をローンチし、年間売上+20%を実現する**
12
+
13
+ ## ゴールと非ゴール {#goals-and-non-goals}
14
+ 1. ゴール
15
+ 1. 例: エンドユーザ購入体験を平均3クリック以内に短縮
16
+ 1. 非ゴール
17
+ 1. 例: 店舗在庫連携は今回スコープ外
18
+
19
+ ## 成功指標(KPI) {#kpi}
20
+ 1. 例: 決済完了率95%以上、NPS+15 など
21
+
22
+ ## 背景・ビジネスドライバ {#background}
23
+ 1. 例: 既存ECの離脱率増加、競合比較 …
@@ -0,0 +1,77 @@
1
+ ---
2
+ sidebar_position: 8
3
+ ---
4
+ # 要求定義書(例)
5
+ ## 編集日時(降順)
6
+ 1. yyyy-mm-dd: xx氏とxy氏で解決したい課題を追加
7
+ 1. yyyy-mm-dd: 作成日
8
+
9
+ ## 参加者(敬称略)
10
+ 1. xxx
11
+ 1. xxx
12
+ 1. xxx(記)
13
+
14
+ ## 解決したい課題
15
+
16
+ :::tip - TIP
17
+ 1. 緊急度と重要度の2軸で考察する
18
+ 1. 緊急度: 高 or 低
19
+ 1. 重要度: 高 or 低
20
+ 1. 緊急度が高く、重要度も高いものがシステム化を最優先する
21
+ 1. 緊急度が低く、重要度が高いものをいつ取り込むかが重要
22
+ 1. 緊急度が低く、重要度が低いものをどう取り扱うかも重要
23
+ 1. システム化を見送るかなど
24
+ :::
25
+
26
+ 1. 緊高+重高: ミスによる時間のロスでお客様へも影響がでてしまう
27
+ 1. 緊低+重高: 繰り返し作業による入力ミス(ヒューマンエラー)を解消したい
28
+ 1. 緊低+重高: 伝達漏れ、操作忘れを回避したい
29
+
30
+ ## 解決したい方法
31
+ 1. 入力の簡素化
32
+ 1. 前回入力情報の再利用
33
+ 1. 期限の切れたToDoへのリマインド
34
+
35
+ ## ユースケースの準備
36
+ 1. アクターの抽出
37
+ 1. システムを利用する人、例えばお客様やオペレーターといった人物像をアクターとしてすべて洗い出す
38
+
39
+ ### 良くある例
40
+ 1. 顧客
41
+ 1. Web利用者
42
+ 1. モバイル利用者
43
+ 1. オペレーター
44
+ 1. チャット
45
+ 1. 電話
46
+ 1. 社員
47
+ 1. 営業
48
+ 1. 一般社員
49
+ 1. 管理者
50
+
51
+ ## ユースケースの作成
52
+ 1. コツはアウトプットから先に書く
53
+ 1. 得たい結果からシステムを通して誰がどんなインプットをするか書き出す
54
+
55
+ ```plantuml
56
+ @startuml
57
+ !define uml https://raw.githubusercontent.com/flatring/plantuml-stencils/main
58
+ !include uml/colorset/ocean-blue.iuml
59
+ !include uml/colorset/_skinparams.iuml
60
+
61
+ left to right direction
62
+ skinparam packageStyle rectangle
63
+ actor 利用者 as customer
64
+ actor 利用者 as customer2
65
+ actor 図書委員 as admin
66
+ actor 図書委員 as admin2
67
+
68
+ customer -> admin : 借りたい本を\n伝える
69
+ package 図書館システム as system {
70
+ admin --> (手続きをする)
71
+ (本の在庫を探す) .> (手続きをする) : << include >>
72
+ (手続きをする) .> (本を貸出中にする) : << extends >>
73
+ }
74
+ (手続きをする) --> admin2
75
+ admin2 -> customer2 : 本を渡す
76
+ @enduml
77
+ ```
@@ -0,0 +1,16 @@
1
+ ---
2
+ sidebar_position: 11
3
+ tags:
4
+ - Overview
5
+ - Risk
6
+ ---
7
+
8
+ # リスク登録簿 {#risks}
9
+
10
+ ## リスク一覧 {#risk-list}
11
+ | ID | リスク | 影響度 | 発生確率 | 対策 |
12
+ | -- | ------ | ------ | -------- | ---- |
13
+ | R-001 | 決済API障害 | 高 | 中 | 冗長化 |
14
+
15
+ ## リスク対応方針 {#risk-policy}
16
+ 1. 影響度×確率 >= **高** は即時エスカレーション
@@ -0,0 +1,24 @@
1
+ ---
2
+ sidebar_position: 6
3
+ tags:
4
+ - Overview
5
+ - Scope
6
+ ---
7
+
8
+ # スコープ定義 {#scope}
9
+
10
+ ## 機能的スコープ {#functional-scope}
11
+ 1. 例: 商品検索、カート、決済、注文履歴
12
+
13
+ ## 非機能的スコープ {#non-functional-scope}
14
+ 1. パフォーマンス: 平均応答200ms以内
15
+ 1. セキュリティ: OWASP Top‑10 準拠
16
+
17
+ ## 境界・依存関係 {#boundaries}
18
+ 1. 外部サービス
19
+ 1. 決済ゲートウェイ
20
+ 1. 在庫管理API
21
+ 1. 前提: ERPはSOAPのみ対応 …
22
+
23
+ ## 前提・除外事項 {#assumptions-and-exclusions}
24
+ 1. モバイルアプリは別プロジェクトで実装
@@ -0,0 +1,24 @@
1
+ ---
2
+ sidebar_position: 8
3
+ tags:
4
+ - Overview
5
+ - Stakeholders
6
+ ---
7
+
8
+ # ステークホルダー一覧 {#stakeholders}
9
+
10
+ ## 一覧表 {#list}
11
+
12
+ | 役割 | 氏名 | 所属 | 連絡先 | 主な責任 |
13
+ | ---- | ---- | ---- | ---- | ---- |
14
+ | プロダクトオーナー | 山田太郎 | 企画部 | <yamada@example.com> | ROI達成 |
15
+
16
+ ## RACIマトリクス {#raci}
17
+
18
+ | 課題 | R | A | C | I |
19
+ | ---- | ---- | ---- | ---- | ---- |
20
+ | 要件定義 | PO | PM | UX | Dev |
21
+
22
+ ## コミュニケーション方針 {#communication}
23
+ 1. 週次スタンドアップ: 毎週火曜09:30-10:00
24
+ 1. 決裁事項はSlack #decision で共有
@@ -0,0 +1,64 @@
1
+ ---
2
+ sidebar_position: 4
3
+ tags:
4
+ - As-Is
5
+ ---
6
+ import { TBD } from '@site/src/components/TBD';
7
+
8
+ # As-Is - 現状分析
9
+
10
+ <!--
11
+ TBDの使い方
12
+ <TBD/> コンポーネントは未確定項目を可視化するための占位マークです
13
+ 執筆完了後はimport文といっしょにこのコメントも必ず削除すること
14
+ -->
15
+
16
+ ## 概要 {#current-overview}
17
+ 1. 本章の目的と読み手が得られるアウトプットを記述
18
+ 1. 分析対象の範囲(業務・システム)を明確にする
19
+
20
+ ## 業務プロセス {#business-process}
21
+
22
+ :::tip TIP
23
+ 1. 図で表示する
24
+ 1. もしくは現状の手順・担当・処理時間を箇条書きでも可
25
+ :::
26
+ 1. <TBD/>
27
+
28
+ ```pumld
29
+ @startuml
30
+ ' レイアウト調整(任意)
31
+ skinparam ParticipantPadding 20
32
+ skinparam Shadowing false
33
+
34
+ |顧客|
35
+ start
36
+ :商品閲覧;
37
+ :カートへ追加;
38
+ |ECシステム|
39
+ :在庫チェック;
40
+ :決済リクエスト送信;
41
+ |決済ゲートウェイ|
42
+ :決済処理;
43
+ |ECシステム|
44
+ :注文確定;
45
+ |顧客|
46
+ stop
47
+ @enduml
48
+ ```
49
+
50
+ ## システム構成 {#system-architecture}
51
+ 1. <TBD/> (図 or 表)
52
+
53
+ ## データフロー {#data-flow}
54
+ 1. <TBD/>
55
+
56
+ ## 運用状況・サービスレベル {#operations}
57
+ 1. 稼働率・障害履歴・主要な監視指標など
58
+ 1. <TBD/>
59
+
60
+ ## 問題・課題 (Pain Points) {#issues}
61
+
62
+ | # | 課題 | 影響度 | 発生頻度 | 備考 |
63
+ | - | ---- | ------ | -------- | ---- |
64
+ | PP-01 | 在庫連携に最長3日遅延 | 高 | 週1回 | 手作業バッチ |