Shared vocabulary for design discussions about software architecture. Provides a common framework for talking about modules, boundaries, data flow, coupling, cohesion, and architectural patterns. Use when planning system design, refactoring large changes, or aligning team understanding of code structure.