Foundations of Software Architecture
This is a course based on the book A Software Architecture Primer, by John Reekie and Rohan McAdam. This section of the site contains a full set of materials suitable for a typical undergraduate semester, written mostly by John Reekie and with contributions from others, notably Lian Loke and Rohan McAdam. The course was written for a mid-level undergraduate class, in which the students are transitioning from programming and rote methodologies to a broader outlook on software systems, but it's fairly straightforward to address the needs of a more advanced class with additional readings and lecture material. The material is all distributed under the Creative Commons Attribution-ShareAlike license, unless stated otherwise.
- Resources
- Subject Design and Evolution
- Subject Guides and Manuals
- Myths and Misconceptions
- Module 1: Software Architecture in Context
- Module 2: Architectural Analysis and Design
- Module 3: Conceptual Architecture
- Module 4: Execution Architecture
- Module 5: Implementation Architecture
- Module 6: Architectural Styles
- Module 7: Realtime Systems
- Module 8: Web Systems
- Module 9: Quality Attributes
- Module 10: Culture and Design
- Module A: Industrial Systems
- Short Course
I'd love to hear from you if you're interested in using this material in a class. Execute this PHP code to get my email address:
<?php
$name = array('John', 'Reekie');
$host = array('uts', 'edu', 'au');
echo implode('.', $name) . "@" . implode('.', $host);
?>
John Reekie
University of Technology, Sydney