Software Engineering Fundamentals
SDLC & Requirements
Design & Architecture
Testing & Quality Assurance
Agile, Git & Implementation
100

What is software engineering primarily about?

Applying engineering principles to software development

100

What is the purpose of the SDLC?

To produce high-quality software at lower cost

100

Which of the following is a functional requirement?

The system must allow users to log in

100

Which architecture pattern separates application into Model, View, and Controller?

MVC

100

Which describes verification?

Am I building the product right?

200

Which statement is TRUE about a software engineer’s job?
A. Most of the job is writing code
B. Most of the job is planning, designing, testing, and communicating
C. They only fix bugs
D. They only design databases  

Most of the job is planning, designing, testing, and communicating

200

In WRSPM, what does the “Program” represent?

Code that meets specifications

200

Which of the following is a non-functional requirement?

The system must load within 3 seconds

200

Which UML diagrams show how components interact over time?

Behavioral diagrams

200

What is technical debt?

Future cost of reworking shortcuts taken today

300

Kanban is primarily used for:

Workflow visualization and management

300

What is modularity?

Dividing a program into independent, self-contained units

300

Requirements should be

Complete, consistent, and unambiguous

300

Refactoring focuses on:

Removing code smells and improving structure

300

In Scrum, who owns and prioritizes the product backlog?

Product Owner

400

In STLC, what is the FIRST phase?

Requirement analysis

400

A deviation from expected behavior in software is called a:

Failure

400

Which type of testing examines internal code structure?

White box testing

400

What does polymorphism allow?

Different classes to be treated as a common superclass

400

A Sprint is:

A column that references a primary key in another table

500

What does YAGNI stand for?

You Aren’t Going to Need It

500

What does encapsulation mean?

Bundling data and methods together inside a class

500

Unit testing is typically:

White box

500

A deviation from expected behavior in software is called a:

Failure

500

What is the difference between Git and GitHub?

Git is a version control system, GitHub hosts repositories