SoftwarePractice.org: Home | Courseware | Wiki | Archive

Menu:

Module 1: Software Architecture in Context

Overview

This is the introductory module to this subject. It explains the concept of software architecture and places architectural work into the context in which software system development takes place. It also introduces some basic notions that we can used to understand that context, such as stakeholders, constraints and enables, and narrative descriptions of system needs or user goals.

Required readings

  1. "An Introduction to Architecture." Chapter 1 of A Software Architecture Primer, by John Reekie and Rohan McAdam.
  2. "Architectural Analysis." Chapter 2 of A Software Architecture Primer, by John Reekie and Rohan McAdam.

Optional readings

  1. Jan Bosch, ``Design of Software Architectures,'' Chapter 2 of Design and Use of Software Architectures: Adopting and Evolving a Product-line Approach, pp 23--40. Addison-Wesley, 2000.
    (A good overview of architectural design, from more of an ``industrial'' perspective than an ``academic'' perspective.)
  2. Alistair Cockburn, ``Introduction,'' Chapter 1 of Writing Effective Use Cases, pp 1--19. Addison-Wesley, 2000.
    (Explains use cases, giving many different examples of different forms of use-cases, including the usage narratives we use in this subject.)

Slides and exercises

  • Lecture slides :: powerpoint :: pdf
  • Additional lecture slides - Stakeholder analysis :: pdf
  • Tutorial - Context :: pdf

More resources