SoftwarePractice.org: Home | Courseware | Wiki | Archive

Menu:

Module 2: Architectural Analysis and Design

This module introduces the student to the concepts and "tools of thought" that will be needed in the process of analysis and design of the system's architecture. The well-known concepts of views is introduced first, followed by the most basic (and simplistic) presentation of the two most important types of architectural model: structural (component-and-connector) and behavioral.

Required readings

  1. "Architectural Design." Chapter 3 of A Software Architecture Primer, by John Reekie and Rohan McAdam.

Supplementary readings

  1. Michael Hirsch, ``Making RUP agile,'' OOPSLA 2002 Practitioners Reports, 2002.
    (A paper describing the application of a ``lightweight'' Unified Process.Case studies include a successful project and an unsuccessful one.)
  2. William J. Brown, Hays W. McCormick III, and Scott W. Thomas. ``One Size Fits All,'' in AntiPatterns in Project Management, pp
    319--366. John Wiley and Sons, 2000.
    (On the need for adaptability in software process. Also helps illustrates the concept of organizational constraints and enablers.)
  3. Frederick P. Brooks Jr. The Design of Design. Turing Award Lecture, 2001. (link)
    (Brooks includes in his talk some discussion of the ``co-evolution'' model of design. This is a very large media stream, so you'll
    need to be on a broadband connection to view it.)

Slides and exercises

More resources