What does SDLC stand for?
Software Development Life Cycle.
What does UML stand for?
Unified Modeling Language
What is a software defect?
A flaw or error in software that can cause the software to behave incorrectly or fail to meet its requirements.
What does KISS stand for?
Keep It Simple, Stupid. It means software should be kept as simple as reasonably possible.
What are the four core values of the Agile Manifesto?
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
What is the difference between a functional requirement and a non-functional requirement?
A functional requirement describes what the system should do, while a non-functional requirement describes how the system should perform or a quality it should have, such as security, speed, or reliability.
What is modularity, and why is it useful?
Modularity means dividing software into separate, manageable modules. It makes software easier to understand, test, maintain, and modify.
What is unit testing?
Testing a small individual unit of code, such as a function, method, or class, to make sure it works correctly.
What does YAGNI mean?
You Aren't Gonna Need It. Don't add functionality until it is actually needed.
What is Scrum?
Scrum is an Agile framework for developing and delivering products through an iterative and incremental approach.
What is requirements engineering?
The process of identifying, gathering, analyzing, documenting, and managing what a software system needs to do.
What are the three components of MVC?
Model, View, Controller.
What is the difference between verification and validation?
Verification: Are we building the product correctly?
Validation: Are we building the correct product?
What are the four major concepts of object-oriented programming?
Encapsulation, abstraction, inheritance, and polymorphism.
What is a Sprint?
A fixed-length period of time in Scrum during which a team works to complete a planned set of work and produce a usable increment.
What does WRSPM stand for?
World, Requirements, Specification, Program, Machine.
Presentation, business logic, and data layers describe what architecture pattern?
Layered architecture.
Testing whether a database and an application work correctly together is what type of testing?
Integration testing.
What is the Single Responsibility Principle?
A class or module should have one responsibility and therefore one reason to change.
What is the difference between a Scrum Master and a Product Owner?
The Product Owner manages and prioritizes the product backlog and represents product needs.
The Scrum Master helps the team follow Scrum, removes impediments, and facilitates the Scrum process.
"The system must allow users to reset their password.” Is this a functional or non-functional requirement, and why?
Functional, because it describes something the system must do.
A system separates authentication, payments, and shipping into independent services. What architecture pattern is this, and give one advantage.
Microservices architecture. One advantage is that individual services can be developed, deployed, and scaled independently.
Can software ever be guaranteed to be completely bug-free? Explain.
No. Software can be extensively tested, but it is generally impossible to test every possible input, situation, and environment, so bugs may remain undiscovered.
What does “composition over inheritance” mean, and why might composition be preferred?
It means building objects by combining other objects rather than relying heavily on inheritance. Composition can make software more flexible and easier to change.
True or False: Agile means teams should avoid documentation and planning. Explain.
Agile values working software over comprehensive documentation and responding to change over following a plan, but documentation and planning are still important.