CS114 Introduction to Software Engineeering
Midterm Exam Review (Qns & Ans)
2025
1. Which of the following is the primary focus of software
engineering?
A. Writing code quickly
B. Building reliable, maintainable, and efficient software
systems
C. Designing games for entertainment purposes
D. Reducing overall hardware cost
ANS: B. Building reliable, maintainable, and efficient
software systems
Rationale: Software engineering emphasizes structured
development processes to create high-quality software.
©2025
,2. What does the acronym SDLC stand for in software
engineering?
A. Software Design Lifecycle
B. Systems Development Lifecycle
C. Software Deployment Logic Cycle
D. Structured Data Logic Controller
ANS: B. Systems Development Lifecycle
Rationale: SDLC is the framework for planning, creating,
testing, and deploying software.
3. Which software development methodology divides work into
small, incremental cycles?
A. Waterfall
B. Agile
C. Spiral
D. V-Model
ANS: B. Agile
Rationale: Agile promotes iterative development with frequent
deliveries and adaptability to change.
4. What is the purpose of a feasibility study in software
engineering?
©2025
, A. To implement the software system
B. To assess technical, operational, and economic viability of a
project
C. To debug software
D. To define system requirements
ANS: B. To assess technical, operational, and economic
viability of a project
Rationale: Feasibility studies evaluate whether a proposed
software project is achievable and worthwhile.
5. Which type of testing ensures that new code does not break
existing functionality?
A. Integration Testing
B. Regression Testing
C. Acceptance Testing
D. Unit Testing
ANS: B. Regression Testing
Rationale: Regression testing verifies that previously working
features remain functional after code changes.
---
©2025
, Fill-in-the-Blank Questions
6. In software engineering, ________ is the process of
translating requirements into a detailed system design.
ANS: System design
Rationale: System design bridges the gap between
requirements analysis and coding, defining the architecture and
components.
7. The term ________ refers to the degree to which software
components depend on each other.
ANS: Coupling
Rationale: Loose coupling enhances modularity and simplifies
system maintenance.
8. A ________ diagram visually represents the interactions
between users and a system.
ANS: Use case
Rationale: Use case diagrams define system functionality from
the user's perspective.
9. In software testing, ________ testing focuses on individual
modules or components of the system.
ANS: Unit
©2025
Midterm Exam Review (Qns & Ans)
2025
1. Which of the following is the primary focus of software
engineering?
A. Writing code quickly
B. Building reliable, maintainable, and efficient software
systems
C. Designing games for entertainment purposes
D. Reducing overall hardware cost
ANS: B. Building reliable, maintainable, and efficient
software systems
Rationale: Software engineering emphasizes structured
development processes to create high-quality software.
©2025
,2. What does the acronym SDLC stand for in software
engineering?
A. Software Design Lifecycle
B. Systems Development Lifecycle
C. Software Deployment Logic Cycle
D. Structured Data Logic Controller
ANS: B. Systems Development Lifecycle
Rationale: SDLC is the framework for planning, creating,
testing, and deploying software.
3. Which software development methodology divides work into
small, incremental cycles?
A. Waterfall
B. Agile
C. Spiral
D. V-Model
ANS: B. Agile
Rationale: Agile promotes iterative development with frequent
deliveries and adaptability to change.
4. What is the purpose of a feasibility study in software
engineering?
©2025
, A. To implement the software system
B. To assess technical, operational, and economic viability of a
project
C. To debug software
D. To define system requirements
ANS: B. To assess technical, operational, and economic
viability of a project
Rationale: Feasibility studies evaluate whether a proposed
software project is achievable and worthwhile.
5. Which type of testing ensures that new code does not break
existing functionality?
A. Integration Testing
B. Regression Testing
C. Acceptance Testing
D. Unit Testing
ANS: B. Regression Testing
Rationale: Regression testing verifies that previously working
features remain functional after code changes.
---
©2025
, Fill-in-the-Blank Questions
6. In software engineering, ________ is the process of
translating requirements into a detailed system design.
ANS: System design
Rationale: System design bridges the gap between
requirements analysis and coding, defining the architecture and
components.
7. The term ________ refers to the degree to which software
components depend on each other.
ANS: Coupling
Rationale: Loose coupling enhances modularity and simplifies
system maintenance.
8. A ________ diagram visually represents the interactions
between users and a system.
ANS: Use case
Rationale: Use case diagrams define system functionality from
the user's perspective.
9. In software testing, ________ testing focuses on individual
modules or components of the system.
ANS: Unit
©2025