1/19
Flashcards covering key vocabulary and concepts related to software development methodologies, testing phases, and algorithm writing.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
Waterfall Model
A traditional software development methodology characterized by a linear and sequential design process.
Agile Methodologies
A collection of methodologies that emphasize flexibility and customer satisfaction in software development.
Extreme Programming (XP)
An agile model focused on high-quality code through pair programming, with user stories guiding requirements.
Spiral Model
A risk-driven software development process that combines iterative development with systematic risk analysis.
Rapid Application Development (RAD)
An iterative development process that uses working prototypes to gather user feedback for continuous improvement.
Testing
The phase in software development where the program is validated against the test plan to find and fix defects.
Black Box Testing
Testing of a software application without knowledge of its internal workings, focusing on inputs and outputs.
White Box Testing
Testing that involves looking at the internal logic of the software, ensuring all paths are tested.
Algorithm
A set of instructions or steps to solve a specific problem in programming.
Robustness
The ability of software to handle errors or unexpected inputs gracefully.
Maintainability
The ease with which software can be updated, modified, or repaired.
User Interface
The means by which a user interacts with a software application, including menus and navigation.
Feasibility Study
An assessment of the practicality and viability of a proposed project or solution.
Stakeholders
Individuals or groups with an interest in the outcome of a software project, such as end-users or clients.
Iterative Development
A software development approach where requirements and solutions evolve through collaboration between cross-functional teams.
User Stories
Short descriptions of a feature from the perspective of the user, used in agile development.
Prototyping
Creating incomplete versions of software to gather feedback and improve design before the final product is developed.
System Requirements
Specifications defining what the system should do and how it should perform.
Documentation
Written records that explain how software operates, which can aid future modifications and understanding.
Inputs and Outputs
Data that goes into the software (inputs) and the results produced by the software (outputs).