Software Design & UML
Architecture Patterns
Agile & SDLC
OOP & Programming Principles
Software Testing
100

What does UML stand for?

Unified Modeling Language

100

Which architecture pattern separates an application into three layers: Model, View, and Controller?

MVC Pattern

100

What does SDLC stand for?

Software Development Life Cycle

100

What does OOP stand for?

Object-Oriented Programming

100

What is the main goal of software testing?

To ensure the software works as intended and meets requirements.

200

What’s the main difference between structural and behavioral UML diagrams?

Structural shows system structure (static), behavioral shows system behavior (dynamic).

200

Which pattern divides a program into layers of abstraction, such as UI, logic, and data?

Layered Architecture Pattern

200

What are the four values of the Agile Manifesto?

Individuals and interactions, working software, customer collaboration, and responding to change.

200

What are the four main OOP principles?

Encapsulation, Abstraction, Inheritance, Polymorphism

200

What is the difference between verification and validation?

Verification checks if the product was built correctly; validation checks if the right product was built.

300

Which UML diagram shows how objects interact over time?

Sequence Diagram

300

What is one advantage of the Layered Architecture Pattern?

Each layer can be replaced independently without affecting others.

300

What are two Agile roles in Scrum?

Scrum Master and Product Owner

300

What does the “Single Responsibility Principle” mean?

A class should have only one reason to change (one purpose).

300

What are unit tests?

Tests that verify individual components or functions of a program.

400

What is the purpose of a class diagram?

To show classes, their attributes, operations, and relationships.

400

What is one disadvantage of the Client-Server pattern?

The shared server can become a performance bottleneck.

400

What is a Sprint?

A short, time-boxed period where a team works to complete a set amount of work.

400

What is “composition over inheritance”?

Favoring combining objects over class inheritance to increase flexibility.

400

What type of testing ensures that multiple system components work together?

Integration Testing

500

Which UML diagram describes how software is physically deployed on hardware?

Deployment Diagram

500

What makes Microservices architecture scalable?

Each service can be deployed and scaled independently.

500

Which SDLC phase focuses on understanding user needs and system requirements?

Requirements Engineering

500

What is “technical debt”?

The extra cost of reworking code later because a quick, less optimal solution was chosen earlier.

500

Can software ever truly be bug-free? Why or why not?

No, because complex systems have too many variables to eliminate all defects.

M
e
n
u