This document provides course notes on software architecture. It begins with an overview of the course and its modules. Module 1 covers UML architecture diagrams, including Kruchten's 4+1 View Model (logical, process, development, physical views and scenarios). It describes component diagrams, package diagrams, deployment diagrams, and activity diagrams. Module 2 will cover architectural styles like layered systems and pipes and filters. Module 3 discusses quality attributes, architecture analysis, trade-off analysis, and product lines.