Object-oriented Analysis and Design


General Information

This document is a contract between EEE320 students and the instructor. You must read and understand it. We will discuss important points in the first course.

I will publish this document and all other course information under this web page http://roberge.segfaults.net. The pages of the course are protected by a password as well as the files to download. To access the pages, enter the user name and password in the input fields at the top of the page. For files, just click on the link and a window will appear asking you for a name and password. The user name is 320 and the password is letmein. It is the same name and password for pages and for files.



The main objectives of the course are to provide students with:

  • An introduction to object-oriented analysis and design techniques (OOA / D) using the Unified Modeling Language (UML);
  • The basic concepts and terminology of the object-oriented model; and
  • Programming and modeling skills using CASE (Computer-Aided Software Engineering) tools.

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

You can also see the official description for EEE320.



The EEE320 course is taught by Dr. Amal Khalil until week 5 and by Dr. Vincent Roberge from week 5 to the end of the semester. The instructors will co-ordinate laboratory work together. Mr. Abdalla Osman will help in the laboratory. The English and French versions of the course will be identical. Students will have access to all course material, laboratories, tests and examination in both official languages. You can submit your work in English or French. The Frensh documentation is available on Vincent Roberge's website. The user word and the password are the same as for the site in English.


Course Manuals

The course manuals are:

  • Martin Fowler, UML Distilled Third Edition: A Brief Guide to the Standard Object Modeling Language, Addison-Wesley, 2004. ISBN 0-320-19368-7.
  • Eric Freeman and Elisabeth Freeman, with Kathy Sierra and Bert Bates. Head First Design Patterns, O'Reilly, 2004. ISBN 0-596-00712-4.es manuels du cours sont: Martin Fowler, UML Distilled Third Edition: A Brief Guide to the Standard Object Modeling Language, Addison-Wesley, 2004. ISBN 0-320-19368-7.


Lesson Plan

The material will be presented to you through the "lectures", exercises, reading manuals, and laboratories.

The first part of the course will focus on the Java programming language and the Unified Modeling Language (UML). You will both use them during laboratories. In this part of the course, we will also touch on the software development process and the concept of test-driven development.

The second part of the course will consist of a series of exercises in which you will solve common software design problems and evaluate potential solutions.

I will normally publish the course notes and presentations in advance. The goal is to minimize note taking so that you can focus on understanding the subject taught. Note, however, that the documentation serves as a support for the teaching of the subject and does not replace the courses, so you will have to take your own notes to complete the one provided to you.



Laboratories are the cornerstone of the course. Details for each laboratory will be published on the course page in the laboratory section.

You will complete the laboratories as a team of up to two people. The teams will be the same throughout the session. Unfortunately, you can not form a team with a student from the English section because the laboratory periods are not at the same time. Both team members must understand the laboratory work since the second mid-term review will include a practical laboratory-based section that will be done individually.

You must submit your laboratory reports in a paper format before the start of the next laboratory period. Delayed laboratories will not be corrected and a score of 0% will be awarded. You must complete and submit all your laboratories in order to be able to take the final exam.



As indicated in the ELOF IE (CadWins), the presence in the classroom is mandatory for cadets. Civilian and graduate students are encouraged to attend classes and must be present for laboratories. If you are absent from the course for medical appointments or other appointments, please request and obtain permission from your instructor in advance.


Academic Misconduct Policy

Misconduct in studies, including cheating, plagiarism and any form of violation of academic ethics, may result in sanctions ranging from a written warning to the referral of the RMC. RMC regulations on studies, section 23, define plagiarism as "misappropriation of someone else's work and attempt to present it as his own. This includes misleading allegations about data or References, misuse of quotation marks or mention of a source "and" failure to adequately recognize collaboration or external assistance ". You should familiarize yourself with the regulations about misconduct in the studies available in section 23 of the undergraduate directorythe undergraduate directory.


Marking Scheme

The course marking scheme respects the policies of the Faculty of Engineering.

Laboratory 20%
Mid-term Test 1 10%
Mid-term Test 2       20%
Final Exam 50%


You must obtain a passing grade (40/80) on the mid-term tests and final exam combined in order to pass the course.

Unauthorised absences or lateness may be penalised against the laboratory mark.

If it becomes clear that lab partners are not contributing equally to the laboratory portion of the course, laboratory marks may be adjusted.


Final Exam

The final exam will be at the gym. I have posted a .zip file of copies of previous years' midterms and final examinations for your reference.



  • Arrive in class and in laboratories on time and suitably prepared.
  • Always have paper and a pencil with you for classroom work and to take notes.
  • In class or in the laboratory, be focused on the topic of the moment.