09 Intro to Software Architecture

Common Software Architectures 1. Pipes and Filters (Example: Compilers) 2. Object-Oriented Organization (Example: Eclipse IDE) 3. Event-Driven Architecture (Example: Node.js) 4. Blackboard Architecture (Example: tldraw) 5. Layered Systems (Example: Internet Protocol Suite)

Why Document Architecture? - Blueprint for the system - Artifact for early analysis - Primary carrier of quality attributes - Key to post-deployment maintenance and enhancement - Documentation speaks for the architect, today and 20 years from today - As long as the system is built, maintained, and evolved according to its documented architecture - Support traceability.