SLR 6/ Software Development Flashcards

1
Q

List the stages of software development life cycle

A
  1. Feasibility and problem
  2. Requirements
  3. Analysis and Design
  4. Implementation (Coding)
  5. Testing and Installation planning
  6. “Go live”
  7. Evaluation
  8. Maintenance
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Identify the various Methodologies of Software Development

A

-Waterfall Model
-Spiral Model
-Rapid Application Development (RAD)
-Agile Methods and Extreme Programming

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is meant by agile Methodologies

A

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.​

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is meant by Extreme Programming

A

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.​

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Describe the Waterfall Model

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Describe the Rapid Application Development (RAD) Model

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Describe the Spiral Model

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Name the 4 types of testing

A

Stage 1 - White-box Testing
Stage 2 - Black-box Testing
Stage 3 - Alpha Testing
Stage 4 - Beta Testing

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Define Black-box testing

A

Tests only inputs and outputs. Not concerned with quality of algorithms

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Define White-box testing

A

Tests the logic of a problem. All paths through and quality of algorithm are checked.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Define Alpha testing

A

Tests very early version, restricted to company, employees provide feedback

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Define Beta testing

A

Tests almost-finished version of software, extended, external testers provide feedback

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

2 Advantages and 2 Disadvantages of Waterfall

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

2 Advantages and 2 Disadvantages of Rapid Application

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

2 Advantages and 2 Disadvantages of Spiral

A

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.​

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

1 Advantages and 2 Disadvantages of Extreme Programming

A

Advantage: Produces very quality code
Disadvantage: Communication with client must be kept throughout