Object oriented analysis and design 2018

Course's objectives

Analyze and design a software using object oriented paradigm. Object-oriented programming languages will be covered with the goal of applying materials of real world applications for analysis, design and software implementation. Here is the list of what you should know at the end of this course:

  • Domain model, Design class diagram and Sequence Diagram
  • Logical architecture and Layer pattern
  • GRASP patterns
  • GoF patterns

Learning Materials

  • Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition), Craig Larman (ISBN-13: 978-0131489066 ISBN-10: 0131489062) (link)
  • Object-Oriented Design and Patterns (2nd Edition), Cay S. Horstmann (ISBN-13: 978-0471744870 ISBN-10: 0471744875)
  • Monopoly exercise: link (credit: Karen Jin, Dalhouse University)
  • Slides: link

Grading

  • Super (S) >= 95
  • Average (A) >= 85
  • Bad (B+) >= 75
  • Bad (B) >= 70
  • Catastrophic (C+) >= 65
  • Catastrophic (C) >= 60
  • Disowned (D+) >= 55
  • Disowned (D) >= 51
  • Forgotten Forever (F) < 51

Evaluation (tentative)

  1. Quiz (20%)
  2. Project (20%)
  3. Midterm exam (25%)
  4. Final exam (25%)
  5. Class participation (10%)

Late counter:

Class Timetable

Announcement

  • 15-01-2019: Reading assignment Chapter 10 Domain model (page 127-150)
  • 22-01-2019:
    • Domain model quiz: closed
    • Assignment: Design a domain model of a POS system (with a promotion concept)
  • 29-01-2019:
    • There will be a quiz on responbility and layered architecture in the next class.
    • Reading assignment:
      • Chapter 16, page 215 - 218
      • Chapter 30, whole chapter
  • 12-02-2019
    • Reading assignment: closed
    • There will be an actual quiz on responbility and layered architecture in the next class.
    • Reading assignment:
      • Chapter 16, page 215 - 218
      • Chapter 30, whole chapter
  • 19-02-2019
    • Reading quiz: link
  • 26-02-2019
    • Reading assignment: Page 219-245
  • 19-03-2019
    • Architecture for TU-Pine website (class diagram and sequence diagram): 10 points
  • 09-04-2019
    • For those who missed this class, please submit code, class diagram and sequence diagram for all pages by the next class.
  • 09-05-2019
    • Patterns exercise: https://www.tutorialspoint.com/design_pattern/