CS203 Sophomore Software Engineering I
Midterm Exam Review (Qns & Ans)
2025
1. Which of the following is a core objective of software
engineering?
A. Designing hardware architectures
B. Producing reliable, maintainable, and efficient software
systems
C. Eliminating documentation requirements
D. Accelerating all stages of development without quality
checks
ANS: B. Producing reliable, maintainable, and efficient
software systems
Rationale: Software engineering focuses on delivering high-
quality, scalable, and maintainable systems.
©2025
,2. Which SDLC phase involves understanding and documenting
user needs?
A. Implementation
B. Maintenance
C. Requirements analysis
D. Deployment
ANS: C. Requirements analysis
Rationale: This phase captures user requirements to inform the
design and development process.
3. What is the primary purpose of using design patterns in
software engineering?
A. Ensuring faster code execution
B. Avoiding bugs in code
C. Providing reusable solutions to commonly occurring
problems
D. Automating software testing
ANS: C. Providing reusable solutions to commonly
occurring problems
Rationale: Design patterns offer standardized approaches to
solve recurrent software design challenges.
©2025
,4. What does the term "code refactoring" mean?
A. Adding new features to the software
B. Optimizing code structure without altering its functionality
C. Converting high-level code to machine code
D. Debugging syntax errors
ANS: B. Optimizing code structure without altering its
functionality
Rationale: Refactoring improves the clarity and efficiency of
existing code while preserving its behavior.
5. Which of the following testing strategies focuses on the
logical paths through code?
A. Black-box testing
B. White-box testing
C. Integration testing
D. Acceptance testing
ANS: B. White-box testing
Rationale: White-box testing examines the internal logic and
structure of the code.
---
©2025
, Fill-in-the-Blank Questions
6. A ________ chart is used to model the interaction between
system actors and use cases.
ANS: Use case
Rationale: Use case charts outline the relationships between
users (actors) and system functionalities.
7. The principle of ________ in object-oriented programming
ensures that implementation details are hidden, exposing only
necessary functionality.
ANS: Abstraction
Rationale: Abstraction simplifies system complexity by only
exposing essential features.
8. Software ________ involves preparing a deployed system to
adapt to evolving user and business needs.
ANS: Maintenance
Rationale: Maintenance ensures continued system relevance
and performance post-deployment.
9. In version control systems, a ________ represents a separate
branch of code development to isolate and test changes.
ANS: Branch
©2025
Midterm Exam Review (Qns & Ans)
2025
1. Which of the following is a core objective of software
engineering?
A. Designing hardware architectures
B. Producing reliable, maintainable, and efficient software
systems
C. Eliminating documentation requirements
D. Accelerating all stages of development without quality
checks
ANS: B. Producing reliable, maintainable, and efficient
software systems
Rationale: Software engineering focuses on delivering high-
quality, scalable, and maintainable systems.
©2025
,2. Which SDLC phase involves understanding and documenting
user needs?
A. Implementation
B. Maintenance
C. Requirements analysis
D. Deployment
ANS: C. Requirements analysis
Rationale: This phase captures user requirements to inform the
design and development process.
3. What is the primary purpose of using design patterns in
software engineering?
A. Ensuring faster code execution
B. Avoiding bugs in code
C. Providing reusable solutions to commonly occurring
problems
D. Automating software testing
ANS: C. Providing reusable solutions to commonly
occurring problems
Rationale: Design patterns offer standardized approaches to
solve recurrent software design challenges.
©2025
,4. What does the term "code refactoring" mean?
A. Adding new features to the software
B. Optimizing code structure without altering its functionality
C. Converting high-level code to machine code
D. Debugging syntax errors
ANS: B. Optimizing code structure without altering its
functionality
Rationale: Refactoring improves the clarity and efficiency of
existing code while preserving its behavior.
5. Which of the following testing strategies focuses on the
logical paths through code?
A. Black-box testing
B. White-box testing
C. Integration testing
D. Acceptance testing
ANS: B. White-box testing
Rationale: White-box testing examines the internal logic and
structure of the code.
---
©2025
, Fill-in-the-Blank Questions
6. A ________ chart is used to model the interaction between
system actors and use cases.
ANS: Use case
Rationale: Use case charts outline the relationships between
users (actors) and system functionalities.
7. The principle of ________ in object-oriented programming
ensures that implementation details are hidden, exposing only
necessary functionality.
ANS: Abstraction
Rationale: Abstraction simplifies system complexity by only
exposing essential features.
8. Software ________ involves preparing a deployed system to
adapt to evolving user and business needs.
ANS: Maintenance
Rationale: Maintenance ensures continued system relevance
and performance post-deployment.
9. In version control systems, a ________ represents a separate
branch of code development to isolate and test changes.
ANS: Branch
©2025