The document discusses software architectural design. It describes architectural design as identifying subsystems and their communication frameworks. Key aspects covered include system structuring, modular decomposition, control modeling, and architectural models. Common architectural styles like repository, client-server, and layered models are explained. The document also discusses control flow models such as centralized, event-based, call-return, and interrupt-driven approaches. Modular decomposition using objects and data flow are also summarized.