Software Design and Analysis

Title: Software Design and Analysis Code: CSCI 2040U

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

Office hours: Tuesdays 2-3pm  (except reading week)

TA:  Guilherme Damasio, Guilherme.FetterDamasio [at] uoit [dot] ca

Spencer Bryson, Spencer.Bryson [at] uoit [dot] ca

TA office hours TBD (upon request)

Description and Course Outline: see Blackboard

Marking Scheme: Labs and Project 30% (10% + 20%),  Midterm : 20%, Final Midterm : 35%, 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 – see the link on Blackboard

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

4. Unified Process and Agile

5. Domain Models

6. Generalization  In Class-Activities

7. Interaction Diagrams

8. Design Model

9. State Diagrams

10. Package Diagrams  State and Package In Class-Activities

11. Patterns

12. More Patterns

13.  UML Deployment and Persistence

14. TDD and Refactoring

15. Closure


Labs start in the week of 22nd 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.