Files
026-nato-alphabet/docs/uc-001/ssd.md
Tirsvad 93c88b4d41
CI / Test on Python 3.13 (pull_request) Successful in 59s
Review MIL-002 deliverables and resolve pending commit links
2026-10-13 16:39:06 +08:00

62 lines
1.5 KiB
Markdown

# SSD-001 Spell a Word
## Metadata
| Key | Value |
| --- | --- |
| ID | SSD-001 |
| CrossReference | [UC-001] |
| Language | en |
| Domain | it |
## Version History
| Date | Status | Author | Reviewer | Change | Commit |
| --- | --- | --- | --- | --- | --- |
| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version, reviewed in RC-013 | [1b7da4b] |
---
## Source Use Case
Spell a Word ([UC-001]) — scenario: main success scenario. The alternate flow 3a (invalid character) is drawn separately below.
## Diagram
```plantuml
@startuml
actor User as U
participant ":System" as S
U -> S : requestWord()
S --> U : prompt
U -> S : spellWord(word)
S --> U : codeWords
@enduml
```
Alternate flow 3a, a word with a character that is not a letter:
```plantuml
@startuml
actor User as U
participant ":System" as S
U -> S : spellWord(word)
S --> U : rejection(only letters allowed)
S --> U : prompt
@enduml
```
## System Operations
| Step | Message | Parameters | Return | Use case step |
| --- | --- | --- | --- | --- |
| 1 | requestWord | none | prompt asking for a word | 1, 2 |
| 2 | spellWord | word | the list of code words, or a rejection for a non-letter | 3, 4 and 3a |
## Lifecycle Notes
The tool runs one session per start; it keeps no state between words. The data is loaded once when the session starts.
---
[UC-001]: ./uc.md
[1b7da4b]: https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/026-nato-alphabet/commit/1b7da4bcf95f69bf009b0a1f3d0ab740ae77e340