Software Development Flashcards

You may prefer our related Brainscape-certified flashcards:
1
Q

What is black box testing?

A

Looking at the program specification and creating a set of test data that covers all inputs and outputs.

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

What is white box testing?

A

The program code is studied and tests are devised to test each possible path.

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

State a disadvantage of white box testing

A

Missing functionality will not be detected, as you can not test what is not there.

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

What is alpha testing?

A

Testing carried out by the software developer’s in-house testing team. This reveals not only errors in the program, but also omissions from the specification where developers overlooked or misunderstood the requirements.

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

What is beta testing?

A

The program is giving to potential users to test and report any problems. This exposes the product to real use and can detect problems not anticipated by the developers.

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

What is the waterfall model?

A

Everything within one stage must be completed before you can move on to the next stage. If any changes need to be made, you can move back a stage to make them. The client is only involved at the start in the analysis stage, and at the end in the evaluation stage.

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

What are the main drawbacks of the waterfall model?

A

The client has very little involvement during the actual development, so it’s hard to get feedback, and the structure of the model makes it hard to adapt to any change in requirements.

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

What is the spiral model?

A

The software is developed in iterative cycles, where a prototype is developed that is then shown to the client for feedback. The feedback is then used in the next development cycle. At the start of each cycle there is a risk assessment, if the project at any point is found to be too risky it is cancelled.

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

What is the agile model?

A

The development is an iterative process, by the end of each cycle a prototype is created and shown to the client for feedback. The stages of development may be completed in a non-linear fashion. Some may be done at the same time while others are down multiple times. This allows for different parts of the software to be at different stages in the development cycle.

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

What is the main advantage of the spiral and agile models?

A

You are able to easily get feedback from the client as they are regularly shown prototypes of the software.

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

What is extreme programming?

A

A type of agile development where frequent releases of the software are made and the development cycles are kept short. The client can then give feedback and changes can be made.

The development team consists of pairs of programmers. The aim of paired programming is to produce high-quality code, as the code is written by one person and critiqued by the other so is improved as it is written.

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

What is rapid application development?

A

Workshops and focus groups are used to gather user requirements rather than having the client create their own list
Prototypes are regularly created in order to get feedback from the client
Each part of the system is create in a strict time limit, each part doesn’t have to be perfect just good enough
Reusing any software components which have already been used

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

What are the main advantages of extreme programming and RAD models?

A

They are good for projects with unclear initial requirements, as they are able to quickly produce prototypes that can be shown to the user for feedback. that feedback can then be used to get a better understanding of the requirements.

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

What are the main four stages of software development?

A

Analysis
Design
Implement
Evaluation

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

What are the main advantages of the waterfall model?(2 things)

A

It is easy to manage due to its linear structure.

The entire development process is clearly documented.

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

What is the main drawback of Rapid Application Development?

A

Can create poor quality documentation and code due to the time demands of the project.

17
Q

What is the main advantage of extreme programming?

A

Produces high quality code, as the code is being reviewed as it is being written

18
Q

What is the main disadvantage of extreme programming?

A

Added cost of paying for two programmers while only one of them codes

19
Q

What are the main advantages of the spiral model?(2 things)

A

Able to adapt to changing user requirements

Able to manage risky projects as there is a risk assessment at the start of each iteration

20
Q

What is the main disadvantage of the spiral model?

A

The added cost of having to do a risk assessment at the start of each cycle

21
Q

What kind of project should use the waterfall model?

A

Small projects that need very little user input

22
Q

What kind of project should use the agile model?

A

Small to medium projects that having changing user requirements

23
Q

What kind of project should use extreme programming?

A

Small to medium projects with unclear initial requirements requiring excellent usability

24
Q

What kind of project should use the spiral model?

A

Large, risk-intensive projects

25
Q

What kind of project should use rapid application development?

A

Small to medium, low-budget projects with short time-frames.