@rse/ase 0.9.0 → 0.9.1
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/dst/ase-bash.js +618 -0
- package/dst/ase-hook.js +27 -0
- package/package.json +1 -1
- package/plugin/.claude-plugin/plugin.json +1 -1
- package/plugin/.github/plugin/plugin.json +1 -1
- package/plugin/meta/ase-format-arch.md +667 -0
- package/plugin/meta/ase-format-meta.md +39 -0
- package/plugin/meta/ase-format-spec.md +994 -0
- package/plugin/meta/ase-skill.md +8 -0
- package/plugin/package.json +1 -1
- package/plugin/skills/ase-code-craft/SKILL.md +4 -3
- package/plugin/skills/ase-code-refactor/SKILL.md +4 -3
- package/plugin/skills/ase-code-resolve/SKILL.md +4 -3
- package/plugin/skills/ase-meta-brainstorm/SKILL.md +2 -2
- package/plugin/skills/ase-task-condense/SKILL.md +267 -0
- package/plugin/skills/ase-task-condense/help.md +77 -0
- package/plugin/skills/ase-task-edit/SKILL.md +26 -26
- package/plugin/skills/ase-task-edit/help.md +10 -10
- package/plugin/skills/ase-task-grill/SKILL.md +8 -8
- package/plugin/.claude/settings.local.json +0 -7
|
@@ -0,0 +1,994 @@
|
|
|
1
|
+
|
|
2
|
+
@./ase-format-meta.md
|
|
3
|
+
|
|
4
|
+
Specification (SPEC)
|
|
5
|
+
====================
|
|
6
|
+
|
|
7
|
+
The **Artifact Set** **Specification (SPEC)** specifies the "input"
|
|
8
|
+
and the "what" of the Software Engineering project.
|
|
9
|
+
|
|
10
|
+
Each **Artifact** of the **Artifact Set** **Specification (SPEC)**
|
|
11
|
+
is stored under `docs/spec/SPEC-<artifact-id/>-<artifact-slug/>.md`,
|
|
12
|
+
relative to the project root directory, and with <artifact-slug/> being
|
|
13
|
+
derived from <artifact-name/> (see below) by lower-casing and using `-`
|
|
14
|
+
characters instead of spaces.
|
|
15
|
+
|
|
16
|
+
Each **Artifact** contains two timestamps: the <timestamp-created/>
|
|
17
|
+
is the timestamp when this **Artifact** was created. The
|
|
18
|
+
<timestamp-modified/> is the timestamp when this **Artifact** was last
|
|
19
|
+
modified. Both use an ISO-style format value. The value of both can be
|
|
20
|
+
determined by a call to the `ase_timestamp(format: "yyyy-LL-dd HH:mm")`
|
|
21
|
+
tool of the `ase` MCP server and use the `text` field of its response.
|
|
22
|
+
Whenever an **Artifact** is updated, the <timestamp-modified/> *MUST* be
|
|
23
|
+
updated, too.
|
|
24
|
+
|
|
25
|
+
The **Artifact Set** **Specification (SPEC)** consists of the following
|
|
26
|
+
distinct **Artifact**s (listed under their <artifact-name/> and their
|
|
27
|
+
<artifact-id/>):
|
|
28
|
+
|
|
29
|
+
- **Customer Journey (CJ)**:
|
|
30
|
+
The end-to-end experience a customer has while discovering, adopting,
|
|
31
|
+
and using the solution, mapping their steps, touchpoints, and emotions
|
|
32
|
+
over time.
|
|
33
|
+
|
|
34
|
+
- **Solution Vision (SV)**:
|
|
35
|
+
The high-level, aspirational description of the solution, capturing
|
|
36
|
+
its purpose, value proposition, and the desired future state it aims
|
|
37
|
+
to achieve.
|
|
38
|
+
|
|
39
|
+
- **Functional Requirements (FR)**:
|
|
40
|
+
The concrete behaviors and capabilities the solution must provide,
|
|
41
|
+
describing *what* the system does in terms of functions, features, and
|
|
42
|
+
operations.
|
|
43
|
+
|
|
44
|
+
- **Non-Functional Requirements (NR)**:
|
|
45
|
+
The quality attributes and constraints the solution must satisfy, such
|
|
46
|
+
as performance, security, scalability, reliability, and usability.
|
|
47
|
+
|
|
48
|
+
- **Data Model (DM)**:
|
|
49
|
+
The structure of named entities, named attributes, and named directed
|
|
50
|
+
relationships (including a cardinality) of the data the solution
|
|
51
|
+
manages, defining how information is organized and connected.
|
|
52
|
+
|
|
53
|
+
- **Use Cases (UC)**:
|
|
54
|
+
The discrete goals users pursue with the solution, each describing an
|
|
55
|
+
actor's interaction to achieve a specific outcome.
|
|
56
|
+
|
|
57
|
+
- **Use Case Scenarios (US)**:
|
|
58
|
+
The concrete step-by-step flows through a **Use Case**, detailing the
|
|
59
|
+
sequence of actions for main, alternative, and exceptional paths.
|
|
60
|
+
|
|
61
|
+
- **Personas (PE)**:
|
|
62
|
+
The *archetypal* user profiles representing distinct user groups,
|
|
63
|
+
capturing their goals, needs, behaviors, and context.
|
|
64
|
+
|
|
65
|
+
- **Test Cases (TC)**:
|
|
66
|
+
The verifiable conditions and steps used to confirm that requirements
|
|
67
|
+
are correctly implemented, with mandatory defined inputs, mandatory
|
|
68
|
+
expected outcomes, and optional pre- and post-conditions.
|
|
69
|
+
|
|
70
|
+
- **Interaction Concept (IC)**:
|
|
71
|
+
The overarching idea of how users interact with the solution,
|
|
72
|
+
describing the intended workflows and interaction philosophy (e.g.
|
|
73
|
+
auto-save behavior).
|
|
74
|
+
|
|
75
|
+
- **Language Conventions (LC)**:
|
|
76
|
+
The terminology, naming, tone, and wording standards used consistently
|
|
77
|
+
across the solution and its content.
|
|
78
|
+
|
|
79
|
+
- **Dialog Patterns (DP)**:
|
|
80
|
+
The reusable interaction structures governing how the system and user
|
|
81
|
+
exchange information across recurring conversational or UI flows (e.g.
|
|
82
|
+
master-detail dialog).
|
|
83
|
+
|
|
84
|
+
- **Dialog Storyboard (SB)**:
|
|
85
|
+
The sequenced visual or textual depiction of a specific dialog flow,
|
|
86
|
+
illustrating how an interaction unfolds screen by screen or turn by
|
|
87
|
+
turn.
|
|
88
|
+
|
|
89
|
+
- **Visual Design (VD)**:
|
|
90
|
+
The aesthetic and layout aspects of the solution, defining colors,
|
|
91
|
+
typography, spacing, imagery, and overall look and feel.
|
|
92
|
+
|
|
93
|
+
Customer Journey (CJ)
|
|
94
|
+
---------------------
|
|
95
|
+
|
|
96
|
+
The end-to-end experience a customer has while discovering, adopting,
|
|
97
|
+
and using the solution, mapping their steps, touchpoints, and emotions
|
|
98
|
+
over time.
|
|
99
|
+
|
|
100
|
+
- Format:
|
|
101
|
+
|
|
102
|
+
<format>
|
|
103
|
+
|
|
104
|
+
# SPECIFICATION: CUSTOMER JOURNEY (SPEC-CJ)
|
|
105
|
+
|
|
106
|
+
✳ Created: **<timestamp-created/>**
|
|
107
|
+
✎ Modified: **<timestamp-modified/>**
|
|
108
|
+
|
|
109
|
+
<spec-cj-step/>
|
|
110
|
+
<spec-cj-step/>
|
|
111
|
+
[...]
|
|
112
|
+
|
|
113
|
+
</format>
|
|
114
|
+
|
|
115
|
+
- <spec-cj-step/> format:
|
|
116
|
+
|
|
117
|
+
<format>
|
|
118
|
+
|
|
119
|
+
## STEP SPEC-CJ-<spec-cj-step-id/>: <spec-cj-step-name/>
|
|
120
|
+
|
|
121
|
+
- Stage: <spec-cj-step-stage/>
|
|
122
|
+
- Actor: <spec-cj-step-actor/>
|
|
123
|
+
- Goal: <spec-cj-step-goal/>
|
|
124
|
+
- Touchpoint: <spec-cj-step-touchpoint/>
|
|
125
|
+
- Action: <spec-cj-step-action/>
|
|
126
|
+
- Emotion: <spec-cj-step-emotion/>
|
|
127
|
+
- Pain Point: <spec-cj-step-painpoint/>
|
|
128
|
+
|
|
129
|
+
</format>
|
|
130
|
+
|
|
131
|
+
- <spec-cj-step/> details:
|
|
132
|
+
|
|
133
|
+
- <spec-cj-step-id/>: per-artifact unique "slug" of always 1-3
|
|
134
|
+
lower-cased words (concatenated with "-" characters and
|
|
135
|
+
in total not longer than 30 characters), derived from
|
|
136
|
+
<spec-cj-step-name/>.
|
|
137
|
+
|
|
138
|
+
- <spec-cj-step-name/> is a summary (5-10 words) of the *step* at its
|
|
139
|
+
<spec-cj-step-touchpoint/>.
|
|
140
|
+
|
|
141
|
+
- <spec-cj-step-actor/> is a `SPEC-PE-<spec-pe-persona-id/>` reference to the
|
|
142
|
+
corresponding **Aspect** of the Personas **Artifact**.
|
|
143
|
+
|
|
144
|
+
- <spec-cj-step-stage/> is one of:
|
|
145
|
+
|
|
146
|
+
- `Awareness`: Customer is not aware of solution, but has a need.
|
|
147
|
+
- `Consideration`: Customer is aware of solution, and should consider its use.
|
|
148
|
+
- `Decision`: Customer wants to pick the solution.
|
|
149
|
+
- `Onboarding`: Customer is using the solution.
|
|
150
|
+
- `Retention`: Customer in the long-term stays a customer.
|
|
151
|
+
- `Advocacy`: Customer is a fan of solution and tells the tribe.
|
|
152
|
+
|
|
153
|
+
- <spec-cj-step-goal/> is what the actor wants to achieve at this step.
|
|
154
|
+
|
|
155
|
+
- <spec-cj-step-touchpoint/> is where or how the interaction happens
|
|
156
|
+
(e.g. landing page, email, support call).
|
|
157
|
+
|
|
158
|
+
- <spec-cj-step-action/> is what the actor actually does at this step.
|
|
159
|
+
|
|
160
|
+
- <spec-cj-step-emotion/> is the **AS IS** felt state at this step, given
|
|
161
|
+
as a word plus an intensity on a 1-5 Likert scale (e.g. `Curious (4)`).
|
|
162
|
+
|
|
163
|
+
- <spec-cj-step-painpoint/> is the **AS IS** friction or frustration the
|
|
164
|
+
actor encounters at this step (optional).
|
|
165
|
+
|
|
166
|
+
- In case a <spec-cj-step/> has no pain point at all, the
|
|
167
|
+
entire `- Pain Point:` bullet point is omitted.
|
|
168
|
+
|
|
169
|
+
Solution Vision (SV)
|
|
170
|
+
--------------------
|
|
171
|
+
|
|
172
|
+
The high-level, aspirational description of the solution, capturing
|
|
173
|
+
its purpose, value proposition, and the desired future state it aims
|
|
174
|
+
to achieve.
|
|
175
|
+
|
|
176
|
+
- Format:
|
|
177
|
+
|
|
178
|
+
<format>
|
|
179
|
+
|
|
180
|
+
# SPECIFICATION: SOLUTION VISION (SPEC-SV)
|
|
181
|
+
|
|
182
|
+
✳ Created: **<timestamp-created/>**
|
|
183
|
+
✎ Modified: **<timestamp-modified/>**
|
|
184
|
+
|
|
185
|
+
<spec-sv-aspect/>
|
|
186
|
+
<spec-sv-aspect/>
|
|
187
|
+
[...]
|
|
188
|
+
|
|
189
|
+
</format>
|
|
190
|
+
|
|
191
|
+
- <spec-sv-aspect/> format:
|
|
192
|
+
|
|
193
|
+
<format>
|
|
194
|
+
|
|
195
|
+
## ASPECT SPEC-SV-<spec-sv-aspect-id/>: <spec-sv-aspect-name/>
|
|
196
|
+
|
|
197
|
+
<spec-sv-aspect-statement/>
|
|
198
|
+
|
|
199
|
+
</format>
|
|
200
|
+
|
|
201
|
+
- <spec-sv-aspect/> details:
|
|
202
|
+
|
|
203
|
+
- <spec-sv-aspect-id/>: per-artifact unique "slug" of always 1-3
|
|
204
|
+
lower-cased words (concatenated with "-" characters and
|
|
205
|
+
in total not longer than 30 characters), derived from
|
|
206
|
+
<spec-sv-aspect-name/>.
|
|
207
|
+
|
|
208
|
+
- <spec-sv-aspect-name/>: a short (2-5 word) summary of the vision
|
|
209
|
+
aspect. The recommended aspects are `Purpose` (why the solution
|
|
210
|
+
exists), `Target Audience` (who it serves), `Value Proposition`
|
|
211
|
+
(the unique benefit offered), `Differentiators` (how it stands
|
|
212
|
+
apart from alternatives), and `Future State` (the desired
|
|
213
|
+
outcome once adopted).
|
|
214
|
+
|
|
215
|
+
- <spec-sv-aspect-statement/>: a concise paragraph (1-3 sentences)
|
|
216
|
+
of prose describing the vision aspect in an aspirational but
|
|
217
|
+
unambiguous tone.
|
|
218
|
+
|
|
219
|
+
Functional Requirements (FR)
|
|
220
|
+
----------------------------
|
|
221
|
+
|
|
222
|
+
The concrete behaviors and capabilities the solution must provide,
|
|
223
|
+
describing *what* the system does in terms of functions, features, and
|
|
224
|
+
operations.
|
|
225
|
+
|
|
226
|
+
- Format:
|
|
227
|
+
|
|
228
|
+
<format>
|
|
229
|
+
|
|
230
|
+
# SPECIFICATION: FUNCTIONAL REQUIREMENTS (SPEC-FR)
|
|
231
|
+
|
|
232
|
+
✳ Created: **<timestamp-created/>**
|
|
233
|
+
✎ Modified: **<timestamp-modified/>**
|
|
234
|
+
|
|
235
|
+
<spec-fr-requirement/>
|
|
236
|
+
<spec-fr-requirement/>
|
|
237
|
+
[...]
|
|
238
|
+
|
|
239
|
+
</format>
|
|
240
|
+
|
|
241
|
+
- <spec-fr-requirement/> format:
|
|
242
|
+
|
|
243
|
+
<format>
|
|
244
|
+
|
|
245
|
+
## REQUIREMENT SPEC-FR-<spec-fr-requirement-id/>: <spec-fr-requirement-name/>
|
|
246
|
+
|
|
247
|
+
- Priority: <spec-fr-requirement-priority/>
|
|
248
|
+
|
|
249
|
+
<spec-fr-requirement-statement/>
|
|
250
|
+
(why: <spec-fr-requirement-rationale/>)
|
|
251
|
+
|
|
252
|
+
</format>
|
|
253
|
+
|
|
254
|
+
- <spec-fr-requirement/> details:
|
|
255
|
+
|
|
256
|
+
- <spec-fr-requirement-id/>: per-artifact unique "slug" of always
|
|
257
|
+
1-3 lower-cased words (concatenated with "-" characters and
|
|
258
|
+
in total not longer than 30 characters), derived from
|
|
259
|
+
<spec-fr-requirement-name/>.
|
|
260
|
+
|
|
261
|
+
- <spec-fr-requirement-name/>: a short (3-8 word) summary of the
|
|
262
|
+
functional requirement.
|
|
263
|
+
|
|
264
|
+
- <spec-fr-requirement-priority/>: the MoSCoW priority of the
|
|
265
|
+
requirement: `MUST`, `SHOULD`, `COULD`, or `WONT`.
|
|
266
|
+
|
|
267
|
+
- <spec-fr-requirement-statement/>: a concise paragraph (1-3
|
|
268
|
+
sentences) of prose describing *what* the solution must do,
|
|
269
|
+
written with the keyword `MUST`, `SHOULD`, `COULD`, or `WILL
|
|
270
|
+
NOT` to indicate the obligation level.
|
|
271
|
+
|
|
272
|
+
- <spec-fr-requirement-rationale/>: the 1-sentence rationale ("why")
|
|
273
|
+
of the functional requirement.
|
|
274
|
+
|
|
275
|
+
- In case the rationale is not present, the
|
|
276
|
+
entire `(why: [...])` chunk is omitted.
|
|
277
|
+
|
|
278
|
+
Non-Functional Requirements (NR)
|
|
279
|
+
--------------------------------
|
|
280
|
+
|
|
281
|
+
The quality attributes and constraints the solution must satisfy, such
|
|
282
|
+
as performance, security, scalability, reliability, and usability.
|
|
283
|
+
|
|
284
|
+
- Format:
|
|
285
|
+
|
|
286
|
+
<format>
|
|
287
|
+
|
|
288
|
+
# SPECIFICATION: NON-FUNCTIONAL REQUIREMENTS (SPEC-NR)
|
|
289
|
+
|
|
290
|
+
✳ Created: **<timestamp-created/>**
|
|
291
|
+
✎ Modified: **<timestamp-modified/>**
|
|
292
|
+
|
|
293
|
+
<spec-nr-requirement/>
|
|
294
|
+
<spec-nr-requirement/>
|
|
295
|
+
[...]
|
|
296
|
+
|
|
297
|
+
</format>
|
|
298
|
+
|
|
299
|
+
- <spec-nr-requirement/> format:
|
|
300
|
+
|
|
301
|
+
<format>
|
|
302
|
+
|
|
303
|
+
## REQUIREMENT SPEC-NR-<spec-nr-requirement-id/>: <spec-nr-requirement-name/>
|
|
304
|
+
|
|
305
|
+
- Category: <spec-nr-requirement-category/>
|
|
306
|
+
- Priority: <spec-nr-requirement-priority/>
|
|
307
|
+
- Metric: <spec-nr-requirement-metric/>
|
|
308
|
+
|
|
309
|
+
<spec-nr-requirement-statement/>
|
|
310
|
+
(why: <spec-nr-requirement-rationale/>)
|
|
311
|
+
|
|
312
|
+
</format>
|
|
313
|
+
|
|
314
|
+
- <spec-nr-requirement/> details:
|
|
315
|
+
|
|
316
|
+
- <spec-nr-requirement-id/>: per-artifact unique "slug" of always
|
|
317
|
+
1-3 lower-cased words (concatenated with "-" characters and
|
|
318
|
+
in total not longer than 30 characters), derived from
|
|
319
|
+
<spec-nr-requirement-name/>.
|
|
320
|
+
|
|
321
|
+
- <spec-nr-requirement-name/>: a short (3-8 word) summary of the
|
|
322
|
+
non-functional requirement.
|
|
323
|
+
|
|
324
|
+
- <spec-nr-requirement-category/>: the quality attribute category
|
|
325
|
+
the requirement addresses, one of `Performance`, `Scalability`,
|
|
326
|
+
`Reliability`, `Availability`, `Security`, `Privacy`,
|
|
327
|
+
`Usability`, `Accessibility`, `Maintainability`, `Portability`,
|
|
328
|
+
`Compatibility`, or `Compliance`.
|
|
329
|
+
|
|
330
|
+
- <spec-nr-requirement-priority/>: the MoSCoW priority of the
|
|
331
|
+
requirement: `MUST`, `SHOULD`, `COULD`, or `WONT`.
|
|
332
|
+
|
|
333
|
+
- <spec-nr-requirement-metric/>: the measurable, verifiable
|
|
334
|
+
threshold or target by which the requirement is judged satisfied
|
|
335
|
+
(e.g. `p95 latency < 200ms`, `99.9% uptime`).
|
|
336
|
+
|
|
337
|
+
- <spec-nr-requirement-statement/>: a concise paragraph (1-3
|
|
338
|
+
sentences) of prose describing the quality attribute or
|
|
339
|
+
constraint the solution must satisfy.
|
|
340
|
+
|
|
341
|
+
- <spec-nr-requirement-rationale/>: the 1-sentence rationale ("why")
|
|
342
|
+
of the non-functional requirement.
|
|
343
|
+
|
|
344
|
+
- In case the rationale is not present, the
|
|
345
|
+
entire `(why: [...])` chunk is omitted.
|
|
346
|
+
|
|
347
|
+
Data Model (DM)
|
|
348
|
+
---------------
|
|
349
|
+
|
|
350
|
+
The structure of named entities, named attributes, and named directed
|
|
351
|
+
relationships (including a cardinality) of the data the solution
|
|
352
|
+
manages, defining how information is organized and connected.
|
|
353
|
+
|
|
354
|
+
- Format:
|
|
355
|
+
|
|
356
|
+
<format>
|
|
357
|
+
|
|
358
|
+
# SPECIFICATION: DATA MODEL (SPEC-DM)
|
|
359
|
+
|
|
360
|
+
✳ Created: **<timestamp-created/>**
|
|
361
|
+
✎ Modified: **<timestamp-modified/>**
|
|
362
|
+
|
|
363
|
+
<spec-dm-entity/>
|
|
364
|
+
<spec-dm-entity/>
|
|
365
|
+
[...]
|
|
366
|
+
|
|
367
|
+
</format>
|
|
368
|
+
|
|
369
|
+
- <spec-dm-entity/> format:
|
|
370
|
+
|
|
371
|
+
<format>
|
|
372
|
+
|
|
373
|
+
## ENTITY SPEC-DM-<spec-dm-entity-id/>: <spec-dm-entity-name/>
|
|
374
|
+
|
|
375
|
+
<spec-dm-entity-description/>
|
|
376
|
+
(why: <spec-dm-entity-rationale/>)
|
|
377
|
+
|
|
378
|
+
### ATTRIBUTES
|
|
379
|
+
|
|
380
|
+
- **<spec-dm-attribute-id/>**: <spec-dm-attribute-qualifier/><spec-dm-attribute-type/>:
|
|
381
|
+
<spec-dm-attribute-description/>
|
|
382
|
+
(why: <spec-dm-attribute-rationale/>)
|
|
383
|
+
|
|
384
|
+
- [...]
|
|
385
|
+
|
|
386
|
+
### RELATIONS
|
|
387
|
+
|
|
388
|
+
- **<spec-dm-relation-id/>**: <spec-dm-relation-target/>(<spec-dm-relation-cardinality/>):
|
|
389
|
+
<spec-dm-relation-description/>
|
|
390
|
+
(why: <spec-dm-relation-rationale/>)
|
|
391
|
+
|
|
392
|
+
- [...]
|
|
393
|
+
|
|
394
|
+
</format>
|
|
395
|
+
|
|
396
|
+
- <spec-dm-entity/> details:
|
|
397
|
+
|
|
398
|
+
- <spec-dm-entity-id/>: per-artifact unique "slug" of always 1-3
|
|
399
|
+
lower-cased words (concatenated with "-" characters and
|
|
400
|
+
in total not longer than 30 characters), derived from
|
|
401
|
+
<spec-dm-entity-name/>.
|
|
402
|
+
|
|
403
|
+
- <spec-dm-entity-name/>: Pascal-cased, 1-3 word long, per-artifact
|
|
404
|
+
unique name of the entity.
|
|
405
|
+
|
|
406
|
+
- <spec-dm-entity-description/>: the 1-sentence description ("what")
|
|
407
|
+
of the entity.
|
|
408
|
+
|
|
409
|
+
- <spec-dm-entity-rationale/>: the 1-sentence rationale ("why") of
|
|
410
|
+
the entity.
|
|
411
|
+
|
|
412
|
+
- <spec-dm-attribute-id/>: camel-cased, 1-3 word long, per-entity
|
|
413
|
+
unique identifier of the entity attribute.
|
|
414
|
+
|
|
415
|
+
- <spec-dm-attribute-qualifier/>: the optional prefix `unique `
|
|
416
|
+
to indicate inclusion into the primary key of the entity.
|
|
417
|
+
|
|
418
|
+
- <spec-dm-attribute-type/>: the type of the entity attribute:
|
|
419
|
+
`boolean`, `integer`, `float`, `uuid`, `string`, `bytes`,
|
|
420
|
+
`enum(XXX,YYY[,...])`, `date`, `time`, or `datetime`.
|
|
421
|
+
|
|
422
|
+
- <spec-dm-attribute-description/>: the 1-sentence description
|
|
423
|
+
("what") of the entity attribute.
|
|
424
|
+
|
|
425
|
+
- <spec-dm-attribute-rationale/>: the 1-sentence rationale ("why")
|
|
426
|
+
of the entity attribute.
|
|
427
|
+
|
|
428
|
+
- <spec-dm-relation-id/>: camel-cased, 1-3 word long, per-entity
|
|
429
|
+
unique identifier of the entity relation.
|
|
430
|
+
|
|
431
|
+
- <spec-dm-relation-description/>: the 1-sentence description
|
|
432
|
+
("what") of the entity relation.
|
|
433
|
+
|
|
434
|
+
- <spec-dm-relation-rationale/>: the 1-sentence rationale ("why") of
|
|
435
|
+
the entity relation.
|
|
436
|
+
|
|
437
|
+
- <spec-dm-relation-target/>: the <spec-dm-entity-name/> of the
|
|
438
|
+
entity the directed relation targets.
|
|
439
|
+
|
|
440
|
+
- <spec-dm-relation-cardinality/>: the cardinality of the entity
|
|
441
|
+
relation at the target entity: `0..1` for zero or one
|
|
442
|
+
("optional"), `1` for exactly one ("mandatory"), `0..n` for
|
|
443
|
+
zero or more, and `1..n` for one or more.
|
|
444
|
+
|
|
445
|
+
- In case a <spec-dm-entity/> has no relations at all, the
|
|
446
|
+
entire `### RELATIONS` block is omitted.
|
|
447
|
+
|
|
448
|
+
- In case any rationale is not present, the
|
|
449
|
+
entire `(why: [...])` chunk is omitted.
|
|
450
|
+
|
|
451
|
+
Use Cases (UC)
|
|
452
|
+
--------------
|
|
453
|
+
|
|
454
|
+
The discrete goals users pursue with the solution, each describing an
|
|
455
|
+
actor's interaction to achieve a specific outcome.
|
|
456
|
+
|
|
457
|
+
- Format:
|
|
458
|
+
|
|
459
|
+
<format>
|
|
460
|
+
|
|
461
|
+
# SPECIFICATION: USE CASES (SPEC-UC)
|
|
462
|
+
|
|
463
|
+
✳ Created: **<timestamp-created/>**
|
|
464
|
+
✎ Modified: **<timestamp-modified/>**
|
|
465
|
+
|
|
466
|
+
<spec-uc-usecase/>
|
|
467
|
+
<spec-uc-usecase/>
|
|
468
|
+
[...]
|
|
469
|
+
|
|
470
|
+
</format>
|
|
471
|
+
|
|
472
|
+
- <spec-uc-usecase/> format:
|
|
473
|
+
|
|
474
|
+
<format>
|
|
475
|
+
|
|
476
|
+
## USE CASE SPEC-UC-<spec-uc-usecase-id/>: <spec-uc-usecase-name/>
|
|
477
|
+
|
|
478
|
+
- Actor: <spec-uc-usecase-actor/>
|
|
479
|
+
- Goal: <spec-uc-usecase-goal/>
|
|
480
|
+
- Precondition: <spec-uc-usecase-precondition/>
|
|
481
|
+
- Postcondition: <spec-uc-usecase-postcondition/>
|
|
482
|
+
|
|
483
|
+
<spec-uc-usecase-description/>
|
|
484
|
+
|
|
485
|
+
</format>
|
|
486
|
+
|
|
487
|
+
- <spec-uc-usecase/> details:
|
|
488
|
+
|
|
489
|
+
- <spec-uc-usecase-id/>: per-artifact unique "slug" of always 1-3
|
|
490
|
+
lower-cased words (concatenated with "-" characters and
|
|
491
|
+
in total not longer than 30 characters), derived from
|
|
492
|
+
<spec-uc-usecase-name/>.
|
|
493
|
+
|
|
494
|
+
- <spec-uc-usecase-name/>: a short (3-8 word) summary of the use
|
|
495
|
+
case, phrased as an actor goal (e.g. `Reset Forgotten Password`).
|
|
496
|
+
|
|
497
|
+
- <spec-uc-usecase-actor/> is a `SPEC-PE-<spec-pe-persona-id/>`
|
|
498
|
+
reference to the corresponding **Aspect** of the Personas
|
|
499
|
+
**Artifact**, denoting the primary actor pursuing the goal.
|
|
500
|
+
|
|
501
|
+
- <spec-uc-usecase-goal/>: the 1-sentence statement of what the
|
|
502
|
+
actor wants to achieve through this use case.
|
|
503
|
+
|
|
504
|
+
- <spec-uc-usecase-precondition/>: the condition that must hold
|
|
505
|
+
before the use case can begin.
|
|
506
|
+
|
|
507
|
+
- <spec-uc-usecase-postcondition/>: the condition that holds after
|
|
508
|
+
the use case completes successfully.
|
|
509
|
+
|
|
510
|
+
- <spec-uc-usecase-description/>: a concise paragraph (1-3
|
|
511
|
+
sentences) of prose describing the use case at a glance, without
|
|
512
|
+
prescribing the step-by-step flow (which belongs to the **Use
|
|
513
|
+
Case Scenarios** **Artifact**).
|
|
514
|
+
|
|
515
|
+
- In case a precondition or postcondition is not present, the
|
|
516
|
+
respective bullet point is omitted.
|
|
517
|
+
|
|
518
|
+
Use Case Scenarios (US)
|
|
519
|
+
-----------------------
|
|
520
|
+
|
|
521
|
+
The concrete step-by-step flows through a **Use Case**, detailing the
|
|
522
|
+
sequence of actions for main, alternative, and exceptional paths.
|
|
523
|
+
|
|
524
|
+
- Format:
|
|
525
|
+
|
|
526
|
+
<format>
|
|
527
|
+
|
|
528
|
+
# SPECIFICATION: USE CASE SCENARIOS (SPEC-US)
|
|
529
|
+
|
|
530
|
+
✳ Created: **<timestamp-created/>**
|
|
531
|
+
✎ Modified: **<timestamp-modified/>**
|
|
532
|
+
|
|
533
|
+
<spec-us-scenario/>
|
|
534
|
+
<spec-us-scenario/>
|
|
535
|
+
[...]
|
|
536
|
+
|
|
537
|
+
</format>
|
|
538
|
+
|
|
539
|
+
- <spec-us-scenario/> format:
|
|
540
|
+
|
|
541
|
+
<format>
|
|
542
|
+
|
|
543
|
+
## SCENARIO SPEC-US-<spec-us-scenario-id/>: <spec-us-scenario-name/>
|
|
544
|
+
|
|
545
|
+
- Use Case: <spec-us-scenario-usecase/>
|
|
546
|
+
- Type: <spec-us-scenario-type/>
|
|
547
|
+
|
|
548
|
+
1. <spec-us-scenario-step/>
|
|
549
|
+
2. <spec-us-scenario-step/>
|
|
550
|
+
[...]
|
|
551
|
+
|
|
552
|
+
</format>
|
|
553
|
+
|
|
554
|
+
- <spec-us-scenario/> details:
|
|
555
|
+
|
|
556
|
+
- <spec-us-scenario-id/>: per-artifact unique "slug" of always 1-3
|
|
557
|
+
lower-cased words (concatenated with "-" characters and
|
|
558
|
+
in total not longer than 30 characters), derived from
|
|
559
|
+
<spec-us-scenario-name/>.
|
|
560
|
+
|
|
561
|
+
- <spec-us-scenario-name/>: a short (3-8 word) summary of the
|
|
562
|
+
scenario.
|
|
563
|
+
|
|
564
|
+
- <spec-us-scenario-usecase/> is a `SPEC-UC-<spec-uc-usecase-id/>`
|
|
565
|
+
reference to the corresponding **Aspect** of the Use Cases
|
|
566
|
+
**Artifact** this scenario flows through.
|
|
567
|
+
|
|
568
|
+
- <spec-us-scenario-type/>: the path the scenario represents, one
|
|
569
|
+
of `Main` (the primary, happy-path flow), `Alternative` (a
|
|
570
|
+
valid but secondary flow), or `Exceptional` (an error or
|
|
571
|
+
failure-handling flow).
|
|
572
|
+
|
|
573
|
+
- <spec-us-scenario-step/>: a single, imperative step in the flow,
|
|
574
|
+
naming the acting party (actor or system) and the action taken
|
|
575
|
+
(e.g. `The user submits the login form.`). Steps are numbered
|
|
576
|
+
sequentially to convey their order.
|
|
577
|
+
|
|
578
|
+
Personas (PE)
|
|
579
|
+
-------------
|
|
580
|
+
|
|
581
|
+
The *archetypal* user profiles representing distinct user groups,
|
|
582
|
+
capturing their goals, needs, behaviors, and context.
|
|
583
|
+
|
|
584
|
+
- Format:
|
|
585
|
+
|
|
586
|
+
<format>
|
|
587
|
+
|
|
588
|
+
# SPECIFICATION: PERSONAS (SPEC-PE)
|
|
589
|
+
|
|
590
|
+
✳ Created: **<timestamp-created/>**
|
|
591
|
+
✎ Modified: **<timestamp-modified/>**
|
|
592
|
+
|
|
593
|
+
<spec-pe-persona/>
|
|
594
|
+
<spec-pe-persona/>
|
|
595
|
+
[...]
|
|
596
|
+
|
|
597
|
+
</format>
|
|
598
|
+
|
|
599
|
+
- <spec-pe-persona/> format:
|
|
600
|
+
|
|
601
|
+
<format>
|
|
602
|
+
|
|
603
|
+
## PERSONA SPEC-PE-<spec-pe-persona-id/>: <spec-pe-persona-name/>
|
|
604
|
+
|
|
605
|
+
- Gender: <spec-pe-persona-gender/>
|
|
606
|
+
- Age: <spec-pe-persona-age/>
|
|
607
|
+
- Role: <spec-pe-persona-role/>
|
|
608
|
+
- Quote: "<spec-pe-persona-quote/>"
|
|
609
|
+
|
|
610
|
+
</format>
|
|
611
|
+
|
|
612
|
+
- <spec-pe-persona/> details:
|
|
613
|
+
|
|
614
|
+
- <spec-pe-persona-id/>: per-artifact unique "slug" of always 1-3
|
|
615
|
+
lower-cased words (concatenated with "-" characters and
|
|
616
|
+
in total not longer than 30 characters), derived from
|
|
617
|
+
<spec-pe-persona-name/>.
|
|
618
|
+
|
|
619
|
+
- <spec-pe-persona-name/>: per-artifact unique first name of fictional
|
|
620
|
+
described person.
|
|
621
|
+
|
|
622
|
+
- <spec-pe-persona-gender/>: the gender of the persona: `male`,
|
|
623
|
+
`female`, or `diverse`.
|
|
624
|
+
|
|
625
|
+
- <spec-pe-persona-age/>: the age in years of the persona.
|
|
626
|
+
|
|
627
|
+
- <spec-pe-persona-role/>: the role of the persona.
|
|
628
|
+
|
|
629
|
+
- <spec-pe-persona-quote/>: a short, first-person statement —
|
|
630
|
+
written in the persona's own voice — that captures their core
|
|
631
|
+
attitude, motivation, frustration, or need in a single memorable line.
|
|
632
|
+
It's sometimes called the persona's "tagline," "mantra," or "defining
|
|
633
|
+
statement."
|
|
634
|
+
|
|
635
|
+
Test Cases (TC)
|
|
636
|
+
---------------
|
|
637
|
+
|
|
638
|
+
The verifiable conditions and steps used to confirm that requirements
|
|
639
|
+
are correctly implemented, with mandatory defined inputs, mandatory
|
|
640
|
+
expected outcomes, and optional pre- and post-conditions.
|
|
641
|
+
|
|
642
|
+
- Format:
|
|
643
|
+
|
|
644
|
+
<format>
|
|
645
|
+
|
|
646
|
+
# SPECIFICATION: TEST CASES (SPEC-TC)
|
|
647
|
+
|
|
648
|
+
✳ Created: **<timestamp-created/>**
|
|
649
|
+
✎ Modified: **<timestamp-modified/>**
|
|
650
|
+
|
|
651
|
+
<spec-tc-testcase/>
|
|
652
|
+
<spec-tc-testcase/>
|
|
653
|
+
[...]
|
|
654
|
+
|
|
655
|
+
</format>
|
|
656
|
+
|
|
657
|
+
- <spec-tc-testcase/> format:
|
|
658
|
+
|
|
659
|
+
<format>
|
|
660
|
+
|
|
661
|
+
## TEST CASE SPEC-TC-<spec-tc-testcase-id/>: <spec-tc-testcase-name/>
|
|
662
|
+
|
|
663
|
+
- Verifies: <spec-tc-testcase-verifies/>
|
|
664
|
+
- Precondition: <spec-tc-testcase-precondition/>
|
|
665
|
+
- Input: <spec-tc-testcase-input/>
|
|
666
|
+
- Expected: <spec-tc-testcase-expected/>
|
|
667
|
+
- Postcondition: <spec-tc-testcase-postcondition/>
|
|
668
|
+
|
|
669
|
+
</format>
|
|
670
|
+
|
|
671
|
+
- <spec-tc-testcase/> details:
|
|
672
|
+
|
|
673
|
+
- <spec-tc-testcase-id/>: per-artifact unique "slug" of always 1-3
|
|
674
|
+
lower-cased words (concatenated with "-" characters and
|
|
675
|
+
in total not longer than 30 characters), derived from
|
|
676
|
+
<spec-tc-testcase-name/>.
|
|
677
|
+
|
|
678
|
+
- <spec-tc-testcase-name/>: a short (3-8 word) summary of the test
|
|
679
|
+
case.
|
|
680
|
+
|
|
681
|
+
- <spec-tc-testcase-verifies/> is a `SPEC-FR-<spec-fr-requirement-id/>`
|
|
682
|
+
or `SPEC-NR-<spec-nr-requirement-id/>` reference to the
|
|
683
|
+
corresponding **Aspect** of the Functional Requirements or
|
|
684
|
+
Non-Functional Requirements **Artifact** the test case verifies.
|
|
685
|
+
|
|
686
|
+
- <spec-tc-testcase-precondition/>: the state or setup that must
|
|
687
|
+
hold before the test is executed (optional).
|
|
688
|
+
|
|
689
|
+
- <spec-tc-testcase-input/>: the mandatory, concrete input data or
|
|
690
|
+
actions applied during the test.
|
|
691
|
+
|
|
692
|
+
- <spec-tc-testcase-expected/>: the mandatory, concrete expected
|
|
693
|
+
outcome or observable result that defines a passing test.
|
|
694
|
+
|
|
695
|
+
- <spec-tc-testcase-postcondition/>: the state that must hold after
|
|
696
|
+
the test completes (optional).
|
|
697
|
+
|
|
698
|
+
- In case a precondition or postcondition is not present, the
|
|
699
|
+
respective bullet point is omitted.
|
|
700
|
+
|
|
701
|
+
Interaction Concept (IC)
|
|
702
|
+
------------------------
|
|
703
|
+
|
|
704
|
+
The overarching idea of how users interact with the solution,
|
|
705
|
+
describing the intended workflows and interaction philosophy (e.g.
|
|
706
|
+
auto-save behavior).
|
|
707
|
+
|
|
708
|
+
- Format:
|
|
709
|
+
|
|
710
|
+
<format>
|
|
711
|
+
|
|
712
|
+
# SPECIFICATION: INTERACTION CONCEPT (SPEC-IC)
|
|
713
|
+
|
|
714
|
+
✳ Created: **<timestamp-created/>**
|
|
715
|
+
✎ Modified: **<timestamp-modified/>**
|
|
716
|
+
|
|
717
|
+
<spec-ic-principle/>
|
|
718
|
+
<spec-ic-principle/>
|
|
719
|
+
[...]
|
|
720
|
+
|
|
721
|
+
</format>
|
|
722
|
+
|
|
723
|
+
- <spec-ic-principle/> format:
|
|
724
|
+
|
|
725
|
+
<format>
|
|
726
|
+
|
|
727
|
+
## PRINCIPLE SPEC-IC-<spec-ic-principle-id/>: <spec-ic-principle-name/>
|
|
728
|
+
|
|
729
|
+
<spec-ic-principle-statement/>
|
|
730
|
+
(why: <spec-ic-principle-rationale/>)
|
|
731
|
+
|
|
732
|
+
</format>
|
|
733
|
+
|
|
734
|
+
- <spec-ic-principle/> details:
|
|
735
|
+
|
|
736
|
+
- <spec-ic-principle-id/>: per-artifact unique "slug" of always 1-3
|
|
737
|
+
lower-cased words (concatenated with "-" characters and
|
|
738
|
+
in total not longer than 30 characters), derived from
|
|
739
|
+
<spec-ic-principle-name/>.
|
|
740
|
+
|
|
741
|
+
- <spec-ic-principle-name/>: a short (2-5 word) summary of the
|
|
742
|
+
interaction principle (e.g. `Auto-Save`, `Optimistic Updates`,
|
|
743
|
+
`Undo over Confirm`).
|
|
744
|
+
|
|
745
|
+
- <spec-ic-principle-statement/>: a concise paragraph (1-3
|
|
746
|
+
sentences) of prose describing the interaction principle and how
|
|
747
|
+
it governs the user's experience across the solution.
|
|
748
|
+
|
|
749
|
+
- <spec-ic-principle-rationale/>: the 1-sentence rationale ("why")
|
|
750
|
+
of the interaction principle.
|
|
751
|
+
|
|
752
|
+
- In case the rationale is not present, the
|
|
753
|
+
entire `(why: [...])` chunk is omitted.
|
|
754
|
+
|
|
755
|
+
Language Conventions (LC)
|
|
756
|
+
-------------------------
|
|
757
|
+
|
|
758
|
+
The terminology, naming, tone, and wording standards used consistently
|
|
759
|
+
across the solution and its content.
|
|
760
|
+
|
|
761
|
+
- Format:
|
|
762
|
+
|
|
763
|
+
<format>
|
|
764
|
+
|
|
765
|
+
# SPECIFICATION: LANGUAGE CONVENTIONS (SPEC-LC)
|
|
766
|
+
|
|
767
|
+
✳ Created: **<timestamp-created/>**
|
|
768
|
+
✎ Modified: **<timestamp-modified/>**
|
|
769
|
+
|
|
770
|
+
<spec-lc-convention/>
|
|
771
|
+
<spec-lc-convention/>
|
|
772
|
+
[...]
|
|
773
|
+
|
|
774
|
+
</format>
|
|
775
|
+
|
|
776
|
+
- <spec-lc-convention/> format:
|
|
777
|
+
|
|
778
|
+
<format>
|
|
779
|
+
|
|
780
|
+
## CONVENTION SPEC-LC-<spec-lc-convention-id/>: <spec-lc-convention-name/>
|
|
781
|
+
|
|
782
|
+
- Category: <spec-lc-convention-category/>
|
|
783
|
+
|
|
784
|
+
<spec-lc-convention-statement/>
|
|
785
|
+
(e.g. <spec-lc-convention-example/>)
|
|
786
|
+
|
|
787
|
+
</format>
|
|
788
|
+
|
|
789
|
+
- <spec-lc-convention/> details:
|
|
790
|
+
|
|
791
|
+
- <spec-lc-convention-id/>: per-artifact unique "slug" of always
|
|
792
|
+
1-3 lower-cased words (concatenated with "-" characters and
|
|
793
|
+
in total not longer than 30 characters), derived from
|
|
794
|
+
<spec-lc-convention-name/>.
|
|
795
|
+
|
|
796
|
+
- <spec-lc-convention-name/>: a short (2-5 word) summary of the
|
|
797
|
+
language convention.
|
|
798
|
+
|
|
799
|
+
- <spec-lc-convention-category/>: the aspect of language the
|
|
800
|
+
convention governs, one of `Terminology` (preferred and
|
|
801
|
+
forbidden terms), `Naming` (naming patterns), `Tone` (voice and
|
|
802
|
+
register), `Capitalization`, `Punctuation`, or `Formatting`.
|
|
803
|
+
|
|
804
|
+
- <spec-lc-convention-statement/>: a concise paragraph (1-3
|
|
805
|
+
sentences) of prose describing the convention to be applied
|
|
806
|
+
consistently across the solution.
|
|
807
|
+
|
|
808
|
+
- <spec-lc-convention-example/>: a short, concrete illustration of
|
|
809
|
+
the convention in practice (optional).
|
|
810
|
+
|
|
811
|
+
- In case the example is not present, the
|
|
812
|
+
entire `(e.g. [...])` chunk is omitted.
|
|
813
|
+
|
|
814
|
+
Dialog Patterns (DP)
|
|
815
|
+
--------------------
|
|
816
|
+
|
|
817
|
+
The reusable interaction structures governing how the system and user
|
|
818
|
+
exchange information across recurring conversational or UI flows (e.g.
|
|
819
|
+
master-detail dialog).
|
|
820
|
+
|
|
821
|
+
- Format:
|
|
822
|
+
|
|
823
|
+
<format>
|
|
824
|
+
|
|
825
|
+
# SPECIFICATION: DIALOG PATTERNS (SPEC-DP)
|
|
826
|
+
|
|
827
|
+
✳ Created: **<timestamp-created/>**
|
|
828
|
+
✎ Modified: **<timestamp-modified/>**
|
|
829
|
+
|
|
830
|
+
<spec-dp-pattern/>
|
|
831
|
+
<spec-dp-pattern/>
|
|
832
|
+
[...]
|
|
833
|
+
|
|
834
|
+
</format>
|
|
835
|
+
|
|
836
|
+
- <spec-dp-pattern/> format:
|
|
837
|
+
|
|
838
|
+
<format>
|
|
839
|
+
|
|
840
|
+
## PATTERN SPEC-DP-<spec-dp-pattern-id/>: <spec-dp-pattern-name/>
|
|
841
|
+
|
|
842
|
+
- Context: <spec-dp-pattern-context/>
|
|
843
|
+
|
|
844
|
+
<spec-dp-pattern-description/>
|
|
845
|
+
(why: <spec-dp-pattern-rationale/>)
|
|
846
|
+
|
|
847
|
+
</format>
|
|
848
|
+
|
|
849
|
+
- <spec-dp-pattern/> details:
|
|
850
|
+
|
|
851
|
+
- <spec-dp-pattern-id/>: per-artifact unique "slug" of always 1-3
|
|
852
|
+
lower-cased words (concatenated with "-" characters and
|
|
853
|
+
in total not longer than 30 characters), derived from
|
|
854
|
+
<spec-dp-pattern-name/>.
|
|
855
|
+
|
|
856
|
+
- <spec-dp-pattern-name/>: a short (2-5 word) summary of the dialog
|
|
857
|
+
pattern (e.g. `Master-Detail`, `Wizard`, `Inline Edit`).
|
|
858
|
+
|
|
859
|
+
- <spec-dp-pattern-context/>: the recurring situation or flow in
|
|
860
|
+
which the pattern is applied.
|
|
861
|
+
|
|
862
|
+
- <spec-dp-pattern-description/>: a concise paragraph (1-3
|
|
863
|
+
sentences) of prose describing the reusable interaction structure
|
|
864
|
+
and how the system and user exchange information within it.
|
|
865
|
+
|
|
866
|
+
- <spec-dp-pattern-rationale/>: the 1-sentence rationale ("why") of
|
|
867
|
+
the dialog pattern.
|
|
868
|
+
|
|
869
|
+
- In case the rationale is not present, the
|
|
870
|
+
entire `(why: [...])` chunk is omitted.
|
|
871
|
+
|
|
872
|
+
Dialog Storyboard (SB)
|
|
873
|
+
----------------------
|
|
874
|
+
|
|
875
|
+
The sequenced visual or textual depiction of a specific dialog flow,
|
|
876
|
+
illustrating how an interaction unfolds screen by screen or turn by
|
|
877
|
+
turn.
|
|
878
|
+
|
|
879
|
+
- Format:
|
|
880
|
+
|
|
881
|
+
<format>
|
|
882
|
+
|
|
883
|
+
# SPECIFICATION: DIALOG STORYBOARD (SPEC-SB)
|
|
884
|
+
|
|
885
|
+
✳ Created: **<timestamp-created/>**
|
|
886
|
+
✎ Modified: **<timestamp-modified/>**
|
|
887
|
+
|
|
888
|
+
<spec-sb-storyboard/>
|
|
889
|
+
<spec-sb-storyboard/>
|
|
890
|
+
[...]
|
|
891
|
+
|
|
892
|
+
</format>
|
|
893
|
+
|
|
894
|
+
- <spec-sb-storyboard/> format:
|
|
895
|
+
|
|
896
|
+
<format>
|
|
897
|
+
|
|
898
|
+
## STORYBOARD SPEC-SB-<spec-sb-storyboard-id/>: <spec-sb-storyboard-name/>
|
|
899
|
+
|
|
900
|
+
- Pattern: <spec-sb-storyboard-pattern/>
|
|
901
|
+
- Scenario: <spec-sb-storyboard-scenario/>
|
|
902
|
+
|
|
903
|
+
1. **<spec-sb-frame-name/>**: <spec-sb-frame-description/>
|
|
904
|
+
2. **<spec-sb-frame-name/>**: <spec-sb-frame-description/>
|
|
905
|
+
[...]
|
|
906
|
+
|
|
907
|
+
</format>
|
|
908
|
+
|
|
909
|
+
- <spec-sb-storyboard/> details:
|
|
910
|
+
|
|
911
|
+
- <spec-sb-storyboard-id/>: per-artifact unique "slug" of always
|
|
912
|
+
1-3 lower-cased words (concatenated with "-" characters and
|
|
913
|
+
in total not longer than 30 characters), derived from
|
|
914
|
+
<spec-sb-storyboard-name/>.
|
|
915
|
+
|
|
916
|
+
- <spec-sb-storyboard-name/>: a short (3-8 word) summary of the
|
|
917
|
+
depicted dialog flow.
|
|
918
|
+
|
|
919
|
+
- <spec-sb-storyboard-pattern/> is a `SPEC-DP-<spec-dp-pattern-id/>`
|
|
920
|
+
reference to the corresponding **Aspect** of the Dialog Patterns
|
|
921
|
+
**Artifact** the storyboard instantiates (optional).
|
|
922
|
+
|
|
923
|
+
- <spec-sb-storyboard-scenario/> is a `SPEC-US-<spec-us-scenario-id/>`
|
|
924
|
+
reference to the corresponding **Aspect** of the Use Case
|
|
925
|
+
Scenarios **Artifact** the storyboard visualizes (optional).
|
|
926
|
+
|
|
927
|
+
- <spec-sb-frame-name/>: a short (2-5 word) label for the screen,
|
|
928
|
+
turn, or state depicted by the storyboard frame. Frames are
|
|
929
|
+
numbered sequentially to convey their order.
|
|
930
|
+
|
|
931
|
+
- <spec-sb-frame-description/>: a concise (1-2 sentence) description
|
|
932
|
+
of what the user sees and does at this frame of the interaction.
|
|
933
|
+
|
|
934
|
+
- In case a pattern or scenario reference is not present, the
|
|
935
|
+
respective bullet point is omitted.
|
|
936
|
+
|
|
937
|
+
Visual Design (VD)
|
|
938
|
+
------------------
|
|
939
|
+
|
|
940
|
+
The aesthetic and layout aspects of the solution, defining colors,
|
|
941
|
+
typography, spacing, imagery, and overall look and feel.
|
|
942
|
+
|
|
943
|
+
- Format:
|
|
944
|
+
|
|
945
|
+
<format>
|
|
946
|
+
|
|
947
|
+
# SPECIFICATION: VISUAL DESIGN (SPEC-VD)
|
|
948
|
+
|
|
949
|
+
✳ Created: **<timestamp-created/>**
|
|
950
|
+
✎ Modified: **<timestamp-modified/>**
|
|
951
|
+
|
|
952
|
+
<spec-vd-element/>
|
|
953
|
+
<spec-vd-element/>
|
|
954
|
+
[...]
|
|
955
|
+
|
|
956
|
+
</format>
|
|
957
|
+
|
|
958
|
+
- <spec-vd-element/> format:
|
|
959
|
+
|
|
960
|
+
<format>
|
|
961
|
+
|
|
962
|
+
## ELEMENT SPEC-VD-<spec-vd-element-id/>: <spec-vd-element-name/>
|
|
963
|
+
|
|
964
|
+
- Category: <spec-vd-element-category/>
|
|
965
|
+
|
|
966
|
+
<spec-vd-element-specification/>
|
|
967
|
+
(why: <spec-vd-element-rationale/>)
|
|
968
|
+
|
|
969
|
+
</format>
|
|
970
|
+
|
|
971
|
+
- <spec-vd-element/> details:
|
|
972
|
+
|
|
973
|
+
- <spec-vd-element-id/>: per-artifact unique "slug" of always 1-3
|
|
974
|
+
lower-cased words (concatenated with "-" characters and
|
|
975
|
+
in total not longer than 30 characters), derived from
|
|
976
|
+
<spec-vd-element-name/>.
|
|
977
|
+
|
|
978
|
+
- <spec-vd-element-name/>: a short (2-5 word) summary of the visual
|
|
979
|
+
design element.
|
|
980
|
+
|
|
981
|
+
- <spec-vd-element-category/>: the aspect of visual design the
|
|
982
|
+
element governs, one of `Color`, `Typography`, `Spacing`,
|
|
983
|
+
`Layout`, `Iconography`, `Imagery`, `Motion`, or `Branding`.
|
|
984
|
+
|
|
985
|
+
- <spec-vd-element-specification/>: a concise paragraph (1-3
|
|
986
|
+
sentences) of prose specifying the concrete values, tokens, or
|
|
987
|
+
rules that define the visual design element (e.g. palette,
|
|
988
|
+
font family, scale).
|
|
989
|
+
|
|
990
|
+
- <spec-vd-element-rationale/>: the 1-sentence rationale ("why") of
|
|
991
|
+
the visual design element.
|
|
992
|
+
|
|
993
|
+
- In case the rationale is not present, the
|
|
994
|
+
entire `(why: [...])` chunk is omitted.
|