Scroll down to  Course Outline
EE 573 - Object-Oriented Analysis & Design
Schedule for Fall 2004
Date  Notes and Exercises Reading Assignments & Tests
Labs and Projects (lab template)
Week 1
September 07
Course Introduction
Why OO?
Why UML?
Selic, B., "UML 2.0: Exploiting Abstraction and Automation" , SD Times, Issue 98, 15 March 2004. (print version)
 Familiarization with the Eclipse IDE and the Java Development Environment
plus an Interesting short article on Eclipse
Week 2
September 13
The Object Model

D. L. Parnas, "On the Criteria to be Used in Decomposing Systems into Modules", Communications of the ACM, Vol. 15, No. 2, 1972.
 Lab 1 - Review of Java Language Basics
Q&A solution set
Week 3
September 20
Representing
Classes , Objects
& Relationships
Exercise

 Lab 2 - Modification of a Java Program
Week 4
September 27
Managing & Representing
Requirements
(Use Case template)
K. Wiegers, "10 Requirements Traps to Avoid" (pdf)

 Lab 3 - Introduction to Object Collaboration
 
Week 5
October 04
Analysis Concepts:
Finding Classes

A. Cockburn, "An Open Letter to Object Technology Newcomers"

Assignment in OO Concepts -
(due Friday October 22 @ 1630 hours)
 Lab 4 - Introduction to Inheritance / Interfaces
Week 6
October 11
Modeling Interactions


 Lab 5 - Association Relationships (week 1 of 2)
Week 7
October 18
Design Concepts:
Modeling Classes



 Lab 5 - Association Relationships (week 2 of 2)
Week 8
October 25
Modeling Behaviour
 Design Project  (week 1 of 2)

Week  9
November 01

Midterm - 01 November @ 1000 hours
 Design Project  (week 2 of 2)
Week 10
November 08
Development Processes
Conventional v Evolutionary
Unified Process
P. Kruchten, "Going Over the Waterfall with the RUP"
 Lab 6 - From UML Diagram to Code
Week 11
November 15
Patterns and Anti-Patterns
 Lab 7 -  Implementation Using a Framework (week 1 of 3)
Week 12
November 22
Student Design Reviews

 Lab 7 - Implementation Using a Framework (week 2 of 3)
Week 13
November 29
"The Bug Wars"
  Lab 7 - Implementation Using a Framework (week 3 of 3)

COURSE OBJECTIVES

The primary objectives of this course are:

  1. to provide students with an introduction to Object-Oriented Analysis and Design (OOAD) techniques, using the Unified Modeling Language (UML);
  2. to provide students with a foundation in object-oriented concepts and terminology; and
  3. to develop the student’s OO language skills (Java) and to provide hands-on experience with an object-oriented CASE tool.

At the end of the course, students will be able to analyze the requirements of small systems and to design and implement an object-oriented solution.

COURSE ENROLLMENT

For RMC students, follow your standard course enrollment procedures. For visiting (Queen's) students, you will need to complete a Queen's-RMC Visiting Graduate Student Application, get the appropriate Queen's signatures and submit it to me for initialing and processing at RMC.  Course enrollment will normally be capped at 24 students.



CONDUCT OF CLASS

Classes will be held on Tuesdays 1000-1300 hours in Sawyer 5003A.  For visiting (Queen's) students: directions to RMC/ECE.
Everyone is expected to be in class.  However, if someone is to come and ask to be excused from a specific class I will in most every case excuse him/her.

With respect to collaboration. 
LAB QUALITY/CONDUCT

Assisted labs will be held on Tuesdays from 0800-1000 hours. Attendance at these lab sessions is optional; lab work can be conducted on any computer with a Java development environment.  Labs should be conducted in pairs unless absolutely impractical - practice pair programming!

Lab reports are due the day the next lab begins (eg. If Lab 2 is scheduled for 14 Sep and Lab 3 is scheduled for 21 Sep; the lab report for Lab 2 is due before class on 21 Sep). Marks will be deducted for poor quality/late reports. You are required to produce a quality engineering lab report.  The report will be well formatted and presented.  Code listings will be well formatted, and documented.  You are required to provide a description of your lab setup/configuration, code/data listings, and a general discussion of the conduct of the lab and your findings, in addition to any specific discussion required of a particular lab.    Note:  The discussion part of the lab is important.  This is where you tell me what you learned and why it is important.

All labs will be submitted in printed form as well as by e-mail.  All required files for the lab will be submitted as a single .zip file attached to your e-mail.

Lab work areas are to be left clean at the close of every lab period. You are not to bring food or beverages into the lab areas. The configuration of lab computers is NOT to be altered.


MIDTERM

The proposed time frame for the midterm is during week 8.   The midterm will include all classes up to and including week 7 as well as the first 5 labs.


MARKING

Course work will be weighted as follows, out of 100 marks:


REFERENCES

The main textbooks for this course:

  1. Ambler, Scott, The Object Primer Second Edition, Cambridge University Press, 2001, ISBN 0521785197
  2. Gamma, E., et al, Design Patterns Elements of Reusable Object-oriented Software, Addison-Wesley, 1995, ISBN 0201633612.

 Another useful reference is any good Java book (for example):

  1. Eckel, Bruce, Thinking in Java 2nd Ed., Prentice Hall, 2000. See bruceeckel.com  (do not use lab printers to print chapters or entire books - print privileges will be revoked!)

PROFESSOR INFORMATION


Typical Office Hours: Monday to Thursday 0830 - 1700 hrs