What are the common stages in most Software Development Life Cycles (SDLCs)?
Analysis, Design, Development, Testing, Implementation, Evaluation, Maintenance.
What occurs during the Analysis stage?
Stakeholders define requirements; the problem and system requirements are clearly defined.
What factors are considered when defining requirements in Analysis?
Strengths/weaknesses of current solutions, types of data (inputs, outputs, stored data), data volume.
What is designed during the Design stage?
Inputs, outputs, security features, hardware setup, user interface, and a test plan.
What happens during the Development stage?
The project is split into modules assigned to teams for programming.
What are the main types of testing?
Alpha testing, Beta testing, White box testing, Black box testing.
What is Alpha testing?
In-house testing by development teams to pinpoint and fix bugs.
What is Beta testing?
Testing by end-users after alpha testing; feedback informs further development.
What is White box testing?
Testing based on the internal structure of the program; all routes are tested.
What is Black box testing?
Testing without knowledge of internal structure; focuses on inputs and outputs.
What occurs during the Implementation stage?
The software is installed onto users’ systems.
What is the purpose of the Evaluation stage?
To assess software effectiveness against initial requirements (robustness, reliability, etc.).
What happens during the Maintenance stage?
Errors or improvements are flagged; programmers send updates to fix bugs or enhance features.
What is the Waterfall model?
A sequential SDLC where stages are completed in order from start to finish.
What does TELOS stand for in feasibility studies?
Technical, Economic, Legal, Operational, Scheduling.
What is a major drawback of the Waterfall model?
It is inflexible; changes require revisiting previous stages, and user input is limited.
What are Agile methodologies?
A collection of methodologies focusing on flexibility, adaptability, and iterative development.
How does Agile development handle projects?
Problems are broken into sections developed in parallel; working prototypes are delivered early and improved iteratively.
What is a key priority in Agile development?
User satisfaction over extensive documentation.
What is Extreme Programming (XP)?
An Agile model with paired programmers and an end-user representative, focusing on user stories and high-quality code.
What are the principles of Extreme Programming?
Paired programming, user stories, 40-hour work weeks, and iterative ‘working versions’.
What is a challenge of Extreme Programming?
Producing high-quality documentation due to its iterative nature.
What is the Spiral model?
A risk-focused SDLC with four stages: requirements analysis, risk mitigation, development/testing, and evaluation.
When is the Spiral model suitable?
For large, risk-heavy projects with high budgets.