Software Design and Analysis

Title: Software Design and Analysis Code: CSCI 2040U

Instructor: Jarek Szlichta, jaroslaw [dot] szlichta [at] uoit [dot] ca

Office hours: Wednesdays 5-6pm  (except reading week)

TA office hours (upon request)

Description and Course Outline: see Blackboard

Marking Scheme: Labs and Project 30% (10% + 20%),  Midterm : 20%, Final Midterm : 40%, Participation/Presentation: 15%.

Policies: Refer to following link. Refer to UOIT Faculty of Science academic policies

Required readings: 

Required: Applying UML and Patterns, Craig Larman

Optional: Introduction to Software Engineering Design: Processes, Principles and Patterns with UML2 – Christopher Fox

Lecture Notes (always check newest version of the slides):

1. Introduction PDF

2. Inception, Requirements, Activity Diagrams PDF In-Class-Activities PDF

3. Use Cases PDF In-Class-Activities PDF

4. Unified Process and Agile PDF

5. Domain Models PDF In-Class Activities PDF

6. Generalization PDF

7. Interaction Diagrams PDF

8. State Diagrams PDF In-Class Activities PDF

9. Design Model PDF

11. Package Diagrams PDF

12. Patterns PDF

13. More Patterns PDF

14. Testing and Refactoring PDF


Labs start in the week of 21nd of January.

Lab tasks will be posted on Blackboard


Any student who misses an examination  without a valid medical reason and documentation will receive zero for that examination/tutorial. Those with medical documentation will either be given a makeup exam/tutorial or will have the weight of the examination (final exam/midterm) added to the final exam.

  1. Midterm: 25th of Feb (Foundations and Applications) and 27th of Feb (Design), bring your laptop.
  2. Final Midterm: 1st of April (Foundations and Applications) and 3rd of April (Design), bring your laptop.