2.3 Software Development Flashcards

1
Q

What are the typical stages in a software development life cycle?

A

Analysis of requirements
Design
Development
Testing
Implementation
Evaluation & Maintenance

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

What is the difference between alpha and beta testing?

A

Alpha testing is carried out by the software developers to identify and fix bugs.

Beta testing is carried out by end users and their feedback is used to inform the next stage of development.

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

What is white box testing?

A

Tracing through and testing all possible routes of the program based on its internal structure.

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

What is black box testing?

A

Tracing through possible inputs and outputs of the software to identify bugs.

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

What are some software development methodologies?

A

waterfall lifecycle
agile methodologies
e.g. extreme programming
spiral model
rapid application development

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

What is the waterfall model?

A

A software development methodology where a series of stages are completed in sequence meaning one stage can’t begin before the previous stage is completed. End users are involved in defining the initial requirements during the analysis stage but have little input afterwards until evaluation.

Analysis
Design
Implementation
Evaluation
Maintenance

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

What software suits the waterfall model?

A

Low-risk projects that require little user input such as general purpose software with static requirements.

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

What are the advantages of the waterfall model?

A
  • straight forward to manage
  • requirements are clearly defined
  • clearly documented
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What are the disadvantages of the waterfall model?

A
  • limits changing requirements throughout development
  • lack of flexibility
  • requirements defined at the start must be clear and correct
  • limited user involvement
  • no risk analysis
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What are agile methodologies?

A

A collection of methodologies which aim to improve the flexibility of software development and adapt to changes in user requirements quickly.

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

How do agile methodologies work?

A

problem is broken down into sections that are developed in parallel

prototypes are developed and improved in an iterative manner

less focus on documentation and more focus on user satisfaction

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

What is extreme programming?

A

A software development methodology that focuses on good quality code by having a pair of programmers develop each section of the program. It is an agile paradigm where development responds to changes in user requirements and prototypes are constantly created and reviewed to inform another iteration.

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

What are the advantages of XP?

A

high quality code
end user heavily involved
adapts to new requirements

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

What are the disadvantages of XP?

A

difficult to produce high quality documentation

pair of programmers must work well together and communicate effectively to avoid bugs

changes in requirements may slow down the development process

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

What is the spiral model?

A

A software development methodology built on 4 key stages with the focus of effectively managing high risk projects.

  1. determine objectives
  2. pinpointing/mitigating risks
  3. development/testing/implement
  4. evaluation/plan for next iteration

if the project is found to be too risky at any point, the process is terminated

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

What are the advantages of the spiral model?

A

minimises risk

suits large scale projects

client feedback considered

features added incrementally on each iteration

17
Q

What are the disadvantages of the spiral model?

A

time consuming
expensive

requires large team and thorough risk assessment and client feedback

18
Q

What is rapid application development?

A

An iterative software development methodology where a partially-functioning prototype is created and evaluated with the feedback being used to inform the next iteration. This is continued until the prototype becomes the final product.

19
Q

What are the advantages of RAD?

A

intitial requirements can be unclear

prototype produced quickly

entire process takes minimal amounts of time`

20
Q

What are the disadvantages of RAD?

A

code may be inefficient due to continuous additions and changes

speed > quality

initial prototype may not represent the final product very well