This field involves designing, building, testing, and maintaining software systems.
What is software engineering?
Requirements that describe what the system should do.
What are functional requirements?
This architecture pattern separates an application into Model, View, and Controller.
What is MVC?
Testing individual components of a program.
The OOP concept where a class inherits properties from another class.
What is inheritance?
A professional responsible for developing, testing, and maintaining software systems.
What is a software engineer?
Requirements that describe system performance, usability, and reliability.
What are non-functional requirements?
This architecture divides application into horizontal layers like presentation, business logic, and data.
What is layered architecture?
Testing how multiple components work together.
What is integration testing?
The ability for objects to take many forms.
What is polymorphism?
The process used to plan, create, test, and deploy software.
What is the Software Development Life Cycle (SDLC)?
This acronym stands for Write, Read, Share, Publish, and Manage requirements.
What is WRSPM?
This architecture style builds application as small independent services.
What are microservices?
Testing the entire system as a whole
Hiding internal details and only exposing necessary parts.
What is encapsulation?
These are the major activities of the SDLC.
What are planning, requirements, design, implementation, testing, and deployment?
This principle ensures each component of a system focuses on a specific concern.
What is separation of concerns?
In UML, diagrams that show the structure of a system.
What are structural diagrams?
Testing performed by the end user to verify the system meets requirements.
What is acceptance testing?
Representing complex systems with simplified models.
What is abstraction?
This occurs when quick solutions are used instead of longterm ones, causing future development costs.
What is technical debt?
This design principle states that each module should have only one reason to change.
What is the Single Responsibility Principle?
Diagrams that show how a system behaves over time.
What are behavioral diagrams?
This concept compares whether software meets specifications versus whether it meets user needs.
What is verification vs. validation?
This principle states that composition is usually preferred over extending classes.
What is composition over inheritance?