Lecture on software architecture taught within the 2nd year "Software Engineering and Methods" course at Delft University of Technology.
Topics
Architecture in context: Stakeholders, quality attributes, tradeoffs
Architectural Views: Development, Deployment, Concurrency, ...
Architectural Styles: Constraints, REST, microservices
The role of the Architect: Conceptual integrity, keeper of the vision
Take away:
Software architecture is about meeting stakeholder needs and balancing tradeoffs between conflicting needs.
Software architecture is about using different architectural view to reason about different properties of the software system.
Software architecture is about adopting established architectural styles that constrain the architectural elements and their interactions.
Being a software architect is about ensuring conceptual integrity while allowing for change.