Software Analysis & Design

Course's outline

In this course, we will learn about:

  • Basic programming
  • Basic OOP
  • UML Class Diagram and Sequence Diagram
  • Domain Model

Learning Materials

  • Object-Oriented Design and Patterns (2nd Edition), Cay S. Horstmann (ISBN-13: 978-0471744870 ISBN-10: 0471744875) (link)
  • 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)

Class Agenda & Announcements

    • Class 1 : Basics in programming and OOP (15/1/2020)
    • Class 2 : OOP Coding & UML Class Diagram
      • Class diagram (link)
      • Programming exercise on coding Class file and Class UML
    • Class 3: OOP Coding exercise on Class relationships
      • Association, Generalization and Dependency
      • Code exercise on Class Relationships (Ex number 4 and 5)
      • Assignment: Recreate the DCD from code you wrote for exercise 4 and 5 using online tools
    • Class 4: Recheck & Sequence Diagram
      • Recheck on DCD, relationships and parameter visibility
      • Introduction to Sequence Diagram (link)
      • Home work: Code and draw System Sequence Diagram of Ex 7.1
    • Class 5: Pop-up QUIZ! (10 points)
      • Submit your homework here: (link)
      • Download this code (link), fix the bugs (if any) and draw the code DCD and Sequence Diagram (using tools)
      • Reading assignment: Applying Models and Pattern book Chapter 10 on Domain models
    • Class 6: Introduction to design
      • Layer architecture (link)
      • Domain model
      • PizzaShop submission (link)

------ Midterm Exam ------

    • Class 7: Talk & Midterm review (18/3/2020)
      • Talk with Prof. Dr Roland
      • Midterm exam review
      • Review domain model and relationships
      • Reading assignment: Applying UML & Pattern p.153 Chapter 11
      • Submit Movie Theater Domain model next week!
    • Class 8: Movie Theater domain model review, Get started with Window Forms Application (25/3/2020)
      • Enter class here (https://zoom.us/j/253766688)
      • Submit your movie theater domain model here: (link)
      • Reading assignment pop quiz!
      • Draw mock up of the movie reservation app. Submit here (link)
      • Get start with Window Forms Apps:
        • Exercise 1 (link)
        • Exercise 2 (link)
        • Code review your window form next week!
      • Class 9: Review Layer Architecture & Introduction to GRASP (1/4/2020)
      • Class 10: Start designing! (6/4/2020)
        • Enter class here (https://zoom.us/j/253766688)
        • Code review
        • Connecting WPF app + Layer Architecture + Domain Model
        • Assignment: Refactor the code and the design (using DCD and SQ)
      • Class 11: Code review and continue working on the design (8/4/2020)
      • Class 12 : Code review, Review GRASP and the 4 pillars of OOP
        • The 4 pillars of OOP
        • Assignment read about the four Pillars of OOP in the blue book
        • Read Singleton pattern!
        • EXAM!
      • Class 13 : QUIZ!
        • QUIZ!
      • Class 14: Learn from the quiz!
        • QUIZ2
        • GRASP part 2
      • Class 15: Oral Code Examination / GRASP Quiz
        • GRASP Quiz (Google Form)
        • Oral Code Examination
      • Class 16: Submit project
        • Movie Reservation System Design: (submit link)
        • Movie Reservation System Questionnaire (submit link)

Late counter (0)

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

  1. Assignments (30%)
  2. Midterm exam (20%)
  3. Final exam (40%)
  4. Class participation (10%)