Skip to main content

Software Engineering-I MCQs with Answers

Practice important Software Engineering-I MCQs with answers and explanations.

Chapter: 11
Q221:
The principle of separation of concern helps to deal with different aspects of a problem _______.
A. In isolation
B. All together
C. Sequentially
D. Iteratively
Correct Answer: A
Chapter: 11
Q222:
In software design, what is typically included in the design activity?
A. Coding algorithms
B. Design patterns
C. Documentation of features
D. All of the above
Correct Answer: D
Chapter: 11
Q223:
What is a significant advantage of modularity in software design?
A. It allows for faster coding
B. It improves coding standards
C. It allows for easier maintenance
D. It eliminates the need for testing
Correct Answer: C
Chapter: 11
Q224:
In functional design, the system is abstracted as a _______.
A. Module
B. Object
C. Function
D. Variable
Correct Answer: C
Chapter: 11
Q225:
In object-oriented design, the responsibility for maintaining system state is _______.
A. Centralized
B. Decentralized
C. Shared
D. None of the above
Correct Answer: B
Chapter: 11
Q226:
Which design approach is generally considered more maintainable?
A. Functional design
B. Object-oriented design
C. Structured design
D. All of the above
Correct Answer: B
Chapter: 11
Q227:
What parameter is NOT used to measure software design quality?
A. Efficiency
B. Compactness
C. Usability
D. Reusability
Correct Answer: C
Chapter: 11
Q228:
A maintainable design is characterized by _______. High maintenance cost
A. Low maintenance cost
B. Poor flexibility
C. All of the above
Correct Answer: B
Chapter: 11
Q229:
The design process can involve developing models from different _______. Angles
A. Parameters
B. Methods
C. None of the above
Correct Answer: A
Chapter: 11
Q230:
Which of the following statements is true regarding the software design process?
A. It is a linear process
B. It is a static process
C. It involves multiple iterations
D. It does not require documentation
Correct Answer: C
Chapter: 11
Q231:
The principle of abstraction in software design allows us to _______. Hide complexity
A. Increase complexity
B. Reduce efficiency
C. None of the above
Correct Answer: A
Chapter: 11
Q232:
A good software design should prioritize _______. Only efficiency
A. Only maintainability
B. Project and application requirements
C. Both efficiency and maintainability
Correct Answer: D
Chapter: 11
Q233:
What should a maintainable design be in order to minimize the cost of system change?
A. Understandable
B. Complex
C. Obscure
D. All of the above
Correct Answer: A
Chapter: 11
Q234:
Fill in the blank: The object-oriented approach to design emphasizes _______. Functionality
A. Objects
B. Modules
C. Processes
Correct Answer: B
Chapter: 12
Q235:
What does loose coupling imply in software modules?
A. High dependency on other modules
B. Low reliance between components
C. Strong inter-module linkages
D. None of the above
Correct Answer: B
Chapter: 12
Q236:
What is the primary characteristic of strong cohesion in a module?
A. Loose connections between components
B. Components are unrelated
C. High logical relationship among components
D. No connection at all
Correct Answer: C
Chapter: 12
Q237:
In a system with high coupling, what is the state of module boundaries?
A. Well defined
B. Undefined
C. Strongly separated
D. None of the above
Correct Answer: B
Chapter: 12
Q238:
Which of the following statements about cohesion is true?
A. A class with unrelated functions is cohesive
B. A cohesive class has related data and functions
C. A cohesive class should have strong inter-component linkages
D. A cohesive class should avoid encapsulation
Correct Answer: B
Chapter: 12
Q239:
What does the example of the vector class demonstrate?
A. The importance of data hiding
B. The necessity of strong coupling
C. The need for multiple data types
D. The irrelevance of class structures
Correct Answer: A
Chapter: 12
Q240:
The term encapsulation refers to:
A. Hiding internal details and exposing external interfaces
B. Decentralizing data management
C. Centralizing function control
D. Reducing the number of classes
Correct Answer: A

Test Your Knowledge

Take a timed quiz on Software Engineering-I

🚀 Start Quiz Now