Schedule: SE2-Software Design & Architecture
(CS446/CS646/ECE452) Spring 2011

Main|Schedule|Term Project

IMPORTANT: Lecture slides are designed to facilitate me in delivering the class lectures. They are NOT to be used as a replacement for student notes. You are welcome to use these slides as the basis for your own notes but these slides should not be your only set of notes. The lecture slides are sometimes vague and incomplete on purpose in the hope to spark class discussions. These discussions are a valuable part of this course.
WK Date Topic Slides
1May 2nd, 2011Administration 
 May 4th, 2011UML review slides UML Tools
 May 6th, 2011UML review slides
2May 9th, 2011UML review slides
Students are responsible for all the material covered in the UML lectures and the following:
State, Activity diagrams
 May 11th, 2011GoF Design Patterns
Exercise 0 Due
Design Patterns, slides

Reading: Students are responsible for the following: Singleton, Adapter, Bridge, Façade, Command, Iterator, Composite, Observer, Strategy, Visitor, Interpreter

Additional reading: Design Patterns: Elements of Reusable Object-Oriented Software [Amazon] Chapter 1

 May 13th, 2011GoF Design Patterns slides

Additional reading: Design Patterns: Elements of Reusable Object-Oriented Software [Amazon] Chapter 2

3May 16th, 2011Software Architecture: Basics Garlan & Shaw slides
 May 18th, 2011Software Architecture: Basics Garlan & Shaw slides
 May 20th, 2011Software Architecture: KWIC Case study slides

Reading: Students are responsible for the following:

  • Case Study 1: KWIC
  • Case Study 2: Instrumentation Software
  • Case Study 3: A Fresh View of Compilers

4May 23rd, 2011HOLIDAY 
 May 25th, 2011Guest Speaker - Ian Davis: Architecture & Design - Identifying Dead Code ASX Xcise LSEdit
 May 27th, 2011Types of Software Architecture: Conceptual Vs. Concrete Architecture Vs. Reference Architecture Hassan Bowman
slides
5May 30th, 2011Architectural (4+1) Views Krutchten slides
 June 1st, 2011Architectural Quality Concerns slides
 June 3rd, 2011Prof. Derek Rayside: Creativity slides
6June 6th, 2011Enterprise web applications architecture & design review slides
 June 8th, 2011 Google Web ToolKit (GWT) architecture & design review
Assignment 1 due
GWT slides
 June 10th, 2011Designing a Service Layer (Facade or Command) slides
7June 13th, 2011J2EE Design Patterns Core J2EE Design Patterns slides
 June 15th, 2011J2EE Design Patterns slides
 June 17th, 2011Architectural Methodology overview (RUP, AGILE) slides-2010
8June 20th, 2011 MIDTERM review in the morning MIDTERM at 4:30-6:30 PM at DC1350 review slides
Midterm Solution
 June 22nd, 2011Prof. Derek Rayside - Another look at design 
 June 24th, 2011Prof. Derek Rayside - Design & Analysis Tools alloy class activity
9June 27th, 2011Prof. Derek Rayside - Design & Analysis Tools class activity
 June 29th, 2011Prof. Derek Rayside- seL4 Kernel slides

A Formally Correct Operating System Kernel website
seL4: Formal Verification of an OS Kernel paper

Richard Gabriel's essays

 July 1st, 2011HOLIDAY 
10July 4th, 2011Cloud Computing - Introduction slides
 July 6th, 2011 Cloud Computing - Architectural Considerations
Assignment 2 due
slides
 July 8th, 2011Mehdi Amoui- Refactoring to Patterns slides
Refactorings
Refactoring to Patterns
How to write Unmaintainable code
11July 11th, 2011Mehdi Amoui- Refactoring to Patterns Refactorings
Refactoring to Patterns
How to write Unmaintainable code
Source making
 July 13th, 2011 Student Project Presentations
  1. Group: Alibi
  2. BiWinning
  3. Classroom Locator
 July 15th, 2011Student Project Presentations
  1. GPSNotify
  2. IIAMM Is Another Media Manager
  3. Iflyer
12July 18th, 2011Student Project Presentations
  1. Ingredient-Base Recipe Search
  2. JobMine Plus
  3. Life Fits
 July 20th, 2011Student Project Presentations
  1. Master Calendar
  2. Media Master Reference Library
  3. PatternSONA
 July 22th, 2011Student Project Presentations
Assignment 3 due
  1. Pocket Remote Control
  2. Silver Lining
  3. Sketch and Guess
13July 25th, 2011Student Project Presentations
  1. The Intramural Sports Scheduling System
  2. UW Dashboard
  3. Win Phone IM
 July 26th, 2011FINAL EXAM REVIEW slides


Reading Material

  1. Design Patterns
    1. Design Patterns: Elements of Reusable Object-Oriented Software [Amazon]
    2. Design Patterns: [Wikipedia]
  2. Essential Software Architecture by Ian Gorton [online]
  3. Refactoring to Patterns by Joshua Kerievsky [Amazon]
  4. Software Engineering 9th edition by Ian Sommerville [Amazon]
  5. UML 2 and the Unified Process 2nd Edition Practical Object Oriented Analysis & Design [Amazon]

UML Tools

Feel free to use any of the following UML tools. As I had mentioned in the class, some of these tools are modelling tools (i.e. they will enforce model integrity rules as you create your UML models) and some are drawing tools (you will be responsible for ensuring that the model is correct). If you are new to UML, I would encourage you to start with a modelling tool (such as ArgoUML) and transition to a drawing tool (Visio or UMLet). Considering that on the exam you will not have access to the modelling tools, you will need to learn the basic modelling notations.

UML Referenes

JEE Referenes


Last updated on: May 19th, 2011 by Atif Khan.