slr6 - software development Flashcards

(35 cards)

1
Q

Describe the general software development lifecycle

A

1 Feasibility
2 Requirements
3 Analysis and design
4 implementation
5 testing
6 Deployment
7 evaluation

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

What are the 5 development methodologies

A

Waterfall
RAD - Rapid application development
Spiral
Agile
Extreme programming

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

Describe the waterfall model

A

Each phase has a well-defined start and end point with clear goals for each stage
The waterfall model allows you to move back on a previous stage as well as forwards

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

Describe Rapid application development

A

Following the initial approval of a feasible program, increasingly refined prototypes are made

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

What is agile

A

A group of methodologies that focus on the idea that requirements will shift throughout development

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

What is an algorithm

A

a sequence of steps designed to perform a task

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

Describe black box testing

A

Simply checks if an input produces the expected output

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

Describe white box testing

A

Testing that all the algorithms are functioning as intended

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

Why is being able to move backwards on previous stages an important feature of the development cycle

A

Developers often have to rework earlier stages when new features are needed

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

Which stages of the development cycle are repeated with RAD

A

Analysis
Design/ implementation
Testing/ evaluation

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

What are the 4 stages of the spiral model

A

Determine objectives
Identify and resolve risks
Development and test
Plan the next iteration

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

What are the advantages of the waterfall methodology

A

Simplicity makes it easy to manage
Everyone on the project is clear about their responsibilities at each stage
Clear objectives
Easy to see if the project is on schedule

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

What are the disadvantages of the waterfall methodology

A

carries a lot of risk
The user doesn’t get to see the product until the project is nearly finished
If requirements are misunderstood, then the project wont be easy to fix - it is not suitable for high risk projects

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

What are the advantages of RAD

A

Requirements don’t need to be completely clear from the start
Focus groups can be used to gather requirements
Continuous feedback means that the software is likely to have excellent usability

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

What are the disadvantages of RAD

A

The focus is on usability not efficiency
Regular contact with the client must be maintained
Scales poorly for larger teams

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

What are the advantages of the spiral methodology

A

Subtitle for projects that have a high risk since risk management is as the heart of this model

17
Q

What are the disadvantages of the spiral methodology

A

Complex nature of risk analysis means that costs are high
The project suffers if risk analysis is done poorly

18
Q

What are the advantages of agile and extreme programming

A

The quality of end code is likely to be high
Very productive development team due to the core principles of respect and collaboration

19
Q

What are the disadvantages of agile and extreme programming

A

Requires close collaboration - unlikely to work remotely
Client must have a full time representative working with the dev team
Some of the processes involved can be expensive

20
Q

When would agile and extreme programming be appropriate for a project

A

When the emphasis of the project is on the quality of final code

21
Q

When would the spiral model be appropriate for a project

A

Large scale projects with a lot of risk – especially when the user doesnt fully understand initial requirements

22
Q

When would RAD be appropriate for a programming project

A

When the initial requirements are not fully understood

23
Q

When would the waterfall methodology be appropriate for a project

A

Ease of management makes it appropriate for large scale development projects

24
Q

Describe the analysis stage of software development

A

The process of defining a problem and its solution

25
Describe the design stage of software development
The stage in which the technical details of the project are decided
26
What is done in the programming stage that simplifies the larger problem
the program is broken down into different modules and algorithms
27
Why is white box testing limited
You are unable to check for missing features in the project
28
How is black box testing limited
It doesn't focus on the internals of the program and only checks to see if the expected output is generated
29
Describe alpha testing
Testing carried out internally by the development team
30
Describe beta testing
Testing carried out by a small number of users
31
In what ways is alpha testing limited
It is only carried out by a small number of people so some bugs may be missed
32
Why is alpha testing important
It often reveals errors and omissions that the developers havent noticed
33
Why is beta testing used by developers
It is an accurate simulation of how end users will use the product
34
Describe the evaluation stage of software development
A post implementation review where the system is critically analysed 3–6 months after the feature is implemented
35
What are the main basis for evaluating a project
Effectiveness, Usability and maintainability