Business Case, Stakeholder Analysis, Project Plan and milestone MIL-001 with review records RC-001 to RC-003, then the Python project: PrettyTable Pokemon table, constants, pytest tests, pyproject.toml, Doxyfile, CI workflow and README. Task: MIL-001#1 Task: MIL-001#2 Task: MIL-001#3 Task: MIL-001#4 Task: MIL-001#5 Task: MIL-001#6 Task: MIL-001#7 Task: MIL-001#8
1.2 KiB
1.2 KiB
Operation Contract (OC)
Cite in CrossReference only if the instance exists (new-artifact.sh checks this for you):
- SSD — Required source: each contract traces to exactly one SSD message
- DM — Classes/associations named in pre/postconditions
- SD — Forward: the design realizing each contract's postconditions
Required sections (after Metadata / Version History)
One block per system operation, each containing:
- Operation — complete signature: name, parameter types, return type (must match the SSD message).
- Cross References — the SSD message it traces to (one contract per message) and the Domain Model concepts touched.
- Preconditions — required state before execution, expressed in Domain Model terms.
- Postconditions — state changes only, in Larman's style: instance created / instance associated / attribute modified. Declarative ("what"), never algorithmic ("how"); avoid vague text like "system processes the request".
- Exceptions — error conditions, each with the failing precondition.
Terminology
Use the IT terms from the dictionary (DICT), not the PO terms the Domain Model uses.