✅1.2.3 Software Development Flashcards

1
Q

What is the Waterfall lifecycle model?

A

A sequential software development process divided into distinct phases, analysis, design, development, testing, implementation and maintenance. Where each phase must be completed before the next one begins.

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

Identify the stages of the waterfall lifecycle model

A

Analysis, Design, Development, Testing, Implementation and Maintenance.

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

What type of projects is the waterfall lifecycle model suited to?

A

Projects where the user’s requirements are clearly understood and well specified

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

Explain 2 advantages of the waterfall model in software development?

A
  1. Easy to understand and follow, with each stage progressing linearly to the next
  2. Each phase has specific deliverables and milestones, making progress easy to measure
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Explain 3 disadvantages of the waterfall model in software development?

A
  1. It’s inflexible meaning if the client’s requirements change mid-project, it can be very challenging to implement these changes since it would require revisiting earlier stages.
  2. The model heavily relies on getting the requirements right at the start. If there is any misunderstanding or the client is unsure about their need, the final product may not meet expectations.
  3. Testing only occurs after the development phase, which can lead to discovering major issues late in the project, making them harder and more expensive to fix.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is the spiral model?

A

An iterative software development process. It consists of four main phases: determining objectives, identifying and managing risks, development and testing, and planning the next iteration. This process repeats, with each cycle producing a prototype that evolves based on client feedback.

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

Identify the stages of the spiral model

A
  1. Determining objectives
  2. Identifying and managing risks
  3. Development and testing
  4. Planning the next iteration
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What type of projects are spiral programming methodologies suited to?

A

Large, high-risk projects where requirements may change, and risk management is essential

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

Explain 3 advantages of the spiral model in software development?

A
  1. The model is very flexible, allowing changes to be made at any point. This makes it particularly suitable for projects where requirements may not be clear from the outset or may change during development.
  2. It has a strong focus on risk management, meaning by assessing risks continuously, the project can be adjusted or even halted if necessary to avoid costly mistakes.
  3. The frequent feedback loops ensure the client is involved throughout the development process, which helps in aligning the final product with the client’s expectations and needs.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Explain 3 disadvantages of the spiral model in software development?

A
  1. The iterative nature of the spiral model can make it more complex and expensive, as it requires regular reassessments, planning, and prototype development.
  2. Since the project is developed in multiple iterations, it can take longer to reach the final product, especially if there are many cycles due to evolving requirements or unforeseen issues.
  3. Effective risk assessment and iteration planning require a high level of expertise. Poor management can lead to an excessive number of iterations, increasing the project’s duration and cost.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is Agile (Extreme Programming)?

A

A type of Agile software development methodology that promotes adaptability and high customer involvement throughout every stage of the project.

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

What type of projects are agile methodologies suited to?

A

Small to medium-sized projects where requirements can change and customer involvement is high

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

Give two advantages of agile methodologies.

A
  1. The development process is broken down into short iterations, allowing changes to be made at any point. This makes it particularly suitable for projects where requirements may not be clear from the outset or may change during development.
  2. Agile encourages collaboration, to ensure the client is involved throughout the development process, which helps in aligning the final product with the client’s expectations and needs.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Give two disadvantages of agile methodologies.

A
  1. Agile methodologies do not have a formal focus on risk analysis. While risks are addressed within each iteration, there is no structured, comprehensive process for ongoing risk management, which makes it less suitable for large, high-risk projects.
  2. Unsuitable for large-scale projects. As the collaborative and iterative nature of Agile can become harder to manage as the project size and team grow, potentially causing inefficiencies and coordination problems in large projects.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Give 2 advantages of rapid action development (RAD)?

A
  1. Very flexible, allowing changes to be made quickly as requirements evolve
  2. The client is involved throughout the development process, which helps in aligning the final product with the client’s expectations and needs.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Give 2 disadvantages of rapid action development (RAD)?

A
  1. Not suitable for small projects as the intense collaboration and iterative approach might be overkill for simple or small-scale projects.
  2. Can lead to scope creep as the flexible nature may lead to uncontrolled changes in requirements.
17
Q

What type of projects are Rapid Application Development (RAD) programming methodologies suited to?

A

Projects where rapid delivery is required and where requirements can be developed and refined on the go