
Q5 Principles of Software Design
Authored by Angeline pang
Computers
University
Used 1+ times

AI Actions
Add similar questions
Adjust reading levels
Convert to real-world scenario
Translate activity
More...
Content View
Student View
20 questions
Show all answers
1.
MULTIPLE CHOICE QUESTION
30 sec • 1 pt
What does it mean to 'keep the level of abstraction as high as possible' in software design?
Emphasize the use of multiple design patterns.
Focus on the high-level functionality rather than the implementation details.
Focus solely on implementation details.
Use only high-level programming constructs.
Answer explanation
To 'keep the level of abstraction as high as possible' means to focus on high-level functionality (B) rather than getting bogged down in implementation details, allowing for better understanding and flexibility in design.
2.
MULTIPLE CHOICE QUESTION
30 sec • 1 pt
Which principle is concerned with ensuring that components or modules can be reused across different projects?
Increase reusability
Enhance modularity
Minimize dependencies
Focus on scalability
Answer explanation
The principle of increasing reusability focuses on designing components or modules that can be easily used in multiple projects, enhancing efficiency and reducing redundancy. Thus, the correct choice is B) Increase reusability.
3.
MULTIPLE CHOICE QUESTION
30 sec • 1 pt
Reusing existing designs and code is part of which principle?
B) Reuse existing designs
Design for security
Design for scalability
Design for usability
Answer explanation
Reusing existing designs and code directly aligns with the principle of 'Reuse existing designs', making it the correct choice. This principle emphasizes efficiency and consistency in design.
4.
MULTIPLE CHOICE QUESTION
30 sec • 1 pt
What does 'promote cohesion' mean in software design?
Ensure that modules are overly simplistic
Ensure that modules are highly related and focused
Ensure that modules are only focused on one task
) Ensure that modules are dependent
Answer explanation
'Promote cohesion' in software design means ensuring that modules are highly related and focused on specific tasks. This enhances maintainability and clarity, making option B the correct choice.
5.
MULTIPLE CHOICE QUESTION
30 sec • 1 pt
Which principle focuses on minimizing the impact of changes in software?
Design for simplicity
A) Design for flexibility
Design for performance
Design for scalability
Answer explanation
The principle 'Design for flexibility' emphasizes creating software that can easily adapt to changes, thereby minimizing the impact of those changes. This makes it the correct choice for the question.
6.
MULTIPLE CHOICE QUESTION
30 sec • 1 pt
What is the purpose of 'design defensively'?
To anticipate potential errors and handle them gracefully
To increase the complexity of the system
To avoid using design patterns
To create software that is difficult to use
Answer explanation
The purpose of 'design defensively' is to anticipate potential errors and handle them gracefully, ensuring that the software remains robust and user-friendly. This aligns with choice B, while the other options do not reflect this principle.
7.
MULTIPLE CHOICE QUESTION
30 sec • 1 pt
What is the effect of high coupling between modules in software design?
A) It makes the system easier to maintain
B) It increases the risk of changes affecting multiple modules
C) It promotes better code reuse
D) It simplifies the overall architecture
Access all questions and much more by creating a free account
Create resources
Host any resource
Get auto-graded reports

Continue with Google

Continue with Email

Continue with Classlink

Continue with Clever
or continue with

Microsoft
%20(1).png)
Apple
Others
Already have an account?