Files
031-flash-card/docs/uc-001/ssd.md
T

2.8 KiB

System Sequence Diagram: Study Flash Cards

Metadata

Key Value
ID SSD-001
CrossReference UC-001, DM-001, OC-001
Language en
Domain it

Version History

Date Status Author Reviewer Change Commit
2026-10-14 Deprecated Jens Tirsvad Nielsen AI as stand-in for S01 Initial version c3fbcbc
2026-10-14 Accepted Jens Tirsvad Nielsen AI as stand-in for S01 Added chooseLevel; startStudySession returns the levels 0b983b7

Source Use Case

Study Flash Cards (UC-001) — scenario: main success scenario, with the unknown button as one repetition.

Diagram

@startuml
actor Learner as L
participant ":System" as S
L -> S : startStudySession()
S --> L : levels (100 words, 1000 words, all words)
L -> S : chooseLevel(level)
S --> L : card (word, language name)
... 3000 ms pass, the system turns the card over ...
S --> L : card (translation, language name)
L -> S : markKnown()
S --> L : next card (word, language name)
L -> S : markUnknown()
S --> L : next card (word, language name)
@enduml

System Operations

Step Message Parameters Return Use case step
1 startStudySession none the levels to choose from 1, 2
2 chooseLevel level card to show, or "nothing left to learn" 3, 4, 5
3 (timer) turn the card over none the same card, translation side 6
4 markKnown none next card, or "nothing left to learn" 7, 8, 9
5 markUnknown none next card, or "nothing left to learn" 7a, 9

The turn-over in step 3 is started by the system's own timer, not by a message from the Learner; it is shown as a return without a call, which is the one deviation from "every return answers a message". When the level is given at start (extension 3a of UC-001) the Learner's first message is chooseLevel and startStudySession is not sent.

Alternate Flows

The extensions 3a, 4a, 5a, 7b and 9a of UC-001 add no system operation of their own (they are errors, speech, timer and level handling inside the operations above); their behaviour is in OC-001 as exceptions. They are out of scope of this diagram, which shows the main success scenario with markUnknown as the one alternate answer.

Lifecycle Notes

The system instance lives for one run of the program. The words to learn are created when the level is chosen and saved after each markKnown.