Software Analysis & Design
Course's outline
Course's outline
In this course, we will learn about:
- Basic programming
- Basic OOP
- UML Class Diagram and Sequence Diagram
- Domain Model
Learning Materials
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 Agenda & Announcements
- Class 1 : Basics in programming and OOP (15/1/2020)
- For those who having trouble catching up, visit this link (https://www.w3schools.com/python/)
- Please do some programming exercise at CheckIO (recommend 4 problems in the home island)
- Reading assignment OODP book (2.2, 2.3, 2.6 and 2.8)
- Try out these exercise as well (https://www.ntu.edu.sg/home/ehchua/programming/java/J3f_OOPExercises.html)
- 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)
- Class 6: Introduction to design
------ 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:
- Class 9: Review Layer Architecture & Introduction to GRASP (1/4/2020)
- Enter class here (https://zoom.us/j/253766688)
- Review the window form assignment
- Connect C# software to database (link)
- Download XAMPP (link)
- 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)
- Enter class here (https://zoom.us/j/253766688)
- Code and Design review
- Introduction to GRASP (link)
- 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)
Late counter (0)
Grading
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
Evaluation
- Assignments (30%)
- Midterm exam (20%)
- Final exam (40%)
- Class participation (10%)