Term that describes the systematic and disciplined approach to software development
Software Engineering
These two types of requirements describe what the system does versus how well it performs
functional and non functional requirements
This UML diagram type shows the static structure of a system using classes, attributes, and relationships
class diagram
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)
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
These are the main activities in the SDLC
Planning, Requirements Analysis, Design, Implementation, Testing, and Deployment
This requirements framework includes World, Requirements, Specification, Program, and Machine
WRSPM
These are the three components of the MVC architecture pattern
Model, View, and Controller
This type of testing focuses on individual components in isolation, while this type tests how components work together
unit testing and integration testing
In Git, this area is where changes are prepared before committing, and this command adds all changes to it
staging area and git add .
This principle says you shouldn't add functionality until it's actually needed
YAGNI
This design concept involves breaking software into separate, interchangeable components with high cohesion and low coupling
modularity
This architecture pattern organizes code into horizontal tiers such as presentation, business, and data access
layered architecture
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
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
The four basic operations for persistent storage are abbreviated with this acronym
CRUD
The gap between the problem domain and the solution domain in software design is known by this term
intellectual distance
In this architecture style, an application is built as a collection of small, independent services that each run their own process
microservices architecture
This term refers to restructuring existing code without changing its external behavior
refactoring
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
This concept represents the implied cost of future rework caused by choosing an easy solution now instead of a better approach
Technical debt
This object-oriented principle suggests preferring "has-a" relationships over "is-a" relationships for better flexibility
composition over inheritance
This type of UML diagram shows the sequence of interactions between objects over time and is considered a behavioral diagram
sequence diagram
This principle states that a class or module should have only one reason to change
Single Responsibility Principle
This acronym stands for a set of rules and protocols that allow different software applications to communicate with each other
API