SLR 6/ Software Development Flashcards
List the stages of software development life cycle
- Feasibility and problem
- Requirements
- Analysis and Design
- Implementation (Coding)
- Testing and Installation planning
- “Go live”
- Evaluation
- Maintenance
Identify the various Methodologies of Software Development
-Waterfall Model
-Spiral Model
-Rapid Application Development (RAD)
-Agile Methods and Extreme Programming
What is meant by agile Methodologies
A group of development methods rather than a single one.
Focus on the idea that requirements constantly shift and change during software development – this can only be dealt with by producing software in an iterative manner.
Each iteration of the software has increasing requirements and is shown to the user.
What is meant by Extreme Programming
Involves an iterative approach much like RAD.
A key feature of extreme programming is “paired programming” – two programmers sitting side by side at one computer. One drives while the other analyses, giving instant feedback and advice.
produces much higher-quality code sooner, saving a lot of time and effort later on.
Describe the Waterfall Model
In this model, each phase has a well-defined starting and ending point with identifiable deliverables for the next phase.
Note that the arrows go up and down the “waterfall”, reflecting the fact that developers often have to re-work earlier stages as the development progresses.
Describe the Rapid Application Development (RAD) Model
Once a prototype is built, it is evaluated on various parameters like strengths, weaknesses and risks.
This model follows the discipline of the waterfall model, and each SDLC step is followed for all prototypes built – requirements gathering, systems design, implementation and testing. Finally, evaluation feeds back into new requirements.
Describe the Spiral Model
The difference with the spiral model is that it is risk-driven, acknowledging that risk is at the heart of many large-scale development projects.
The model has four stages, each taking up one quadrant of the spiral.
Objectives and requirements are determined in quadrant one, followed by risks and issues. A prototype is then developed and tested in quadrant three. After this, the project is either complete or, if there is still more to do, the final quadrant examines what will feed into the next spiral.
Name the 4 types of testing
Stage 1 - White-box Testing
Stage 2 - Black-box Testing
Stage 3 - Alpha Testing
Stage 4 - Beta Testing
Define Black-box testing
Tests only inputs and outputs. Not concerned with quality of algorithms
Define White-box testing
Tests the logic of a problem. All paths through and quality of algorithm are checked.
Define Alpha testing
Tests very early version, restricted to company, employees provide feedback
Define Beta testing
Tests almost-finished version of software, extended, external testers provide feedback
2 Advantages and 2 Disadvantages of Waterfall
Advantages: Simplicity makes it easy to manage. Everyone on the project is very clear on their responsibilities at each stage.
Disadvantages: Carries a lot of risk. The user doesn’t get to see the product for the first time until the project is near its end, it is not suitable for complex projects.
2 Advantages and 2 Disadvantages of Rapid Application
Advantages: Requirements don’t need to be entirely clear from the start. Continuous feedback from client means the end project is likely to have excellent usability.
Disadvantages: Regular contact with client must be maintained at all times. Focus on usability rather than how the product works
2 Advantages and 2 Disadvantages of Spiral
Advantages: Risk is placed at the heart of this model. Very suitable for large-scale problems.
Disadvantages: Complex nature of risk analysis adds to expense. If risk analysis is done badly, the project suffers.