Files
016-pretty-table/.claude/skills/artifact/references/DCD.md
T
Tirsvad b0a7414204 Add Pretty Table project: plan, accepted documents and code
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
2026-10-07 12:02:59 +08:00

28 lines
1.3 KiB
Markdown

# Design Class Diagram (DCD) (DCD)
Cite in `CrossReference` only if the instance exists (`new-artifact.sh` checks this for you):
- **DM** — Concepts each design class refines — names must stay consistent
- **SD** — Messages that become method signatures
- **ERD** — Forward: persistence of the classes' attributes
## Required sections (after Metadata / Version History)
1. **Purpose and Scope**.
2. **Diagram** — PlantUML class diagram: visibility markers (`+` `-` `#`)
on every member; association vs aggregation vs composition vs dependency
used per true ownership/lifecycle; multiplicity and navigability on every
association.
3. **Class Table** — `Class | Refines (Domain Model concept) |
Responsibility (one sentence) | Attributes | Operations`. SOLID applied;
no god classes; names consistent with the Domain Model.
4. **Method Traceability** — `Method signature | Operation Contract / SD
message`; every method traces to one.
5. **Pattern Annotations** — `Pattern | Classes | Rationale`, explicit.
6. **Dependency Check** — note confirming no circular class/package
dependencies (or an explicit justification).
## Terminology
Class and attribute names are the IT terms from the dictionary (`DICT`), not the PO terms the Domain Model uses.