@k2works/claude-code-booster 1.10.0 → 1.11.0
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/LICENSE +21 -21
- package/README.md +42 -42
- package/bin/claude-code-booster +79 -79
- package/lib/assets/.claude/README.md +162 -162
- package/lib/assets/.claude/SKILLS_TEMPLATE.md +100 -100
- package/lib/assets/.claude/scripts/generate-inception-deck.mjs +911 -911
- package/lib/assets/.claude/settings.json +11 -11
- package/lib/assets/.claude/skills/ai-agent-guidelines/SKILL.md +119 -119
- package/lib/assets/.claude/skills/analyzing-architecture/SKILL.md +87 -87
- package/lib/assets/.claude/skills/analyzing-business/SKILL.md +117 -117
- package/lib/assets/.claude/skills/analyzing-data-model/SKILL.md +80 -80
- package/lib/assets/.claude/skills/analyzing-domain-model/SKILL.md +88 -88
- package/lib/assets/.claude/skills/analyzing-inception-deck/SKILL.md +137 -137
- package/lib/assets/.claude/skills/analyzing-non-functional/SKILL.md +91 -91
- package/lib/assets/.claude/skills/analyzing-operation/SKILL.md +91 -91
- package/lib/assets/.claude/skills/analyzing-requirements/SKILL.md +89 -87
- package/lib/assets/.claude/skills/analyzing-tech-stack/SKILL.md +102 -102
- package/lib/assets/.claude/skills/analyzing-test-strategy/SKILL.md +87 -87
- package/lib/assets/.claude/skills/analyzing-ui-design/SKILL.md +86 -86
- package/lib/assets/.claude/skills/analyzing-usecases/SKILL.md +87 -87
- package/lib/assets/.claude/skills/creating-adr/SKILL.md +115 -115
- package/lib/assets/.claude/skills/developing-backend/SKILL.md +106 -106
- package/lib/assets/.claude/skills/developing-frontend/SKILL.md +96 -96
- package/lib/assets/.claude/skills/developing-release/SKILL.md +154 -154
- package/lib/assets/.claude/skills/generating-slides/SKILL.md +136 -136
- package/lib/assets/.claude/skills/git-commit/SKILL.md +106 -106
- package/lib/assets/.claude/skills/killing-processes/SKILL.md +98 -98
- package/lib/assets/.claude/skills/managing-docs/SKILL.md +200 -200
- package/lib/assets/.claude/skills/managing-operations/DEPLOY.md +77 -77
- package/lib/assets/.claude/skills/managing-operations/SETUP_CSHARP.md +80 -80
- package/lib/assets/.claude/skills/managing-operations/SETUP_FRONTEND.md +84 -84
- package/lib/assets/.claude/skills/managing-operations/SETUP_JAVA.md +75 -75
- package/lib/assets/.claude/skills/managing-operations/SKILL.md +156 -156
- package/lib/assets/.claude/skills/orchestrating-analysis/SKILL.md +134 -134
- package/lib/assets/.claude/skills/orchestrating-development/SKILL.md +243 -243
- package/lib/assets/.claude/skills/orchestrating-project/SKILL.md +193 -193
- package/lib/assets/.claude/skills/planning-releases/SKILL.md +222 -222
- package/lib/assets/.claude/skills/tracking-progress/SKILL.md +164 -164
- package/lib/assets/.devcontainer/devcontainer.json +34 -34
- package/lib/assets/.env.example +17 -17
- package/lib/assets/.gitattributes +4 -4
- package/lib/assets/.github/workflows/docker-publish.yml +77 -77
- package/lib/assets/.github/workflows/mkdocs.yml +39 -39
- package/lib/assets/AGENTS.md +94 -94
- package/lib/assets/CLAUDE.md +162 -162
- package/lib/assets/README.md +285 -269
- package/lib/assets/docker-compose.yml +33 -33
- package/lib/assets/docs/assets/css/extra.css +29 -29
- package/lib/assets/docs/assets/js/extra.js +44 -44
- package/lib/assets/docs/index.md +14 -14
- package/lib/assets/docs/reference/CodexCLIMCP/343/202/242/343/203/227/343/203/252/343/202/261/343/203/274/343/202/267/343/203/247/343/203/263/351/226/213/347/231/272/343/203/225/343/203/255/343/203/274.md +532 -532
- package/lib/assets/docs/reference/CodexCLIMCP/343/202/265/343/203/274/343/203/220/343/203/274/350/250/255/345/256/232/346/211/213/351/240/206.md +341 -341
- package/lib/assets/docs/reference/Java/343/202/242/343/203/227/343/203/252/343/202/261/343/203/274/343/202/267/343/203/247/343/203/263/347/222/260/345/242/203/346/247/213/347/257/211/343/202/254/343/202/244/343/203/211.md +578 -578
- package/lib/assets/docs/reference/TypeScript/343/202/242/343/203/227/343/203/252/343/202/261/343/203/274/343/202/267/343/203/247/343/203/263/347/222/260/345/242/203/346/247/213/347/257/211/343/202/254/343/202/244/343/203/211.md +465 -465
- package/lib/assets/docs/reference/UI/350/250/255/350/250/210/343/202/254/343/202/244/343/203/211.md +448 -448
- package/lib/assets/docs/reference//343/202/210/343/201/204/343/202/275/343/203/225/343/203/210/343/202/246/343/202/247/343/202/242/343/201/250/343/201/257.md +242 -242
- package/lib/assets/docs/reference//343/202/242/343/203/274/343/202/255/343/203/206/343/202/257/343/203/201/343/203/243/350/250/255/350/250/210/343/202/254/343/202/244/343/203/211.md +2216 -2216
- package/lib/assets/docs/reference//343/202/244/343/203/263/343/203/225/343/203/251/350/250/255/350/250/210/343/202/254/343/202/244/343/203/211.md +1878 -1878
- package/lib/assets/docs/reference//343/202/250/343/202/257/343/202/271/343/203/210/343/203/252/343/203/274/343/203/240/343/203/227/343/203/255/343/202/260/343/203/251/343/203/237/343/203/263/343/202/260.md +554 -554
- package/lib/assets/docs/reference//343/202/263/343/203/274/343/203/207/343/202/243/343/203/263/343/202/260/343/201/250/343/203/206/343/202/271/343/203/210/343/202/254/343/202/244/343/203/211.md +705 -705
- package/lib/assets/docs/reference//343/203/206/343/202/271/343/203/210/346/210/246/347/225/245/343/202/254/343/202/244/343/203/211.md +1313 -1313
- package/lib/assets/docs/reference//343/203/207/343/203/274/343/202/277/343/203/242/343/203/207/343/203/253/350/250/255/350/250/210/343/202/254/343/202/244/343/203/211.md +311 -311
- package/lib/assets/docs/reference//343/203/211/343/203/241/343/202/244/343/203/263/343/203/242/343/203/207/343/203/253/350/250/255/350/250/210/343/202/254/343/202/244/343/203/211.md +599 -599
- package/lib/assets/docs/reference//343/203/223/343/202/270/343/203/215/343/202/271/343/202/242/343/203/274/343/202/255/343/203/206/343/202/257/343/203/201/343/203/243/345/210/206/346/236/220/343/202/254/343/202/244/343/203/211.md +528 -528
- package/lib/assets/docs/reference//343/203/246/343/203/274/343/202/271/343/202/261/343/203/274/343/202/271/344/275/234/346/210/220/343/202/254/343/202/244/343/203/211.md +682 -682
- package/lib/assets/docs/reference//343/203/252/343/203/252/343/203/274/343/202/271/343/202/254/343/202/244/343/203/211.md +442 -442
- package/lib/assets/docs/reference//343/203/252/343/203/252/343/203/274/343/202/271/343/203/273/343/202/244/343/203/206/343/203/254/343/203/274/343/202/267/343/203/247/343/203/263/350/250/210/347/224/273/343/202/254/343/202/244/343/203/211.md +558 -558
- package/lib/assets/docs/reference//347/222/260/345/242/203/345/244/211/346/225/260/347/256/241/347/220/206/343/202/254/343/202/244/343/203/211.md +663 -663
- package/lib/assets/docs/reference//350/246/201/344/273/266/345/256/232/347/276/251/343/202/254/343/202/244/343/203/211.md +1248 -1248
- package/lib/assets/docs/reference//351/201/213/347/224/250/350/246/201/344/273/266/345/256/232/347/276/251/343/202/254/343/202/244/343/203/211.md +392 -392
- package/lib/assets/docs/reference//351/226/213/347/231/272/343/202/254/343/202/244/343/203/211.md +235 -235
- package/lib/assets/docs/reference//351/235/236/346/251/237/350/203/275/350/246/201/344/273/266/345/256/232/347/276/251/343/202/254/343/202/244/343/203/211.md +1236 -1236
- package/lib/assets/docs/template/ADR.md +30 -30
- package/lib/assets/docs/template/README.md +50 -50
- package/lib/assets/docs/template//343/201/276/343/201/232/343/201/223/343/202/214/343/202/222/350/252/255/343/202/202/343/201/206/343/203/252/343/202/271/343/203/210.md +12 -12
- package/lib/assets/docs/template//343/202/244/343/203/206/343/203/254/343/203/274/343/202/267/343/203/247/343/203/263/345/256/214/344/272/206/345/240/261/345/221/212/346/233/270.md +58 -58
- package/lib/assets/docs/template//343/202/244/343/203/263/343/202/273/343/203/227/343/202/267/343/203/247/343/203/263/343/203/207/343/203/203/343/202/255.md +13 -13
- package/lib/assets/docs/template//343/203/223/343/202/270/343/203/215/343/202/271/343/202/242/343/203/274/343/202/255/343/203/206/343/202/257/343/203/201/343/203/243.md +379 -379
- package/lib/assets/docs/template//345/256/214/345/205/250/345/275/242/345/274/217/343/201/256/343/203/246/343/203/274/343/202/271/343/202/261/343/203/274/343/202/271.md +68 -68
- package/lib/assets/docs/template//350/246/201/344/273/266/345/256/232/347/276/251.md +669 -669
- package/lib/assets/docs/template//350/250/255/350/250/210.md +163 -163
- package/lib/assets/gulpfile.js +23 -23
- package/lib/assets/mkdocs.yml +65 -65
- package/lib/assets/ops/docker/mkdoc/Dockerfile +19 -19
- package/lib/assets/ops/scripts/journal.js +180 -180
- package/lib/assets/ops/scripts/mkdocs.js +82 -82
- package/lib/assets/ops/scripts/release.js +431 -431
- package/lib/assets/ops/scripts/ssh.js +190 -190
- package/lib/assets/ops/scripts/vault.js +299 -299
- package/lib/assets/package-lock.json +1653 -1653
- package/lib/assets/package.json +40 -40
- package/lib/gulpfile.js +37 -37
- package/package.json +41 -41
|
@@ -1,670 +1,670 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: 要件定義 - RDRA
|
|
3
|
-
description:
|
|
4
|
-
published: true
|
|
5
|
-
date: 2025-09-10T01:57:57.816Z
|
|
6
|
-
tags:
|
|
7
|
-
editor: markdown
|
|
8
|
-
dateCreated: 2025-09-02T07:51:23.431Z
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
# 要件定義 - [システム名]
|
|
12
|
-
|
|
13
|
-
## システム価値
|
|
14
|
-
|
|
15
|
-
### システムコンテキスト
|
|
16
|
-
|
|
17
|
-
```plantuml
|
|
18
|
-
@startuml
|
|
19
|
-
|
|
20
|
-
title システムコンテキスト図 - [システム名]
|
|
21
|
-
|
|
22
|
-
left to right direction
|
|
23
|
-
|
|
24
|
-
actor [アクター1名]
|
|
25
|
-
actor [アクター2名]
|
|
26
|
-
|
|
27
|
-
agent [外部システム1名]
|
|
28
|
-
agent [外部システム2名]
|
|
29
|
-
|
|
30
|
-
usecase [システム名]
|
|
31
|
-
note top of [システム名]
|
|
32
|
-
[システムの目的とビジョン説明]
|
|
33
|
-
[提供価値の詳細記述]
|
|
34
|
-
[ステークホルダーへの価値提案]
|
|
35
|
-
end note
|
|
36
|
-
|
|
37
|
-
:[アクター1名]: -- ([システム名])
|
|
38
|
-
:[アクター2名]: -- ([システム名])
|
|
39
|
-
([システム名]) -- [外部システム1名]
|
|
40
|
-
([システム名]) -- [外部システム2名]
|
|
41
|
-
|
|
42
|
-
@enduml
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
### 要求モデル
|
|
46
|
-
|
|
47
|
-
```plantuml
|
|
48
|
-
@startuml
|
|
49
|
-
|
|
50
|
-
title 要求モデル図 - [システム名]
|
|
51
|
-
|
|
52
|
-
left to right direction
|
|
53
|
-
|
|
54
|
-
actor [アクター1名]
|
|
55
|
-
note "[アクター1の要求1]" as a1_r1
|
|
56
|
-
note "[アクター1の要求2]" as a1_r2
|
|
57
|
-
note "[アクター1の要求3]" as a1_r3
|
|
58
|
-
note as a1_dr1 #Turquoise
|
|
59
|
-
[アクター1への派生要求]
|
|
60
|
-
[具体的な実現方法や条件]
|
|
61
|
-
end note
|
|
62
|
-
:[アクター1名]: -- a1_r1
|
|
63
|
-
:[アクター1名]: -- a1_r2
|
|
64
|
-
:[アクター1名]: -- a1_r3
|
|
65
|
-
a1_r1 -- a1_dr1
|
|
66
|
-
a1_r2 -- a1_dr1
|
|
67
|
-
a1_r3 -- a1_dr1
|
|
68
|
-
|
|
69
|
-
actor [アクター2名]
|
|
70
|
-
note "[アクター2の要求1]" as a2_r1
|
|
71
|
-
note "[アクター2の要求2]" as a2_r2
|
|
72
|
-
note "[アクター2の要求3]" as a2_r3
|
|
73
|
-
note as a2_dr1 #Turquoise
|
|
74
|
-
[アクター2への派生要求]
|
|
75
|
-
[具体的な実現方法や条件]
|
|
76
|
-
end note
|
|
77
|
-
:[アクター2名]: -- a2_r1
|
|
78
|
-
:[アクター2名]: -- a2_r2
|
|
79
|
-
:[アクター2名]: -- a2_r3
|
|
80
|
-
a2_r1 -- a2_dr1
|
|
81
|
-
a2_r2 -- a2_dr1
|
|
82
|
-
a2_r3 -- a2_dr1
|
|
83
|
-
|
|
84
|
-
@enduml
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
## システム外部環境
|
|
88
|
-
|
|
89
|
-
### ビジネスコンテキスト
|
|
90
|
-
|
|
91
|
-
```plantuml
|
|
92
|
-
@startuml
|
|
93
|
-
|
|
94
|
-
title ビジネスコンテキスト図 - [システム名]
|
|
95
|
-
|
|
96
|
-
left to right direction
|
|
97
|
-
|
|
98
|
-
actor [外部アクター1]
|
|
99
|
-
actor [外部アクター2]
|
|
100
|
-
|
|
101
|
-
node [組織名] {
|
|
102
|
-
rectangle [部門1名] {
|
|
103
|
-
actor [内部アクター1]
|
|
104
|
-
actor [内部アクター2]
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
rectangle [部門2名] {
|
|
108
|
-
actor [内部アクター3]
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
usecase [業務1名]
|
|
112
|
-
usecase [業務2名]
|
|
113
|
-
usecase [業務3名]
|
|
114
|
-
|
|
115
|
-
artifact [業務資産1]
|
|
116
|
-
artifact [業務資産2]
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
node [外部組織] {
|
|
120
|
-
agent [外部システム1]
|
|
121
|
-
agent [外部システム2]
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
:[外部アクター1]: -- ([業務1名])
|
|
125
|
-
:[外部アクター2]: -- ([業務1名])
|
|
126
|
-
|
|
127
|
-
([業務1名]) -- :[内部アクター1]:
|
|
128
|
-
([業務2名]) -- :[内部アクター2]:
|
|
129
|
-
([業務3名]) -- :[内部アクター3]:
|
|
130
|
-
|
|
131
|
-
([業務1名]) -- [業務資産1]
|
|
132
|
-
([業務2名]) -- [業務資産2]
|
|
133
|
-
|
|
134
|
-
([業務1名]) -- [外部システム1]
|
|
135
|
-
([業務2名]) -- [外部システム2]
|
|
136
|
-
|
|
137
|
-
@enduml
|
|
138
|
-
```
|
|
139
|
-
|
|
140
|
-
### ビジネスユースケース
|
|
141
|
-
|
|
142
|
-
#### [業務1名]
|
|
143
|
-
|
|
144
|
-
```plantuml
|
|
145
|
-
@startuml
|
|
146
|
-
|
|
147
|
-
title ビジネスユースケース図 - [業務1名]
|
|
148
|
-
|
|
149
|
-
left to right direction
|
|
150
|
-
|
|
151
|
-
actor [アクター1]
|
|
152
|
-
actor [アクター2]
|
|
153
|
-
actor [アクター3]
|
|
154
|
-
|
|
155
|
-
agent [業務場所・組織]
|
|
156
|
-
|
|
157
|
-
usecase [BUC1名] as uc_01
|
|
158
|
-
usecase [BUC2名] as uc_02
|
|
159
|
-
usecase [BUC3名] as uc_03
|
|
160
|
-
|
|
161
|
-
artifact [業務資産1] as af_01
|
|
162
|
-
artifact [業務資産2] as af_02
|
|
163
|
-
artifact [業務資産3] as af_03
|
|
164
|
-
|
|
165
|
-
:[アクター1]: -- (uc_01)
|
|
166
|
-
:[アクター1]: -- (uc_02)
|
|
167
|
-
:[アクター2]: -- (uc_02)
|
|
168
|
-
:[アクター2]: -- (uc_03)
|
|
169
|
-
:[アクター3]: -- (uc_03)
|
|
170
|
-
|
|
171
|
-
(uc_01) -- [業務場所・組織]
|
|
172
|
-
(uc_02) -- [業務場所・組織]
|
|
173
|
-
(uc_03) -- [業務場所・組織]
|
|
174
|
-
|
|
175
|
-
(uc_01) -- af_01
|
|
176
|
-
(uc_01) -- af_02
|
|
177
|
-
(uc_02) -- af_02
|
|
178
|
-
(uc_03) -- af_03
|
|
179
|
-
|
|
180
|
-
@enduml
|
|
181
|
-
```
|
|
182
|
-
|
|
183
|
-
#### [業務2名]
|
|
184
|
-
|
|
185
|
-
```plantuml
|
|
186
|
-
@startuml
|
|
187
|
-
|
|
188
|
-
title ビジネスユースケース図 - [業務2名]
|
|
189
|
-
|
|
190
|
-
left to right direction
|
|
191
|
-
|
|
192
|
-
actor [アクター1]
|
|
193
|
-
actor [アクター2]
|
|
194
|
-
|
|
195
|
-
agent [業務場所・組織]
|
|
196
|
-
|
|
197
|
-
usecase [BUC1名] as uc_01
|
|
198
|
-
usecase [BUC2名] as uc_02
|
|
199
|
-
|
|
200
|
-
artifact [業務資産1] as af_01
|
|
201
|
-
artifact [業務資産2] as af_02
|
|
202
|
-
|
|
203
|
-
:[アクター1]: -- (uc_01)
|
|
204
|
-
:[アクター2]: -- (uc_01)
|
|
205
|
-
:[アクター2]: -- (uc_02)
|
|
206
|
-
|
|
207
|
-
(uc_01) -- [業務場所・組織]
|
|
208
|
-
(uc_02) -- [業務場所・組織]
|
|
209
|
-
|
|
210
|
-
(uc_01) -- af_01
|
|
211
|
-
(uc_02) -- af_02
|
|
212
|
-
|
|
213
|
-
@enduml
|
|
214
|
-
```
|
|
215
|
-
|
|
216
|
-
### 業務フロー
|
|
217
|
-
|
|
218
|
-
#### [BUC名1]の業務フロー
|
|
219
|
-
|
|
220
|
-
```plantuml
|
|
221
|
-
@startuml
|
|
222
|
-
|
|
223
|
-
title 業務フロー図 - [BUC名1]
|
|
224
|
-
|
|
225
|
-
|[アクター1]|
|
|
226
|
-
partition [フェーズ1名] {
|
|
227
|
-
:[アクティビティ1];
|
|
228
|
-
:[アクティビティ2];
|
|
229
|
-
:[アクティビティ3];
|
|
230
|
-
}
|
|
231
|
-
|
|
232
|
-
|[アクター2]|
|
|
233
|
-
partition [フェーズ2名] {
|
|
234
|
-
:[アクティビティ4];
|
|
235
|
-
split
|
|
236
|
-
:[アクティビティ5];
|
|
237
|
-
split again
|
|
238
|
-
-> [条件分岐の場合];
|
|
239
|
-
:[代替アクティビティ];
|
|
240
|
-
stop
|
|
241
|
-
end split
|
|
242
|
-
:[アクティビティ6];
|
|
243
|
-
}
|
|
244
|
-
|
|
245
|
-
|[アクター1]|
|
|
246
|
-
partition [フェーズ3名] {
|
|
247
|
-
:[アクティビティ7];
|
|
248
|
-
:[アクティビティ8];
|
|
249
|
-
}
|
|
250
|
-
stop
|
|
251
|
-
|
|
252
|
-
@enduml
|
|
253
|
-
```
|
|
254
|
-
|
|
255
|
-
#### [BUC名2]の業務フロー
|
|
256
|
-
|
|
257
|
-
```plantuml
|
|
258
|
-
@startuml
|
|
259
|
-
|
|
260
|
-
title 業務フロー図 - [BUC名2]
|
|
261
|
-
|
|
262
|
-
|[アクター1]|
|
|
263
|
-
start
|
|
264
|
-
:[アクティビティ1];
|
|
265
|
-
:[アクティビティ2];
|
|
266
|
-
|
|
267
|
-
|[アクター2]|
|
|
268
|
-
:[アクティビティ3];
|
|
269
|
-
if ([判定条件]?) then (yes)
|
|
270
|
-
:[アクティビティ4];
|
|
271
|
-
else (no)
|
|
272
|
-
:[アクティビティ5];
|
|
273
|
-
endif
|
|
274
|
-
|
|
275
|
-
|[アクター1]|
|
|
276
|
-
:[アクティビティ6];
|
|
277
|
-
stop
|
|
278
|
-
|
|
279
|
-
@enduml
|
|
280
|
-
```
|
|
281
|
-
|
|
282
|
-
### 利用シーン
|
|
283
|
-
|
|
284
|
-
#### [BUC名1]の利用シーン
|
|
285
|
-
|
|
286
|
-
```plantuml
|
|
287
|
-
@startuml
|
|
288
|
-
|
|
289
|
-
title 利用シーン図 - [BUC名1]
|
|
290
|
-
|
|
291
|
-
left to right direction
|
|
292
|
-
|
|
293
|
-
actor [アクター1]
|
|
294
|
-
actor [アクター2]
|
|
295
|
-
|
|
296
|
-
frame [利用シーン1名]
|
|
297
|
-
note right of [利用シーン1名]
|
|
298
|
-
[利用シーンの背景・目的]
|
|
299
|
-
[具体的な利用状況の説明]
|
|
300
|
-
[期待される効果・価値]
|
|
301
|
-
[制約条件や前提条件]
|
|
302
|
-
end note
|
|
303
|
-
|
|
304
|
-
frame [利用シーン2名]
|
|
305
|
-
note right of [利用シーン2名]
|
|
306
|
-
[利用シーンの背景・目的]
|
|
307
|
-
[具体的な利用状況の説明]
|
|
308
|
-
[期待される効果・価値]
|
|
309
|
-
[制約条件や前提条件]
|
|
310
|
-
end note
|
|
311
|
-
|
|
312
|
-
usecase [UC名1]
|
|
313
|
-
usecase [UC名2]
|
|
314
|
-
usecase [UC名3]
|
|
315
|
-
|
|
316
|
-
:[アクター1]: -- [利用シーン1名]
|
|
317
|
-
:[アクター2]: -- [利用シーン1名]
|
|
318
|
-
[利用シーン1名] -- ([UC名1])
|
|
319
|
-
[利用シーン1名] -- ([UC名2])
|
|
320
|
-
|
|
321
|
-
:[アクター2]: -- [利用シーン2名]
|
|
322
|
-
[利用シーン2名] -- ([UC名3])
|
|
323
|
-
|
|
324
|
-
@enduml
|
|
325
|
-
```
|
|
326
|
-
|
|
327
|
-
#### [BUC名2]の利用シーン
|
|
328
|
-
|
|
329
|
-
```plantuml
|
|
330
|
-
@startuml
|
|
331
|
-
|
|
332
|
-
title 利用シーン図 - [BUC名2]
|
|
333
|
-
|
|
334
|
-
left to right direction
|
|
335
|
-
|
|
336
|
-
actor [アクター1]
|
|
337
|
-
actor [アクター2]
|
|
338
|
-
|
|
339
|
-
frame [利用シーン名]
|
|
340
|
-
note right of [利用シーン名]
|
|
341
|
-
[利用シーンの背景・目的]
|
|
342
|
-
[具体的な利用状況の説明]
|
|
343
|
-
[期待される効果・価値]
|
|
344
|
-
[制約条件や前提条件]
|
|
345
|
-
end note
|
|
346
|
-
|
|
347
|
-
usecase [UC名1]
|
|
348
|
-
usecase [UC名2]
|
|
349
|
-
|
|
350
|
-
:[アクター1]: -- [利用シーン名]
|
|
351
|
-
:[アクター2]: -- [利用シーン名]
|
|
352
|
-
[利用シーン名] -- ([UC名1])
|
|
353
|
-
[利用シーン名] -- ([UC名2])
|
|
354
|
-
|
|
355
|
-
@enduml
|
|
356
|
-
```
|
|
357
|
-
|
|
358
|
-
### バリエーション・条件
|
|
359
|
-
|
|
360
|
-
#### [分類軸1名]
|
|
361
|
-
|
|
362
|
-
| [分類名] | 説明 |
|
|
363
|
-
|----------|------|
|
|
364
|
-
| [分類値1] | [分類値1の説明] |
|
|
365
|
-
| [分類値2] | [分類値2の説明] |
|
|
366
|
-
| [分類値3] | [分類値3の説明] |
|
|
367
|
-
|
|
368
|
-
#### [分類軸2名]
|
|
369
|
-
|
|
370
|
-
| [分類名] | 説明 |
|
|
371
|
-
|----------|------|
|
|
372
|
-
| [分類値1] | [分類値1の説明] |
|
|
373
|
-
| [分類値2] | [分類値2の説明] |
|
|
374
|
-
|
|
375
|
-
#### [分類軸3名]
|
|
376
|
-
|
|
377
|
-
| [分類名] | 説明 |
|
|
378
|
-
|----------|------|
|
|
379
|
-
| [分類値1] | [分類値1の説明] |
|
|
380
|
-
| [分類値2] | [分類値2の説明] |
|
|
381
|
-
| [分類値3] | [分類値3の説明] |
|
|
382
|
-
|
|
383
|
-
## システム境界
|
|
384
|
-
|
|
385
|
-
### ユースケース複合図
|
|
386
|
-
|
|
387
|
-
#### [BUC名1]
|
|
388
|
-
|
|
389
|
-
```plantuml
|
|
390
|
-
@startuml
|
|
391
|
-
|
|
392
|
-
title ユースケース複合図 - [BUC名1]
|
|
393
|
-
|
|
394
|
-
left to right direction
|
|
395
|
-
|
|
396
|
-
actor [アクター1] as user
|
|
397
|
-
actor [アクター2] as admin
|
|
398
|
-
|
|
399
|
-
frame "[利用シーン1名]" as f01
|
|
400
|
-
usecase "[UC名1]" as UC1
|
|
401
|
-
usecase "[UC名2]" as UC2
|
|
402
|
-
boundary "[画面名1]" as b01
|
|
403
|
-
boundary "[画面名2]" as b02
|
|
404
|
-
entity "[情報名1]" as e01
|
|
405
|
-
entity "[情報名2]" as e02
|
|
406
|
-
control "[条件名1]" as c01
|
|
407
|
-
control "[条件名2]" as c02
|
|
408
|
-
|
|
409
|
-
user -- f01
|
|
410
|
-
f01 -- UC1
|
|
411
|
-
f01 -- UC2
|
|
412
|
-
|
|
413
|
-
b01 -- UC1
|
|
414
|
-
UC1 -- e01
|
|
415
|
-
UC1 -- c01
|
|
416
|
-
|
|
417
|
-
b02 -- UC2
|
|
418
|
-
UC2 -- e02
|
|
419
|
-
UC2 -- c02
|
|
420
|
-
|
|
421
|
-
frame "[利用シーン2名]" as f02
|
|
422
|
-
usecase "[UC名3]" as UC3
|
|
423
|
-
boundary "[画面名3]" as b03
|
|
424
|
-
entity "[情報名3]" as e03
|
|
425
|
-
control "[条件名3]" as c03
|
|
426
|
-
|
|
427
|
-
admin -- f02
|
|
428
|
-
f02 -- UC3
|
|
429
|
-
b03 -- UC3
|
|
430
|
-
UC3 -- e03
|
|
431
|
-
UC3 -- c03
|
|
432
|
-
|
|
433
|
-
@enduml
|
|
434
|
-
```
|
|
435
|
-
|
|
436
|
-
#### [BUC名2]
|
|
437
|
-
|
|
438
|
-
```plantuml
|
|
439
|
-
@startuml
|
|
440
|
-
|
|
441
|
-
title ユースケース複合図 - [BUC名2]
|
|
442
|
-
|
|
443
|
-
left to right direction
|
|
444
|
-
|
|
445
|
-
actor [アクター1] as user
|
|
446
|
-
|
|
447
|
-
frame "[利用シーン名]" as f01
|
|
448
|
-
usecase "[UC名1]" as UC1
|
|
449
|
-
usecase "[UC名2]" as UC2
|
|
450
|
-
boundary "[画面名1]" as b01
|
|
451
|
-
boundary "[画面名2]" as b02
|
|
452
|
-
entity "[情報名1]" as e01
|
|
453
|
-
entity "[情報名2]" as e02
|
|
454
|
-
control "[条件名1]" as c01
|
|
455
|
-
interface "[イベント名1]" as i01
|
|
456
|
-
|
|
457
|
-
user -- f01
|
|
458
|
-
f01 -- UC1
|
|
459
|
-
f01 -- UC2
|
|
460
|
-
|
|
461
|
-
b01 -- UC1
|
|
462
|
-
UC1 -- e01
|
|
463
|
-
UC1 -- c01
|
|
464
|
-
|
|
465
|
-
b02 -- UC2
|
|
466
|
-
UC2 -- e02
|
|
467
|
-
UC2 -- i01
|
|
468
|
-
|
|
469
|
-
@enduml
|
|
470
|
-
```
|
|
471
|
-
|
|
472
|
-
## システム
|
|
473
|
-
|
|
474
|
-
### 情報モデル
|
|
475
|
-
|
|
476
|
-
```plantuml
|
|
477
|
-
@startuml
|
|
478
|
-
|
|
479
|
-
title 情報モデル図 - [システム名]
|
|
480
|
-
|
|
481
|
-
left to right direction
|
|
482
|
-
|
|
483
|
-
' [エンティティ群1名]関連
|
|
484
|
-
entity [情報名1]
|
|
485
|
-
entity [情報名2]
|
|
486
|
-
entity [情報名3]
|
|
487
|
-
|
|
488
|
-
' [エンティティ群2名]関連
|
|
489
|
-
entity [情報名4]
|
|
490
|
-
entity [情報名5]
|
|
491
|
-
entity [情報名6]
|
|
492
|
-
|
|
493
|
-
' [エンティティ群3名]関連
|
|
494
|
-
entity [情報名7]
|
|
495
|
-
entity [情報名8]
|
|
496
|
-
|
|
497
|
-
' [エンティティ群4名]関連
|
|
498
|
-
entity [情報名9]
|
|
499
|
-
entity [情報名10]
|
|
500
|
-
|
|
501
|
-
' 関連付け
|
|
502
|
-
[情報名1] -- [情報名2]
|
|
503
|
-
[情報名2] -- [情報名3]
|
|
504
|
-
|
|
505
|
-
[情報名4] -- [情報名1]
|
|
506
|
-
[情報名5] -- [情報名4]
|
|
507
|
-
[情報名6] -- [情報名4]
|
|
508
|
-
|
|
509
|
-
[情報名7] -- [情報名5]
|
|
510
|
-
[情報名8] -- [情報名5]
|
|
511
|
-
|
|
512
|
-
[情報名9] -- [情報名1]
|
|
513
|
-
[情報名10] -- [情報名1]
|
|
514
|
-
|
|
515
|
-
@enduml
|
|
516
|
-
```
|
|
517
|
-
|
|
518
|
-
### 状態モデル
|
|
519
|
-
|
|
520
|
-
#### [情報名1]の状態遷移
|
|
521
|
-
|
|
522
|
-
```plantuml
|
|
523
|
-
@startuml
|
|
524
|
-
[*] --> 初期
|
|
525
|
-
|
|
526
|
-
初期 --> 状態1 : UC1
|
|
527
|
-
|
|
528
|
-
state 状態1 {
|
|
529
|
-
[*] --> 子状態1
|
|
530
|
-
子状態1 --> 子状態2 : UC2
|
|
531
|
-
子状態2 --> 子状態1 : UC3
|
|
532
|
-
}
|
|
533
|
-
|
|
534
|
-
状態1 --> 状態2 : UC4
|
|
535
|
-
状態2 --> 状態1 : UC5
|
|
536
|
-
|
|
537
|
-
状態1 --> 終了 : UC6
|
|
538
|
-
状態2 --> 終了 : UC7
|
|
539
|
-
終了 --> [*]
|
|
540
|
-
@enduml
|
|
541
|
-
```
|
|
542
|
-
|
|
543
|
-
#### [情報名2]の状態遷移
|
|
544
|
-
|
|
545
|
-
```plantuml
|
|
546
|
-
@startuml
|
|
547
|
-
title 情報名2の状態遷移図
|
|
548
|
-
|
|
549
|
-
[*] --> 初期 : UC1
|
|
550
|
-
|
|
551
|
-
初期 --> 状態1 : UC2
|
|
552
|
-
状態1 --> 状態2 : UC3
|
|
553
|
-
状態2 --> 状態3 : UC4
|
|
554
|
-
状態2 --> 状態4 : UC5
|
|
555
|
-
状態4 --> 状態3 : UC6
|
|
556
|
-
|
|
557
|
-
状態3 --> 終了 : UC7
|
|
558
|
-
|
|
559
|
-
状態1 --> キャンセル : UC8
|
|
560
|
-
状態2 --> キャンセル : UC9
|
|
561
|
-
キャンセル --> [*]
|
|
562
|
-
終了 --> [*]
|
|
563
|
-
@enduml
|
|
564
|
-
```
|
|
565
|
-
|
|
566
|
-
---
|
|
567
|
-
|
|
568
|
-
## 記入ガイド
|
|
569
|
-
|
|
570
|
-
### 1. システムコンテキスト図の記入方法
|
|
571
|
-
|
|
572
|
-
- **[システム名]**: 開発対象システムの名前
|
|
573
|
-
- **[アクター名]**: システムを利用する人や組織
|
|
574
|
-
- **[外部システム名]**: 連携する外部システムやサービス
|
|
575
|
-
- **システムの目的とビジョン**: システムが解決する課題と提供価値を簡潔に記述
|
|
576
|
-
|
|
577
|
-
### 2. 要求モデル図の記入方法
|
|
578
|
-
|
|
579
|
-
- **[アクターの要求]**: 各アクターがシステムに求めること
|
|
580
|
-
- **[派生要求]**: 複数の要求から導出される具体的な要件
|
|
581
|
-
- 要求は「〜したい」形式で記述
|
|
582
|
-
- 派生要求は「〜できること」形式で記述
|
|
583
|
-
|
|
584
|
-
### 3. ビジネスコンテキスト図の記入方法
|
|
585
|
-
|
|
586
|
-
- **[組織名]**: システムを利用する組織全体
|
|
587
|
-
- **[部門名]**: 組織内の各部門
|
|
588
|
-
- **[業務名]**: 各部門で行われる業務
|
|
589
|
-
- **[業務資産]**: 業務で扱う重要な物理的・情報的資産
|
|
590
|
-
- **[外部組織]**: 連携する外部の組織やシステム
|
|
591
|
-
|
|
592
|
-
### 4. ビジネスユースケース図の記入方法
|
|
593
|
-
|
|
594
|
-
- **[BUC名]**: ビジネスユースケース(業務の作業単位)
|
|
595
|
-
- 業務を実行する場所や組織をagentで表現
|
|
596
|
-
- 業務で扱う資産をartifactで表現
|
|
597
|
-
- BUCは動詞形で記述(例:「商品を登録する」)
|
|
598
|
-
|
|
599
|
-
### 5. 業務フロー図の記入方法
|
|
600
|
-
|
|
601
|
-
- **[アクティビティ名]**: BUCを構成する具体的な作業
|
|
602
|
-
- **[フェーズ名]**: 作業のまとまりやグループ
|
|
603
|
-
- **[判定条件]**: 業務の分岐点での判定基準
|
|
604
|
-
- レーン(|アクター|)でアクターごとの責任を明確化
|
|
605
|
-
- partitionで作業フェーズを整理
|
|
606
|
-
- split/split againで並行処理や条件分岐を表現
|
|
607
|
-
- アクティビティは動詞形で記述
|
|
608
|
-
|
|
609
|
-
### 6. 利用シーン図の記入方法
|
|
610
|
-
|
|
611
|
-
- **[利用シーン名]**: システムが利用される具体的な場面
|
|
612
|
-
- **利用シーンの説明**: 背景、目的、期待効果、制約条件
|
|
613
|
-
- frameで利用シーンをグループ化
|
|
614
|
-
- noteで詳細な説明を付加
|
|
615
|
-
- 利用シーンからUCへの関連を明示
|
|
616
|
-
- ステークホルダーの視点で記述
|
|
617
|
-
|
|
618
|
-
### 7. ユースケース複合図の記入方法
|
|
619
|
-
|
|
620
|
-
- **[UC名]**: システムユースケース(システム機能)
|
|
621
|
-
- **[画面名]**: ユーザーインターフェース(boundary)
|
|
622
|
-
- **[情報名]**: システムが管理するデータ(entity)
|
|
623
|
-
- **[条件名]**: システムの動作条件(control)
|
|
624
|
-
- **[イベント名]**: 外部との連携点(interface)
|
|
625
|
-
- **[利用シーン名]**: UCが実行される具体的な場面(frame)
|
|
626
|
-
|
|
627
|
-
### 8. 情報モデル図の記入方法
|
|
628
|
-
|
|
629
|
-
- **[情報名]**: システムが管理するエンティティ
|
|
630
|
-
- 関連線で情報間の関係を表現
|
|
631
|
-
- エンティティ群ごとにコメントで分類
|
|
632
|
-
- ビジネス概念をそのまま情報名に使用
|
|
633
|
-
|
|
634
|
-
### 9. 状態モデル図の記入方法
|
|
635
|
-
|
|
636
|
-
- **[状態名]**: 情報が取りうる状態
|
|
637
|
-
- **[UC名]**: 状態を変更するユースケース
|
|
638
|
-
- 複合状態は state {} で表現
|
|
639
|
-
- 各状態にはnoteで説明を付加
|
|
640
|
-
- 状態名は名詞形で記述
|
|
641
|
-
|
|
642
|
-
### 10. バリエーション・条件の記入方法
|
|
643
|
-
|
|
644
|
-
- **[分類軸名]**: ビジネス上重要な区分の軸
|
|
645
|
-
- **[分類値]**: 各軸での具体的な値
|
|
646
|
-
- システムの動作を左右する重要な区分を定義
|
|
647
|
-
- 将来の拡張性を考慮した分類を設定
|
|
648
|
-
|
|
649
|
-
### 11. 記入時の注意点
|
|
650
|
-
|
|
651
|
-
1. **段階的詳細化**: 最初は大まかに記入し、徐々に詳細化
|
|
652
|
-
2. **一貫性の確保**: 図間での用語統一と関連性の整合性
|
|
653
|
-
3. **ステークホルダー視点**: 業務担当者が理解できる用語を使用
|
|
654
|
-
4. **トレーサビリティ**: 上位要求から下位実装までの追跡可能性
|
|
655
|
-
5. **適切な抽象化レベル**: 設計詳細ではなく要件レベルで記述
|
|
656
|
-
|
|
657
|
-
### 12. PlantUML記法の基本
|
|
658
|
-
|
|
659
|
-
- `actor`: 人や組織
|
|
660
|
-
- `usecase`: システムや業務
|
|
661
|
-
- `agent`: 外部システムや場所
|
|
662
|
-
- `entity`: 情報やデータ
|
|
663
|
-
- `boundary`: 画面や入出力
|
|
664
|
-
- `control`: 条件や制御
|
|
665
|
-
- `interface`: イベントや通信
|
|
666
|
-
- `frame`: 利用シーンやグループ化
|
|
667
|
-
- `artifact`: 物理的資産や成果物
|
|
668
|
-
- `note`: 説明文
|
|
669
|
-
|
|
1
|
+
---
|
|
2
|
+
title: 要件定義 - RDRA
|
|
3
|
+
description:
|
|
4
|
+
published: true
|
|
5
|
+
date: 2025-09-10T01:57:57.816Z
|
|
6
|
+
tags:
|
|
7
|
+
editor: markdown
|
|
8
|
+
dateCreated: 2025-09-02T07:51:23.431Z
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# 要件定義 - [システム名]
|
|
12
|
+
|
|
13
|
+
## システム価値
|
|
14
|
+
|
|
15
|
+
### システムコンテキスト
|
|
16
|
+
|
|
17
|
+
```plantuml
|
|
18
|
+
@startuml
|
|
19
|
+
|
|
20
|
+
title システムコンテキスト図 - [システム名]
|
|
21
|
+
|
|
22
|
+
left to right direction
|
|
23
|
+
|
|
24
|
+
actor [アクター1名]
|
|
25
|
+
actor [アクター2名]
|
|
26
|
+
|
|
27
|
+
agent [外部システム1名]
|
|
28
|
+
agent [外部システム2名]
|
|
29
|
+
|
|
30
|
+
usecase [システム名]
|
|
31
|
+
note top of [システム名]
|
|
32
|
+
[システムの目的とビジョン説明]
|
|
33
|
+
[提供価値の詳細記述]
|
|
34
|
+
[ステークホルダーへの価値提案]
|
|
35
|
+
end note
|
|
36
|
+
|
|
37
|
+
:[アクター1名]: -- ([システム名])
|
|
38
|
+
:[アクター2名]: -- ([システム名])
|
|
39
|
+
([システム名]) -- [外部システム1名]
|
|
40
|
+
([システム名]) -- [外部システム2名]
|
|
41
|
+
|
|
42
|
+
@enduml
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### 要求モデル
|
|
46
|
+
|
|
47
|
+
```plantuml
|
|
48
|
+
@startuml
|
|
49
|
+
|
|
50
|
+
title 要求モデル図 - [システム名]
|
|
51
|
+
|
|
52
|
+
left to right direction
|
|
53
|
+
|
|
54
|
+
actor [アクター1名]
|
|
55
|
+
note "[アクター1の要求1]" as a1_r1
|
|
56
|
+
note "[アクター1の要求2]" as a1_r2
|
|
57
|
+
note "[アクター1の要求3]" as a1_r3
|
|
58
|
+
note as a1_dr1 #Turquoise
|
|
59
|
+
[アクター1への派生要求]
|
|
60
|
+
[具体的な実現方法や条件]
|
|
61
|
+
end note
|
|
62
|
+
:[アクター1名]: -- a1_r1
|
|
63
|
+
:[アクター1名]: -- a1_r2
|
|
64
|
+
:[アクター1名]: -- a1_r3
|
|
65
|
+
a1_r1 -- a1_dr1
|
|
66
|
+
a1_r2 -- a1_dr1
|
|
67
|
+
a1_r3 -- a1_dr1
|
|
68
|
+
|
|
69
|
+
actor [アクター2名]
|
|
70
|
+
note "[アクター2の要求1]" as a2_r1
|
|
71
|
+
note "[アクター2の要求2]" as a2_r2
|
|
72
|
+
note "[アクター2の要求3]" as a2_r3
|
|
73
|
+
note as a2_dr1 #Turquoise
|
|
74
|
+
[アクター2への派生要求]
|
|
75
|
+
[具体的な実現方法や条件]
|
|
76
|
+
end note
|
|
77
|
+
:[アクター2名]: -- a2_r1
|
|
78
|
+
:[アクター2名]: -- a2_r2
|
|
79
|
+
:[アクター2名]: -- a2_r3
|
|
80
|
+
a2_r1 -- a2_dr1
|
|
81
|
+
a2_r2 -- a2_dr1
|
|
82
|
+
a2_r3 -- a2_dr1
|
|
83
|
+
|
|
84
|
+
@enduml
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
## システム外部環境
|
|
88
|
+
|
|
89
|
+
### ビジネスコンテキスト
|
|
90
|
+
|
|
91
|
+
```plantuml
|
|
92
|
+
@startuml
|
|
93
|
+
|
|
94
|
+
title ビジネスコンテキスト図 - [システム名]
|
|
95
|
+
|
|
96
|
+
left to right direction
|
|
97
|
+
|
|
98
|
+
actor [外部アクター1]
|
|
99
|
+
actor [外部アクター2]
|
|
100
|
+
|
|
101
|
+
node [組織名] {
|
|
102
|
+
rectangle [部門1名] {
|
|
103
|
+
actor [内部アクター1]
|
|
104
|
+
actor [内部アクター2]
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
rectangle [部門2名] {
|
|
108
|
+
actor [内部アクター3]
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
usecase [業務1名]
|
|
112
|
+
usecase [業務2名]
|
|
113
|
+
usecase [業務3名]
|
|
114
|
+
|
|
115
|
+
artifact [業務資産1]
|
|
116
|
+
artifact [業務資産2]
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
node [外部組織] {
|
|
120
|
+
agent [外部システム1]
|
|
121
|
+
agent [外部システム2]
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
:[外部アクター1]: -- ([業務1名])
|
|
125
|
+
:[外部アクター2]: -- ([業務1名])
|
|
126
|
+
|
|
127
|
+
([業務1名]) -- :[内部アクター1]:
|
|
128
|
+
([業務2名]) -- :[内部アクター2]:
|
|
129
|
+
([業務3名]) -- :[内部アクター3]:
|
|
130
|
+
|
|
131
|
+
([業務1名]) -- [業務資産1]
|
|
132
|
+
([業務2名]) -- [業務資産2]
|
|
133
|
+
|
|
134
|
+
([業務1名]) -- [外部システム1]
|
|
135
|
+
([業務2名]) -- [外部システム2]
|
|
136
|
+
|
|
137
|
+
@enduml
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
### ビジネスユースケース
|
|
141
|
+
|
|
142
|
+
#### [業務1名]
|
|
143
|
+
|
|
144
|
+
```plantuml
|
|
145
|
+
@startuml
|
|
146
|
+
|
|
147
|
+
title ビジネスユースケース図 - [業務1名]
|
|
148
|
+
|
|
149
|
+
left to right direction
|
|
150
|
+
|
|
151
|
+
actor [アクター1]
|
|
152
|
+
actor [アクター2]
|
|
153
|
+
actor [アクター3]
|
|
154
|
+
|
|
155
|
+
agent [業務場所・組織]
|
|
156
|
+
|
|
157
|
+
usecase [BUC1名] as uc_01
|
|
158
|
+
usecase [BUC2名] as uc_02
|
|
159
|
+
usecase [BUC3名] as uc_03
|
|
160
|
+
|
|
161
|
+
artifact [業務資産1] as af_01
|
|
162
|
+
artifact [業務資産2] as af_02
|
|
163
|
+
artifact [業務資産3] as af_03
|
|
164
|
+
|
|
165
|
+
:[アクター1]: -- (uc_01)
|
|
166
|
+
:[アクター1]: -- (uc_02)
|
|
167
|
+
:[アクター2]: -- (uc_02)
|
|
168
|
+
:[アクター2]: -- (uc_03)
|
|
169
|
+
:[アクター3]: -- (uc_03)
|
|
170
|
+
|
|
171
|
+
(uc_01) -- [業務場所・組織]
|
|
172
|
+
(uc_02) -- [業務場所・組織]
|
|
173
|
+
(uc_03) -- [業務場所・組織]
|
|
174
|
+
|
|
175
|
+
(uc_01) -- af_01
|
|
176
|
+
(uc_01) -- af_02
|
|
177
|
+
(uc_02) -- af_02
|
|
178
|
+
(uc_03) -- af_03
|
|
179
|
+
|
|
180
|
+
@enduml
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
#### [業務2名]
|
|
184
|
+
|
|
185
|
+
```plantuml
|
|
186
|
+
@startuml
|
|
187
|
+
|
|
188
|
+
title ビジネスユースケース図 - [業務2名]
|
|
189
|
+
|
|
190
|
+
left to right direction
|
|
191
|
+
|
|
192
|
+
actor [アクター1]
|
|
193
|
+
actor [アクター2]
|
|
194
|
+
|
|
195
|
+
agent [業務場所・組織]
|
|
196
|
+
|
|
197
|
+
usecase [BUC1名] as uc_01
|
|
198
|
+
usecase [BUC2名] as uc_02
|
|
199
|
+
|
|
200
|
+
artifact [業務資産1] as af_01
|
|
201
|
+
artifact [業務資産2] as af_02
|
|
202
|
+
|
|
203
|
+
:[アクター1]: -- (uc_01)
|
|
204
|
+
:[アクター2]: -- (uc_01)
|
|
205
|
+
:[アクター2]: -- (uc_02)
|
|
206
|
+
|
|
207
|
+
(uc_01) -- [業務場所・組織]
|
|
208
|
+
(uc_02) -- [業務場所・組織]
|
|
209
|
+
|
|
210
|
+
(uc_01) -- af_01
|
|
211
|
+
(uc_02) -- af_02
|
|
212
|
+
|
|
213
|
+
@enduml
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
### 業務フロー
|
|
217
|
+
|
|
218
|
+
#### [BUC名1]の業務フロー
|
|
219
|
+
|
|
220
|
+
```plantuml
|
|
221
|
+
@startuml
|
|
222
|
+
|
|
223
|
+
title 業務フロー図 - [BUC名1]
|
|
224
|
+
|
|
225
|
+
|[アクター1]|
|
|
226
|
+
partition [フェーズ1名] {
|
|
227
|
+
:[アクティビティ1];
|
|
228
|
+
:[アクティビティ2];
|
|
229
|
+
:[アクティビティ3];
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
|[アクター2]|
|
|
233
|
+
partition [フェーズ2名] {
|
|
234
|
+
:[アクティビティ4];
|
|
235
|
+
split
|
|
236
|
+
:[アクティビティ5];
|
|
237
|
+
split again
|
|
238
|
+
-> [条件分岐の場合];
|
|
239
|
+
:[代替アクティビティ];
|
|
240
|
+
stop
|
|
241
|
+
end split
|
|
242
|
+
:[アクティビティ6];
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
|[アクター1]|
|
|
246
|
+
partition [フェーズ3名] {
|
|
247
|
+
:[アクティビティ7];
|
|
248
|
+
:[アクティビティ8];
|
|
249
|
+
}
|
|
250
|
+
stop
|
|
251
|
+
|
|
252
|
+
@enduml
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
#### [BUC名2]の業務フロー
|
|
256
|
+
|
|
257
|
+
```plantuml
|
|
258
|
+
@startuml
|
|
259
|
+
|
|
260
|
+
title 業務フロー図 - [BUC名2]
|
|
261
|
+
|
|
262
|
+
|[アクター1]|
|
|
263
|
+
start
|
|
264
|
+
:[アクティビティ1];
|
|
265
|
+
:[アクティビティ2];
|
|
266
|
+
|
|
267
|
+
|[アクター2]|
|
|
268
|
+
:[アクティビティ3];
|
|
269
|
+
if ([判定条件]?) then (yes)
|
|
270
|
+
:[アクティビティ4];
|
|
271
|
+
else (no)
|
|
272
|
+
:[アクティビティ5];
|
|
273
|
+
endif
|
|
274
|
+
|
|
275
|
+
|[アクター1]|
|
|
276
|
+
:[アクティビティ6];
|
|
277
|
+
stop
|
|
278
|
+
|
|
279
|
+
@enduml
|
|
280
|
+
```
|
|
281
|
+
|
|
282
|
+
### 利用シーン
|
|
283
|
+
|
|
284
|
+
#### [BUC名1]の利用シーン
|
|
285
|
+
|
|
286
|
+
```plantuml
|
|
287
|
+
@startuml
|
|
288
|
+
|
|
289
|
+
title 利用シーン図 - [BUC名1]
|
|
290
|
+
|
|
291
|
+
left to right direction
|
|
292
|
+
|
|
293
|
+
actor [アクター1]
|
|
294
|
+
actor [アクター2]
|
|
295
|
+
|
|
296
|
+
frame [利用シーン1名]
|
|
297
|
+
note right of [利用シーン1名]
|
|
298
|
+
[利用シーンの背景・目的]
|
|
299
|
+
[具体的な利用状況の説明]
|
|
300
|
+
[期待される効果・価値]
|
|
301
|
+
[制約条件や前提条件]
|
|
302
|
+
end note
|
|
303
|
+
|
|
304
|
+
frame [利用シーン2名]
|
|
305
|
+
note right of [利用シーン2名]
|
|
306
|
+
[利用シーンの背景・目的]
|
|
307
|
+
[具体的な利用状況の説明]
|
|
308
|
+
[期待される効果・価値]
|
|
309
|
+
[制約条件や前提条件]
|
|
310
|
+
end note
|
|
311
|
+
|
|
312
|
+
usecase [UC名1]
|
|
313
|
+
usecase [UC名2]
|
|
314
|
+
usecase [UC名3]
|
|
315
|
+
|
|
316
|
+
:[アクター1]: -- [利用シーン1名]
|
|
317
|
+
:[アクター2]: -- [利用シーン1名]
|
|
318
|
+
[利用シーン1名] -- ([UC名1])
|
|
319
|
+
[利用シーン1名] -- ([UC名2])
|
|
320
|
+
|
|
321
|
+
:[アクター2]: -- [利用シーン2名]
|
|
322
|
+
[利用シーン2名] -- ([UC名3])
|
|
323
|
+
|
|
324
|
+
@enduml
|
|
325
|
+
```
|
|
326
|
+
|
|
327
|
+
#### [BUC名2]の利用シーン
|
|
328
|
+
|
|
329
|
+
```plantuml
|
|
330
|
+
@startuml
|
|
331
|
+
|
|
332
|
+
title 利用シーン図 - [BUC名2]
|
|
333
|
+
|
|
334
|
+
left to right direction
|
|
335
|
+
|
|
336
|
+
actor [アクター1]
|
|
337
|
+
actor [アクター2]
|
|
338
|
+
|
|
339
|
+
frame [利用シーン名]
|
|
340
|
+
note right of [利用シーン名]
|
|
341
|
+
[利用シーンの背景・目的]
|
|
342
|
+
[具体的な利用状況の説明]
|
|
343
|
+
[期待される効果・価値]
|
|
344
|
+
[制約条件や前提条件]
|
|
345
|
+
end note
|
|
346
|
+
|
|
347
|
+
usecase [UC名1]
|
|
348
|
+
usecase [UC名2]
|
|
349
|
+
|
|
350
|
+
:[アクター1]: -- [利用シーン名]
|
|
351
|
+
:[アクター2]: -- [利用シーン名]
|
|
352
|
+
[利用シーン名] -- ([UC名1])
|
|
353
|
+
[利用シーン名] -- ([UC名2])
|
|
354
|
+
|
|
355
|
+
@enduml
|
|
356
|
+
```
|
|
357
|
+
|
|
358
|
+
### バリエーション・条件
|
|
359
|
+
|
|
360
|
+
#### [分類軸1名]
|
|
361
|
+
|
|
362
|
+
| [分類名] | 説明 |
|
|
363
|
+
|----------|------|
|
|
364
|
+
| [分類値1] | [分類値1の説明] |
|
|
365
|
+
| [分類値2] | [分類値2の説明] |
|
|
366
|
+
| [分類値3] | [分類値3の説明] |
|
|
367
|
+
|
|
368
|
+
#### [分類軸2名]
|
|
369
|
+
|
|
370
|
+
| [分類名] | 説明 |
|
|
371
|
+
|----------|------|
|
|
372
|
+
| [分類値1] | [分類値1の説明] |
|
|
373
|
+
| [分類値2] | [分類値2の説明] |
|
|
374
|
+
|
|
375
|
+
#### [分類軸3名]
|
|
376
|
+
|
|
377
|
+
| [分類名] | 説明 |
|
|
378
|
+
|----------|------|
|
|
379
|
+
| [分類値1] | [分類値1の説明] |
|
|
380
|
+
| [分類値2] | [分類値2の説明] |
|
|
381
|
+
| [分類値3] | [分類値3の説明] |
|
|
382
|
+
|
|
383
|
+
## システム境界
|
|
384
|
+
|
|
385
|
+
### ユースケース複合図
|
|
386
|
+
|
|
387
|
+
#### [BUC名1]
|
|
388
|
+
|
|
389
|
+
```plantuml
|
|
390
|
+
@startuml
|
|
391
|
+
|
|
392
|
+
title ユースケース複合図 - [BUC名1]
|
|
393
|
+
|
|
394
|
+
left to right direction
|
|
395
|
+
|
|
396
|
+
actor [アクター1] as user
|
|
397
|
+
actor [アクター2] as admin
|
|
398
|
+
|
|
399
|
+
frame "[利用シーン1名]" as f01
|
|
400
|
+
usecase "[UC名1]" as UC1
|
|
401
|
+
usecase "[UC名2]" as UC2
|
|
402
|
+
boundary "[画面名1]" as b01
|
|
403
|
+
boundary "[画面名2]" as b02
|
|
404
|
+
entity "[情報名1]" as e01
|
|
405
|
+
entity "[情報名2]" as e02
|
|
406
|
+
control "[条件名1]" as c01
|
|
407
|
+
control "[条件名2]" as c02
|
|
408
|
+
|
|
409
|
+
user -- f01
|
|
410
|
+
f01 -- UC1
|
|
411
|
+
f01 -- UC2
|
|
412
|
+
|
|
413
|
+
b01 -- UC1
|
|
414
|
+
UC1 -- e01
|
|
415
|
+
UC1 -- c01
|
|
416
|
+
|
|
417
|
+
b02 -- UC2
|
|
418
|
+
UC2 -- e02
|
|
419
|
+
UC2 -- c02
|
|
420
|
+
|
|
421
|
+
frame "[利用シーン2名]" as f02
|
|
422
|
+
usecase "[UC名3]" as UC3
|
|
423
|
+
boundary "[画面名3]" as b03
|
|
424
|
+
entity "[情報名3]" as e03
|
|
425
|
+
control "[条件名3]" as c03
|
|
426
|
+
|
|
427
|
+
admin -- f02
|
|
428
|
+
f02 -- UC3
|
|
429
|
+
b03 -- UC3
|
|
430
|
+
UC3 -- e03
|
|
431
|
+
UC3 -- c03
|
|
432
|
+
|
|
433
|
+
@enduml
|
|
434
|
+
```
|
|
435
|
+
|
|
436
|
+
#### [BUC名2]
|
|
437
|
+
|
|
438
|
+
```plantuml
|
|
439
|
+
@startuml
|
|
440
|
+
|
|
441
|
+
title ユースケース複合図 - [BUC名2]
|
|
442
|
+
|
|
443
|
+
left to right direction
|
|
444
|
+
|
|
445
|
+
actor [アクター1] as user
|
|
446
|
+
|
|
447
|
+
frame "[利用シーン名]" as f01
|
|
448
|
+
usecase "[UC名1]" as UC1
|
|
449
|
+
usecase "[UC名2]" as UC2
|
|
450
|
+
boundary "[画面名1]" as b01
|
|
451
|
+
boundary "[画面名2]" as b02
|
|
452
|
+
entity "[情報名1]" as e01
|
|
453
|
+
entity "[情報名2]" as e02
|
|
454
|
+
control "[条件名1]" as c01
|
|
455
|
+
interface "[イベント名1]" as i01
|
|
456
|
+
|
|
457
|
+
user -- f01
|
|
458
|
+
f01 -- UC1
|
|
459
|
+
f01 -- UC2
|
|
460
|
+
|
|
461
|
+
b01 -- UC1
|
|
462
|
+
UC1 -- e01
|
|
463
|
+
UC1 -- c01
|
|
464
|
+
|
|
465
|
+
b02 -- UC2
|
|
466
|
+
UC2 -- e02
|
|
467
|
+
UC2 -- i01
|
|
468
|
+
|
|
469
|
+
@enduml
|
|
470
|
+
```
|
|
471
|
+
|
|
472
|
+
## システム
|
|
473
|
+
|
|
474
|
+
### 情報モデル
|
|
475
|
+
|
|
476
|
+
```plantuml
|
|
477
|
+
@startuml
|
|
478
|
+
|
|
479
|
+
title 情報モデル図 - [システム名]
|
|
480
|
+
|
|
481
|
+
left to right direction
|
|
482
|
+
|
|
483
|
+
' [エンティティ群1名]関連
|
|
484
|
+
entity [情報名1]
|
|
485
|
+
entity [情報名2]
|
|
486
|
+
entity [情報名3]
|
|
487
|
+
|
|
488
|
+
' [エンティティ群2名]関連
|
|
489
|
+
entity [情報名4]
|
|
490
|
+
entity [情報名5]
|
|
491
|
+
entity [情報名6]
|
|
492
|
+
|
|
493
|
+
' [エンティティ群3名]関連
|
|
494
|
+
entity [情報名7]
|
|
495
|
+
entity [情報名8]
|
|
496
|
+
|
|
497
|
+
' [エンティティ群4名]関連
|
|
498
|
+
entity [情報名9]
|
|
499
|
+
entity [情報名10]
|
|
500
|
+
|
|
501
|
+
' 関連付け
|
|
502
|
+
[情報名1] -- [情報名2]
|
|
503
|
+
[情報名2] -- [情報名3]
|
|
504
|
+
|
|
505
|
+
[情報名4] -- [情報名1]
|
|
506
|
+
[情報名5] -- [情報名4]
|
|
507
|
+
[情報名6] -- [情報名4]
|
|
508
|
+
|
|
509
|
+
[情報名7] -- [情報名5]
|
|
510
|
+
[情報名8] -- [情報名5]
|
|
511
|
+
|
|
512
|
+
[情報名9] -- [情報名1]
|
|
513
|
+
[情報名10] -- [情報名1]
|
|
514
|
+
|
|
515
|
+
@enduml
|
|
516
|
+
```
|
|
517
|
+
|
|
518
|
+
### 状態モデル
|
|
519
|
+
|
|
520
|
+
#### [情報名1]の状態遷移
|
|
521
|
+
|
|
522
|
+
```plantuml
|
|
523
|
+
@startuml
|
|
524
|
+
[*] --> 初期
|
|
525
|
+
|
|
526
|
+
初期 --> 状態1 : UC1
|
|
527
|
+
|
|
528
|
+
state 状態1 {
|
|
529
|
+
[*] --> 子状態1
|
|
530
|
+
子状態1 --> 子状態2 : UC2
|
|
531
|
+
子状態2 --> 子状態1 : UC3
|
|
532
|
+
}
|
|
533
|
+
|
|
534
|
+
状態1 --> 状態2 : UC4
|
|
535
|
+
状態2 --> 状態1 : UC5
|
|
536
|
+
|
|
537
|
+
状態1 --> 終了 : UC6
|
|
538
|
+
状態2 --> 終了 : UC7
|
|
539
|
+
終了 --> [*]
|
|
540
|
+
@enduml
|
|
541
|
+
```
|
|
542
|
+
|
|
543
|
+
#### [情報名2]の状態遷移
|
|
544
|
+
|
|
545
|
+
```plantuml
|
|
546
|
+
@startuml
|
|
547
|
+
title 情報名2の状態遷移図
|
|
548
|
+
|
|
549
|
+
[*] --> 初期 : UC1
|
|
550
|
+
|
|
551
|
+
初期 --> 状態1 : UC2
|
|
552
|
+
状態1 --> 状態2 : UC3
|
|
553
|
+
状態2 --> 状態3 : UC4
|
|
554
|
+
状態2 --> 状態4 : UC5
|
|
555
|
+
状態4 --> 状態3 : UC6
|
|
556
|
+
|
|
557
|
+
状態3 --> 終了 : UC7
|
|
558
|
+
|
|
559
|
+
状態1 --> キャンセル : UC8
|
|
560
|
+
状態2 --> キャンセル : UC9
|
|
561
|
+
キャンセル --> [*]
|
|
562
|
+
終了 --> [*]
|
|
563
|
+
@enduml
|
|
564
|
+
```
|
|
565
|
+
|
|
566
|
+
---
|
|
567
|
+
|
|
568
|
+
## 記入ガイド
|
|
569
|
+
|
|
570
|
+
### 1. システムコンテキスト図の記入方法
|
|
571
|
+
|
|
572
|
+
- **[システム名]**: 開発対象システムの名前
|
|
573
|
+
- **[アクター名]**: システムを利用する人や組織
|
|
574
|
+
- **[外部システム名]**: 連携する外部システムやサービス
|
|
575
|
+
- **システムの目的とビジョン**: システムが解決する課題と提供価値を簡潔に記述
|
|
576
|
+
|
|
577
|
+
### 2. 要求モデル図の記入方法
|
|
578
|
+
|
|
579
|
+
- **[アクターの要求]**: 各アクターがシステムに求めること
|
|
580
|
+
- **[派生要求]**: 複数の要求から導出される具体的な要件
|
|
581
|
+
- 要求は「〜したい」形式で記述
|
|
582
|
+
- 派生要求は「〜できること」形式で記述
|
|
583
|
+
|
|
584
|
+
### 3. ビジネスコンテキスト図の記入方法
|
|
585
|
+
|
|
586
|
+
- **[組織名]**: システムを利用する組織全体
|
|
587
|
+
- **[部門名]**: 組織内の各部門
|
|
588
|
+
- **[業務名]**: 各部門で行われる業務
|
|
589
|
+
- **[業務資産]**: 業務で扱う重要な物理的・情報的資産
|
|
590
|
+
- **[外部組織]**: 連携する外部の組織やシステム
|
|
591
|
+
|
|
592
|
+
### 4. ビジネスユースケース図の記入方法
|
|
593
|
+
|
|
594
|
+
- **[BUC名]**: ビジネスユースケース(業務の作業単位)
|
|
595
|
+
- 業務を実行する場所や組織をagentで表現
|
|
596
|
+
- 業務で扱う資産をartifactで表現
|
|
597
|
+
- BUCは動詞形で記述(例:「商品を登録する」)
|
|
598
|
+
|
|
599
|
+
### 5. 業務フロー図の記入方法
|
|
600
|
+
|
|
601
|
+
- **[アクティビティ名]**: BUCを構成する具体的な作業
|
|
602
|
+
- **[フェーズ名]**: 作業のまとまりやグループ
|
|
603
|
+
- **[判定条件]**: 業務の分岐点での判定基準
|
|
604
|
+
- レーン(|アクター|)でアクターごとの責任を明確化
|
|
605
|
+
- partitionで作業フェーズを整理
|
|
606
|
+
- split/split againで並行処理や条件分岐を表現
|
|
607
|
+
- アクティビティは動詞形で記述
|
|
608
|
+
|
|
609
|
+
### 6. 利用シーン図の記入方法
|
|
610
|
+
|
|
611
|
+
- **[利用シーン名]**: システムが利用される具体的な場面
|
|
612
|
+
- **利用シーンの説明**: 背景、目的、期待効果、制約条件
|
|
613
|
+
- frameで利用シーンをグループ化
|
|
614
|
+
- noteで詳細な説明を付加
|
|
615
|
+
- 利用シーンからUCへの関連を明示
|
|
616
|
+
- ステークホルダーの視点で記述
|
|
617
|
+
|
|
618
|
+
### 7. ユースケース複合図の記入方法
|
|
619
|
+
|
|
620
|
+
- **[UC名]**: システムユースケース(システム機能)
|
|
621
|
+
- **[画面名]**: ユーザーインターフェース(boundary)
|
|
622
|
+
- **[情報名]**: システムが管理するデータ(entity)
|
|
623
|
+
- **[条件名]**: システムの動作条件(control)
|
|
624
|
+
- **[イベント名]**: 外部との連携点(interface)
|
|
625
|
+
- **[利用シーン名]**: UCが実行される具体的な場面(frame)
|
|
626
|
+
|
|
627
|
+
### 8. 情報モデル図の記入方法
|
|
628
|
+
|
|
629
|
+
- **[情報名]**: システムが管理するエンティティ
|
|
630
|
+
- 関連線で情報間の関係を表現
|
|
631
|
+
- エンティティ群ごとにコメントで分類
|
|
632
|
+
- ビジネス概念をそのまま情報名に使用
|
|
633
|
+
|
|
634
|
+
### 9. 状態モデル図の記入方法
|
|
635
|
+
|
|
636
|
+
- **[状態名]**: 情報が取りうる状態
|
|
637
|
+
- **[UC名]**: 状態を変更するユースケース
|
|
638
|
+
- 複合状態は state {} で表現
|
|
639
|
+
- 各状態にはnoteで説明を付加
|
|
640
|
+
- 状態名は名詞形で記述
|
|
641
|
+
|
|
642
|
+
### 10. バリエーション・条件の記入方法
|
|
643
|
+
|
|
644
|
+
- **[分類軸名]**: ビジネス上重要な区分の軸
|
|
645
|
+
- **[分類値]**: 各軸での具体的な値
|
|
646
|
+
- システムの動作を左右する重要な区分を定義
|
|
647
|
+
- 将来の拡張性を考慮した分類を設定
|
|
648
|
+
|
|
649
|
+
### 11. 記入時の注意点
|
|
650
|
+
|
|
651
|
+
1. **段階的詳細化**: 最初は大まかに記入し、徐々に詳細化
|
|
652
|
+
2. **一貫性の確保**: 図間での用語統一と関連性の整合性
|
|
653
|
+
3. **ステークホルダー視点**: 業務担当者が理解できる用語を使用
|
|
654
|
+
4. **トレーサビリティ**: 上位要求から下位実装までの追跡可能性
|
|
655
|
+
5. **適切な抽象化レベル**: 設計詳細ではなく要件レベルで記述
|
|
656
|
+
|
|
657
|
+
### 12. PlantUML記法の基本
|
|
658
|
+
|
|
659
|
+
- `actor`: 人や組織
|
|
660
|
+
- `usecase`: システムや業務
|
|
661
|
+
- `agent`: 外部システムや場所
|
|
662
|
+
- `entity`: 情報やデータ
|
|
663
|
+
- `boundary`: 画面や入出力
|
|
664
|
+
- `control`: 条件や制御
|
|
665
|
+
- `interface`: イベントや通信
|
|
666
|
+
- `frame`: 利用シーンやグループ化
|
|
667
|
+
- `artifact`: 物理的資産や成果物
|
|
668
|
+
- `note`: 説明文
|
|
669
|
+
|
|
670
670
|
このテンプレートを使用して、プロジェクト固有の要件定義書を作成してください。
|