EECE 417: Software Architecture

This is an past offering of this course. Please go here for the current offering of this course (Term 2, 2012).

Staff Logistics Announcements Syllabus Lectures Projects

Course Staff

Instructor: Karthik Pattabiraman (karthikp AT ece DOT ubc DOT ca )

TA : Farid M. Tabrizi (faridm AT ece DOT ubc DOT ca)

Course Logistics

This is a fourth year course on software architecture. We will study the high-level design of software systems, starting from requirements gathering to their implementation, architectural styles and idioms, connectors, modeling, and visualization. We will also study real world software systems and their architecture through the course of this term.

The pre-requisites for this course are EECE 310 (or equivalent), EECE 320 (or equivalent) and EECE 315 (or equivalent). I will assume that you have some familiarity with building a substantial software system, which would likely be the case if you had taken the prerequisite courses. However, you are responsible for filling in any gaps in your knowledge of the material covered in the prerequisites.

What ? When ? Where ?
Lectures Tuesdays and Thursdays (3:30 to 5:00 PM) MCLD 228
Karthik’s Office hours Thursdays (1:00 PM to 1:45 PM) KAIS 4048
Farid’s office hours TBD TBD

Back to top


  1. All course-related questions must be posted on the website for this course. We will not respond to course questions through email. Please sign up for this class on Piazza.
  2. For all other questions that are specific to your situation, you can email us provided you include EECE417 in your subject. Otherwise, your email may get lost and we will not reply.

Back to top


The course syllabus is available in here.

Back to top

Lectures and Schedule

Topic covered Date posted Lecture notes Textbook Chapters/Additional Readings
Course orientation Jan 5 PDF
Introduction to Software Architecture Jan 10 PDF Chapter 1
Software Architecture in context Jan 12, 17 PDF Chapter 2
Basic Concepts Jan 17, 19 PDF Chapter 3
Architectural Styles Jan 19, 24 PDF Chapter 4
Architectural Modeling Feb 6 PDF Chapter 6
Architectural Analysis Feb 13 PDF Chapter 8
UML Feb 13 PDF
Implementation Feb 28 PDF Chapter 9
Role of an architect
(by Prof. Philippe Kruchten)
Mar 6 PDF (ECE access only) 1. The past, present and future of software architecture,
2. What do software architects really do ?
3. The architect: Software Engineering team
Architectural Knowledge
(by Prof. Philippe Kruchten)
Mar 15 PDF (ECE access only) 1. An Ontology of Architectural Design Decisions in Software-Intensive Systems,
2. A general model of software architecture design derived from five industrial approaches
3. Documentation of Software Architecture 2 from a Knowledge Management Perspective – 3 Design Representation

Back to top


Date posted Document Due date
Jan 12 PDF N.A.
Jan 19 PDF Feb 2
Feb 20 PDF Mar 1
Mar 20 ZIP Apr 10