Capability Guide: System Definition and Design¶
Purpose¶
Model system structure and architecture in a way that remains consistent across data models, governance views, and diagrams.
Modules In Scope¶
sysdef_mgmtsysarch_mgmtdiagrams_mgmt
When To Use This Guide¶
- establishing or refactoring system decomposition
- aligning architecture model and diagram representation
- diagnosing structure/diagram divergence
Integration Workflow¶
flowchart TD
Define["Define System Entities"] --> Structure["Establish Relationships"]
Structure --> Arch["Create Architecture Views"]
Arch --> Diagram["Author/Update Diagrams"]
Diagram --> Sync["Synchronize Diagram and Model"]
Sync --> Review["Architecture Review"] Step-by-Step¶
- Create/update core system entities in
sysdef_mgmt. - Define structural relationships and decomposition boundaries.
- Build architecture views/governance states in
sysarch_mgmt. - Update diagram representations in
diagrams_mgmt. - Run sync and verify geometry/model consistency.
- Re-validate dependent interface and requirement contexts.
Artifacts Produced¶
- canonical system definition entities
- architecture node and governance views
- synchronized diagram records and geometry state
Downstream Consumers¶
interface_mgmt: interface endpoints and structural contextrequirements_mgmt: requirement scoping and linkage targetssafety_assurance: architecture context for assurance narratives
Validation Checklist¶
docker compose run --rm app sh -c "pytest sysdef_mgmt/tests sysarch_mgmt/tests diagrams_mgmt/tests -v"
./scripts/run_smoke_tests.sh
- architecture views resolve to valid system entities
- diagram sync preserves intended structure
- no orphan diagram nodes after model changes
Common Failure Modes¶
| Symptom | Likely Cause | Fix |
|---|---|---|
| diagrams out of sync with models | sync path not executed or stale references | run sync flow and verify entity mapping |
| architecture nodes missing dependencies | incomplete structural relationship updates | reconcile sysdef and sysarch entities |
| downstream interface errors | changed structural IDs with stale links | update link consumers in interface/requirements modules |
# representative route mounts
urlpatterns = [
path('sysdef/', include('sysdef_mgmt.urls', namespace='sysdef_mgmt')),
path('sysarch/', include('sysarch_mgmt.urls')),
path('diagrams/', include('diagrams_mgmt.urls', namespace='diagrams_mgmt')),
]
Geometry persistence
Diagram geometry should be treated as user intent; structural sync should preserve layout whenever possible.