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 |
Instructions
- All course-related questions must be posted on the Piazza.com website for this course. We will not respond to course questions through email. Please sign up for this class on Piazza.
- 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.
Syllabus
The course syllabus is available in here.
Lectures and Schedule
Topic covered | Date posted | Lecture notes | Textbook Chapters/Additional Readings |
---|---|---|---|
Course orientation | Jan 5 | ||
Introduction to Software Architecture | Jan 10 | Chapter 1 | |
Software Architecture in context | Jan 12, 17 | Chapter 2 | |
Basic Concepts | Jan 17, 19 | Chapter 3 | |
Architectural Styles | Jan 19, 24 | Chapter 4 | |
Architectural Modeling | Feb 6 | Chapter 6 | |
Architectural Analysis | Feb 13 | Chapter 8 | |
UML | Feb 13 | – | |
Implementation | Feb 28 | 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 |
Projects
Date posted | Document | Due date |
---|---|---|
Jan 12 | N.A. | |
Jan 19 | Feb 2 | |
Feb 20 | Mar 1 | |
Mar 20 | ZIP | Apr 10 |