Skip to content
VUBuddy

CS603 Midterm Handouts by Ali Abbas

Software Architecture and Design PDF 4.2 MBUpdated 23 Oct 2026
Handout CS603 Midterm Handouts by Ali Abbas PDF 4.2 MB
vubuddy.com
Type
Handout
Course
CS603 Software Architecture and Design
Size
PDF 4.2 MB
Updated
23 Oct 2026
Free download 0 of 3 used today
Download free · 4.2 MB

You get 3 free files a day on the website. Add the Chrome extension for 30 a day.

Unlimited downloads in the Android app Get it free on Google Play

Preview text

Text from pages 2, 3, 4 of 118. Download the file for all 118 pages.

Contents

Lesson 3 : 1.3. Software Design – Complexity ................................................................................ 9 Lesson 4 : 1.4. Software Design – Complexity and Size ................................................................ 10 Lesson 5 : 1.5. Types of Complexities ........................................................................................... 12 Lesson 6 : 1.6. Why is Software Design Hard? .............................................................................. 14 Lesson 7 : 1.7. Software Design: A Science Or An Art? ................................................................. 15 Lesson 8 : 1.8. Software Design: A Wicked Problem .................................................................... 17 Lesson 9 : 1.9. Design Process - More Systematic and Predictable .............................................. 18 Lesson 10 : 1.10. Dealing with Software Complexity: Different Rules and Principles .................. 19 Lesson 11 : 1.11. Characteristics of Software Design ................................................................... 23 Lesson 12 : 1.12. Benefits of Good Design .................................................................................... 24 Lesson 13 : 1.13. A Generic Design Process .................................................................................. 26 Lesson 14 : 2.14. Inputs to the Design Process ............................................................................. 27 Lesson 15 : 2.15. Desirable Internal Design Characteristics ......................................................... 28 Lesson 16 : 2.16. What is good design? ........................................................................................ 30 Lesson 17 : 2.17. Coupling ............................................................................................................ 31 Lesson 18 : 2.18. Coupling – Design of a Simple Web App ........................................................... 33 Lesson 19 : 2.19. Cohesion ............................................................................................................ 34 Lesson 20 : 2.20. Relationship between Coupling and Cohesion ................................................. 35 Lesson 21 : 2.21. Software Design Strategies Structured and Object-Oriented Design ............... 36 Lesson 22 : 2.22. Object-Orientation Basic Concepts - The Object .............................................. 37 Lesson 23 : 2.23. Object-Orientation Basic Concepts - The Class ................................................. 39 Lesson 24 : 2.24. Relationship between Classes and Objects - Association ................................. 40 Lesson 25 : 2.25. Relationship between Classes and Objects: Aggregation and composite ........ 41 Lesson 26 : 2.26. Relationship between Classes and Objects: Inheritance .................................. 42 Lesson 27 : 2.27. Object Orientation Basic Concepts Abstract Classes and Interfaces ................ 43 Lesson 28 : 3.28. Relationships – Basic Concepts Object Oriented Programming Defined ......... 44 Lesson 29 : 3.29. Relationships – Basic Concepts Association ..................................................... 45 Lesson 30 : 3.30. Relationships – Basic Concepts Aggregation and Composition ........................ 46 Lesson 31 : 3.31. Object Lifetime and Visibility Inheritance ......................................................... 47 Lesson 32 : 3.32. Object Lifetime and Visibility Composition ....................................................... 49 Lesson 33 : 3.33. Object Lifetime and Visibility Association ......................................................... 50 Lesson 34 : 3.34. Object to Relational Mapping Basics ................................................................ 54 Lesson 35 : 3.35. Object to Relational Mapping Mapping Inheritance ........................................ 55 Lesson 36 : 3.36. Mapping Inheritance - Vertical Mapping .......................................................... 57 Lesson 37 : 3.37. Mapping Composition ....................................................................................... 58 Lesson 38 : 3.38. Mapping Association ......................................................................................... 59 Lesson 39 : 3.39. Mapping Cardinality of Association .................................................................. 60 Lesson 40 : 3.40. Object to Relational Mapping – Summary ........................................................ 62 41 - Object Oriented Programming – Inheritance and Polymorphism ......................................... 63 42 - Object Oriented Programming – Object Creation and Factory Method ............................... 65 43 - Object Oriented Programming - The Magic Behind Polymorphism ...................................... 67 44 - Object Oriented Programming - Implementing Composition .............................................. 68 45 - Object Oriented Programming - Inheritance vs Composition ............................................... 71 46 - Implementing Uni-directional Associations ........................................................................... 72 47 - Implementing Bi-directional Associations ............................................................................. 74 48 - SOLID Design Principles – Introduction ................................................................................. 77 49 - SOLID Design Principles - Single Responsibility Principle (SRP) ............................................. 79 50 - Single Responsibility Principle (SRP) – Example .................................................................... 80 51 - SOLID Design Principles - Open-Closed Principle (OCP) ........................................................ 82 52 - Open-Closed Principle (OCP) – Example ................................................................................ 83 53 - Liskov’s Substitution Principle (LSP) ...................................................................................... 85 54 - Liskov’s Substitution Principle (LSP) – Example ..................................................................... 86 55 - The True Meanings of IsA Relationship ................................................................................. 89 56 - SOLID Design Principles - Interface Segregation Principle (ISP) ............................................ 90 57 - Interface Segregation Principle (ISP) – Example .................................................................... 90 58 - SOLID Design Principles - Dependency Inversion Principle (DIP) .......................................... 90 59 - Dependency Inversion Principle (DIP) – Example .................................................................. 91 60 - Good OO Design Principles - Law of Demeter (LoD) ............................................................. 91 61 - Law of Demeter (LoD) – Example .......................................................................................... 91 62 - Action-Oriented Design in the Disguise of Object-Oriented Design ..................................... 92 63 - Handling Poorly Distributed System Intelligence .................................................................. 92 64 - Modelling Policy – Jacobson's Heuristic ................................................................................ 92 65 - Handling Roles - Player Role Pattern ..................................................................................... 93 66 - Handling Multiple Discriminators Using Player-Role Pattern ............................................... 94 67 - Software Design and Architecture - Abstraction-Occurrence Pattern .................................. 97 68 - Software Design and Architecture - Reflexive Associations ................................................ 100 69 - Software Design and Architecture - Design Patterns Introduction ..................................... 102 70 - Software Design and Architecture - Elements of Design Pattern ........................................ 104 71 - Categories of Design Patterns.............................................................................................. 106 72 - Benefits and Drawbacks of Design Patterns ........................................................................ 108 73 - Singleton Design Pattern ..................................................................................................... 109 74 - Strategy Design Pattern ...................................................................................................... 111 75 - Design Patterns - Introduction - Object-Morphing and Strategy Pattern .......................... 112 76 - Facade Design Pattern ......................................................................................................... 117

All CS603 files →
CS603 Software Architecture and Design All CS603 handouts, past papers, quizzes and MCQs in one place. Open course page

Get more out of VUBuddy, for free

Android app Free on Google Play
  • Unlimited downloads
  • The explanation behind every MCQ answer
  • Study offline on slow data
Get the Android app
Chrome extension Free on the Chrome Web Store
  • 30 downloads a day instead of 3
  • Sign in and buy Pro Semester here
Add to Chrome

One Pro Semester membership works in both the extension and the app.