Software development Flashcards

1
Q

List the software development methods

A
  • Waterfall lifecycle
  • Rapid Application Development (RAD)
  • Spiral model
  • Agile methodologies
  • Extreme programming
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Describe the waterfall lifecycle

A
  • Consists of a sequence of stages; each stage can only start after the previous one is complete
  • It’s possible to go back a stage
  • Stages are: requirements definition, analysis, design, coding, testing, maintenance
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is the waterfall cycle suited ADV + DIS

A
  • Large projects with static requirements
  • Clear requirements at each stage. Possible for different parts of the team to be geographically remote
  • If requirements change through the project, then previous stages have to be repeated, delaying the project
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What are prototypes

A

Early versions of a system, lacking full functionality but allowing a feel for what the final version will be like before large amounts of time are committed to its production

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

Describe the rapid application development (RAD)

A
  • The user is shown the prototype and gives feedback
  • This continues until the end user is happy that the prototype has all the required functionality
  • At this point it becomes the end product
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is the rapid application development suited for, ADV + DIS

A
  • Small projects where there is ready access to an end user
  • User’s experience is prioritised. Can be confident the end product meets the user’s needs
  • Little attention is paid to the efficiency of the program. Doesn’t scale well. Can overrun initial budgets due to being an agile approach
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Describe the spiral model

A

Consists of 4 stages:
- Determine objectives: First stage is to determine the objectives of that rotation of the spiral according to the biggest potential risks
- Identify and resolve risks: The possible risks are identified and alternative options are considered.
- Development and testing: Allows the part of the project being worked on to be made and tested
- Plan next iteration: Determines what will happen in the next iteration of the spiral

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

What is the spiral model suited for, ADV + DIS

A
  • Suited for large, high-risk projects without tight time constraints
  • Prioritises risk management and can handle changes in requirements
  • Requires practitioners experienced in risk management and can be a long expensive work
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Describe agile software development

A
  • Not a single methodology but a group
  • These methods are designed to cope with changing requirements by producing software in an iterative manner
  • It is produced in versions, each building on the previous one and each increasing the number of requirements it meets
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What are agile methodologies suited for, ADV + DIS

A
  • Projects where the initial requirements are hard to determine from the outset and in which the end user can play an active role in the development process
  • Adapts to user’s needs, resulting in a final tailored to meet their requirements
  • Continual collaboration is needed between the software developers and end users. Hard to determine timescale and outcomes early on
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Describe extreme programming (XP)

A
  • A methodology that puts emphasis on the coding itself
  • A representative of the customers becomes part of the team to help determine the ‘user stories’ and to answer questions
  • Each iteration produces a version of the system with code of a good enough quality to be used in the final product
  • Uses pair programming
  • Programmers are encouraged to make the code more efficient
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

ADV + DIS of extreme programming

A
  • With such an emphasis on programming, the quality of the final code is likely to be very high
  • Client needs to be able to commit to having a representative working with a team
How well did you know this?
1
Not at all
2
3
4
5
Perfectly