CSIS 643
Software Design
LATEST MIDTERM REVIEW
© 2024/2025
,1. Multiple Choice: Which design pattern is best suited for
scenarios where an object should be extensible without modifying
its structure?
a) Singleton
b) Observer
c) Decorator
d) Factory Method
Correct Answer: c) Decorator
2. Fill-in-the-Blank: The _______ pattern is a software design
pattern that allows for the separation of concerns by decoupling the
software's business logic from its user interface.
Correct Answer: Model-View-Controller (MVC)
3. True/False: In software design, 'Coupling' refers to the level of
independence between software modules.
Correct Answer: True
4. Multiple Response: Select all that apply. Which of the following
principles are key to Object-Oriented Design?
a) Encapsulation
© 2024/2025
, b) Inheritance
c) Polymorphism
d) Recursion
Correct Answers: a) Encapsulation, b) Inheritance, c)
Polymorphism
5. Multiple Choice: What is the main advantage of using a 'Facade'
design pattern?
a) It promotes strong coupling between classes.
b) It provides a simple interface to a complex subsystem.
c) It ensures that classes are open for extension but closed for
modification.
d) It allows for method overloading.
Correct Answer: b) It provides a simple interface to a complex
subsystem.
6. Fill-in-the-Blank: The principle of _______ states that subclasses
should be substitutable for their base classes without altering the
correctness of the program.
Correct Answer: Liskov Substitution Principle (LSP)
7. True/False: 'Agile Software Development' prioritizes
documentation over working software.
© 2024/2025
Software Design
LATEST MIDTERM REVIEW
© 2024/2025
,1. Multiple Choice: Which design pattern is best suited for
scenarios where an object should be extensible without modifying
its structure?
a) Singleton
b) Observer
c) Decorator
d) Factory Method
Correct Answer: c) Decorator
2. Fill-in-the-Blank: The _______ pattern is a software design
pattern that allows for the separation of concerns by decoupling the
software's business logic from its user interface.
Correct Answer: Model-View-Controller (MVC)
3. True/False: In software design, 'Coupling' refers to the level of
independence between software modules.
Correct Answer: True
4. Multiple Response: Select all that apply. Which of the following
principles are key to Object-Oriented Design?
a) Encapsulation
© 2024/2025
, b) Inheritance
c) Polymorphism
d) Recursion
Correct Answers: a) Encapsulation, b) Inheritance, c)
Polymorphism
5. Multiple Choice: What is the main advantage of using a 'Facade'
design pattern?
a) It promotes strong coupling between classes.
b) It provides a simple interface to a complex subsystem.
c) It ensures that classes are open for extension but closed for
modification.
d) It allows for method overloading.
Correct Answer: b) It provides a simple interface to a complex
subsystem.
6. Fill-in-the-Blank: The principle of _______ states that subclasses
should be substitutable for their base classes without altering the
correctness of the program.
Correct Answer: Liskov Substitution Principle (LSP)
7. True/False: 'Agile Software Development' prioritizes
documentation over working software.
© 2024/2025