| 1 |
Message passing strictly follows UML sync/async/return arrow syntax |
Pass |
Calls are solid arrows with dashed returns. |
| 2 |
GRASP/GoF patterns applied and explicitly annotated where used (e.g. Controller, Observer, Mediator, Factory) |
Pass |
Each sequence has a Pattern Annotations table (Creator, Information Expert, Null Object, MVVM, Repository). |
| 3 |
Lifelines show activation bars matching actual processing time/call nesting |
Pass |
Activations are drawn for the session and the view model. |
| 4 |
Object creation and destruction shown with correct UML notation (create/destroy messages, X on lifeline) |
Pass |
create is used for Deck and StudySession; no object is destroyed during the program's life and that is stated by omission, the process ends. |
| 5 |
Diagram realizes the postconditions of a specific Operation Contract |
Pass |
Each sequence has a Postcondition Coverage table for its contract in OC-001. |
| 6 |
Responsibility assignment favors low coupling/high cohesion (no god-object receiving all messages) |
Pass |
Responsibility Check notes state that no object receives all messages. |
| 7 |
Loop, alt, and opt combined fragments used correctly for conditional/repeated behavior |
Pass |
alt and opt fragments are used for the progress file and the empty deck. |
| 8 |
Each exception of the realized Operation Contract is shown as an alt or opt fragment, or its absence is justified |
Fail |
The exceptions of OC-001 (missing file, malformed file) are raised before the sequence starts and are not drawn as alt fragments; Optional, deferred. |