- Documentation
- /
- Lsrr
- /
- 02 — System Diagram
02 — System Diagram
🔍 Open the Interactive Diagram Viewer — pan, mouse-wheel zoom, fit-to-screen, full-screen, per-area tabs, the full ERD, and a focus mode that draws one model and its neighbours at a chosen depth. LegacySystem is a hub table, so its links can be hidden to declutter the overview.
Regenerate the viewer after any DSL, menu_config.yaml or diagram_config.yaml change:
python scripts/build_diagram_viewer.py lsrr.
The assurance spine
flowchart TD
Entity[Entity]
Sys[LegacySystem]
Svc[BusinessService]
SvcD[ServiceDependency]
SysD[SystemDependency]
Obs[ObsolescenceAssessment]
Risk[Risk]
CC[CompensatingControl]
ER[EvidenceRequirement]
EV[EvidenceSubmission]
Repl[ReplacementInitiative]
MS[ReplacementMilestone]
Dep[ReplacementDependency]
Cut[CutoverReadiness]
Ret[RetirementPlan]
Dec[AssuranceDecision]
SH[StatusHistory]
Entity --> Sys
Entity --> Svc
Svc --> SvcD
Sys --> SvcD
Sys --> SysD
Sys --> Obs
Sys --> Risk
Risk --> CC
Sys --> CC
Sys --> ER
ER --> EV
Sys --> Repl
Repl --> MS
Repl --> Dep
Repl --> Cut
Sys --> Ret
Repl --> Ret
Sys --> Dec
Sys --> SH
How to read it
LegacySystemis the hub. Dependencies, obsolescence, risks, controls, evidence, the replacement, retirement and status all hang off it; the viewer lets you hide those hub edges to see local structure.- Dependencies come two ways. A ServiceDependency links a business service to a system; a SystemDependency links one system to another (source → target — the tabs are labelled Source and Target).
- Risk is held by controls. A
Riskis mitigated by aCompensatingControlwhose effectiveness is evidenced — the interim line until the system is replaced. - Replacement then retirement. A
ReplacementInitiative(with milestones, a blockingReplacementDependencyandCutoverReadiness) delivers the new system; aRetirementPlan(with a confirmation checklist) then retires the old one, gated by anAssuranceDecision. StatusHistoryis the audit trail of the system's lifecycle transitions.
Backing data (denormalised for display)
Each foreign key carries a denormalised <fk>_name display column so lists read in plain
language (e.g. a SystemDependency shows both its source and target system names; a
CompensatingControl shows the risk it holds) without a join at read time — the house
style for these apps.