Software Engineering Basics
Design and Requirements
UML & Architecture
Testing & Quality
Agile & Tools
100

Term that describes the systematic and disciplined approach to software development

Software Engineering

100

These two types of requirements describe what the system does versus how well it performs

functional and non functional requirements

100

This UML diagram type shows the static structure of a system using classes, attributes, and relationships

class diagram

100

The difference between verification and validation can be summarized as these two questions

"Are we building the product right?" (verification) and "Are we building the right product?" (validation)

100

The difference between Git and GitHub is that one is a version control system and the other is this

cloud hosting service for Git repositories

200

These are the main activities in the SDLC

Planning, Requirements Analysis, Design, Implementation, Testing, and Deployment

200

This requirements framework includes World, Requirements, Specification, Program, and Machine

WRSPM

200

These are the three components of the MVC architecture pattern

Model, View, and Controller

200

This type of testing focuses on individual components in isolation, while this type tests how components work together

unit testing and integration testing

200

In Git, this area is where changes are prepared before committing, and this command adds all changes to it

staging area and git add .

300

This principle says you shouldn't add functionality until it's actually needed

YAGNI

300

This design concept involves breaking software into separate, interchangeable components with high cohesion and low coupling

modularity

300

This architecture pattern organizes code into horizontal tiers such as presentation, business, and data access

layered architecture

300

These are the six phases of the Software Testing Life Cycle

Requirement Analysis, Test Planning, Test Case Development, Test Environment Setup, Test Execution, and Test Closure

300

These three Git commands are used to send changes to a remote repository, integrate changes, and combine branches

git push, git pull, and git merge

400

The four basic operations for persistent storage are abbreviated with this acronym

CRUD

400

The gap between the problem domain and the solution domain in software design is known by this term

intellectual distance

400

In this architecture style, an application is built as a collection of small, independent services that each run their own process

microservices architecture

400

This term refers to restructuring existing code without changing its external behavior

refactoring

400

This role in Scrum is responsible for facilitating the process and removing impediments, while this role manages the product backlog

Scrum Master and Product Owner

500

This concept represents the implied cost of future rework caused by choosing an easy solution now instead of a better approach

Technical debt

500

This object-oriented principle suggests preferring "has-a" relationships over "is-a" relationships for better flexibility

composition over inheritance

500

This type of UML diagram shows the sequence of interactions between objects over time and is considered a behavioral diagram

sequence diagram

500

This principle states that a class or module should have only one reason to change

Single Responsibility Principle

500

This acronym stands for a set of rules and protocols that allow different software applications to communicate with each other

API

M
e
n
u