Software Design and Architecture

Winter 2018     Ron McFadyen  

Exam   Apr 18  @ 1:30    ROOM 3M69

Term marks as of April 1

Office hours:

Tues April 10, 17: 10:00-3:00

Wed April 11, 18: 10:00-noon



Jan 8

·       Course Outline

·       Source code for text found here

Jan 10

UML (for reference purposes)

Sequence diagrams

Class & object diagrams


Sampling Example  (sampling with strategies)


Jan 15

Assignment 1 due Wed Jan 27



Stocks example

Jan 29




Decorator example



Assignment 2 due Feb 11

Feb 5




Consider remote control with undo

·       No redo

·       Consider ceiling fan and commands

·       What happens with multiple undos? example

Macro commands


Feb 7, 12




Consider Wikipedia example

Modified to include BlueJ Shapes

Class MakePicture used in ACS-1903

Shapes classes Triangle, Circle, Square, Person modified to be subclasses of Graphic


Can we use Composite to make macro commands?

How would you arrange for undo of a macro?

Very brief look at Holub’s use of SQL Commands with undo

Command stack is a list of lists


Assignment 3  due Feb 17 

Singleton … if time permits

Feb 14

Test #1

Sample test 3913 test Jan 22 2016 (quite long)

Feb 26

Test returned and reviewed


Test papers are available in 3C13


Feb 28, Mar 5


See Slides 4, 5

State Design Pattern

Statechart Diagrams

State (slides)

Gumball statechart diagrams

Gumball machine, 1st version, without State Pattern

Source code for all versions found here



March 7              Test

March 12

Return and review test

Not present à see secretary to get your test

March 14/15

Assignment 4 and referenced article

March 19

Class cancelled

March 21

Adapter, Façade

Holub adapter example:

Principle of least knowledge

Interpreter … as time permits – not in text

Wikipedia Example

March 26


Holub example

Query tree example

Assignment 5

Sample examination questions

A sample exam

A question on statechart diagrams

March 28

Statecharts and use cases


April 2

Term marks

Review of topics

Diagrams available with exam

An answer to “A question on statechart diagrams” part a)


UW Course Evaluation

Volunteer needed

April 4

No class April 4

Office hours


April 10, 17:  10:00am till 3:00pm

April 11, 18:  10:00am till noon




Apr 18  Exam  @ 1:30    ROOM 3M69