CS603 Midterm Handouts by Ali Abbas
- Type
- Handout
- Course
- CS603 Software Architecture and Design
- Size
- PDF 4.2 MB
- Updated
- 23 Oct 2026
You get 3 free files a day on the website. Add the Chrome extensionSign in with the extension for 30 a day.
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
Related CS603 files
All CS603 files →- CS603 Midterm Handouts Handout PDF 2 MB
- CS603 Midterm Past Papers by Sabahat Saad Midterm PDF 28.4 MB
- CS603 Midterm Solved Subjective Current Papers by Sarim Midterm PDF 972 KB
- CS603 Midterm Short Notes by Almas Afzal Midterm PDF 2.3 MB
- CS603 Quiz Quiz ZIP 14.5 MB
- CS603 Official Handouts Official handout PDF 10.8 MB Free
Get more out of VUBuddy, for free
- Unlimited downloads
- The explanation behind every MCQ answer
- Study offline on slow data
- 30 downloads a day instead of 3
- Sign in and buy Pro Semester here
One Pro Semester membership works in both the extension and the app.