Schedule
CS 446/646 & ECE 452 (Spring 2010) – Software Design and Architecture

Schedule

Wk

Date

Topic

Extra Information

1

May 3

Administration

Introduction & General Discussion on Architecture




Software Architecture - Basics

Garlan & Shaw, slides



Software Architecture – Case Studies

Garlan & Shaw, 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

2

May 10

Design Patterns (GOF)

Design Patterns, slides

Reading: Students are responsible for the following:

Singleton, Adapter, Bridge, Façade, Command, Iterator, Observer, Strategy, Visitor, Interpreter



Conceptual Vs. Concrete Architecture

Assignment 0 due

Bowman, slides



Reference Architecture

Hassan, slides

3

May 17

GUEST SPEAKER – Ian Davis “LSEdit”

LSEdit



Architectural Views (4+1 View)

Krutchten, slides



Architectural Quality Concerns

slides

4

May 24

HOLIDAY




Assignment 1 due

Architectural Methodology (RUP, Agile, Scrum)

slides



Architectural review of Enterprise Applications

slides

5

May 31

Architectural review of Enterprise Applications
Google Web Toolkit”

GWT, slides



Service Layer Architecture – Facade Vs. Command

slides



J2EE Design Patterns

Core J2EE Patterns slides

6

Jun 7

Assignment 2 – Prototype all week in class






7

Jun 14

Derek Rayside - Another look at Design

slides



MID Term Review

slides


Jun 17

MID TERM

MC 4020/4059 6:30 – 8:30 PM



MID Term post mortem


8

Jun 21

Introduction to Service Oriented Architecture (SOA)

Assignment 3 due

Essential Software Architecture – Ch12

Software Engineering – Ch19

slides



Introduction to Aspect Oriented Programming (AOP)

Essential Software Architecture – Ch10

Software Engineering – Ch21

slides



Introduction to Software Design Analysis & Testing Tools by Derek Rayside

slides

9

Jun 28

Alloy – Brief Introduction by Derek Rayside

slides



Introduction to Aspect Oriented Programming (AOP)




HOLIDAY


10

July 5

Cloud Computing – Introduction

Cloud SPI Services & Deployment models

slides



Cloud SPI Services & Deployment models

Cloud Storage

Cloud Computing

slides



Cloud challenges – Security

slides

11

Jul 12

GUEST SPEAKER – Anthony Scian (RIM)

Blackberry Evolution & Challenges”

Assignment 4 due

slides



Refactoring to Patterns – Creation, Simplification


Mehdi Amoui (slides)
Refactoring to Patterns – Ch 4, 5, 6, 7

Refactorings
Refactoring to Patterns
How to write Unmaintainable code



12

Jul 19

Student Presentations: Assignment 5






13

Jul 26

Student Presentations: Assignment 5


Jul 28

Final Exam Review

LAST DAY OF CLASSES



Reference 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]