BSCS Software Engineering Principles 1 — Questions and Answers
Question 1: Which software development model delivers working software in short iterative cycles?
- Waterfall
- Agile (Correct answer)
- V-Model
- Big Bang
Correct answer: Agile
Agile delivers software in short iterations called sprints, allowing frequent feedback and adaptation.
Question 2: What does SOLID stand for in object-oriented design principles?
- Single, Open, Liskov, Interface, Dependency (Correct answer)
- Structured, Object, Linked, Interface, Design
- Simple, Open, Logical, Integrated, Dynamic
- Single, Optimized, Linked, Interface, Dependency
Correct answer: Single, Open, Liskov, Interface, Dependency
SOLID stands for Single responsibility, Open/closed, Liskov substitution, Interface segregation, and Dependency inversion.
Question 3: Which testing approach tests individual components in isolation?
- Integration testing
- System testing
- Unit testing (Correct answer)
- Acceptance testing
Correct answer: Unit testing
Unit testing verifies individual functions or classes independently from the rest of the system.
Question 4: What is a UML use case diagram used for?
- Showing database schema
- Modeling system behavior from a user perspective (Correct answer)
- Depicting network topology
- Describing hardware architecture
Correct answer: Modeling system behavior from a user perspective
Use case diagrams capture how actors (users or systems) interact with a system to achieve goals.
Question 5: Which version control concept allows developers to work on features independently without affecting the main codebase?
- Merging
- Branching (Correct answer)
- Tagging
- Rebasing
Correct answer: Branching
Branching creates a separate line of development so features can be built and tested before merging.
Question 6: What is technical debt in software engineering?
- The cost of hardware upgrades
- The future cost of fixing shortcuts taken now (Correct answer)
- Money owed for software licenses
- Complexity added by third-party libraries
Correct answer: The future cost of fixing shortcuts taken now
Technical debt represents the implied future rework caused by choosing quick, easy solutions over better long-term approaches.
Which software development model delivers working software in short iterative cycles?