1/37
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
Waterfall model
This model introduced by Royce in 1970 is a linear sequential design approach often criticized for its inflexibility.
Clean code
This principle in software engineering emphasizes writing code that is readable and understandable to humans.
Software Reuse
This is the practice of reusing existing software assets in new applications.
Spiral Model
This software development model emphasizes early detection and management of project risks.
Agile Manifesto
This 2001 document outlines 4 values and 12 principles for modern software development.
Cyclomatic Complexity
This software metric measures the complexity of a program’s control flow.
Debugging
This process includes identifying bugs in software after code is written.
Software Developer or Programmer
This person is responsible for writing code to implement software features.
Requirements Engineering
This phase of software development gathers and analyzes customer needs.
Black Box Testing
This testing approach focuses on input/output without considering internal code structure.
Application Programming Interface (API)
a set of rules and specifications that defines how different software components can interact with each other, enabling data exchange and functionality sharing
Unit Testing
This testing method involves testing individual units of source code.
Software Development Process (or Software Engineering Process)
This is a planned and structured approach to software development.
Open-Closed Principle
This design principle suggests that software components should be open for extension but closed for modification.
Software Estimation
This technique involves estimating the effort needed to develop a software product.
DRY Principle (Don't Repeat Yourself)
This principle advises against repeating code in multiple places.
Scrum
This is a software development methodology characterized by short iterations and frequent releases.
Perfective Maintenance
This type of maintenance involves improving software performance or maintainability.
Defect rate or defect density
This metric measures how often users encounter defects in production.
Software Modifiability (or Modularity)
This principle advises designing software that can evolve over time.
Three-Tier Architecture
This architectural style divides an application into presentation, logic, and data layers.
Strategy Pattern
This design principle encourages encapsulating what varies to make software more flexible.
SOLID Principles
This acronym refers to five key design principles in object-oriented programming.
Microservices
This architectural style structures a system as a set of services that communicate over a network.
Singleton Pattern
This design pattern ensures a class has only one instance and provides a global point of access.
Model-View-Controller (MVC)
This architectural pattern separates concerns by organizing the system into models, views, and controllers.
Facade Pattern
This design pattern provides a simplified interface to a complex subsystem.
Modularity
This concept refers to building software components that can be replaced or upgraded independently.
Loose Coupling
This design concept describes minimizing interdependency between modules.
Pair Programming
This programming practice involves two developers writing code together at one workstation.
Software Design
This engineering process involves converting requirements into software architecture.
Stress Testing
This type of testing checks how software performs under high load.
Software Quality Assurance (SQA)
This process involves ensuring a software product meets quality standards.
Benchmark Testing
This test type checks system performance using a set of predefined test cases.
Validation Testing
This type of testing compares expected vs. actual results.
Beta Testing
This test is performed by users in a real-world environment before full release.
Testability
This term describes the ease with which software can be tested.
Regression Testing
This type of test ensures changes haven’t introduced new bugs.